This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x NAND Boot Issue

Other Parts Discussed in Thread: AM3354

Customer is moving from QNX to Linux on AM3354 based system. Currently they have a Rev D PCB that will boot either QNX or Linux always and Rev E PCB that will boot QNX always and a few boards that will boot Linux.  In moving to Linux they implemented DMA out of NAND which QNX did not do. Attached is the boot log for a failed device. Any suggestions on things to check or root cause?

Thanks,
Mark

U-Boot SPL 2013.07-rc3-g7a9cf7b (Oct 01 2015 - 14:44:43)
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0


U-Boot 2013.07-rc3 (Jun 22 2016 - 14:15:13)

I2C:   ready
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  512 MiB
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net:   cpsw, usb_ether
Hit any key to stop autoboot:  0

Loading from nand0, offset 0x280000
Fit image detected...
   FIT description: Linux f4t
    Image 0 (kernel@1)
     Description:  Linux 3.14-ts-armv7l
     Type:         Kernel Image
     Compression:  lzo compressed
     Data Start:   0x810000c4
     Data Size:    4673773 Bytes = 4.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80008000
     Entry Point:  0x80008000
     Hash algo:    sha1
     Hash value:   c42b830980d1f8a87b2430aaaee634f8434b833f
    Image 1 (fdt@1)
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x814752a4
     Data Size:    36941 Bytes = 36.1 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   e7a9424a9346b879a9aeb1cc2c0c3a9ae4374087
    Default Configuration: 'conf@1'
    Configuration 0 (conf@1)
     Description:  Boot Linux kernel with FDT blob
     Kernel:       kernel@1
     FDT:          fdt@1
