Hi, Added linux-omap list and Paul to Cc. * Chris Banker <cbanker@xxxxxxxxx> [091119 12:34]: > I'm having trouble with the 2.6.31 kernel running on an OMAP2430 > board. I was able to get the board to boot using 2.6.31rc1, but am > having some issue with 2.6.31. > > With low-level debugging enabled, I get the output below. It appears > to be an issue with the new hwmod system, which didn't exist in > 2.6.31rc1. It seems to die during the initialization of mpu_hwmod. > > Anyone have any suggestions as to how to fix this or what to try? Good to hear somebody is playing with a 2430 :) What's the board you're using? I guess it is not an SDP based on the crystal rate at 19.2MHz? We had a similar issue with 2420, that got fixed by a7f20b2695eb6a00a5464089bacf75b8ed64725e. Maybe give it a try and see if it helps? I've attached Paul's patch too for reference. Regards, Tony > Thanks, > Chris > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > Starting kernel ... > > Uncompressing Linux..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... > done, booting the kernel. > <5>Linux version 2.6.31-omap1 (cbanker@vcaeng05) (gcc version 4.3.3 > (GCC) ) #27 Wed Nov 18 17:23:18 PST 2009 > CPU: ARMv6-compatible processor [4107b366] revision 6 (ARMv6TEJ), cr=00c5387f > CPU: VIPT aliasing data cache, VIPT aliasing instruction cache > Machine: BFT Digital Modem > Memory policy: ECC disabled, Data cache writeback > <7>On node 0 totalpages: 32768 > <7>free_area_init_node: node 0, pgdat c0f10848, node_mem_map c0f35000 > <7> Normal zone: 256 pages used for memmap > <7> Normal zone: 0 pages reserved > <7> Normal zone: 32512 pages, LIFO batch:7 > <6>OMAP2430<6> > <6>SRAM: Mapped pa 0x40200000 to va 0xe3000000 size: 0x100000 > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 > <5>Kernel command line: root=/dev/ram0 rw console=ttys2,115200n8 > PID hash table entries: 512 (order: 9, 2048 bytes) > <6>Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) > <6>Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) > <6>Memory: 128MB = 128MB total > <5>Memory: 114232KB available (3084K code, 327K data, 12124K init, 0K highmem) > <6>NR_IRQS:384 > <6>Clocking rate (Crystal/DPLL/MPU): 19.2/660/330 MHz > <1>Unable to handle kernel NULL pointer dereference at virtual address 00000004 > <1>pgd = c0004000 > <1>[00000004] *pgd=00000000 > Internal error: Oops: 5 [#1] > <d>Modules linked in: > CPU: 0 Not tainted (2.6.31-omap1 #27) > PC is at _enable+0x78/0x208 > LR is at release_console_sem+0x1a8/0x204 > pc : [<c0be9098>] lr : [<c0bff998>] psr: a00001d3 > sp : c0ee3f38 ip : c0ee3e80 fp : c0ee3f4c > r10: 80022140 r9 : 4107b366 r8 : 80022174 > r7 : c0ee86b4 r6 : c0be95cc r5 : c0ee6154 r4 : c0ee6154 > r3 : 00000000 r2 : 00000000 r1 : 000005b2 r0 : 0000001f > Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel > Control: 00c5387f Table: 80004000 DAC: 00000017 > Process swapper (pid: 0, stack limit = 0xc0ee2260) > Stack: (0xc0ee3f38 to 0xc0ee4000) > 3f20: c0ee6634 c0ee6154 > 3f40: c0ee3f68 c0ee3f50 c0be9648 c0be902c 00000000 c0ee6154 c0be95cc c0ee3f88 > 3f60: c0ee3f6c c0be8a6c c0be95d8 c0eece48 c0eece48 c0bdbe08 c0ee5b34 c0ee3f98 > 3f80: c0ee3f8c c0be98f4 c0be8a44 c0ee3fb0 c0ee3f9c c000dfc4 c0be98a0 c0f11190 > 3fa0: c0f11184 c0ee3fc0 c0ee3fb4 c000ef0c c000df50 c0ee3fd0 c0ee3fc4 c000b878 > 3fc0: c000eee8 c0ee3ff4 c0ee3fd4 c0008a2c c000b84c c0008658 c0bdbe08 00c5387d > 3fe0: c0f11440 c0bdc20c 00000000 c0ee3ff8 80008034 c00088fc 00000000 00000000 > Backtrace: > [<c0be9020>] (_enable+0x0/0x208) from [<c0be9648>] (_setup+0x7c/0xb0) > r4:c0ee6154 > [<c0be95cc>] (_setup+0x0/0xb0) from [<c0be8a6c>] (omap_hwmod_for_each+0x34/0x78) > r6:c0be95cc r5:c0ee6154 r4:00000000 > [<c0be8a38>] (omap_hwmod_for_each+0x0/0x78) from [<c0be98f4>] > (omap_hwmod_late_init+0x60/0x8c) > r7:c0ee5b34 r6:c0bdbe08 r5:c0eece48 r4:c0eece48 > [<c0be9894>] (omap_hwmod_late_init+0x0/0x8c) from [<c000dfc4>] > (omap2_init_common_hw+0x80/0xbc) > [<c000df44>] (omap2_init_common_hw+0x0/0xbc) from [<c000ef0c>] > (omap2430bft_init_irq+0x30/0x1c4) > r5:c0f11184 r4:c0f11190 > [<c000eedc>] (omap2430bft_init_irq+0x0/0x1c4) from [<c000b878>] > (init_IRQ+0x38/0x44) > [<c000b840>] (init_IRQ+0x0/0x44) from [<c0008a2c>] (start_kernel+0x13c/0x2ac) > [<c00088f0>] (start_kernel+0x0/0x2ac) from [<80008034>] (0x80008034) > r6:c0bdc20c r5:c0f11440 r4:00c5387d > Code: 0a000005 e5933020 e592205c e593305c (e5920004) > <4>---[ end trace 1b75b31a2719ed1c ]--- > <0>Kernel panic - not syncing: Attempted to kill the idle task! > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
commit a7f20b2695eb6a00a5464089bacf75b8ed64725e Author: Paul Walmsley <paul@xxxxxxxxx> Date: Wed Oct 14 16:40:37 2009 -0600 OMAP2xxx clock: set up clockdomain pointer in struct clk clock24xx.c is missing a omap2_init_clk_clkdm() in its omap2_clk_init() function. Among other bad effects, this causes the OMAP hwmod layer to oops on boot. Thanks to Carlos Aguiar <carlos.aguiar@xxxxxxxxxxx> and Stefano Panella <Stefano.Panella@xxxxxxx> for reporting this bug. Thanks to Tony Lindgren <tony@xxxxxxxxxxx> for N800 booting advice. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Carlos Aguiar <carlos.aguiar@xxxxxxxxxxx> Cc: Stefano Panella <Stefano.Panella@xxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index bc5d3ac..e2dbedd 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -769,6 +769,7 @@ int __init omap2_clk_init(void) if (c->cpu & cpu_mask) { clkdev_add(&c->lk); clk_register(c->lk.clk); + omap2_init_clk_clkdm(c->lk.clk); } /* Check the MPU rate set by bootloader */