R528LVDS接口输出怎么配置,在设备树里面配置了,感觉没有效果呀?
-
&disp { disp_init_enable = <1>; disp_mode = <0>; screen0_output_type = <1>; screen0_output_mode = <4>; screen1_output_type = <3>; screen1_output_mode = <10>; screen1_output_format = <0>; screen1_output_bits = <0>; screen1_output_eotf = <4>; screen1_output_cs = <257>; screen1_output_range = <2>; screen1_output_scan = <0>; screen1_output_aspect_ratio = <8>; dev0_output_type = <1>; dev0_output_mode = <1>; dev0_screen_id = <0>; dev0_do_hpd = <0>; dev1_output_type = <4>; dev1_output_mode = <10>; dev1_screen_id = <1>; dev1_do_hpd = <1>; def_output_dev = <0>; fb0_format = <10>; fb0_width = <0>; fb0_height = <0>; fb1_format = <0>; fb1_width = <0>; fb1_height = <0>; chn_cfg_mode = <1>; disp_para_zone = <1>; /*VCC-LCD*/ /* dc1sw-supply = <®_dc1sw>;*/ /*VCC-DSI*/ /* eldo3-supply = <®_eldo3>;*/ /*VCC-PD*/ /* dcdc1-supply = <®_dcdc1>;*/ }; /*---------------------------------------------------------------------------------- ;lcd0 configuration ;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi ;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 ;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree ;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high ;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY ;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) ; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) ;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; ;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode ;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; ;lcd_x: lcd horizontal resolution ;lcd_y: lcd vertical resolution ;lcd_width: width of lcd in mm ;lcd_height: height of lcd in mm ;lcd_dclk_freq: in MHZ unit ;lcd_pwm_freq: in HZ unit ;lcd_pwm_pol: lcd backlight PWM polarity ;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) ;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); ;lcd_ht: hsync total cycle(pixel) ;lcd_vbp: vsync back porch(line) + vysnc plus width(line) ;lcd_vt: vysnc total cycle(line) ;lcd_hspw: hsync plus width(pixel) ;lcd_vspw: vysnc plus width(pixel) ;lcd_lvds_if: 0:single link; 1:dual link ;lcd_lvds_colordepth: 0:8bit; 1:6bit ;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode ;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither ;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; ; 8~11bit:dclk phase; 12~15bit:de phase) ;lcd_gamma_en lcd gamma correction enable ;lcd_bright_curve_en lcd bright curve correction enable ;lcd_cmap_en lcd color map function enable ;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) ;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; ; decrease it while lcd is not bright enough; increase while lcd is too bright ;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) ;Pin setting for special function ie.LVDS, RGB data or vsync ; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level> ;Pin setting for gpio: ; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level> ;Pin setting for backlight enable pin ; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level> ;fsync setting, pulse to csi ;lcd_fsync_en (0:disable fsync,1:enable) ;lcd_fsync_act_time (active time of fsync, unit:pixel) ;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) ;lcd_fsync_pol (0:positive;1:negative) ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, pull up or pull down(default 0), driver level(default 1), data> ;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead ;For rgb24: use rgb24_pins_a and rgb24_pins_b instead ;For lvds1: use lvds1_pins_a and lvds1_pins_b instead ;For lvds0: use lvds0_pins_a and lvds0_pins_b instead ;----------------------------------------------------------------------------------*/ &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <50>; lcd_if = <3>; lcd_x = <800>; lcd_y = <600>; lcd_width = <150>; lcd_height = <94>; lcd_dclk_freq = <40>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <50000>; lcd_pwm_pol = <1>; lcd_pwm_max_limit = <255>; /*lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>;*/ lcd_hbp = <46>; lcd_ht = <1501>; lcd_hspw = <10>; lcd_vbp = <23>; lcd_vt = <1270>; lcd_vspw = <5>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; lcd_lvds_mode = <0>; lcd_frm = <0>; lcd_hv_clk_phase = <0>; lcd_hv_sync_polarity= <0>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; deu_mode = <0>; lcdgamma4iep = <22>; smart_color = <90>; pinctrl-0 = <&lvds0_pins_a>; pinctrl-1 = <&lvds0_pins_b>; };
麻烦各位帮忙看看,感谢
-
@wyljkl 解决了老哥?当时点亮了不?我也在搞R528
-
@goodwill1945 当时整亮了,硬件问题,但是现在好久了,也没在之前的公司了。
这是当时的lcd配置,你可以参考一下,:
&lcd0 {
lcd_used = <1>;lcd_driver_name = "default_lcd"; lcd_backlight = <50>; lcd_if = <3>; lcd_x = <800>; lcd_y = <600>; lcd_width = <150>; lcd_height = <94>; lcd_dclk_freq = <40>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <50000>; lcd_pwm_pol = <1>; lcd_pwm_max_limit = <255>; /*lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>;*/ lcd_hbp = <46>; lcd_ht = <1501>; lcd_hspw = <10>; lcd_vbp = <23>; lcd_vt = <1270>; lcd_vspw = <5>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; lcd_lvds_mode = <0>; lcd_frm = <1>; lcd_hv_clk_phase = <0>; lcd_hv_sync_polarity= <0>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; deu_mode = <0>; lcdgamma4iep = <22>; smart_color = <90>; pinctrl-0 = <&lvds0_pins_a>; pinctrl-1 = <&lvds0_pins_b>; };
-
@wyljkl 感谢回复,除了设备树还要改别的不?
-
@wyljkl 公司名字我肯定能猜对,有兴趣私聊下不?
-
@wyljkl 看你交接文档受益良多,祝前程似锦。我只改设备树是点不亮的。不过现在也不做这个了无所谓了
-
@goodwill1945 在 R528LVDS接口输出怎么配置,在设备树里面配置了,感觉没有效果呀? 中说:
@wyljkl 看你交接文档受益良多,祝前程似锦。我只改设备树是点不亮的。不过现在也不做这个了无所谓了
哈哈哈,这居然都遇到了,圈子好小
-
@xiaowenge 哈哈, r528资料太少,网上一搜就这点东西。萌新坐了一个月的牢终于解放了
-
R528跟T113差不多,基本参考它就行。
LVDS好搞,如果参数不行,把分辨率改了后,直接用以前OK的时序先顶上调调看。 -
@hqembed RGB屏幕换成LVDS只需要修改设备树吗?我的设备树参数是对的但就是点不亮,不知道是不是tina-linux有什么别的机制还是有什么Bug,文档里也没说
-
对的,改default_lcd就行了,我贴几个验证过的lvds屏你参考下
/* lvds 1280x400 &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <255>; //166mA*255/166mA = 255 lcd_if = <3>; lcd_x = <1280>; lcd_y = <400>; lcd_width = <179>; lcd_height = <56>; lcd_dclk_freq = <38>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <21>; lcd_ht = <1364>; lcd_hspw = <1>; lcd_vbp = <46>; lcd_vt = <469>; lcd_vspw = <1>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit
/* lvds 1024x600 8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <255>; //166mA*255/166mA = 255 lcd_if = <3>; lcd_x = <1024>; lcd_y = <600>; lcd_width = <176>; lcd_height = <99>; lcd_dclk_freq = <51>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <164>; lcd_ht = <1344>; lcd_hspw = <4>; lcd_vbp = <15>; lcd_vt = <635>; lcd_vspw = <4>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit
/* lvds 1024x768 8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <0>; //130mA*255/166mA = 200 lcd_if = <3>; lcd_x = <1024>; lcd_y = <768>; lcd_width = <162>; lcd_height = <121>; lcd_dclk_freq = <65>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <162>; lcd_ht = <1344>; lcd_hspw = <4>; lcd_vbp = <26>; lcd_vt = <806>; lcd_vspw = <4>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit
/* lvds 800x1280 8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <800>; lcd_y = <1280>; lcd_width = <135>; lcd_height = <216>; lcd_dclk_freq = <68>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <40>; lcd_ht = <860>; lcd_hspw = <20>; lcd_vbp = <24>; lcd_vt = <1330>; lcd_vspw = <4>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit
/* LVDS 1280x800 8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <1280>; lcd_y = <800>; lcd_width = <150>; lcd_height = <94>; lcd_dclk_freq = <71>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <20>; lcd_ht = <1418>; lcd_hspw = <10>; lcd_vbp = <10>; lcd_vt = <814>; lcd_vspw = <5>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit /* LVDS 1280x720 8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <255>; //166mA*255*166mA = 255 lcd_if = <3>; lcd_x = <1280>; lcd_y = <720>; lcd_width = <176>; lcd_height = <99>; lcd_dclk_freq = <64>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <32>; lcd_ht = <1340>; lcd_hspw = <5>; lcd_vbp = <38>; lcd_vt = <792>; lcd_vspw = <5>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <0>; //0:8bit 1:6bit
/* lvds 1366x768 6bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <1366>; lcd_y = <768>; lcd_width = <344>; lcd_height = <193>; lcd_dclk_freq = <69>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <80>; lcd_ht = <1478>; lcd_hspw = <32>; lcd_vbp = <12>; lcd_vt = <782>; lcd_vspw = <4>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; //0:8bit 1:6bit lcd_lvds_mode = <0>; lcd_frm = <1>; //1:enable rgb666 dither
/* lvds 1920x360 2x8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <1920>; lcd_y = <360>; lcd_width = <597>; lcd_height = <112>; lcd_dclk_freq = <148>; //Double lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <40>; lcd_ht = <2200>; lcd_hspw = <20>; lcd_vbp = <15>; lcd_vt = <1125>; lcd_vspw = <5>; lcd_lvds_if = <1>; //0:single lvds 1:dual lvds lcd_lvds_colordepth = <0>; //0:8bit 1:6bit /* lvds 1920x720 2x8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <1920>; lcd_y = <720>; lcd_width = <292>; lcd_height = <109>; lcd_dclk_freq = <90>; //Double lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <40>; lcd_ht = <1980>; lcd_hspw = <20>; lcd_vbp = <15>; lcd_vt = <745>; lcd_vspw = <5>; lcd_lvds_if = <1>; //0:single lvds 1:dual lvds lcd_lvds_colordepth = <0>; //0:8bit 1:6bit lcd_lvds_mode = <1>; //0:NS mode; 1:JEIDA mode 1 for C123HAX02.2
/* lvds 1920x1080 2x6bit 2x8bit &lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <135>; //88mA*255*166mA = 135 lcd_if = <3>; lcd_x = <1920>; lcd_y = <1080>; lcd_width = <344>; lcd_height = <193>; lcd_dclk_freq = <142>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <20000>; lcd_pwm_pol = <1>; //1:negative lcd_pwm_max_limit = <255>; lcd_bl_en = <&pio PE 17 GPIO_ACTIVE_HIGH>; lcd_hbp = <142>; lcd_ht = <2142>; lcd_hspw = <32>; lcd_vbp = <11>; lcd_vt = <1100>; lcd_vspw = <6>; lcd_lvds_if = <1>; //0:single lvds 1:dual lvds lcd_lvds_colordepth = <0>; //0:8bit 1:6bit lcd_lvds_mode = <0>; lcd_frm = <0>; //1:enable rgb666 dither
-
@hqembed 谢谢大佬
-
@goodwill1945 不是吧,有这么巧的吗,如果确实是的,那我留下了调试笔记,照着来问题不大的呢,r528走之前LVDS是整完了的。
-
@hqembed 试了两个参数,亮了两个屏,参数应该都是准的,厉害
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号