HDMI 适配 5寸屏

HDMI 在5寸屏上显示超出区域了,求指点,怎么修改。

5寸屏800x480的尺寸。

版主在吗?求给个修改的方向吧。

5寸的HDMI显示屏吗?
可以参考这个帖子:
http://developer.t-firefly.com/forum.php?mod=viewthread&tid=942&highlight=�ֱ���

暴走的阿Sai 发表于 2015-9-23 10:22
5寸的HDMI显示屏吗?
可以参考这个帖子:
http://developer.t-firefly.com/forum.php?mod=viewthread&tid

timing 怎么修改,有文档吗?

gqjjqg 发表于 2015-9-23 11:17
timing 怎么修改,有文档吗?

这些参数是要按照实际的屏资料来修改的。没有通用的文档。不过可以参考其他的屏参来修改

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

timing 代表额意义都不懂,里面这么多项,..有参考也不会改…

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

SDK 的RKDOC目录看下那个调屏文档

carlinluo 发表于 2015-9-23 14:28
SDK 的RKDOC目录看下那个调屏文档

有一定的帮助,但是还是搞不定

pad 版本还是BOX,根据屏的规格书修改下lcd_xxx.dts看,或者去看下HDMI的驱动。

carlinluo 发表于 2015-9-23 14:28
SDK 的RKDOC目录看下那个调屏文档

LCD的datasheet 根本没找到时序图。
文档也比较老旧了,对不上。。。。

基本上算是改好了,不过改法也比较暴力,先简单记录一下,供大家参考一下:
屏幕 是微雪的 5inch HDMI LCD 800x480

记录一下修改的过程:
因为对系统的不了解走了很多的弯,先记录几个
首先 参考的是这个:http://developer.t-firefly.com/forum.php?mod=viewthread&tid=1268&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=�ֱ���
虽然没说怎么改,但是提到一个重点: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生效?

暂时先这样,记录一下。

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

屏有一点的参数范围,一般都会根据屏规格书改。不然各种小问题

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

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

规格书在这里:http://www.waveshare.net/forum/forum.php?mod=attachment&aid=Mzc0fDM1YWQ3MTM2fDE0NDMwNzI0Mjl8MHwzNzI%3D

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>;

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

谢谢,难道不是这个文件…

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

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

其他尺寸都可以,就480有问题.

那就不清楚

carlinluo 发表于 2015-9-25 11:02
那就不清楚

连版主都没法,我目前也只能少显示20个像素了。

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

:lol我是小菜鸟实习版主

carlinluo 发表于 2015-9-25 11:06
我是小菜鸟实习版主

改完发现背光 也没法调节

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

知道原因吗?