f133 tina4.0 sdk,发现一个很奇怪的现象,大佬们知道的帮忙解答一下,非常感谢
-
发现我把uboot2018的配置文件这个CONFIG_BOOT_GUI选上,内核部分disp部分直接不生效,取消掉配置它就生效了。好奇怪,uboot部分的显示跟内核会有冲突吗?
-
为了不闪屏,kernel发现uboot初始化过了,不再另外初始化。
-
@whycanservice
但是内核部分显示部分没跑,屏直接灭了。 -
检查是不是只配置了uboot的屏幕,内核的没有配置
-
@yuzukitsuru 你好,配置了,我把uboot的显示部分取消掉,内核部分就能正常初始化,显示正常
-
@wyljkl 你好,使用的T113也遇到同样问题,这个最后定位哪个原因?
-
是不是提供一下开机过程的完整log,让大家一起看看呢?
-
@xiaobai2458
我这排除此问题原因有两个:
1、kernel dts 配置fb0_width被屏蔽了,code拿不到会失败return。
2、kernel dts 中配置了lcd_gpio_0和lcd_gpio_1用于mipi的设备的供电和reset功能,应交的active状态不正确,导致panel init读取这个引脚默认状态后把供电拉低。mipi屏相当于被断电了,但是背光有点。 -
单纯配置kernel.txt
这是启动logo,配置了uoot的开屏,kernel的disp初始化开屏流程不一样,内核部分没有走LCD_open_flow这个流程了 -
@wyljkl 这个文件似乎有点问题,log可以直接复制上来的
-
@xiaobai2458 在 f133 tina4.0 sdk,发现一个很奇怪的现象,大佬们知道的帮忙解答一下,非常感谢 中说:
@xiaobai2458
我这排除此问题原因有两个:
1、kernel dts 配置fb0_width被屏蔽了,code拿不到会失败return。
2、kernel dts 中配置了lcd_gpio_0和lcd_gpio_1用于mipi的设备的供电和reset功能,应交的active状态不正确,导致panel init读取这个引脚默认状态后把供电拉低。mipi屏相当于被断电了,但是背光有点。你好,问题解决了吗?我看配置了uboot开屏,直接不走LCD_open_flow这个流程来初始化屏幕了
-
@wyljkl
这是单独配置kernel:
0.364295] io scheduler mq-deadline registered
[ 0.364313] io scheduler kyber registered
[ 0.365732] [DISP]disp_module_init
[ 0.366698] disp 5000000.disp: Adding to iommu group 0
[ 0.367635] [DISP] parser_disp_init_para,line:1407:
[ 0.367641] of_property_read fb0_width fail
[ 0.415312] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 101 LCD_cfg_panel_info[ 0.415375] display_fb_request,fb_id:0 [ 0.427563] [DISP] Fb_copy_boot_fb,line:1443: [ 0.427569] no boot_fb0 [ 0.428177] drivers/video/fbdev/sunxi/disp2/disp/de/disp_lcd.c 2093 disp_lcd_enable [ 0.428249] disp_al_manager_apply ouput_type:0 [ 0.428698] [DISP] lcd_clk_config,line:774: [ 0.428716] disp 0, clk: pll(312000000),clk(312000000),dclk(52000000) dsi_rate(52000000) [ 0.428716] clk real:pll(312000000),clk(312000000),dclk(78000000) dsi_rate(150000000) [ 0.429498] drivers/video/fbdev/sunxi/disp2/disp/de/disp_lcd.c 2179 disp_lcd_enable [ 0.429513] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 158 LCD_open_flow [ 0.429528] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 180 LCD_power_on [ 0.430350] [DISP]disp_module_init finish [ 0.431778] sunxi_sid_init()563 - insmod ok [ 0.432619] pwm-regulator: supplied by regulator-dummy [ 0.436563] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator [ 0.437093] uart uart0: uart0 supply uart not found, using dummy regulator [ 0.437780] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI [ 0.437815] sw_console_setup()1807 - console setup baud 115200 parity n bits 8, flow n [ 0.730743] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pd not found, using dummy regulator [ 0.839416] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 280 LCD_panel_init [ 1.182590] printk: console [ttyS0] enabled [ 1.188592] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator [ 1.200417] uart uart1: uart1 supply uart not found, using dummy regulator [ 1.208798] uart1: ttyS1 at MMIO 0x2500400 (irq = 19, base_baud = 1500000) is a SUNXI [ 1.219206] uart uart3: uart3 supply uart not found, using dummy regulator [ 1.227924] uart3: ttyS3 at MMIO 0x2500c00 (irq = 21, base_baud = 1500000) is a SUNXI [ 1.238157] uart uart4: uart4 supply uart not found, using dummy regulator [ 1.246772] uart4: ttyS4 at MMIO 0x2501000 (irq = 22, base_baud = 1500000) is a SUNXI [ 1.258032] misc dump reg init [ 1.264268] [ADDR_MGT] addr_mgt_probe: module version: v1.0.11 [ 1.273037] [ADDR_MGT] addr_mgt_probe: success. [ 1.280527] sunxi-spinand: AW SPINand MTD Layer Version: 2.3 20211223 [ 1.288788] sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.10 20200306 [ 1.296631] sunxi-spinand-phy: not detect any munufacture from id table [ 1.304248] sunxi-spinand-phy: get spi-nand Model from fdt fail [ 1.310934] sunxi-spinand-phy: get phy info from fdt fail [ 1.316947] sunxi-spinand-phy: not detect munufacture from fdt [ 1.323792] sunxi-spinand-phy: detect munufacture from id table: FM [ 1.330853] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 225 LCD_bl_open [ 1.340641] sunxi-spinand-phy: detect spinand id: 7f7fe4a1 ffffffff [ 1.348004] sunxi-spinand-phy: ========== arch info ========== [ 1.354535] sunxi-spinand-phy: Model: FM25S01A [ 1.360891] sunxi-spinand-phy: Munufacture: FM [ 1.366613] sunxi-spinand-phy
/***************************************************************/
配置了uboot开屏:[ 0.365923] [DISP]disp_module_init [ 0.366900] disp 5000000.disp: Adding to iommu group 0 [ 0.367761] [DISP] parser_disp_init_para,line:1407: [ 0.367767] of_property_read fb0_width fail [ 0.367794] [DISP] disp_init,line:2331: [ 0.367800] smooth display screen:0 type:1 mode:4 [ 0.416425] drivers/video/fbdev/sunxi/disp2/disp/lcd/K080_IM2HYL802R_800X1280.c 101 LCD_cfg_panel_info [ 0.416488] display_fb_request,fb_id:0 [ 0.430910] Freeing logo buffer memory: 1500K [ 0.431528] drivers/video/fbdev/sunxi/disp2/disp/de/disp_lcd.c 2287 disp_lcd_sw_enable [ 0.431599] disp_al_manager_apply ouput_type:1 [ 0.431742] [DISP] lcd_clk_config,line:774: [ 0.431760] disp 0, clk: pll(312000000),clk(312000000),dclk(52000000) dsi_rate(52000000) [ 0.431760] clk real:pll(312000000),clk(312000000),dclk(78000000) dsi_rate(150000000) [ 0.432130] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pd not found, using dummy regulator [ 0.433274] [DISP]disp_module_init finish [ 0.434731] sunxi_sid_init()563 - insmod ok [ 0.435576] pwm-regulator: supplied by regulator-dummy [ 0.439564] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator [ 0.440119] uart uart0: uart0 supply uart not found, using dummy regulator [ 0.441108] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI [ 0.441143] sw_console_setup()1807 - console setup baud 115200 parity n bits 8, flow n [ 1.171629] printk: console [ttyS0] enabled [ 1.177628] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator [ 1.189533] uart uart1: uart1 supply uart not found, using dummy regulator [ 1.197924] uart1: ttyS1 at MMIO 0x2500400 (irq = 19, base_baud = 1500000) is a SUNXI [ 1.208418] uart uart3: uart3 supply uart not found, using dummy regulator [ 1.217228] uart3: ttyS3 at MMIO 0x2500c00 (irq = 21, base_baud = 1500000) is a SUNXI [ 1.227619] uart uart4: uart4 supply uart not found, using dummy regulator [ 1.236266] uart4: ttyS4 at MMIO 0x2501000 (irq = 22, base_baud = 1500000) is a SUNXI [ 1.247411] misc dump reg init
-
@wyljkl uboot开屏后,kernel不会再走开屏流程,只会保存一些状态,因为uboot已经开过屏了,如果uboot开屏后,kernel初始化disp阶段屏黑了,首先可以确定背光是否存在,到内核后能否显示colorbar,还有如上面说的lcd_gpio_0和lcd_gpio_1默认电平是否配置为高电平。
内核想要重新初始化屏,可以单独休眠唤醒lcd测试下能否恢复显示
mount -t debugfs none /sys/kernel/debug cd /sys/kernel/debug/dispdbg //休眠 echo suspend > command; echo disp0 > name; echo 1 > start //唤醒 echo resume > command; echo disp0 > name; echo 1 > start
// colorbar彩条 echo 1 > /sys/class/disp/disp/attr/colorbar
-
@anruliu 在 f133 tina4.0 sdk,发现一个很奇怪的现象,大佬们知道的帮忙解答一下,非常感谢 中说:
echo 1 > /sys/class/disp/disp/attr/colorbar
你好,配置了uboot开屏后,首先显示开机logo,然后内核disp初始化的时候背光是有的,但是不能正常显示了,刚才按照你上面提供的休眠唤醒后,屏可以正常显示。
这样的情况怎么去解决?能否提供个思路,我有个疑问,按照现在这个流程来走,uboot到kernel,uboot进行的mipi-dsi的屏指令初始化后,到内核部分屏的状态看现象貌似不能保存下来,还得重新初始化。
-
@wyljkl 用示波器量下lcd各个脚,如reset是否跌落,电源是否有变化
-
@anruliu
刚才测量了下,uboot初始完后,reset脚和lcd_en使能脚直接变低了,没有保持高电平的状态。 -
@anruliu 不过pwm使能的背光一直是处于使能状态
-
@wyljkl 在 f133 tina4.0 sdk,发现一个很奇怪的现象,大佬们知道的帮忙解答一下,非常感谢 中说:
reset脚和lcd_en
上面说过了,dts中reset脚和lcd_en的默认电平是不是配置为低电平了?因为内核disp驱动初始化的时候会获取gpio并设置默认电平。
-
@anruliu 默认配置的是高电平:
-
@wyljkl 检查dts其他地方有没有复用这些gpio
-
@wyljkl
我找到问题了,这个引脚的配置不能这样配置,改成这样就可以了,感谢各位大佬!
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号