zhhdadu 发表于 2021-8-25 13:06:39

接12.1寸 LVDS屏 1024*768 怎么改设备树?

        forlinx_control {
                status = "okay";

                disp_lcd_type = "lvds"; // "lcd7_800_480_cap" "lcd7_800_480_res" "rgb24":lcd 1020x600 "lvds":1280x800
                lcd_resolution = "1024*768";

                disp_dvi_hdmi_type = <2>;   // 1: dvi2: hdmi
                hdmi_resolution = "1920x1080P60";   //1280x720P501280x720P501920x1080P50 1920x1080P60 3840x2160P50 3840x2160P60 4096x2160P50 4096x2160P60

                uboot_disp_mode = <0>;// 0 single LCD 1: single HDMI 3:async display 5 sync display
        };
这么改没有用?

zhichao 发表于 2021-8-25 16:30:14

设备树中设置的是lcd接口的屏幕参数,您用lvds屏的话除非用lcd转lvds,否则改设备树是没用的

zhhdadu 发表于 2021-8-26 10:12:40

修改lcd0   和 disp0   相关屏幕和fd参数可以了。forlinx_control {
                status = "disabled";

yinzhengde 发表于 2021-10-18 09:02:29

zhhdadu 发表于 2021-8-26 10:12
修改lcd0   和 disp0   相关屏幕和fd参数可以了。forlinx_control {
                status = "disabled" ...

fd在哪里修改啊?能不能给一个详细的修改步骤

zhichao 发表于 2021-10-18 13:16:16

现在有找到修改的的方法,在设备树中对DISP和lcd0的参数进行修改就可以了,disp中选lcd显示,分辨率是lvds的,lcd0中修改屏幕模式为lvds,并修改屏幕参数就可以和引脚配置

yinzhengde 发表于 2021-10-19 10:46:19

zhichao 发表于 2021-10-18 13:16
现在有找到修改的的方法,在设备树中对DISP和lcd0的参数进行修改就可以了,disp中选lcd显示,分辨率是lvds ...

大哥,能详细点吗?我的修改了还不行,引脚配置具体是哪一个啊:lol

zhichao 发表于 2021-10-19 16:08:38

我这有个双八路lvds的调屏,您仿照着改一下吧,改的函数是这几个,具体参数您得按您的屏改
1.双八路lvds屏调试
设备树中找到disp: disp@01000000
根据您使用是的单屏显示还是双屏显示设定disp_mode,
disp_mode        =<0>;        这里选的是screen0独显模式,后续参数都修改screen0的
screen0_output_type        =<1>;        屏幕类型lcd和lvds是相同的引脚配置,选1:lcd
screen0_output_mode        =<4>;        这里是帧率,根据我的屏体手册选4:720p50

fb0_format        =<0>;                rgb位数,这里默认0
fb0_width        =<1920>;                分辨率长1920
fb0_height        =<1080>;                分辨率宽1080

然后修改lcd0: lcd0@01c0c000,
lcd_if        =<3>;                                是屏幕类型,选3:lvds
lcd_x        =<1920>;                        分辨率x轴,1920
lcd_y        =<1080>;                        分辨率y轴,1080
lcd_dclk_freq        = <149>;        我用的屏是149MHZ
调整前间等细节参数,我的参数如下,要根据屏体手册修改
lcd_hbp             = <260>;
lcd_ht            = <2200>;
lcd_hspw            = <20>;
lcd_vbp             = <40>;
lcd_vt            = <1125>;
lcd_vspw            = <5>;
调整lvds屏的模式
lcd_lvds_if         = <1>;                双路lvds,选1:dual link
lcd_lvds_colordepth = <0>;位深和数据模式都是默认的8位和NS mode
lcd_lvds_mode       = <0>;

pinctrl-0 = <&lvds2link_pins_a>;引脚配置是dual link lvds的引脚配置
pinctrl-1 = <&lvds2link_pins_b>;

按照如上对参数修改可编译出默认双八路lvds独显的镜像

yinzhengde 发表于 2021-10-20 08:29:37

zhichao 发表于 2021-10-19 16:08
我这有个双八路lvds的调屏,您仿照着改一下吧,改的函数是这几个,具体参数您得按您的屏改
1.双八路lvds屏 ...

谢谢大哥:lol

yinzhengde 发表于 2021-10-20 09:56:19

zhichao 发表于 2021-10-19 16:08
我这有个双八路lvds的调屏,您仿照着改一下吧,改的函数是这几个,具体参数您得按您的屏改
1.双八路lvds屏 ...

大哥,这些参数是怎么计算的怎么我的屏幕计算出来的有问题,lcd_hbp             = <260>;
lcd_ht            = <2200>;
lcd_hspw            = <20>;
lcd_vbp             = <40>;
lcd_vt            = <1125>;
lcd_vspw            = <5>;

yinzhengde 发表于 2021-10-20 09:57:33

zhichao 发表于 2021-10-19 16:08
我这有个双八路lvds的调屏,您仿照着改一下吧,改的函数是这几个,具体参数您得按您的屏改
1.双八路lvds屏 ...

您用的那款屏幕我下载下来参考一下是怎么计算的

zhichao 发表于 2021-10-20 10:36:05

这些参数是屏体手册上查找计算的
lcd_hbp                                        横向前间宽度
lcd_ht                                        总宽度,包括实际用的分辨率和前间后间,即前间+后间+分辨率
lcd_hspw                                水平同步脉冲宽度
同理,是高度的参数
lcd_vbp                                        纵向上方高度
lcd_vt                                        总高度,
lcd_vspw                                垂直同步脉冲宽度

zrf666mail 发表于 2022-12-5 19:15:41

请问双八路LVDS除了设备树要修改,还需改哪里嘛?单LVDS可以显示,但是双的就黑屏;是不是U-BOOT参数也需要修改?
页: [1]
查看完整版本: 接12.1寸 LVDS屏 1024*768 怎么改设备树?