Firefly开源社区

标题: HDMI 适配 5寸屏 [打印本页]

作者: gqjjqg    时间: 2015-9-22 17:42
标题: HDMI 适配 5寸屏
HDMI 在5寸屏上显示超出区域了,求指点,怎么修改。


5寸屏800x480的尺寸。

版主在吗?求给个修改的方向吧。
作者: 暴走的阿Sai    时间: 2015-9-23 10:22
5寸的HDMI显示屏吗?
可以参考这个帖子:
http://developer.t-firefly.com/f ... =%B7%D6%B1%E6%C2%CA
作者: gqjjqg    时间: 2015-9-23 11:17
暴走的阿Sai 发表于 2015-9-23 10:22
5寸的HDMI显示屏吗?
可以参考这个帖子:
http://developer.t-firefly.com/forum.php?mod=viewthread&tid ...

timing 怎么修改,有文档吗?
作者: 暴走的阿Sai    时间: 2015-9-23 12:49
gqjjqg 发表于 2015-9-23 11:17
timing 怎么修改,有文档吗?

这些参数是要按照实际的屏资料来修改的。没有通用的文档。不过可以参考其他的屏参来修改
作者: gqjjqg    时间: 2015-9-23 14:04
暴走的阿Sai 发表于 2015-9-23 12:49
这些参数是要按照实际的屏资料来修改的。没有通用的文档。不过可以参考其他的屏参来修改

timing 代表额意义都不懂,里面这么多项,..有参考也不会改...
作者: carlinluo    时间: 2015-9-23 14:28
gqjjqg 发表于 2015-9-23 14:04
timing 代表额意义都不懂,里面这么多项,..有参考也不会改...

SDK 的RKDOC目录看下那个调屏文档
作者: gqjjqg    时间: 2015-9-23 17:08
carlinluo 发表于 2015-9-23 14:28
SDK 的RKDOC目录看下那个调屏文档

有一定的帮助,但是还是搞不定
作者: carlinluo    时间: 2015-9-23 17:36
pad 版本还是BOX,根据屏的规格书修改下lcd_xxx.dts看,或者去看下HDMI的驱动。
作者: gqjjqg    时间: 2015-9-24 13:47
carlinluo 发表于 2015-9-23 14:28
SDK 的RKDOC目录看下那个调屏文档

LCD的datasheet 根本没找到时序图。
文档也比较老旧了,对不上。。。。
作者: gqjjqg    时间: 2015-9-25 10:22
基本上算是改好了,不过改法也比较暴力,先简单记录一下,供大家参考一下:
屏幕 是微雪的 5inch HDMI LCD  800x480


记录一下修改的过程:
因为对系统的不了解走了很多的弯,先记录几个
首先 参考的是这个:http://developer.t-firefly.com/f ... &highlight=HDMI


/* HDMI default vide mode */
#define HDMI_VIDEO_DEFAULT_MODE                        HDMI_1280X720P_60HZ



这个模式,头文件定义了很多个,但是就是没有800x480的,改了几个也有效果,但是不能满足需求。放弃这个方法!




接下去参考这个:
http://developer.t-firefly.com/forum.php?mod=viewthread&tid=942&highlight=%B7%D6%B1%E6%C2%CA
虽然没说怎么改,但是提到一个重点:lcd-box.dtsi 修改这个文件。


对这个文件,个人觉得好像是配置LCDC的,也就是说和LCD屏其实应该无关(浪费我一天时间查这个屏的各种资料)。
于是我把timing0改成了:clock-frequency = <30000000>;
                hactive = <800>;
                vactive = <480>;
                hback-porch = <16>;
                hfront-porch = <210>;
                vback-porch = <10>;
                vfront-porch = <22>;
                hsync-len = <30>;
                vsync-len = <13>;
                hsync-active = <1>;
                vsync-active = <1>;
                de-active = <0>;
                pixelclk-active = <0>;
                swap-rb = <0>;
                swap-rg = <0>;
                swap-gb = <0>;

烧写启动之后,开机recovery 屏幕正常显示,出现了几行文字,接下去就启动就是黑屏加中间一条白色条纹。

