u-boot-brain/arch/arm/cpu
Lokesh Vutla 0b1b60c779 ARM: OMAP5: Fix warm reset with USB cable connected
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: Lokesh Vutla <lokeshvutla@ti.com>
[rnayak@ti.com: Updated changelog and added the README]
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-05-10 08:25:55 -04:00
..
arm720t Tegra: Split tegra_get_chip_type() into soc & sku funcs 2013-04-15 11:01:38 -07:00
arm920t arm: Make all linker scripts compatible with per-symbol sections 2013-04-12 07:55:09 +02:00
arm925t arm: Remove unused relocate_code() parameters 2013-04-12 07:55:07 +02:00
arm926ejs Merge branch 'u-boot/master' into 'u-boot-arm/master' 2013-04-12 22:07:57 +02:00
arm946es arm: Remove unused relocate_code() parameters 2013-04-12 07:55:07 +02:00
arm1136 BUGFIX: arm: data abort in get_bad_stack_swi 2013-04-13 11:12:46 +02:00
arm1176 BUGFIX: arm: data abort in get_bad_stack_swi 2013-04-13 11:12:46 +02:00
arm_intcm arm: Remove unused relocate_code() parameters 2013-04-12 07:55:07 +02:00
armv7 ARM: OMAP5: Fix warm reset with USB cable connected 2013-05-10 08:25:55 -04:00
ixp ARM: Fix __bss_start and __bss_end in linker scripts 2013-04-13 22:37:20 +02:00
pxa BUGFIX: arm: data abort in get_bad_stack_swi 2013-04-13 11:12:46 +02:00
s3c44b0 arm: Remove unused relocate_code() parameters 2013-04-12 07:55:07 +02:00
sa1100 arm: Remove unused relocate_code() parameters 2013-04-12 07:55:07 +02:00
tegra20-common Tegra: Split tegra_get_chip_type() into soc & sku funcs 2013-04-15 11:01:38 -07:00
tegra30-common Tegra114: Initialize System Counter (TSC) with osc frequency 2013-04-15 11:01:38 -07:00
tegra114-common Tegra114: Initialize System Counter (TSC) with osc frequency 2013-04-15 11:01:38 -07:00
tegra-common Tegra: Split tegra_get_chip_type() into soc & sku funcs 2013-04-15 11:01:38 -07:00
u-boot-spl.lds ARM: fix CONFIG_SPL_MAX_SIZE semantics 2013-04-14 16:07:14 +02:00
u-boot.lds ARM: fix CONFIG_SPL_MAX_SIZE semantics 2013-04-14 16:07:14 +02:00