• S
    serial: serial_msm: Delay initialization to let pins stabilize · ad7e9677
    Stephan Gerhold 提交于
    For some reason, the DragonBoard 410c aborts autoboot immediately if
    U-Boot is started without LK. It looks like it picks up a single broken
    character via serial and therefore believes a key was pressed to abort
    autoboot.
    
    After some debugging, it seems like adding some delay after pinctrl
    setup but before UART initialization fixes the issue. It's also worth
    mentioning that unlike when booting from LK, the pinctrl setup is
    actually necessary when booting U-Boot without LK since UART is broken
    if the pinctrl line is removed.
    
    I suspect that reconfiguring the pins might take some time to stabilize
    and if the UART controller is enabled too quickly it will pick up some
    random noise. Adding a few milliseconds of delay fixes the issue and
    shouldn't have any other negative side effects.
    
    3ms seems to be the minimum delay required in my tests, use 5ms instead
    just to be sure.
    Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
    ad7e9677
serial_msm.c 6.7 KB