Hi,
Has anyone succeeded in getting Linux 3.x kernel to boot on DM814x? We have tried a 3.10 kernel with Aida Mynzhasova's patches (http://www.kernelhub.org/?msg=271207&p=2) and can now get past the power init stage, but now we see a clock init crash (see below).
U-Boot# setenv bootargs 'console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk noinitrd loglevel=8'
U-Boot# fatload mmc 0 0x80009000 uImage
reading uImage
2346472 bytes read in 293 ms (7.6 MiB/s)
U-Boot# bootm 0x80009000
## Booting kernel from Legacy Image at 80009000 ...
Image Name: Linux-3.10.25-aufs-rt23-tl4+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2346408 Bytes = 2.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.10.25-aufs-rt23-tl4+ (root@TMDX8148-LINUXVM) (gcc version 4.7.3 (Gentoo 4.7.3-r1 p1.4, pie-0.5.5) ) #5 PREEMPT RT Thu Oct 23 09s
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: dm814x_evm
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] free_area_init_node: node 0, pgdat c046a230, node_mem_map c04b1000
[ 0.000000] Normal zone: 512 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] DM814X ES2.1 (neon )
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk noinitrd loglevel=8
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 255040k/255040k available, 7104k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc03fe854 (4059 kB)
[ 0.000000] .init : 0xc03ff000 - 0xc0429134 ( 169 kB)
[ 0.000000] .data : 0xc042a000 - 0xc046ada0 ( 260 kB)
[ 0.000000] .bss : 0xc046ada0 - 0xc04b0924 ( 279 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] GFGFGF : sdrc_ick
[ 0.000000] GFGFGF : init_clk = -2
[ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000002a
[ 0.000000] pgd = c0004000
[ 0.000000] [0000002a] *pgd=00000000
[ 0.000000] Internal error: Oops: 5 [#1] PREEMPT ARM
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.10.25-aufs-rt23-tl4+ #5
[ 0.000000] task: c0434548 ti: c042a000 task.ti: c042a000
[ 0.000000] PC is at __clk_prepare+0xc/0x7c
[ 0.000000] LR is at clk_prepare+0x14/0x24
[ 0.000000] pc : [<c024cfbc>] lr : [<c024d304>] psr: a0000193
[ 0.000000] sp : c042bf68 ip : 00000001 fp : 00000000
[ 0.000000] r10: 00000000 r9 : 413fc082 r8 : c06b2f40
[ 0.000000] r7 : c043c724 r6 : 00000001 r5 : fffffffe r4 : fffffffe
[ 0.000000] r3 : c0434548 r2 : 00000001 r1 : c0465204 r0 : fffffffe
[ 0.000000] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.000000] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 0.000000] Process swapper (pid: 0, stack limit = 0xc042a230)
[ 0.000000] Stack: (0xc042bf68 to 0xc042c000)
[ 0.000000] bf60: c0434548 fffffffe fffffffe c024d304 00000003 c0027fbc
[ 0.000000] bf80: c046bb58 00000001 c046adc0 c0421260 ffffffff c040b574 00000000 00000000
[ 0.000000] bfa0: 00000000 00000001 c046adc0 c0421260 ffffffff c040792c c0407914 c0402184
[ 0.000000] bfc0: 00000000 c03ff8bc ffffffff ffffffff c03ff4f0 00000000 00000000 c0421260
[ 0.000000] bfe0: 10c53c7d c0432028 c042125c c043540c 80004059 80008070 00000000 00000000
[ 0.000000] [<c024cfbc>] (__clk_prepare+0xc/0x7c) from [<c024d304>] (clk_prepare+0x14/0x24)
[ 0.000000] [<c024d304>] (clk_prepare+0x14/0x24) from [<c0027fbc>] (omap2_clk_enable_init_clocks+0x48/0x80)
[ 0.000000] [<c0027fbc>] (omap2_clk_enable_init_clocks+0x48/0x80) from [<c040b574>] (omap3xxx_clk_init+0x214/0x39c)
[ 0.000000] [<c040b574>] (omap3xxx_clk_init+0x214/0x39c) from [<c040792c>] (omap3_sync32k_timer_init+0x18/0x64)
[ 0.000000] [<c040792c>] (omap3_sync32k_timer_init+0x18/0x64) from [<c0402184>] (time_init+0x1c/0x28)
[ 0.000000] [<c0402184>] (time_init+0x1c/0x28) from [<c03ff8bc>] (start_kernel+0x1a4/0x2f0)
[ 0.000000] [<c03ff8bc>] (start_kernel+0x1a4/0x2f0) from [<80008070>] (0x80008070)
[ 0.000000] Code: eafffd4c e92d4038 e2504000 0a000015 (e594302c)
[ 0.000000] ---[ end trace 0000000000000001 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
It would seem that the clock initialization stuff (i.e. clock814x_data) is yet to be updated for CONFIG_COMMON_CLK framework. Can anyone give any advice on the minimal porting effort required to get the kernel to boot?
Any help or pointers would be appreciated.
Thanks,
Grant