Firefly开源社区

标题: Firefly-RK3288-Reload Android5.1 支持7.85寸液晶屏模组的修改方法 [打印本页]

作者: wico    时间: 2016-5-6 09:54
标题: 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,最新提交:
  1. commit:3e3038c
  2. Message:Android->framework:fix btn default color
复制代码


2.软件修改配置:
1)打开kernel/arch/arm/boot/dts/firefly-rk3288-reload.dts,修改如下:
包含lcd的dtsi:
  1. -#include "lcd-box.dtsi"
  2. +#include "lcd-LP079Qx1.dtsi"
复制代码


关闭vga和gb2hdmi:
  1.     rgb2hdmi {
  2.         compatible = "firefly,rgb2hdmi";
  3.         power-gpio = <&gpio7 GPIO_A2 GPIO_ACTIVE_HIGH>;
  4.         lcdc-gpio = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
  5.         hpd-gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
  6.                 rockchip,source = <0>; //0: LCDC0; 1: LCDC1
  7.                 rockchip,prop = <PRMRY>;//<PRMRY>;//<EXTEND>
  8. -                status = "okay";
  9. +                status = "disabled";
  10.     };
  11.         vga_ddc@50 {
  12.                 compatible = "firefly,_ddc";
  13.                 reg = <0x50>;
  14.                 rockchip,source = <0>; //0: LCDC0; 1: LCDC1
  15.                 rockchip,prop = <PRMRY>;//<EXTEND>
  16. -                status = "okay";
  17. +                status = "disabled";
  18.         };
复制代码


使能tp      
  1.      mt@40 {
  2. -                status = "disabled";
  3. +                status = "okay";
  4.                        compatible = "firefly,gsl3680";
  5.                       reg = <0x40>;
  6.                        touch-gpio = <&gpio5 GPIO_B0 IRQ_TYPE_EDGE_RISING>;
  7.                        reset-gpio = <&gpio7 GPIO_B1 GPIO_ACTIVE_LOW>;
  8.                        max-y = <2048>;
  9.                        max-x = <1536>;
  10.                 flip-x = <1>;
  11.                 flip-y = <1>;
  12.                 swap-xy = <0>;
  13.         };
复制代码


使能mpu6050
  1. mpu6050:mpu@68{
  2. +        status = "okay";
  3. -        status = "disabled";
  4. compatible = "mpu6050";
  5. reg = <0x68>;
  6. mpu-int_config = <0x10>;
  7. mpu-level_shifter = <0>;
  8. mpu-orientation = <0 1 0 1 0 0 0 0 1>;
  9. orientation-x= <1>;
  10. orientation-y= <1>;
  11. orientation-z= <1>;
  12. irq-gpio = <&gpio7 GPIO_B1 IRQ_TYPE_LEVEL_LOW>;
  13. mpu-debug = <0>;
  14. };
复制代码


修改timing配置和添加屏使能脚:
  1. &disp_timings {
  2. -        native-mode = <&timing1>;
  3. +        native-mode = <&timing0>;
  4. };

  5. &rk_screen {
  6. @@ -611,6 +611,29 @@
  7.          status = "okay";
  8.          rockchip,iommu-enabled = <1>;
  9.          rockchip,prop = <PRMRY>;
  10. +        power_ctr: power_ctr {
  11. +                 rockchip,debug = <1>;
  12. +                 
  13. +                 lcd_en:lcd_en {
  14. +                         rockchip,power_type = <GPIO>;
  15. +                         gpios = <&gpio5 GPIO_C3 GPIO_ACTIVE_HIGH>;
  16. +                         rockchip,delay = <10>;
  17. +                 };
  18. +
  19. +               /*
  20. +                 lcd_cs:lcd_cs {
  21. +                         rockchip,power_type = <GPIO>;
  22. +                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
  23. +                         rockchip,delay = <10>;
  24. +                 };
  25. +               */
  26. +                 lcd_rst:lcd_rst {
  27. +                         rockchip,power_type = <GPIO>;
  28. +                         gpios = <&gpio5 GPIO_C1 GPIO_ACTIVE_LOW>;
  29. +                         rockchip,delay = <0>;
  30. +                 };
  31. +         };
  32. };
复制代码



使能背光pwm:
  1. &pwm1 {
  2. -        status = "disabled";
  3. +        status = "okay";
  4. };
复制代码


2)打开kernel/arch/arm/boot/dts/rk3288.dtsi,修改如下:
关闭CTR_GTCLKS和复用脚:
  1.                  rockchip,ctrbits = <
  2.                          (0
  3.                           |RKPM_CTR_PWR_DMNS
  4. -                         |RKPM_CTR_GTCLKS
  5. +                //         |RKPM_CTR_GTCLKS

  6.                  rockchip,isp,cifphy = <1>;
  7.                  rockchip,isp,mipiphy1,reg = <0xff968000 0x4000>;
  8. -                rockchip,gpios = <&gpio7 GPIO_B5 GPIO_ACTIVE_HIGH>;
  9. +        //        rockchip,gpios = <&gpio7 GPIO_B5 GPIO_ACTIVE_HIGH>;
复制代码


3)打开kernel/arch/arm/configs/firefly-rk3288-reload_defconfig,修改如下:
修改触摸defconfig配置:
  1. +CONFIG_TOUCHSCREEN_GSLX680_MT70817V2=y
复制代码


4)打开device/rockchip/rk3288/rk3288_box/system.prop,修改如下:   (此修改需要重新编译上层)
修改图标大小
  1. -ro.sf.lcd_density=160
  2. +ro.sf.lcd_density=320
复制代码

5)打开frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,修改如下:(此修改需要重新编译上层)
添加屏幕旋转,此修改可以根据自己需求添加
  1.            loadSetting(stmt, Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY,
  2. -                     "1");
  3. +                     "0");
复制代码

三.编译烧写:
1)编译烧写内核:
  1. tvbox-51/kernel$ make firefly-rk3288-reload_defconfig
  2. tvbox-51/kernel$ make firefly-rk3288-reload.img -j4
复制代码
烧写kernel.img和resouce.img
2)编译烧写Android:
  1. tvbox-51$ . build.sh
  2. tvbox-51$ make installclean
  3. 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





作者: anbot    时间: 2016-8-8 22:53
请问ubuntu 的补丁有吗?我们在群里问了很多,没有得到正确回复,谢谢!
作者: billchian    时间: 2016-11-25 16:55
楼主 你上面写的修改配置 和patch里面的修改有不一样的地方啊
作者: billchian    时间: 2016-11-25 17:08
你上面比patch多了一个rgb2hdmi的修改 ,少了一个fb的修改
作者: csworld    时间: 2016-11-30 20:37
参考下实现方案,多谢
作者: 吟风子燕    时间: 2017-5-6 14:30
感谢,感谢
作者: trucy    时间: 2017-5-23 17:50
好东西
学习了先




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1