Firefly开源社区

标题: RK3288支持7.85寸eDP屏历险 [打印本页]

作者: denggm    时间: 2016-8-17 23:07
标题: RK3288支持7.85寸eDP屏历险
引章
新入手的RK3288和7.85寸屏,要修改源码解决一个竖屏摄像头方向问题。按照wiki说明更新到最新代码,完成编译,没有问题,加载固件,黑屏,用升级工具查看启动后是MSC设备,360连接几次后也能连接上,在预览视图中能看到内容,7.85寸屏没有内容,不知道原因,碰巧看到系统发布了最新固件0715固件,加载之,不行也是黑屏,发帖求解,答曰最新固件0715不支持7.85寸,有大神指点要支持7.85寸要另做修改,大神提供的是reload版本的修改贴,利用7.85关键字,找到了普通板支持7.85寸的精华帖,大喜,开始历险
作者: denggm    时间: 2016-8-17 23:11
本帖最后由 denggm 于 2016-9-13 20:02 编辑

大神帖可以 通过这个查找 Firefly-RK3288 开发板 Android5.1 支持7.85寸液晶屏模组

第一步就遇到问题
1.首先下载更新RK3288 Android5.1 SDK,最新提交:
commit:4258a60
Message:Kernel->Dts: add MPU6050 config for firefly-rk3288-reload
---------------没有看明白,啥意思?更新源码到最新吗?已经更新过了,下面的commit是啥意思,不懂,姑且跳过。Message 有-reload字样是拷贝过来的,与reload版本更新是一样的?还是拷贝过来的?
-----------------后面查资料确定这是git中合如变更包的命令,不过基本不会成功,打开变更说明对吧





作者: denggm    时间: 2016-8-17 23:16
本帖最后由 denggm 于 2016-9-13 20:18 编辑

第二步
打开kernel/arch/arm/boot/dts/firefly-rk3288.dts,修改如下:
包含lcd的dtsi:

    -#include "lcd-box.dtsi"
    +#include "lcd-LP079Qx1.dtsi"
-------------------------修改很简单,这么修改,编译马上就会发现 "lcd-LP079Qx1.dtsi” 文件不存在,在dts目录下查了下,有个很相近的文件lcd-LP097Qx1.dtsi,没有找到招,先用这个把改成 lcd-LP097Qx1.dtsi,先认为过了一关
-------------后面达人提供了一个补丁包,包含lcd-LP079Qx1.dts,拷贝到kernel/arch/arm/boot/dts目录下
作者: denggm    时间: 2016-8-17 23:19
继续,gogo
关闭vga:
firefly-rk3288.dts
          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";
            };
-----------------------查找 vga_ddc@50,命中,修改之,很简单,点亮在望。。。

作者: denggm    时间: 2016-8-17 23:22
继续,gogo
使能tp
firefly-rk3288.dts
            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>;
            };
-----------------------查找mt@40,什么,没有,不一样啊,先拷过来吧,似乎不太顺利。。
作者: denggm    时间: 2016-8-17 23:24
继续,gogo
使能mpu6050

             mpu6050:mpu@68{
    -            status = "disabled";
    +            status = "okay";
                 compatible = "mpu6050";
                 reg = <0x68>;
                 mpu-int_config = <0x10>;
-----------------------查找mpu6050:mpu@6,又没有,先拷过来吧,很曲折。。

作者: denggm    时间: 2016-8-17 23:33
继续gogo
修改timing配置和添加屏使能脚:

    &disp_timings {
    -        native-mode = <&timing1>;
    +        native-mode = <&timing0>;
    };
-------------------------------太开心了,终于有找到的了,改之,放开注释,信心似乎恢复了。。。
    &rk_screen {
    @@ -611,6 +611,29 @@
             status = "okay";
             rockchip,iommu-enabled = <1>;
             rockchip,prop = <PRMRY>;
-------------------------------差别很大啊,幸好看到下面回复说有不一致,不知道提问大神是否修改最终成功否,回复的修改是另外一个节点,没有说rk_screen是否要修改,先保留吧,新增之,
    +        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>;
    +        };
    +
    +               /*
    +        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>;
    +        };
    +              */
    +};
    +
    };

