平台RK3568
基线 3.2 beta
在移植Harmonys的时候发现一个问题,就是开机正常显示,uboot和kernel正常,开机后灭屏,等待系统进入Deep ,然后按power按键唤醒设备。此时出现花屏或者不显示问题
多次测试发现,如果系统没有进入deep,就是串口还没打印以下log之前唤醒,没有问题
703.759856\] PM: suspend entry (deep) \[ 703.768287\] Filesystems sync: 0.008 seconds \[ 703.769305\] \[I/kevent\] KeventPmNotifierFn:action=3 \[ 703.769371\] \[I/kevent\] KeventPmNotifierFn:receive suspend event \[ 703.770634\] \[I/devmgr_service\] DevmgrServicePowerStateChange:suspend state 3 \[ 703.770708\] \[I/sample_driver_test\] HdfSampleSuspend:called \[ 703.770737\] \[I/pm_driver_test\] HdfPmTestSuspend called \[ 703.770958\] \[I/devmgr_service\] DevmgrServicePowerStateChange:suspend state 3 \[ 703.771165\] \[I/sample_driver_test\] HdfSampleSuspend:called \[ 703.771200\] \[I/pm_driver_test\] HdfPmTestSuspend called \[ 703.771385\] Freezing user space processes ... (elapsed 0.006 seconds) done. \[ 703.778436\] OOM killer disabled. \[ 703.778464\] Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done. \[ 703.782404\] printk: Suspending console(s) (use no_console_suspend to debug) 如果开机一直插着usb,系统无法进入deep也不会有问题 一直困扰到底是怎么回事,网上也没找到解决方案,开始认真看log 发现在这种情况下唤醒打印的以下log \[ 611.167887\] \[I/HDF_DISP\] PanelSendCmds enter \[ 611.457904\] \[I/HDF_DISP\] PanelSendCmds enter 从此开始怀疑是不是hdf下还有一个driver走的并不是我们的dts的参数,一搜这个接口,果然在hdf下的display下的driver走的一套写在driver里面的初始化参数。 这时候把那套参数修改成自己屏的初始化参数,进入deep唤醒就正常了