经过多翻摸索,重新恢复默认的配置,只改hactive和vactive:
timing0: timing0 {
                                screen-type = <SCREEN_HDMI>;
                                out-face    = <OUT_P888>;
                                color-mode = <COLOR_YCBCR>;
                                clock-frequency = <74250000>;
                                hactive = <800>;
                                vactive = <500>;
                                hback-porch = <220>;
                                hfront-porch = <110>;
                                vback-porch = <20>;
                                vfront-porch = <5>;
                                hsync-len = <40>;
                                vsync-len = <5>;
                                hsync-active = <1>;
                                vsync-active = <1>;
                                de-active = <0>;
                                pixelclk-active = <0>;
                                swap-rb = <0>;
                                swap-rg = <0>;
                                swap-gb = <0>;
                             };


奇迹般的成功了,这个不是说和硬件配置有关吗?我随便改改也能正常显示?






改完之后,屏幕竖屏旋转总是不能成功,于是,把系统也改了frameworks\base\services\core\java\com\android\server\wm\WindowManagerService.java
旋转控制在这里面:
if (mRotateOnBoot) {
            mRotation = Surface.ROTATION_0;
            rotation = Surface.ROTATION_90;
+        } else {
+                        rotation = Surface.ROTATION_90;
                }
改完就成上图这样了。


还存在的问题:
1. 横向少显示20个像素:800x480的仍然不能显示,但是800x500的可以显示了,问题在哪里仍然不知道。
2. dtsi不是配置硬件的吗?怎么我随便改都可以,难道只有hactive和vactive生效?

暂时先这样,记录一下。






作者: carlinluo    时间: 2015-9-25 10:32
gqjjqg 发表于 2015-9-25 10:22
基本上算是改好了,不过改法也比较暴力,先简单记录一下,供大家参考一下:
屏幕 是微雪的 5inch HDMI LCD ...

屏有一点的参数范围,一般都会根据屏规格书改。不然各种小问题
作者: gqjjqg    时间: 2015-9-25 10:37
carlinluo 发表于 2015-9-25 10:32
屏有一点的参数范围,一般都会根据屏规格书改。不然各种小问题

请问根据规格书的哪个修改呢?timing 吗?

规格书在这里:http://www.waveshare.net/forum/f ... wNzI0Mjl8MHwzNzI%3D


作者: carlinluo    时间: 2015-9-25 10:44
gqjjqg 发表于 2015-9-25 10:37
请问根据规格书的哪个修改呢?timing 吗?

规格书在这里:http://www.waveshare.net/forum/forum.php? ...

规格书没有看到,RGB屏基本分辨率对都正常的,你可以试试下面的参数,我也是瞎配的
clock-frequency = <45000000>;
                                hactive = <800>;
                                vactive = <480>;
                                hback-porch = <10>;
                                hfront-porch = <10>;
                                vback-porch = <10>;
                                vfront-porch = <10>;
                                hsync-len = <2>;
                                vsync-len = <2>;
                                hsync-active = <0>;
                                vsync-active = <0>;

作者: gqjjqg    时间: 2015-9-25 10:46
carlinluo 发表于 2015-9-25 10:44
规格书没有看到,RGB屏基本分辨率对都正常的,你可以试试下面的参数,我也是瞎配的
clock-frequency = ; ...

谢谢,难道不是这个文件....
作者: gqjjqg    时间: 2015-9-25 10:55
carlinluo 发表于 2015-9-25 10:44
规格书没有看到,RGB屏基本分辨率对都正常的,你可以试试下面的参数,我也是瞎配的
clock-frequency = ; ...

不行,和我之前的配置一样,屏幕是黑的,中间有一条白色条纹,我的配置是白色在中间,你的在上面而已.

其他尺寸都可以,就480有问题.
作者: carlinluo    时间: 2015-9-25 11:02
那就不清楚
作者: gqjjqg    时间: 2015-9-25 11:04
carlinluo 发表于 2015-9-25 11:02
那就不清楚

连版主都没法,我目前也只能少显示20个像素了。
作者: carlinluo    时间: 2015-9-25 11:06
gqjjqg 发表于 2015-9-25 11:04
连版主都没法,我目前也只能少显示20个像素了。

:lol我是小菜鸟实习版主
作者: gqjjqg    时间: 2015-9-25 14:59
carlinluo 发表于 2015-9-25 11:06
我是小菜鸟实习版主

改完发现背光 也没法调节

E/Lights: write_int failed to open /sys/class/backlight/rk28_bl/brightness

知道原因吗?




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