## Loading kernel from FIT Image at 81000000 ...
   Using 'conf@1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@1' kernel subimage
     Description:  Linux 3.14-ts-armv7l
     Type:         Kernel Image
     Compression:  lzo compressed
     Data Start:   0x810000c4
     Data Size:    4673773 Bytes = 4.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80008000
     Entry Point:  0x80008000
     Hash algo:    sha1
     Hash value:   c42b830980d1f8a87b2430aaaee634f8434b833f
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 81000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x814752a4
     Data Size:    36941 Bytes = 36.1 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   e7a9424a9346b879a9aeb1cc2c0c3a9ae4374087
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x814752a4
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 8fb08000, end 8fb1404c ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.14.65-ts-armv7l-rt68 (eric@meseri-mint-desktop) (gcc version 4.8.4 (Timesys 20150406) ) #1 PREEMPT RT Wed Jun 22 13:50:05 CDT 2016
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: TI AM335x EVM
[    0.000000] cma: CMA: reserved 24 MiB at 8e000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64768
[    0.000000] Kernel command line: console=ttyO0,115200 root=ubi0:rootfs ubi.mtd=8 rootfstype=ubifs rootwait
[    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: 226916K/261120K available (4551K kernel code, 263K rwdata, 1888K rodata, 233K init, 201K bss, 34204K 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 - 0xc0651f8c   (6440 kB)
[    0.000000]       .init : 0xc0652000 - 0xc068c4cc   ( 234 kB)
[    0.000000]       .data : 0xc068e000 - 0xc06cfeb8   ( 264 kB)
[    0.000000]        .bss : 0xc06cfec4 - 0xc0702510   ( 202 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] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000017] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
[    0.000036] OMAP clocksource: timer1 at 24000000 Hz
[    0.000319] Console: colour dummy device 80x30
[    0.049078] Calibrating delay loop... 548.86 BogoMIPS (lpj=2744320)
[    0.049086] pid_max: default: 32768 minimum: 301
[    0.049257] Security Framework initialized
[    0.049341] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.049351] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.061989] CPU: Testing write buffer coherency: ok
[    0.062415] Setting up static identity map for 0x80477900 - 0x80477958
[    0.064802] devtmpfs: initialized
[    0.067583] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.083693] omap_hwmod: tptc0 using broken dt data from edma
[    0.083871] omap_hwmod: tptc1 using broken dt data from edma
[    0.084030] omap_hwmod: tptc2 using broken dt data from edma
[    0.089596] omap_hwmod: debugss: _wait_target_disable failed
[    0.148369] pinctrl core: initialized pinctrl subsystem
[    0.150139] regulator-dummy: no parameters
[    0.153528] NET: Registered protocol family 16
[    0.156577] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.160968] cpuidle: using governor ladder
[    0.160999] cpuidle: using governor menu
[    0.170978] syscon 44e10000.control_module: regmap [mem 0x44e10000-0x44e107fb] registered
[    0.173465] platform 49000000.edma: alias fck already exists
[    0.173506] platform 49000000.edma: alias fck already exists
[    0.173531] platform 49000000.edma: alias fck already exists
[    0.175446] OMAP GPIO hardware version 0.1
[    0.195515] omap-gpmc 50000000.gpmc: could not find pctldev for node /pinmux@44e10800/nandflash_pins_default, deferring probe
[    0.195571] platform 50000000.gpmc: Driver omap-gpmc requests probe deferral
[    0.200547] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.240020] bio: create slab <bio-0> at 0
[    0.268814] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[    0.271144] vbat: 5000 mV
[    0.276668] i2c-core: driver [palmas] using legacy suspend method
[    0.276691] i2c-core: driver [palmas] using legacy resume method
[    0.277880] SCSI subsystem initialized
[    0.280261] usbcore: registered new interface driver usbfs
[    0.280621] usbcore: registered new interface driver hub
[    0.281021] usbcore: registered new device driver usb
[    0.282684] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
[    0.282731] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
[    0.283387] pps_core: LinuxPPS API ver. 1 registered
[    0.283406] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.283669] PTP clock support registered
[    0.286227] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.289011] Switched to clocksource timer1
[    0.290052] FS-Cache: Loaded
[    0.324737] NET: Registered protocol family 2
[    0.326176] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.326255] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
[    0.326402] TCP: Hash tables configured (established 2048 bind 2048)
[    0.326500] TCP: reno registered
[    0.326523] UDP hash table entries: 256 (order: 2, 16384 bytes)
[    0.326580] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
[    0.326945] NET: Registered protocol family 1
[    0.327606] RPC: Registered named UNIX socket transport module.
[    0.327628] RPC: Registered udp transport module.
[    0.327640] RPC: Registered tcp transport module.
[    0.327652] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.328132] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[    0.333763] futex hash table entries: 256 (order: 1, 8192 bytes)
[    0.363537] NFS: Registering the id_resolver key type
[    0.363651] Key type id_resolver registered
[    0.363667] Key type id_legacy registered
[    0.365074] fuse init (API version 7.22)
[    0.366672] msgmni has been set to 491
[    0.370742] NET: Registered protocol family 38
[    0.370820] io scheduler noop registered
[    0.370835] io scheduler deadline registered
[    0.371531] io scheduler cfq registered (default)
[    0.374151] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.379339] backlight supply power not found, using dummy regulator
[    0.385299] omap_uart 44e09000.serial: no wakeirq for uart0
[    0.385471] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
[    1.030930] console [ttyO0] enabled
[    1.035807] omap_uart 481a8000.serial: no wakeirq for uart0
[    1.042245] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART4
[    1.053734] omap-uart-localbus 48022000.serial: no wakeirq for uart0
[    1.061172] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
[    1.071867] pinctrl-single 44e10800.pinmux: pin 44e109b4.0 already requested by 44e10800.pinmux; cannot claim for 48024000.serial
[    1.084342] pinctrl-single 44e10800.pinmux: pin-109 (48024000.serial) status -22
[    1.092226] pinctrl-single 44e10800.pinmux: could not request pin 109 (44e109b4.0) from group pinmux_uart2_pins_default  on device pinctrl-single
[    1.106046] omap-uart-localbus 48024000.serial: Error applying setting, reverse things back
[    1.115035] omap-uart-localbus 48024000.serial: no wakeirq for uart0
[    1.122524] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2
[    1.133412] omap-uart-localbus 481a6000.serial: no wakeirq for uart0
[    1.140691] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART3
[    1.152773] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    1.160633] [drm] Initialized drm 1.1.0 20060810
[    1.184346] brd: module loaded
[    1.197497] loop: module loaded
[    1.202035] (hci_tty): inside hci_tty_init
[    1.207165] (hci_tty): allocated 248, 0
[    1.226343] usbcore: registered new interface driver cdc_wdm
[    1.233063] usbcore: registered new interface driver usb-storage
[    1.240162] usbcore: registered new interface driver usbtest
[    1.250021] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[    1.258590] i2c /dev entries driver
[    1.267599] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[    1.276441] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[    1.282730] omap-sham 53100000.sham: initialization failed.
[    1.288738] omap-sham: probe of 53100000.sham failed with error -22
[    1.297274] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
[    1.305756] TCP: cubic registered
[    1.309456] Initializing XFRM netlink socket
[    1.314017] NET: Registered protocol family 17
[    1.318749] NET: Registered protocol family 15
[    1.323707] Key type dns_resolver registered
[    1.329415] cpu cpu0: of_pm_voltdm_notifier_register: Failed to get cpu0 regulator/voltdm: -517
[    1.338576] cpu cpu0: cpu0 clock notifier not ready, retry
[    1.344568] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
[    1.353372] PM: bootloader does not support rtc-only!
[    1.358699] ThumbEE CPU extension supported.
[    1.363392] Registering SWP/SWPB emulation handler
[    1.371428] vbat: disabling
[    1.374386] regulator-dummy: disabling
[    1.379660] Error: Driver 'tfp410' is already registered, aborting...
[    1.387444] panel panel: found enable GPIO
[    1.395173] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.402370] [drm] No driver support for vblank timestamp query.
[    1.463209] Console: switching to colour frame buffer device 60x34
[    1.473791] tilcdc 4830e000.lcdc: fb0:  frame buffer device
[    1.479714] tilcdc 4830e000.lcdc: registered panic notifier
[    1.485593] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[    1.492764] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.498192] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.506526] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
[    1.513436] nand: Micron MT29F4G08ABADAH4
[    1.517666] nand: 512MiB, SLC, page size: 2048, OOB size: 64
[    1.523759] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[    1.529932] 9 ofpart partitions found on MTD device omap2-nand.0
[    1.536295] Creating 9 MTD partitions on "omap2-nand.0":
[    1.541972] 0x000000000000-0x000000020000 : "SPL"
[    1.549915] 0x000000020000-0x000000040000 : "SPL.backup1"
[    1.558150] 0x000000040000-0x000000060000 : "SPL.backup2"
[    1.566583] 0x000000060000-0x000000080000 : "SPL.backup3"
[    1.575084] 0x000000080000-0x000000240000 : "u-boot"
[    1.584514] 0x000000240000-0x000000260000 : "u-boot-spl-os"
[    1.593175] 0x000000260000-0x000000280000 : "u-boot-env"
[    1.601679] 0x000000280000-0x000000e80000 : "kernel"
[    1.620039] 0x000000e80000-0x00001f400000 : "ubifs"
[    2.035312] tps65910 0-002d: No interrupt support, no core IRQ
[    2.046763] vrtc: 1800 mV
[    2.049998] vrtc: supplied by vbat
[    2.055665] vio: at 1500 mV
[    2.058848] vio: supplied by vbat
[    2.064732] vdd_mpu: 912 <--> 1375 mV at 1100 mV
[    2.069899] vdd_mpu: supplied by vbat
[    2.075963] vdd_core: 912 <--> 1150 mV at 1100 mV
[    2.081336] vdd_core: supplied by vbat
[    2.087122] vdd3: 5000 mV
[    2.091757] vdig1: at 1800 mV
[    2.095104] vdig1: supplied by vbat
[    2.100690] vdig2: at 1800 mV
[    2.104045] vdig2: supplied by vbat
[    2.109588] vpll: at 1800 mV
[    2.112840] vpll: supplied by vbat
[    2.118142] vdac: at 1800 mV
[    2.121435] vdac: supplied by vbat
[    2.126733] vaux1: at 1800 mV
[    2.130160] vaux1: supplied by vbat
[    2.135572] vaux2: at 3300 mV
[    2.138909] vaux2: supplied by vbat
[    2.144445] vaux33: at 3300 mV
[    2.147885] vaux33: supplied by vbat
[    2.153290] vmmc: at 3300 mV
[    2.156532] vmmc: supplied by vbat
[    2.168424] atmel_mxt_ts 0-004a: Family: 130 Variant: 35 Firmware V2.0.AA Objects: 23
[    2.180744] input: Atmel maXTouch Touchscreen as /devices/ocp/44e0b000.i2c/i2c-0/0-004a/input/input0
[    2.192230] rtc-pcf2127 0-0051: chip found, driver version 0.0.1
[    2.200687] rtc-pcf2127 0-0051: rtc core: registered rtc-pcf2127 as rtc1
[    2.208558] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    2.215807]  remoteproc0: wkup_m3 is available
[    2.220644]  remoteproc0: Note: remoteproc is still under development and considered experimental.
[    2.230104]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.242343]  remoteproc0: powering up wkup_m3
[    2.246955]  remoteproc0: Booting fw image am335x-pm-firmware.elf, size 219827
[    2.255346] PM: CM3 Firmware Version = 0x190
[    2.260208]  remoteproc0: remote processor wkup_m3 is now up
[    2.290084] UBI: attaching mtd8 to ubi0

  • Hi Mark,

    It seems that they are trying to use a real-time Linux v3.14:

    "Linux version 3.14.65-ts-armv7l-rt68"

    Please note that real-time Linux is not supported before the official Processor SDK release from TI. It can be downloaded from here: software-dl.ti.com/.../index_FDS.html Note that at the bottom of the download page you can find a link to the previous version released by TI. First version with real-time support released by TI is PROCESSOR-SDK-LINUX-RT-AM335X  02_00_02_11, based on kernel v4.1.18.