小文哥,之前上传的视频有问题,uboot和kernel关于lcd的配置都是一样的
屏幕RGB 480x272 linux-5.4.273
线索一 uboot-board.dts
&disp { disp_init_enable = <1>; disp_mode = <0>; screen0_output_type = <1>; screen0_output_mode = <4>; screen1_output_type = <1>; screen1_output_mode = <4>; 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 = <4>; 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 = <0>; fb0_width = <480>; fb0_height = <272>; 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 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_if = <0>; lcd_x = <480>; lcd_y = <272>; lcd_width = <95>; lcd_height = <54>; lcd_dclk_freq = <10>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <10000>; lcd_pwm_pol = <1>; lcd_hbp = <44>;/*43+1*/ lcd_ht = <526>; lcd_hspw = <1>;/*1*/ lcd_vbp = <13>; lcd_vt = <286>; lcd_vspw = <1>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; lcd_lvds_mode = <0>; lcd_frm = <0>; lcd_io_phase = <0x0000>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; deu_mode = <0>; lcdgamma4iep = <22>; smart_color = <90>; pinctrl-0 = <&rgb18_pins_a>; pinctrl-1 = <&rgb18_pins_b>; };board.dts
&disp { disp_init_enable = <1>; disp_mode = <0>; screen0_output_type = <1>; screen0_output_mode = <4>; screen1_output_type = <1>;/*3*/ screen1_output_mode = <4>; 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 = <4>; 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>; disp_rotation_used = <1>; degree0 = <0>; fb0_format = <0>; fb0_buffer_num = <1>; fb0_width = <480>; fb0_height = <272>; /*fb0_width = <800>;*/ /*fb0_height = <480>;*/ /*read from lcd*/ 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 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <50>; lcd_if = <0>; lcd_x = <480>; lcd_y = <272>; lcd_width = <95>; lcd_height = <54>; lcd_dclk_freq = <10>; /*lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <10000>; lcd_pwm_pol = <1>;*/ lcd_hbp = <44>; lcd_ht = <526>; lcd_hspw = <1>; lcd_vbp = <13>; lcd_vt = <286>; lcd_vspw = <1>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; lcd_lvds_mode = <0>; lcd_frm = <0>; lcd_io_phase = <0x0000>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; deu_mode = <0>; lcdgamma4iep = <22>; smart_color = <90>; pinctrl-0 = <&rgb18_pins_a>; pinctrl-1 = <&rgb18_pins_b>; };线索二 内核输出
[ 0.508712] [DISP]disp_module_init
[ 0.512657] disp 5000000.disp: Adding to iommu group 0
[ 0.518295] [DISP] parser_disp_init_para,line:1430:
[ 0.518299] of_property_read fb0_width fail
[ 0.527390] [DISP] disp_init,line:2386:
[ 0.527394] smooth display screen:0 type:1 mode:4
[ 0.552098] display_fb_request,fb_id:0
[ 0.557423] Freeing logo buffer memory: 1500K
[ 0.562297] disp_al_manager_apply ouput_type:1
[ 0.566842] [DISP] lcd_clk_config,line:744:
[ 0.566853] disp 0, clk: pll(60000000),clk(60000000),dclk(10000000) dsi_rate(60000000)
[ 0.566853] clk real:pll(288000000),clk(288000000),dclk(12000000) dsi_rate(0)
[ 0.570471] [DISP]disp_module_init finish
[ 0.571150] sunxi_pwm_enable_dual: can't parse pwm device
[ 0.587556] sunxi_sid_init()551 - insmod ok
[ 0.601112] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pb not found, using dummy regulator
所搜了网上许多资料,推测原因是由于内核初始化lcd屏幕fb内存释放引起,的目前有两个方向,更新新的sdk,更新的话,之前对虚拟机中做的配置还需要再来一遍,有没有其他解决方法,