[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