Firefly-RK3288 使用7.85寸EDP屏跑Ubuntu系统

本帖最后由 jpchen 于 2017-1-20 15:10 编辑

1.同步Firefly-RK3288 官方SDK到最新提交
Android 5.1 SDK

2.参考如下帖子修改内核 Firefly-RK3288 开发板 Android5.1 支持7.85寸液晶屏模组的修改方法

3.内核修改如下
1> 打开kernel/arch/arm/boot/dts/firefly-rk3288-linux.dts ,修改如下
包含LCD的dtsi:

-#include "lcd-box.dtsi"
+//#include "lcd-box.dtsi"
 #include <dt-bindings/input/input.h>
+#include "lcd-LP079Qx1.dtsi"

使能TP

              mt@40 {
-                status = "disabled";
+                status = "okay";
                        compatible = "firefly,gsl3680";
                       reg = <0x40>;
                        touch-gpio = <&gpio5 GPIO_B0 IRQ_TYPE_EDGE_RISING>;

关闭VGA

      vga_ddc@50 {
                compatible = "firefly,vga_ddc";
                reg = <0x50>;
                gpio-pwn = <&gpio0 GPIO_C1 GPIO_ACTIVE_HIGH>;
                rockchip,source = <0>; //0: LCDC0; 1: LCDC1
                rockchip,prop = <PRMRY>;//<EXTEND>
-                status = "okay";
+                status = "disabled";
        };

打开logo

 &fb {
         rockchip,disp-mode = <DUAL>;
-        rockchip,uboot-logo-on = <0>;
+        rockchip,uboot-logo-on = <1>;
         rockchip,disp-policy = <DISPLAY_POLICY_BOX_TEMP>;
 };

修改timing和屏修改引脚

 &disp_timings {
-        native-mode = <&timing1>;
+        native-mode = <&timing0>;
 };

 &rk_screen {
@@ -636,6 +637,15 @@
         status = "okay";
         rockchip,iommu-enabled = <1>;
         rockchip,prop = <PRMRY>;
+    power_ctr: power_ctr {
+    rockchip,debug = <1>;
+
+        lcd_en:lcd_en {
+             rockchip,power_type = <GPIO>;
+             gpios = <&gpio0 GPIO_B5 GPIO_ACTIVE_HIGH>;
+             rockchip,delay = <10>;
+        };
+    };
 };

使能PWM1

 &pwm1 {
-        status = "disabled";
+        status = "okay";
 };

2>打开kernel/arch/arm/boot/dts/rk3288.dtsi,修改如下 关闭CTR_GTCLKS

                 rockchip,ctrbits = <
                         (0
                          |RKPM_CTR_PWR_DMNS
-                         |RKPM_CTR_GTCLKS
+                        // |RKPM_CTR_GTCLKS
                          |RKPM_CTR_PLLS

3>打开kernel/arch/arm/configs/firefly-rk3288-linux_defconfig配置TP,修改如下

 # CONFIG_TOUCHSCREEN_SYNAPTICS_DSX is not set
+CONFIG_TOUCHSCREEN_GSLX680_MT70817V2=y

4.编译内核
make firefly-rk3288-linux_defconfig
make firefly-rk3288-linux.img -j4

5.打包为boot.img文件
mkbootimg --kernel kernel.img --ramdisk initrd.img --second resource.img -o boot.img
可参考wiki 创建boot.img

6.烧录固件

固件包含loader parameter misc resouce boot linuxroot 文件
linuxroot根文件系统可参考《创建Ubuntu根文件系统 》

7.补丁和ubuntu固件
补丁:Ubuntu_LP079QX1_PATCH.zip
固件:RK3288_LP079QX1_Ubuntu14.04_201701200901.7z

你好,你的这个固件的源码在哪能下到,我想重新编译一下resource.img

请教一下,补丁要怎样打?

楼主您好!我按照您说的,进行内核配置和编译,可以进入内核,但是屏不能点亮,比对您的boot.img比我的大(我的只有9.35M,您提供的固件里面boot.img有13M左右),想问一下,是否我还漏掉了什么内容?

可以分享下你的源码么??

lcd-LP079Qx1.dtsi 这个文件内核源码里没有啊