新增
&lcdc0 {
        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>;
            };

            /*
            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>;
            };
            */
        };
};
作者: denggm    时间: 2016-8-17 23:39
gogo 继续

使能背光pwm:

    &pwm1 {
    -        status = "disabled";
    +        status = "okay";
    };
-----------完美匹配,改之,士气大涨
作者: denggm    时间: 2016-8-17 23:41
gogo
打开kernel/arch/arm/boot/dts/rk3288.dtsi,修改如下:
关闭CTR_GTCLKS:

                rockchip,ctrbits = <
                             (0
                              |RKPM_CTR_PWR_DMNS
    -                         |RKPM_CTR_GTCLKS
    +                //         |RKPM_CTR_GTCLKS
-----------------顺利匹配,继续
作者: denggm    时间: 2016-8-17 23:42
gogo
打开kernel/arch/arm/configs/firefly-rk3288_defconfig,修改如下:
修改触摸defconfig配置:

    -CONFIG_TOUCHSCREEN_GSLX680=y
    +CONFIG_TOUCHSCREEN_GSLX680_MT70817V2=y
---------------------查找,被注释了,基本一致,改之,小场面
作者: denggm    时间: 2016-8-17 23:44
gogo
打开device/rockchip/rk3288/rk3288_box/system.prop,修改如下:   (此修改需要重新编译上层)
修改图标大小

    -ro.sf.lcd_density=160
    +ro.sf.lcd_density=320
--------------顺利了,改
作者: denggm    时间: 2016-8-17 23:46
快好了
打开frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,修改如下:(此修改需要重新编译上层)
添加屏幕旋转,此修改可以根据自己需求添加

                loadSetting(stmt, Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY,
    -                     "1");
    +                     "0");
------------------------查找 Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY,有两个地方,有个已经是0,把1的修改成0,先这样
作者: denggm    时间: 2016-8-17 23:56
完成修改,编译kernel,出现几个错误
1.lcd-LP079Qx1.dtsi文件找不到,修改成lcd-LP097Qx1.dtsi
2.最早没有看到回复,这个配置提示语法错误
&rk_screen {
    @@ -611,6 +611,29 @@
3.一些笔误,修改
编译没有问题,两个警告
Warning (reg_format): "reg" property in /mt@40 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
Warning (reg_format): "reg" property in /mpu@68 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
正常是4字节,在dts文件中这两项定义成1个字节内容,前面为0,不用写吧,先这样

作者: denggm    时间: 2016-8-18 00:19
编译成功,加载镜像,期待,启动
失败,背光亮了,内容依然没有,在360获取主界面可以显示,不知道原因,求大神指点
作者: jpchen    时间: 2016-8-19 16:57
请参考附件

lcd-LP079Qx1.zip

1005 Bytes, 下载次数: 120, 下载积分: 灯泡 -1 , 经验 -1


作者: luminmin882001    时间: 2016-8-30 16:15
楼主你这个调试LCD,是参考的什么的,最后后来成功了吗
作者: lqxandroid2012    时间: 2016-9-6 15:53
jpchen 发表于 2016-8-19 16:57
请参考附件

下来了,看看。
作者: lqxandroid2012    时间: 2016-9-6 15:54
楼主最终调试的如何了,怎么不更新了?这个rk 芯片自带edp 接口还是外置驱动芯片的??
作者: denggm    时间: 2016-9-13 23:27
还是不行,使用匹配的dtsi文件,根据补丁上的修改说明,还是不行,补丁的修改说明与当前版本中的内容也不一致了
作者: denggm    时间: 2016-9-14 00:03
jpchen 发表于 2016-8-19 16:57
请参考附件

大神能提供下,支持7.85屏的下面文件
kernel/arch/arm/boot/dts/firefly-rk3288.dts
作者: 728196    时间: 2017-8-16 12:51
这个 没有一个完全靠谱匹配的文档啊

作者: 小默jiang    时间: 2017-9-26 09:41
denggm 发表于 2016-8-17 23:24
继续,gogo
使能mpu6050

这个是陀螺仪的相关配置吧,有必要使能吗?????
作者: oracle123    时间: 2017-11-20 10:36

作者: oracle123    时间: 2017-11-20 10:36

作者: codebee    时间: 2017-12-20 09:24
写的不错
作者: tianxu518    时间: 2021-8-6 15:32
不错不错




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