Firefly-RK3288-Reload Android5.1 支持7.85寸液晶屏模组的修改方法

本帖最后由 wico 于 2016-12-2 09:40 编辑

一.硬件条件需要对应的硬件支持:
1.Firefly-RK3288-Reload 板 ;
2.Firefly-RK3288-Reload 对应的7.85寸液晶屏模组:



二.软件配置:
1.首先下载更新RK3288 Android5.1 SDK,最新提交:

commit:3e3038c
Message:Android->framework:fix btn default color

2.软件修改配置:
1)打开kernel/arch/arm/boot/dts/firefly-rk3288-reload.dts,修改如下:
包含lcd的dtsi:

-#include "lcd-box.dtsi"
+#include "lcd-LP079Qx1.dtsi"

关闭vga和gb2hdmi:

    rgb2hdmi {
        compatible = "firefly,rgb2hdmi";
        power-gpio = <&gpio7 GPIO_A2 GPIO_ACTIVE_HIGH>;
        lcdc-gpio = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
        hpd-gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
                rockchip,source = <0>; //0: LCDC0; 1: LCDC1
                rockchip,prop = <PRMRY>;//<PRMRY>;//<EXTEND>
-                status = "okay";
+                status = "disabled";
    };
        vga_ddc@50 {
                compatible = "firefly,_ddc";
                reg = <0x50>;
                rockchip,source = <0>; //0: LCDC0; 1: LCDC1
                rockchip,prop = <PRMRY>;//<EXTEND>
-                status = "okay";
+                status = "disabled";
        };

使能tp

     mt@40 {
-                status = "disabled";
+                status = "okay";
                       compatible = "firefly,gsl3680";
                      reg = <0x40>;
                       touch-gpio = <&gpio5 GPIO_B0 IRQ_TYPE_EDGE_RISING>;
                       reset-gpio = <&gpio7 GPIO_B1 GPIO_ACTIVE_LOW>;
                       max-y = <2048>;
                       max-x = <1536>;
                flip-x = <1>;
                flip-y = <1>;
                swap-xy = <0>;
        };

使能mpu6050

mpu6050:mpu@68{
+        status = "okay";
-        status = "disabled";
compatible = "mpu6050";
reg = <0x68>;
mpu-int_config = <0x10>;
mpu-level_shifter = <0>;
mpu-orientation = <0 1 0 1 0 0 0 0 1>;
orientation-x= <1>;
orientation-y= <1>;
orientation-z= <1>;
irq-gpio = <&gpio7 GPIO_B1 IRQ_TYPE_LEVEL_LOW>;
mpu-debug = <0>;
};

修改timing配置和添加屏使能脚:

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

&rk_screen {
@@ -611,6 +611,29 @@
         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 = <&gpio5 GPIO_C3 GPIO_ACTIVE_HIGH>;
+                         rockchip,delay = <10>;
+                 };
+
+               /*
+                 lcd_cs:lcd_cs {
+                         rockchip,power_type = <GPIO>;
+                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
+                         rockchip,delay = <10>;
+                 };
+               */
+                 lcd_rst:lcd_rst {
+                         rockchip,power_type = <GPIO>;
+                         gpios = <&gpio5 GPIO_C1 GPIO_ACTIVE_LOW>;
+                         rockchip,delay = <0>;
+                 };
+         };
};

使能背光pwm:

 &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

                 rockchip,isp,cifphy = <1>;
                 rockchip,isp,mipiphy1,reg = <0xff968000 0x4000>;
-                rockchip,gpios = <&gpio7 GPIO_B5 GPIO_ACTIVE_HIGH>;
+        //        rockchip,gpios = <&gpio7 GPIO_B5 GPIO_ACTIVE_HIGH>;

3)打开kernel/arch/arm/configs/firefly-rk3288-reload_defconfig,修改如下:
修改触摸defconfig配置:

+CONFIG_TOUCHSCREEN_GSLX680_MT70817V2=y

4)打开device/rockchip/rk3288/rk3288_box/system.prop,修改如下: (此修改需要重新编译上层)
修改图标大小

-ro.sf.lcd_density=160
+ro.sf.lcd_density=320

5)打开frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,修改如下:(此修改需要重新编译上层)
添加屏幕旋转,此修改可以根据自己需求添加

           loadSetting(stmt, Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY,
-                     "1");
+                     "0");

三.编译烧写:
1)编译烧写内核:

tvbox-51/kernel$ make firefly-rk3288-reload_defconfig
tvbox-51/kernel$ make firefly-rk3288-reload.img -j4

烧写kernel.img和resouce.img
2)编译烧写Android:

tvbox-51$ . build.sh
tvbox-51$ make installclean
tvbox-51$ make -j8

烧写system.img和misc.img

对应的补丁和固件wiki地址:
http://wiki.t-firefly.com/index. … F.E6.A8.A1.E7.BB.84

附:如使用自己编译的u-boot,请make rk3288_config 再make

请问ubuntu 的补丁有吗?我们在群里问了很多,没有得到正确回复,谢谢!

楼主 你上面写的修改配置 和patch里面的修改有不一样的地方啊

你上面比patch多了一个rgb2hdmi的修改 ,少了一个fb的修改

参考下实现方案,多谢

感谢,感谢

好东西
学习了先