xavierqi 发表于 2016-8-4 23:52:40

求RK3288 Reload点亮Dual-LVDS 1920*1200 TFT屏的方法

各位大神好, 我想要点亮一块dual lvds的屏, 于是参照了wiki和版主zhansb在 http://developer.t-firefly.com/thread-945-1-1.html 里面的回复。我去查了一下kernel/arch/arm/boot/dts下的驱动树 firefly-rk3288-reload.dts文件,它include了lcd-box.dtsi文件,于是我就将这个文件修改如下:

<p><p><div class="blockcode">
/ {
               disp_power_ctr: power_ctr {
                     /*                        rockchip,debug = <0>;
                        lcd_en:lcd_en {
                              rockchip,power_type = <GPIO>;
                              gpios = <&gpio0 GPIO_B0 GPIO_ACTIVE_HIGH>;
                              rockchip,delay = <10>;
                        };

                        bl_en:bl_en {
                              rockchip,power_type = <GPIO>;
                              gpios = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
                              rockchip,delay = <10>;
                        };

                        bl_ctr:bl_ctr {
                              rockchip,power_type = <GPIO>;
                              gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
                              rockchip,delay = <10>;
                        };

                        lcd_rst:lcd_rst {
                              rockchip,power_type = <REGULATOR>;
                              rockchip,delay = <5>;
                        };*/

                };

                disp_timings: display-timings {
                        native-mode = <&timing0>;
                        timing0: timing0 {
                              screen-type = <SCREEN_DUAL_LVDS>;
                              out-face    = <OUT_P888>;
                              clock-frequency = <74250000>;
                              color-mode=<COLOR_RGB>;
                              hactive = <1920>;
                              vactive = <1200>;
                              hback-porch = <220>;
                              hfront-porch = <110>;
                              vback-porch = <20>;
                              vfront-porch = <5>;
                              hsync-len = <40>;
                              vsync-len = <5>;
                              hsync-active = <0>;
                              vsync-active = <0>;
                              de-active = <1>;
                              pixelclk-active = <0>;
                              swap-rb = <0>;
                              swap-rg = <0>;
                              swap-gb = <0>;
                        };
                        timing1: timing1 {
                              screen-type = <SCREEN_RGB>;
                              out-face    = <OUT_P888>;
                              clock-frequency = <148500000>;
                              hactive = <1920>;
                              vactive = <1080>;
                              hback-porch = <148>;
                              hfront-porch = <88>;
                              vback-porch = <36>;
                              vfront-porch = <4>;
                              hsync-len = <44>;
                              vsync-len = <5>;
                              hsync-active = <1>;
                              vsync-active = <1>;
                              de-active = <0>;
                              pixelclk-active = <0>;
                              swap-rb = <0>;
                              swap-rg = <0>;
                              swap-gb = <0>;
                        };
                        timing2: timing2 {
                              screen-type = <SCREEN_RGB>;
                              out-face    = <OUT_P888>;
                              clock-frequency = <297000000>;
                              hactive = <3840>;
                              vactive = <2160>;
                              hback-porch = <296>;
                              hfront-porch = <176>;
                              vback-porch = <72>;
                              vfront-porch = <8>;
                              hsync-len = <88>;
                              vsync-len = <10>;
                              hsync-active = <1>;
                              vsync-active = <1>;
                              de-active = <0>;
                              pixelclk-active = <0>;
                              swap-rb = <0>;
                              swap-rg = <0>;
                              swap-gb = <0>;
                        };
         };
};

</div></p></p>

代码中关于timing0的设置是按照屏幕的规格书设置的,然后我按照wiki android 5.1 里面解释的重新编译后把kernel.img和resource.img烧写进去,但是屏幕一直是黑的,后来我又修改了几次同一个文件, 然后发现重新编译之后的镜像与先前没有区别,我怀疑在编译的过程中 并没有把这些修改编译进去, 请问我是不是还忘了修改哪个文件或者忽略了哪个步骤呢???求大神们解答!!!感谢!!!

loading 发表于 2016-8-5 09:08:02

然后发现重新编译之后的镜像与先前没有区别
---从哪里看没有区别的?
是启动进系统后看的吗?
如果是这样,,,那可能需要连boot 也一起烧录,因为boot 往往包含了内核,如果boot 包含了内核,起来后都是从boot 里面的内核启动的

是否把文件编译进去,,,加错误代码就知道了。。。

xavierqi 发表于 2016-8-5 15:37:00

loading 发表于 2016-8-5 09:08
然后发现重新编译之后的镜像与先前没有区别
---从哪里看没有区别的?
是启动进系统后看的吗?


是用烧写工具rkflashkit的时候 有一个compare partition with image比较分区和镜像的功能, 我比较了一下 发现没有区别。 另外 在编译打包好之后,我在rockdev/image文件夹里只找到了kernel, resource和misc的镜像。。这正常吗?

tujian1996 发表于 2016-8-5 17:36:00

关注 同问

loading 发表于 2016-8-5 21:25:26

xavierqi 发表于 2016-8-5 15:37
是用烧写工具rkflashkit的时候 有一个compare partition with image比较分区和镜像的功能, 我比较了一下 ...

1. rkflashkit 工具没有用过,不太清楚比较的情况;
2. 我是用AndroidTool.exe 进行烧录的;
3. 打包是否正常要看打包的命令跟log 提示,如果你没有编译系统,当然就没有系统了;

yly123ycyn 发表于 2016-8-9 16:52:19

可能重新烧写后依然走的recovery.img,所以别烧misc.img先
页: [1]
查看完整版本: 求RK3288 Reload点亮Dual-LVDS 1920*1200 TFT屏的方法