[U-Boot] [PATCH 0/4] OMAP3+: Fix voltage bringup sequence
Nishanth Menon
nm at ti.com
Fri Mar 2 01:17:36 CET 2012
Current configuration results in the following voltage waveform
(example 4460 Panda ES):
|---------------| (SET1 default 1.4V)
| --------(programmed voltage)
| <- (This switch happens on mux7,pullup)
vdd_mpu(TPS) -----/ (OPP boot voltage)
--------- (programmed voltage)
vdd_IVA(TWL6030) -------------------------/ (OPP boot voltage)
--------- (programmed voltage)
vdd_core(TWL6030) -----------------------/ (OPP boot voltage)
Problem 1) |<----- Tx ------>|
timing violation for a duration Tx close to few milliseconds.
Problem 2) voltage of MPU goes beyond spec for even the highest of MPU OPP.
Problem 3) All SoCs are doing MPU, CORE, IVA - which is a timing violation
Oscilloscope picture: http://goo.gl/SykHb
By using GPIO as recommended as standard procedure by TI and fixing the sequence
in this series changes this to:
--------- (programmed voltage)
vdd_IVA(TWL6030) ------------------/ (OPP boot voltage)
-------- (programmed voltage)
vdd_mpu(TPS) ----------------/ (Opp boot voltage)
--------- (programmed voltage)
vdd_core(TWL6030) -------------/ (OPP boot voltage)
Oscilloscope Picture: http://goo.gl/PgyKt
Why is this critical: without the voltage sequence fixes, certain intermediate
circuitry inside OMAP behaves in often unpredictable manner as they are
operating out of spec. This in production line(extreme example of OMAP4460)
translates close to ~5% devices failing to boot up and shows all kind of random
untraceable crashes in production kernel.
NOTE:
1. Clock sequences need to be fixed as well
2. kernel.org support for PandaBoard ES(OMAP4460) depends on the current wrong
setup of u-boot to allow kernel boot to take place. This can and must be
fixed. Merging this series breaks k.org, as a temporary WA: run:
mw.w 0x4A31E05A 0x1f
on u-boot prompt prior to booting the kernel to replicate old broken logic.
Tested on:
Pandaboard vanilla - OMAP4430
Pandaboard ES - OMAP4460
OMAP5 EVM
Nishanth Menon (4):
OMAP3+: Introduce generic logic for OMAP voltage controller
OMAP4460: TPS Ensure SET1 is selected after voltage configuration
OMAP4: scale voltage of core before MPU scales
OMAP5: scale voltage of core before MPU scales
arch/arm/cpu/armv7/omap-common/Makefile | 1 +
arch/arm/cpu/armv7/omap-common/clocks-common.c | 67 ++++--------
arch/arm/cpu/armv7/omap-common/vc.c | 138 ++++++++++++++++++++++++
arch/arm/cpu/armv7/omap4/clocks.c | 64 ++++++-----
arch/arm/cpu/armv7/omap5/clocks.c | 10 +-
arch/arm/include/asm/arch-omap4/clocks.h | 17 +---
arch/arm/include/asm/arch-omap4/sys_proto.h | 2 +
arch/arm/include/asm/arch-omap5/clocks.h | 17 +---
arch/arm/include/asm/arch-omap5/sys_proto.h | 2 +
board/ti/panda/panda_mux_data.h | 2 +-
board/ti/sdp4430/sdp4430_mux_data.h | 2 +-
11 files changed, 211 insertions(+), 111 deletions(-)
create mode 100644 arch/arm/cpu/armv7/omap-common/vc.c
Regards,
Nishanth Menon
--
1.7.5.4
More information about the U-Boot
mailing list