[Maverick][master][SRU][pull-request] Properly initialize UART 4 at Beagleboard-xM
Ricardo Salveti
rsalveti at rsalveti.net
Mon Dec 20 03:14:22 UTC 2010
SRU Justification:
Impact: Current omap 3 kernel doesn't handle all the available uarts when
running on a Beagleboard-xM, failining and to initialize uart4 and leading
to a trace warning while booting the kernel.
Fix: The fix is already upstream and the proposed fix is just a backport of the
needed changes. It basically defines the uart 4, set up it's ick/fck and change
the code to correctly use it on a omap 3640.
Testcase: When booting on a Beagleboard-xM the following warning trace appers:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at
/build/buildd/linux-2.6.35/arch/arm/mach-omap2/serial.c:727
omap_serial_init_port+0x88/0x1f8()
[ 0.000000] (null): can't init uart3, no clocks available
[ 0.000000] Modules linked in:
[ 0.000000] [<c004c508>] (unwind_backtrace+0x0/0x100) from
[<c051a2a8>] (dump_stack+0x18/0x1c)
[ 0.000000] [<c00109b4>] (omap_serial_init+0x30/0x3c) from
[<c00125e0>] (omap3_beagle_init+0x6c/0xfc)
[ 0.000000] [<c00125e0>] (omap3_beagle_init+0x6c/0xfc) from
[<c000c660>] (customize_machine+0x24/0x2c)
[ 0.000000] [<c000c660>] (customize_machine+0x24/0x2c) from
[<c00443bc>] (do_one_initcall+0x3c/0x1dc)
[ 0.000000] [<c00443bc>] (do_one_initcall+0x3c/0x1dc) from
[<c00085b4>] (do_basic_setup+0x64/0x74)
[ 0.000000] [<c00085b4>] (do_basic_setup+0x64/0x74) from [<c0008654>]
(kernel_init+0x90/0x120)
[ 0.000000] [<c0008654>] (kernel_init+0x90/0x120) from [<c0045af4>]
(kernel_thread_exit+0x0/0x8)
[ 0.000000] ---[ end trace da227214a82491b7 ]---
After applying these patches this warninig is gone.
Same patches can also be found at the Linaro's 2.6.35 kernel tree.
BugLink: https://bugs.launchpad.net/bugs/688765
The following changes since commit e884768247eb057c5b2111e6c24a7e6e8fc37407:
UBUNTU: Ubuntu-2.6.35-24.42 (2010-11-30 15:28:39 -0800)
are available in the git repository at:
git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git fix-uart3-init
Govindraj.R (3):
OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
OMAP clock: Add uart4_ick/fck definitions for 3630
OMAP3: serial: Fix uart4 handling for 3630
Nicolas Pitre (1):
OMAP: some definitions extracted from commit 046465b76a
Santosh Shilimkar (1):
omap: serial: Fix the boot-up crash/reboot without CONFIG_PM
Sergio Aguirre (1):
omap3: Unify omap2_set_globals_3[43,6x]x functions
arch/arm/mach-omap2/board-3430sdp.c | 2 +-
arch/arm/mach-omap2/board-3630sdp.c | 2 +-
arch/arm/mach-omap2/board-am3517evm.c | 2 +-
arch/arm/mach-omap2/board-cm-t35.c | 2 +-
arch/arm/mach-omap2/board-devkit8000.c | 2 +-
arch/arm/mach-omap2/board-igep0020.c | 2 +-
arch/arm/mach-omap2/board-ldp.c | 2 +-
arch/arm/mach-omap2/board-omap3beagle.c | 2 +-
arch/arm/mach-omap2/board-omap3evm.c | 2 +-
arch/arm/mach-omap2/board-omap3pandora.c | 2 +-
arch/arm/mach-omap2/board-omap3stalker.c | 2 +-
arch/arm/mach-omap2/board-omap3touchbook.c | 2 +-
arch/arm/mach-omap2/board-overo.c | 2 +-
arch/arm/mach-omap2/board-rx51.c | 2 +-
arch/arm/mach-omap2/board-zoom2.c | 2 +-
arch/arm/mach-omap2/board-zoom3.c | 2 +-
arch/arm/mach-omap2/clock3xxx_data.c | 22 ++++++++++++++++++++++
arch/arm/mach-omap2/cm-regbits-34xx.h | 2 ++
arch/arm/mach-omap2/pm34xx.c | 15 +++++++++++++--
arch/arm/mach-omap2/prcm-common.h | 5 +++++
arch/arm/mach-omap2/prm-regbits-34xx.h | 1 +
arch/arm/mach-omap2/serial.c | 11 ++++++++++-
arch/arm/plat-omap/common.c | 10 ++--------
arch/arm/plat-omap/include/plat/common.h | 3 +--
arch/arm/plat-omap/include/plat/dma.h | 2 ++
arch/arm/plat-omap/include/plat/irqs.h | 2 ++
26 files changed, 76 insertions(+), 29 deletions(-)
--
Ricardo Salveti de Araujo
More information about the kernel-team
mailing list