需求/疑问:为什么内核启动时没有调用屏幕的init
我的平台是F133,我在内核屏幕驱动里基于ST7701S驱动改动初始化阵列实现适配我的屏幕,我的Uboot也是这样做的,我两份驱动仅仅修改了初始化阵列,编译也能通过,但是在init那里我加了log输出,并区分出uboot和kernel,然后上电时可以看到uboot输出的log,但是到内核就没有log输出,但是能看到屏幕的dclk和设备树一样,所以因该不是设备树问题?我内核和uboot用的是同一份设备树,完整log我感觉没必要放了,毕竟我的疑问就是为什么内核启动时没有调用屏幕的init,我以前用这个平台搭配这个屏幕可以点亮,但是时间可能有点长,现在操作不怎么熟练,清各位大佬帮我想想办法,谢谢!
离线
jkl 说:
这是全志针对uboot到内核显示的一个平滑过渡流程,避免闪屏黑屏。
您好,我确实是这样想的,但是我感觉cboot后menuconfig可能不是针对当前uboot的,我关了sunxi-disp2(可能打错了) support之后并且uboot-borad.dts里的disp和lcd都设为0(关闭)了,启动时依然有LCD open finish,于是我直接修改sun20iw1p1_defconfig,确实奏效,但是启动的时候直接卡死了,日志:
0.257825] [DISP] Fb_copy_boot_fb,line:1445:
[ 0.257830] no boot_fb0
[ 0.258392] disp_al_manager_apply ouput_type:0
[ 0.258812] [DISP] lcd_clk_config,line:774:
[ 0.258826] disp 0, clk: pll(504000000),clk(504000000),dclk(63000000) dsi_rate(63000000)
[ 0.258826] clk real:pll(504000000),clk(504000000),dclk(126000000) dsi_rate(150000000)
[ 0.258861] [DISP] disp_sys_pwm_config,line:509:
[ 0.258864] disp_sys_pwm_Config, handle is NULL!
[ 0.258873] [DISP] disp_sys_pwm_set_polarity,line:528:
[ 0.258876] disp_sys_pwm_Set_Polarity, handle is NULL!
[ 0.267913] [DISP]disp_module_init finish
[ 0.268876] sunxi_sid_init()783 - insmod ok
[ 0.269770] pwm-regulator: supplied by regulator-dummy
[ 0.271667] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator
[ 0.272159] uart uart0: uart0 supply uart not found, using dummy regulator
[ 0.272607] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI
[ 0.272637] sw_console_setup()1807 - console setup baud 115200 parity n bits 8, flow n
[ 1.706232] printk: console [ttyS0] enabled
[ 1.728335] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator
[ 1.747928] uart uart1: uart1 supply uart not found, using dummy regulator
[ 1.755976] uart1: ttyS1 at MMIO 0x2500400 (irq = 19, base_baud = 1500000) is a SUNXI
[ 1.788691] misc dump reg init
[ 1.793146] sunxi-rfkill soc@3000000:rfkill@0: module version: v1.0.9
[ 1.807441] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed
[ 1.814725] sunxi-rfkill soc@3000000:rfkill@0: get gpio power_en failed
[ 1.837427] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1)
[ 1.843930] sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power.
[ 1.867455] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=137 assert=1
[ 1.875289] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1
[ 1.897461] sunxi-rfkill soc@3000000:rfkill@0: wakeup source is enabled
[ 1.917500] sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power.
[ 1.924244] sunxi-rfkill soc@3000000:rfkill@0: bt_rst gpio=133 assert=0
[ 1.948147] [ADDR_MGT] addr_mgt_probe: module version: v1.0.11
[ 1.955842] [ADDR_MGT] addr_mgt_probe: success.
[ 1.968714] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 1.989470] 7 sunxipart partitions found on MTD device spi0.0
[ 1.995872] Creating 7 MTD partitions on "spi0.0":
[ 2.017433] 0x000000000000-0x000000180000 : "uboot"
这里就结束了,但是以前我开发的时候uboot也提示LCD open finish并且选择了和内核不符的驱动,内核阶段依然能启动,我也不知道为什么
离线