• Lokesh Vutla's avatar
    ARM: OMAP5: Fix warm reset with USB cable connected · 0b1b60c7
    Lokesh Vutla authored
    
    
    Warm reset on OMAP5 freezes when USB cable is connected.
    Fix requires PRM_RSTTIME.RSTTIME1 to be programmed
    with the time for which reset should be held low for the
    voltages and the oscillator to reach stable state.
    
    There are 3 parameters to be considered for calculating
    the time, which are mostly board and PMIC dependent.
    -1- Time taken by the Oscillator to shut + restart
    -2- PMIC OTP times
    -3- Voltage rail ramp times, which inturn depends on the
    PMIC slew rate and value of the voltage ramp needed.
    
    In order to keep the code in u-boot simple, have a way
    for boards to specify a pre computed time directly using
    the 'CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC'
    option. If boards fail to specify the time, use a default
    as specified by 'CONFIG_DEFAULT_OMAP_RESET_TIME_MAX_USEC' instead.
    Using the default value translates into some ~22ms and should work in
    all cases.
    However in order to avoid this large delay hiding other bugs,
    its recommended that all boards look at their respective data
    sheets and specify a pre computed and optimal value using
    'CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC'
    
    In order to help future board additions to compute this
    config option value, add a README at doc/README.omap-reset-time
    which explains how to compute the value. Also update the toplevel
    README with the additional option and pointers to
    doc/README.omap-reset-time.
    
    Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
    [rnayak@ti.com: Updated changelog and added the README]
    Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
    0b1b60c7