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.

Linux/AM5726: Linux having trouble initializing SD Card/ Waiting for root device

Part Number: AM5726
Other Parts Discussed in Thread: AM5728, DRA752, TPD12S015, PMP, TPIC2810

Tool/software: Linux

Hi,

We are trying to boot a custom board using the AM5726.  We started with the IDK Dev board configuration.

Linux starts to boot, but appears not to initialize the SD card correctly and therefore does not boot the root device.

Here is the boot output (I have also attached a txt output file as well).  Do you have any recommendations to debug this?  Thanks.

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.40-g4796173fc5 (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #5 SMP PREEMPT Thu Mar 21 22:17:53 UTC 2019
[ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[ 0.000000] OF: fdt: Machine model: TI AM5728 IDK
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
[ 0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
[ 0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
[ 0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
[ 0.000000] cma: Reserved 24 MiB at 0x00000000fe400000
[ 0.000000] OMAP4: Map 0x00000000ffd00000 to fe600000 for dram barrier
[ 0.000000] DRA752 ES2.0
[ 0.000000] percpu: Embedded 15 pages/cpu @eed34000 s31372 r8192 d21876 u61440
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 472640
[ 0.000000] Kernel command line: console=ttyO2,115200n8 root=PARTUUID=8df90da6-02 rw rootfstype=ext4 rootwait
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1673568K/1897472K available (10240K kernel code, 356K rwdata, 2776K rodata, 2048K init, 313K bss, 35488K reserved, 188416K cma-reserved, 1283072K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0c00000 (12256 kB)
[ 0.000000] .init : 0xc1000000 - 0xc1200000 (2048 kB)
[ 0.000000] .data : 0xc1200000 - 0xc1259258 ( 357 kB)
[ 0.000000] .bss : 0xc125b000 - 0xc12a947c ( 314 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] OMAP clockevent source: timer1 at 32786 Hz
[ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
[ 0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
[ 0.000016] Switching to timer-based delay loop, resolution 162ns
[ 0.000348] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[ 0.000357] OMAP clocksource: 32k_counter at 32768 Hz
[ 0.000824] Console: colour dummy device 80x30
[ 0.000840] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
[ 0.000847] This ensures that you still see kernel messages. Please
[ 0.000854] update your kernel commandline.
[ 0.000875] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
[ 0.000891] pid_max: default: 32768 minimum: 301
[ 0.001013] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001026] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001562] CPU: Testing write buffer coherency: ok
[ 0.001775] /cpus/cpu@0 missing clock-frequency property
[ 0.001793] /cpus/cpu@1 missing clock-frequency property
[ 0.001805] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.039869] Setting up static identity map for 0x80200000 - 0x80200060
[ 0.059877] Hierarchical SRCU implementation.
[ 0.080063] EFI services will not be available.
[ 0.099939] smp: Bringing up secondary CPUs ...
[ 0.170246] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.170339] smp: Brought up 1 node, 2 CPUs
[ 0.170353] SMP: Total of 2 processors activated (24.59 BogoMIPS).
[ 0.170360] CPU: All CPU(s) started in HYP mode.
[ 0.170367] CPU: Virtualization extensions available.
[ 0.170876] devtmpfs: initialized
[ 0.188453] random: get_random_u32 called from bucket_table_alloc+0x108/0x230 with crng_init=0
[ 0.188708] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[ 0.188897] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.188913] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.192754] xor: measuring software checksum speed
[ 0.290177] arm4regs : 2011.600 MB/sec
[ 0.390246] 8regs : 1622.400 MB/sec
[ 0.490326] 32regs : 1538.000 MB/sec
[ 0.590405] neon : 2975.200 MB/sec
[ 0.590413] xor: using function: neon (2975.200 MB/sec)
[ 0.590426] pinctrl core: initialized pinctrl subsystem
[ 0.590873] DMI not present or invalid.
[ 0.591130] NET: Registered protocol family 16
[ 0.592163] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.593079] omap_hwmod: l3_main_2 using broken dt data from ocp
[ 0.729565] omap_hwmod: gpu: _wait_target_ready failed: -16
[ 0.729578] omap_hwmod: gpu: cannot be enabled for reset (3)
[ 0.784600] cpuidle: using governor ladder
[ 0.784632] cpuidle: using governor menu
[ 0.792155] OMAP GPIO hardware version 0.1
[ 0.819426] No ATAGs?
[ 0.819498] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.819512] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.819879] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[ 0.819889] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[ 0.820402] OMAP DMA hardware revision 0.0
[ 0.991078] raid6: int32x1 gen() 224 MB/s
[ 1.161018] raid6: int32x1 xor() 260 MB/s
[ 1.331136] raid6: int32x2 gen() 334 MB/s
[ 1.501222] raid6: int32x2 xor() 331 MB/s
[ 1.671355] raid6: int32x4 gen() 425 MB/s
[ 1.841417] raid6: int32x4 xor() 348 MB/s
[ 2.011492] raid6: int32x8 gen() 465 MB/s
[ 2.181587] raid6: int32x8 xor() 323 MB/s
[ 2.351720] raid6: neonx1 gen() 932 MB/s
[ 2.521772] raid6: neonx1 xor() 1010 MB/s
[ 2.691912] raid6: neonx2 gen() 1312 MB/s
[ 2.861979] raid6: neonx2 xor() 1703 MB/s
[ 3.032085] raid6: neonx4 gen() 1923 MB/s
[ 3.202190] raid6: neonx4 xor() 1794 MB/s
[ 3.372282] raid6: neonx8 gen() 1715 MB/s
[ 3.542402] raid6: neonx8 xor() 1492 MB/s
[ 3.542410] raid6: using algorithm neonx4 gen() 1923 MB/s
[ 3.542417] raid6: .... xor() 1794 MB/s, rmw enabled
[ 3.542425] raid6: using neon recovery algorithm
[ 3.549541] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
[ 3.550802] edma 43300000.edma: memcpy is disabled
[ 3.553950] edma 43300000.edma: TI EDMA DMA engine driver
[ 3.557032] omap-iommu 40d01000.mmu: 40d01000.mmu registered
[ 3.557234] omap-iommu 40d02000.mmu: 40d02000.mmu registered
[ 3.557470] omap-iommu 58882000.mmu: 58882000.mmu registered
[ 3.557713] omap-iommu 55082000.mmu: 55082000.mmu registered
[ 3.558059] omap-iommu 41501000.mmu: 41501000.mmu registered
[ 3.558274] omap-iommu 41502000.mmu: 41502000.mmu registered
[ 3.558497] iommu: Adding device 58820000.ipu to group 1
[ 3.558570] iommu: Adding device 55020000.ipu to group 2
[ 3.558705] iommu: Adding device 40800000.dsp to group 0
[ 3.558943] iommu: Adding device 41000000.dsp to group 3
[ 3.561128] palmas 0-0058: Irq flag is 0x00000004
[ 3.592039] palmas 0-0058: POLARITY_CTRL update failed: -121
[ 3.592492] palmas: probe of 0-0058 failed with error -121
[ 3.592702] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
[ 3.592862] media: Linux media interface: v0.10
[ 3.592896] Linux video capture interface: v2.00
[ 3.592980] pps_core: LinuxPPS API ver. 1 registered
[ 3.592989] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 3.593007] PTP clock support registered
[ 3.593034] EDAC MC: Ver: 3.0.0
[ 3.593278] dmi: Firmware registration failed.
[ 3.593640] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
[ 3.593916] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
[ 3.594206] Advanced Linux Sound Architecture Driver Initialized.
[ 3.594904] clocksource: Switched to clocksource arch_sys_counter
[ 3.602503] NET: Registered protocol family 2
[ 3.603027] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 3.603091] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 3.603217] TCP: Hash tables configured (established 8192 bind 8192)
[ 3.603284] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 3.603316] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 3.603439] NET: Registered protocol family 1
[ 3.613740] RPC: Registered named UNIX socket transport module.
[ 3.613749] RPC: Registered udp transport module.
[ 3.613757] RPC: Registered tcp transport module.
[ 3.613764] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 3.614617] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[ 3.614797] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[ 3.615796] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[ 3.619818] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 3.630318] NFS: Registering the id_resolver key type
[ 3.630346] Key type id_resolver registered
[ 3.630354] Key type id_legacy registered
[ 3.630392] ntfs: driver 2.1.32 [Flags: R/O].
[ 3.631823] bounce: pool size: 64 pages
[ 3.631865] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 3.631963] io scheduler noop registered
[ 3.631974] io scheduler deadline registered
[ 3.632125] io scheduler cfq registered (default)
[ 3.632135] io scheduler mq-deadline registered
[ 3.632144] io scheduler kyber registered
[ 3.636724] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
[ 3.684106] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 3.686663] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
[ 4.691187] console [ttyS2] enabled
[ 4.696473] omap_rng 48090000.rng: Random Number Generator ver. 20
[ 4.704003] omapdss_dss 58000000.dss: master bind failed: -517
[ 4.710570] tpd12s015 encoder@0: failed to find video source
[ 4.716886] connector-hdmi connector@0: failed to find video source
[ 4.730918] brd: module loaded
[ 4.739496] loop: module loaded
[ 4.746219] m25p80 spi0.0: unrecognized JEDEC id bytes: 00, 00, 00
[ 4.753288] libphy: Fixed MDIO Bus: probed
[ 4.814935] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 4.822629] davinci_mdio 48485000.mdio: detected phy mask ffffffc1
[ 4.849737] libphy: 48485000.mdio: probed
[ 4.853770] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown
[ 4.861834] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
[ 4.869895] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
[ 4.877961] davinci_mdio 48485000.mdio: phy[4]: device 48485000.mdio:04, driver unknown
[ 4.886022] davinci_mdio 48485000.mdio: phy[5]: device 48485000.mdio:05, driver unknown
[ 4.894724] cpsw 48484000.ethernet: Detected MACID = 44:ea:d8:19:1d:9e
[ 4.901364] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[ 4.907767] cpsw 48484000.ethernet: ALE Table size 1024
[ 4.913027] cpsw 48484000.ethernet: device node lookup for pps timer failed
[ 4.920076] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[ 4.927935] cpsw 48484000.ethernet: cpsw: Detected MACID = 44:ea:d8:19:1d:9f
[ 4.936096] i2c /dev entries driver
[ 4.940221] IR NEC protocol handler initialized
[ 4.944774] IR RC5(x/sz) protocol handler initialized
[ 4.949871] IR RC6 protocol handler initialized
[ 4.954423] IR JVC protocol handler initialized
[ 4.959146] IR Sony protocol handler initialized
[ 4.963784] IR SANYO protocol handler initialized
[ 4.968523] IR Sharp protocol handler initialized
[ 4.973248] IR MCE Keyboard/mouse protocol handler initialized
[ 4.979125] IR XMP protocol handler initialized
[ 4.987492] sdhci: Secure Digital Host Controller Interface driver
[ 4.993703] sdhci: Copyright(c) Pierre Ossman
[ 4.998561] sdhci-pltfm: SDHCI platform and OF driver helper
[ 5.026281] sdhci-omap 4809c000.mmc: Got CD GPIO
[ 5.052199] sdhci-omap 4809c000.mmc: failed to set system capabilities
[ 5.101460] sdhci-omap 480b4000.mmc: failed to set system capabilities
[ 5.109390] ledtrig-cpu: registered to indicate activity on CPUs
[ 5.119111] NET: Registered protocol family 10
[ 5.124517] Segment Routing with IPv6
[ 5.128273] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 5.134645] NET: Registered protocol family 17
[ 5.139287] Key type dns_resolver registered
[ 5.143698] omap_voltage_late_init: Voltage driver support not added
[ 5.150104] Power Management for TI OMAP4+ devices.
[ 5.155263] Registering SWP/SWPB emulation handler
[ 5.161590] Btrfs loaded, crc32c=crc32c-generic
[ 5.177472] dmm 4e000000.dmm: workaround for errata i878 in use
[ 5.184979] dmm 4e000000.dmm: initialized all PAT entries
[ 5.191736] omapdss_dss 58000000.dss: master bind failed: -517
[ 5.197922] tpd12s015 encoder@0: failed to find video source
[ 5.203905] connector-hdmi connector@0: failed to find video source
[ 5.232144] sdhci-omap 4809c000.mmc: Got CD GPIO
[ 5.258076] sdhci-omap 4809c000.mmc: failed to set system capabilities
[ 5.317709] sdhci-omap 480b4000.mmc: failed to set system capabilities
[ 5.324737] hctosys: unable to open rtc device (rtc0)
[ 5.330480] pbias_mmc_omap5: disabling
[ 5.334254] ALSA device list:
[ 5.337254] No soundcards found.
[ 5.341393] Waiting for root device PARTUUID=8df90da6-02...

alpha3_startup_output_i2c2.txt
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.40-g4796173fc5 (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #5 SMP PREEMPT Thu Mar 21 22:17:53 UTC 2019
[    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: TI AM5728 IDK
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
[    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
[    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
[    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 24 MiB at 0x00000000fe400000
[    0.000000] OMAP4: Map 0x00000000ffd00000 to fe600000 for dram barrier
[    0.000000] DRA752 ES2.0
[    0.000000] percpu: Embedded 15 pages/cpu @eed34000 s31372 r8192 d21876 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 472640
[    0.000000] Kernel command line: console=ttyO2,115200n8 root=PARTUUID=8df90da6-02 rw rootfstype=ext4 rootwait
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1673568K/1897472K available (10240K kernel code, 356K rwdata, 2776K rodata, 2048K init, 313K bss, 35488K reserved, 188416K cma-reserved, 1283072K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0c00000   (12256 kB)
[    0.000000]       .init : 0xc1000000 - 0xc1200000   (2048 kB)
[    0.000000]       .data : 0xc1200000 - 0xc1259258   ( 357 kB)
[    0.000000]        .bss : 0xc125b000 - 0xc12a947c   ( 314 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Tasks RCU enabled.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] OMAP clockevent source: timer1 at 32786 Hz
[    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
[    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
[    0.000016] Switching to timer-based delay loop, resolution 162ns
[    0.000348] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000357] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000824] Console: colour dummy device 80x30
[    0.000840] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
[    0.000847] This ensures that you still see kernel messages. Please
[    0.000854] update your kernel commandline.
[    0.000875] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
[    0.000891] pid_max: default: 32768 minimum: 301
[    0.001013] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001026] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001562] CPU: Testing write buffer coherency: ok
[    0.001775] /cpus/cpu@0 missing clock-frequency property
[    0.001793] /cpus/cpu@1 missing clock-frequency property
[    0.001805] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.039869] Setting up static identity map for 0x80200000 - 0x80200060
[    0.059877] Hierarchical SRCU implementation.
[    0.080063] EFI services will not be available.
[    0.099939] smp: Bringing up secondary CPUs ...
[    0.170246] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.170339] smp: Brought up 1 node, 2 CPUs
[    0.170353] SMP: Total of 2 processors activated (24.59 BogoMIPS).
[    0.170360] CPU: All CPU(s) started in HYP mode.
[    0.170367] CPU: Virtualization extensions available.
[    0.170876] devtmpfs: initialized
[    0.188453] random: get_random_u32 called from bucket_table_alloc+0x108/0x230 with crng_init=0
[    0.188708] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.188897] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.188913] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.192754] xor: measuring software checksum speed
[    0.290177]    arm4regs  :  2011.600 MB/sec
[    0.390246]    8regs     :  1622.400 MB/sec
[    0.490326]    32regs    :  1538.000 MB/sec
[    0.590405]    neon      :  2975.200 MB/sec
[    0.590413] xor: using function: neon (2975.200 MB/sec)
[    0.590426] pinctrl core: initialized pinctrl subsystem
[    0.590873] DMI not present or invalid.
[    0.591130] NET: Registered protocol family 16
[    0.592163] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.593079] omap_hwmod: l3_main_2 using broken dt data from ocp
[    0.729565] omap_hwmod: gpu: _wait_target_ready failed: -16
[    0.729578] omap_hwmod: gpu: cannot be enabled for reset (3)
[    0.784600] cpuidle: using governor ladder
[    0.784632] cpuidle: using governor menu
[    0.792155] OMAP GPIO hardware version 0.1
[    0.819426] No ATAGs?
[    0.819498] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.819512] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.819879] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[    0.819889] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[    0.820402] OMAP DMA hardware revision 0.0
[    0.991078] raid6: int32x1  gen()   224 MB/s
[    1.161018] raid6: int32x1  xor()   260 MB/s
[    1.331136] raid6: int32x2  gen()   334 MB/s
[    1.501222] raid6: int32x2  xor()   331 MB/s
[    1.671355] raid6: int32x4  gen()   425 MB/s
[    1.841417] raid6: int32x4  xor()   348 MB/s
[    2.011492] raid6: int32x8  gen()   465 MB/s
[    2.181587] raid6: int32x8  xor()   323 MB/s
[    2.351720] raid6: neonx1   gen()   932 MB/s
[    2.521772] raid6: neonx1   xor()  1010 MB/s
[    2.691912] raid6: neonx2   gen()  1312 MB/s
[    2.861979] raid6: neonx2   xor()  1703 MB/s
[    3.032085] raid6: neonx4   gen()  1923 MB/s
[    3.202190] raid6: neonx4   xor()  1794 MB/s
[    3.372282] raid6: neonx8   gen()  1715 MB/s
[    3.542402] raid6: neonx8   xor()  1492 MB/s
[    3.542410] raid6: using algorithm neonx4 gen() 1923 MB/s
[    3.542417] raid6: .... xor() 1794 MB/s, rmw enabled
[    3.542425] raid6: using neon recovery algorithm
[    3.549541] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
[    3.550802] edma 43300000.edma: memcpy is disabled
[    3.553950] edma 43300000.edma: TI EDMA DMA engine driver
[    3.557032] omap-iommu 40d01000.mmu: 40d01000.mmu registered
[    3.557234] omap-iommu 40d02000.mmu: 40d02000.mmu registered
[    3.557470] omap-iommu 58882000.mmu: 58882000.mmu registered
[    3.557713] omap-iommu 55082000.mmu: 55082000.mmu registered
[    3.558059] omap-iommu 41501000.mmu: 41501000.mmu registered
[    3.558274] omap-iommu 41502000.mmu: 41502000.mmu registered
[    3.558497] iommu: Adding device 58820000.ipu to group 1
[    3.558570] iommu: Adding device 55020000.ipu to group 2
[    3.558705] iommu: Adding device 40800000.dsp to group 0
[    3.558943] iommu: Adding device 41000000.dsp to group 3
[    3.561128] palmas 0-0058: Irq flag is 0x00000004
[    3.592039] palmas 0-0058: POLARITY_CTRL update failed: -121
[    3.592492] palmas: probe of 0-0058 failed with error -121
[    3.592702] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
[    3.592862] media: Linux media interface: v0.10
[    3.592896] Linux video capture interface: v2.00
[    3.592980] pps_core: LinuxPPS API ver. 1 registered
[    3.592989] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    3.593007] PTP clock support registered
[    3.593034] EDAC MC: Ver: 3.0.0
[    3.593278] dmi: Firmware registration failed.
[    3.593640] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
[    3.593916] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
[    3.594206] Advanced Linux Sound Architecture Driver Initialized.
[    3.594904] clocksource: Switched to clocksource arch_sys_counter
[    3.602503] NET: Registered protocol family 2
[    3.603027] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    3.603091] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    3.603217] TCP: Hash tables configured (established 8192 bind 8192)
[    3.603284] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    3.603316] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    3.603439] NET: Registered protocol family 1
[    3.613740] RPC: Registered named UNIX socket transport module.
[    3.613749] RPC: Registered udp transport module.
[    3.613757] RPC: Registered tcp transport module.
[    3.613764] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    3.614617] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    3.614797] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[    3.615796] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[    3.619818] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.630318] NFS: Registering the id_resolver key type
[    3.630346] Key type id_resolver registered
[    3.630354] Key type id_legacy registered
[    3.630392] ntfs: driver 2.1.32 [Flags: R/O].
[    3.631823] bounce: pool size: 64 pages
[    3.631865] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    3.631963] io scheduler noop registered
[    3.631974] io scheduler deadline registered
[    3.632125] io scheduler cfq registered (default)
[    3.632135] io scheduler mq-deadline registered
[    3.632144] io scheduler kyber registered
[    3.636724] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
[    3.684106] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    3.686663] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
[    4.691187] console [ttyS2] enabled
[    4.696473] omap_rng 48090000.rng: Random Number Generator ver. 20
[    4.704003] omapdss_dss 58000000.dss: master bind failed: -517
[    4.710570] tpd12s015 encoder@0: failed to find video source
[    4.716886] connector-hdmi connector@0: failed to find video source
[    4.730918] brd: module loaded
[    4.739496] loop: module loaded
[    4.746219] m25p80 spi0.0: unrecognized JEDEC id bytes: 00, 00, 00
[    4.753288] libphy: Fixed MDIO Bus: probed
[    4.814935] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    4.822629] davinci_mdio 48485000.mdio: detected phy mask ffffffc1
[    4.849737] libphy: 48485000.mdio: probed
[    4.853770] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown
[    4.861834] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
[    4.869895] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
[    4.877961] davinci_mdio 48485000.mdio: phy[4]: device 48485000.mdio:04, driver unknown
[    4.886022] davinci_mdio 48485000.mdio: phy[5]: device 48485000.mdio:05, driver unknown
[    4.894724] cpsw 48484000.ethernet: Detected MACID = 44:ea:d8:19:1d:9e
[    4.901364] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    4.907767] cpsw 48484000.ethernet: ALE Table size 1024
[    4.913027] cpsw 48484000.ethernet: device node lookup for pps timer failed
[    4.920076] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[    4.927935] cpsw 48484000.ethernet: cpsw: Detected MACID = 44:ea:d8:19:1d:9f
[    4.936096] i2c /dev entries driver
[    4.940221] IR NEC protocol handler initialized
[    4.944774] IR RC5(x/sz) protocol handler initialized
[    4.949871] IR RC6 protocol handler initialized
[    4.954423] IR JVC protocol handler initialized
[    4.959146] IR Sony protocol handler initialized
[    4.963784] IR SANYO protocol handler initialized
[    4.968523] IR Sharp protocol handler initialized
[    4.973248] IR MCE Keyboard/mouse protocol handler initialized
[    4.979125] IR XMP protocol handler initialized
[    4.987492] sdhci: Secure Digital Host Controller Interface driver
[    4.993703] sdhci: Copyright(c) Pierre Ossman
[    4.998561] sdhci-pltfm: SDHCI platform and OF driver helper
[    5.026281] sdhci-omap 4809c000.mmc: Got CD GPIO
[    5.052199] sdhci-omap 4809c000.mmc: failed to set system capabilities
[    5.101460] sdhci-omap 480b4000.mmc: failed to set system capabilities
[    5.109390] ledtrig-cpu: registered to indicate activity on CPUs
[    5.119111] NET: Registered protocol family 10
[    5.124517] Segment Routing with IPv6
[    5.128273] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    5.134645] NET: Registered protocol family 17
[    5.139287] Key type dns_resolver registered
[    5.143698] omap_voltage_late_init: Voltage driver support not added
[    5.150104] Power Management for TI OMAP4+ devices.
[    5.155263] Registering SWP/SWPB emulation handler
[    5.161590] Btrfs loaded, crc32c=crc32c-generic
[    5.177472] dmm 4e000000.dmm: workaround for errata i878 in use
[    5.184979] dmm 4e000000.dmm: initialized all PAT entries
[    5.191736] omapdss_dss 58000000.dss: master bind failed: -517
[    5.197922] tpd12s015 encoder@0: failed to find video source
[    5.203905] connector-hdmi connector@0: failed to find video source
[    5.232144] sdhci-omap 4809c000.mmc: Got CD GPIO
[    5.258076] sdhci-omap 4809c000.mmc: failed to set system capabilities
[    5.317709] sdhci-omap 480b4000.mmc: failed to set system capabilities
[    5.324737] hctosys: unable to open rtc device (rtc0)
[    5.330480] pbias_mmc_omap5: disabling
[    5.334254] ALSA device list:
[    5.337254]   No soundcards found.
[    5.341393] Waiting for root device PARTUUID=8df90da6-02...

  • Hello Christine,

    Please, see this post, add broken-cd; label to the mmc node and check whether the rootfs will load. If this doesn't help, see this and this post and check the vmmc regulator supply settings in your board's device tree.

    Best regards,
    Kemal

  • Hi Kemal,

    Thanks for you suggestions.  I think we have an idea why the SD card is not getting initialized correctly.

    We have a problem on our board where the the vqmmc interface for 1.8 is no connected to the SD Card.

    The Linux kernel is attempting to change the operating voltage on the SD card from 3.3V to 1.8V. Due to the required rework, we force the SD card interface to operate at 3,3V only, without the ability to change.  WE think the code is currently trying to change LDO1 from 3.3V to 1.8V and switching the SD card appropriately to communicate at 1.8V. Apparently the mismatch (SD card looking for 1.8V interface, while we are presenting 3.3V) is causing the SD card communication to timeout.

    Can you confirm the code is changing the voltage to 1.8V.  Is this simply a device tree change or do we need to modify source?

    In the dra7.dtsi, we tried removing "mmc-ddr-1_8v;"

    mmc1: mmc@4809c000 {
    compatible = "ti,dra7-sdhci";
    reg = <0x4809c000 0x400>;
    interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
    ti,hwmods = "mmc1";
    status = "disabled";
    pbias-supply = <&pbias_mmc_reg>;
    max-frequency = <192000000>;
    mmc-ddr-1_8v;
    };

    In the am57xx-idk-common.dtsi:

    we tried removing "vqmmc-supply = <&ldo1_reg>;"

    &mmc1 {
    status = "okay";
    vmmc-supply = <&v3_3d>;
    vqmmc-supply = <&ldo1_reg>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    };

    Any more information or suggestions in this area is appreciated.

    Thanks,

    Christine

  • Hello Christine,

    Why are you removing "vqmmc-supply = <&ldo1_reg>;" instead of changing it to "vqmmc-supply = <&v3_3d>;" and adding "no-1-8-v;" property to &mmc1 node?

    Best regards,
    Kemal
  • Hi Kemal,

    Thank you for your suggested changes.  I will try it when I'm back in the office on Monday.

    In general, where are the device tree options documented?  For example, how to find that "no-1-8-v;"  is a property for  &mmc1 node?

    Thanks,

    Christine

  • This is documented in <Processor SDK>/board-support/linux-<version>/Documentation/devicetree/bindings/mmc/mmc.txt file.

    - no-1-8-v: when present, denotes that 1.8v card voltage is not supported on
      this system, even if the controller claims it is.

  • Hi,

    Thank you.  Unfortunately, adding no-1-8-v didn't seem to make a difference.

    On our board i2c2 is mapped to the PMIC chip instead of i2c1.  When we map i2c2 in we are getting a stack dump during access and then it hangs after the "Got CD GPIO".

    It seems like they are both related to PMIC comms.  What could be causing this.  when changing the interface from i2c2 from i2c1, is there anything else that has to change?

    Here is the output:


    U-Boot 2018.01-g131dc82830 (Mar 20 2019 - 23:03:27 +0000)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: AM572x IDK REV
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - bad CRC, using default environment

    Warning: fastboot.board_rev: unknown board revision
    GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
    part_get_info_efi: *** ERROR: Invalid GPT ***
    GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
    part_get_info_efi: *** ERROR: Invalid Backup GPT ***
    SCSI: SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
    scanning bus for devices...
    Found 0 device(s).
    Net: Could not get PHY for ethernet@48484000: addr 0

    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot: 0
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    reading uEnv.txt
    574 bytes read in 4 ms (139.6 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4555264 bytes read in 234 ms (18.6 MiB/s)
    101208 bytes read in 53 ms (1.8 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ffe4000, end 8ffffb57 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.14.40-g4796173fc5 (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #17 SMP PREEMPT Fri Mar 22 21:42:49 UTC 2019
    [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [ 0.000000] CPU: div instructions available: patching division code
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM5728 IDK
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [ 0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [ 0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [ 0.000000] cma: Reserved 24 MiB at 0x00000000fe400000
    [ 0.000000] OMAP4: Map 0x00000000ffd00000 to fe600000 for dram barrier
    [ 0.000000] DRA752 ES2.0
    [ 0.000000] percpu: Embedded 15 pages/cpu @eed34000 s31372 r8192 d21876 u61440
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 472640
    [ 0.000000] Kernel command line: console=ttyO2,115200n8 root=PARTUUID=e681b4b1-02 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 1673572K/1897472K available (10240K kernel code, 356K rwdata, 2776K rodata, 2048K init, 313K bss, 35484K reserved, 188416K cma-reserved, 1283072K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0c00000 (12256 kB)
    [ 0.000000] .init : 0xc1000000 - 0xc1200000 (2048 kB)
    [ 0.000000] .data : 0xc1200000 - 0xc1259258 ( 357 kB)
    [ 0.000000] .bss : 0xc125b000 - 0xc12a947c ( 314 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] GIC: Using split EOI/Deactivate mode
    [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [ 0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [ 0.000017] Switching to timer-based delay loop, resolution 162ns
    [ 0.000340] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [ 0.000349] OMAP clocksource: 32k_counter at 32768 Hz
    [ 0.000802] Console: colour dummy device 80x30
    [ 0.000819] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
    [ 0.000827] This ensures that you still see kernel messages. Please
    [ 0.000834] update your kernel commandline.
    [ 0.000856] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [ 0.000871] pid_max: default: 32768 minimum: 301
    [ 0.000993] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.001007] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.001550] CPU: Testing write buffer coherency: ok
    [ 0.001761] /cpus/cpu@0 missing clock-frequency property
    [ 0.001780] /cpus/cpu@1 missing clock-frequency property
    [ 0.001792] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [ 0.039869] Setting up static identity map for 0x80200000 - 0x80200060
    [ 0.059876] Hierarchical SRCU implementation.
    [ 0.080066] EFI services will not be available.
    [ 0.099936] smp: Bringing up secondary CPUs ...
    [ 0.170243] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [ 0.170336] smp: Brought up 1 node, 2 CPUs
    [ 0.170350] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [ 0.170358] CPU: All CPU(s) started in HYP mode.
    [ 0.170365] CPU: Virtualization extensions available.
    [ 0.170885] devtmpfs: initialized
    [ 0.188505] random: get_random_u32 called from bucket_table_alloc+0x108/0x230 with crng_init=0
    [ 0.188763] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [ 0.188955] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.188972] futex hash table entries: 512 (order: 3, 32768 bytes)
    [ 0.192737] xor: measuring software checksum speed
    [ 0.290174] arm4regs : 2011.600 MB/sec
    [ 0.390247] 8regs : 1622.000 MB/sec
    [ 0.490315] 32regs : 1538.000 MB/sec
    [ 0.590383] neon : 2975.200 MB/sec
    [ 0.590392] xor: using function: neon (2975.200 MB/sec)
    [ 0.590405] pinctrl core: initialized pinctrl subsystem
    [ 0.590862] DMI not present or invalid.
    [ 0.591118] NET: Registered protocol family 16
    [ 0.592154] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.593092] omap_hwmod: l3_main_2 using broken dt data from ocp
    [ 0.729359] omap_hwmod: gpu: _wait_target_ready failed: -16
    [ 0.729373] omap_hwmod: gpu: cannot be enabled for reset (3)
    [ 0.784601] cpuidle: using governor ladder
    [ 0.784634] cpuidle: using governor menu
    [ 0.792714] OMAP GPIO hardware version 0.1
    [ 0.820264] No ATAGs?
    [ 0.820338] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [ 0.820352] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [ 0.820733] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [ 0.820744] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [ 0.821258] OMAP DMA hardware revision 0.0
    [ 0.991018] raid6: int32x1 gen() 223 MB/s
    [ 1.161051] raid6: int32x1 xor() 259 MB/s
    [ 1.331169] raid6: int32x2 gen() 334 MB/s
    [ 1.501218] raid6: int32x2 xor() 328 MB/s
    [ 1.671334] raid6: int32x4 gen() 425 MB/s
    [ 1.841442] raid6: int32x4 xor() 348 MB/s
    [ 2.011602] raid6: int32x8 gen() 466 MB/s
    [ 2.181640] raid6: int32x8 xor() 323 MB/s
    [ 2.351750] raid6: neonx1 gen() 933 MB/s
    [ 2.521831] raid6: neonx1 xor() 953 MB/s
    [ 2.691977] raid6: neonx2 gen() 1331 MB/s
    [ 2.862045] raid6: neonx2 xor() 1681 MB/s
    [ 3.032163] raid6: neonx4 gen() 2006 MB/s
    [ 3.202252] raid6: neonx4 xor() 1774 MB/s
    [ 3.372372] raid6: neonx8 gen() 1714 MB/s
    [ 3.542468] raid6: neonx8 xor() 1436 MB/s
    [ 3.542477] raid6: using algorithm neonx4 gen() 2006 MB/s
    [ 3.542484] raid6: .... xor() 1774 MB/s, rmw enabled
    [ 3.542492] raid6: using neon recovery algorithm
    [ 3.549813] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [ 3.551090] edma 43300000.edma: memcpy is disabled
    [ 3.554373] edma 43300000.edma: TI EDMA DMA engine driver
    [ 3.557469] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [ 3.557677] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [ 3.557917] omap-iommu 58882000.mmu: 58882000.mmu registered
    [ 3.558162] omap-iommu 55082000.mmu: 55082000.mmu registered
    [ 3.558512] omap-iommu 41501000.mmu: 41501000.mmu registered
    [ 3.558727] omap-iommu 41502000.mmu: 41502000.mmu registered
    [ 3.558953] iommu: Adding device 58820000.ipu to group 1
    [ 3.559032] iommu: Adding device 55020000.ipu to group 2
    [ 3.559174] iommu: Adding device 40800000.dsp to group 0
    [ 3.559422] iommu: Adding device 41000000.dsp to group 3
    [ 3.561619] palmas 1-0058: Irq flag is 0x00000004
    [ 3.603339] random: fast init done
    [ 4.177355] random: crng init done
    [ 67.877591] irq 169: nobody cared (try booting with the "irqpoll" option)
    [ 67.877606] CPU: 0 PID: 28 Comm: irq/169-palmas Not tainted 4.14.40-g4796173fc5 #17
    [ 67.877615] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 67.877623] Backtrace:
    [ 67.877646] [<c020b5bc>] (dump_backtrace) from [<c020b8a0>] (show_stack+0x18/0x1c)
    [ 67.877658] r7:000000a9 r6:20000193 r5:00000000 r4:c125602c
    [ 67.877674] [<c020b888>] (show_stack) from [<c0a40d68>] (dump_stack+0x90/0xa4)
    [ 67.877693] [<c0a40cd8>] (dump_stack) from [<c0282de0>] (__report_bad_irq+0x30/0xd4)
    [ 67.877704] r7:000000a9 r6:eea42a10 r5:00000000 r4:ee9eab00
    [ 67.877718] [<c0282db0>] (__report_bad_irq) from [<c02831d4>] (note_interrupt+0x270/0x2bc)
    [ 67.877729] r9:20000193 r8:00000001 r7:000000a9 r6:eea42a10 r5:00000000 r4:ee9eab00
    [ 67.877744] [<c0282f64>] (note_interrupt) from [<c0280404>] (handle_irq_event_percpu+0x54/0x60)
    [ 67.877754] r10:00000000 r9:20000193 r8:00000001 r7:eea42a68 r6:eea42a10 r5:ee9eab00
    [ 67.877762] r4:00000002 r3:00000000
    [ 67.877775] [<c02803b0>] (handle_irq_event_percpu) from [<c0280450>] (handle_irq_event+0x40/0x64)
    [ 67.877783] r5:ee9eab64 r4:ee9eab00
    [ 67.877796] [<c0280410>] (handle_irq_event) from [<c0283bf8>] (handle_level_irq+0xb4/0x134)
    [ 67.877806] r7:eea42a68 r6:eea42a10 r5:ee9eab64 r4:ee9eab00
    [ 67.877819] [<c0283b44>] (handle_level_irq) from [<c027f538>] (generic_handle_irq+0x2c/0x3c)
    [ 67.877828] r5:eea42a64 r4:00000010
    [ 67.877842] [<c027f50c>] (generic_handle_irq) from [<c063c728>] (omap_gpio_irq_handler+0x108/0x15c)
    [ 67.877855] [<c063c620>] (omap_gpio_irq_handler) from [<c02802e8>] (__handle_irq_event_percpu+0x6c/0x134)
    [ 67.877866] r10:c1257a4d r9:eea23a00 r8:0000002a r7:eeb5dddc r6:00000000 r5:eea23a00
    [ 67.877873] r4:eea31980
    [ 67.877885] [<c028027c>] (__handle_irq_event_percpu) from [<c02803d4>] (handle_irq_event_percpu+0x24/0x60)
    [ 67.877896] r10:c02814f0 r9:eeb5c000 r8:ee808000 r7:00000000 r6:c122406c r5:eea23a00
    [ 67.877903] r4:eea23a00
    [ 67.877915] [<c02803b0>] (handle_irq_event_percpu) from [<c0280450>] (handle_irq_event+0x40/0x64)
    [ 67.877924] r5:eea23a64 r4:eea23a00
    [ 67.877937] [<c0280410>] (handle_irq_event) from [<c0283d24>] (handle_fasteoi_irq+0xac/0x160)
    [ 67.877946] r7:00000000 r6:c122406c r5:eea23a64 r4:eea23a00
    [ 67.877959] [<c0283c78>] (handle_fasteoi_irq) from [<c027f538>] (generic_handle_irq+0x2c/0x3c)
    [ 67.877968] r7:00000000 r6:00000000 r5:0000002a r4:c1066afc
    [ 67.877980] [<c027f50c>] (generic_handle_irq) from [<c027fac0>] (__handle_domain_irq+0x64/0xbc)
    [ 67.877991] [<c027fa5c>] (__handle_domain_irq) from [<c0201474>] (gic_handle_irq+0x44/0x80)
    [ 67.878002] r9:eeb5c000 r8:fa213000 r7:fa212000 r6:eeb5de98 r5:fa21200c r4:c1204008
    [ 67.878014] [<c0201430>] (gic_handle_irq) from [<c020c478>] (__irq_svc+0x58/0x8c)
    [ 67.878021] Exception stack(0xeeb5de98 to 0xeeb5dee0)
    [ 67.878030] de80: ee9eab64 a0000093
    [ 67.878039] dea0: ee9eab00 000093e8 ee9eab00 ee9eab64 eeb3f200 ee9eab14 ee9eab00 eeb3f200
    [ 67.878049] dec0: c02814f0 eeb5def4 eeb5def8 eeb5dee8 c0281410 c0a59a68 20000013 ffffffff
    [ 67.878060] r9:eeb5c000 r8:ee9eab00 r7:eeb5decc r6:ffffffff r5:20000013 r4:c0a59a68
    [ 67.878077] [<c0a59a40>] (_raw_spin_unlock_irq) from [<c0281410>] (irq_finalize_oneshot.part.1+0x84/0xe0)
    [ 67.878090] [<c028138c>] (irq_finalize_oneshot.part.1) from [<c0281544>] (irq_thread_fn+0x54/0x5c)
    [ 67.878099] r7:00000001 r6:00000000 r5:ee9eab00 r4:eeb3f200
    [ 67.878111] [<c02814f0>] (irq_thread_fn) from [<c0281814>] (irq_thread+0x14c/0x204)
    [ 67.878120] r7:00000001 r6:00000000 r5:ffffe000 r4:eeb3f224
    [ 67.878134] [<c02816c8>] (irq_thread) from [<c0248c60>] (kthread+0x164/0x16c)
    [ 67.878145] r10:ee87f938 r9:c02816c8 r8:eeb3f200 r7:eeb5c000 r6:00000000 r5:eeb3f240
    [ 67.878152] r4:eeaa0e00
    [ 67.878164] [<c0248afc>] (kthread) from [<c0207d58>] (ret_from_fork+0x14/0x3c)
    [ 67.878175] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0248afc
    [ 67.878182] r4:eeb3f240
    [ 67.878188] handlers:
    [ 67.878198] [<c02804c8>] irq_default_primary_handler threaded [<c0777e70>] regmap_irq_thread
    [ 67.878218] Disabling IRQ #169
    [ 67.879023] palmas 1-0058: Muxing GPIO 2b, PWM 0, LED 0
    [ 67.880701] SMPS12: supplied by regulator-dummy
    [ 67.882452] SMPS3: supplied by VMAIN
    [ 67.884013] SMPS45: supplied by regulator-dummy
    [ 67.885861] SMPS6: supplied by VMAIN
    [ 67.887536] SMPS7: supplied by VMAIN
    [ 67.889403] SMPS8: supplied by VMAIN
    [ 67.890672] SMPS9: supplied by VMAIN
    [ 67.891645] LDO1: supplied by VMAIN
    [ 67.895816] LDO2: supplied by VMAIN
    [ 67.905684] LDO3: supplied by VMAIN
    [ 67.915696] LDO4: supplied by VMAIN
    [ 67.925720] LDO5: supplied by regulator-dummy
    [ 67.926416] LDO6: supplied by regulator-dummy
    [ 67.927108] LDO7: supplied by regulator-dummy
    [ 67.927803] LDO8: supplied by regulator-dummy
    [ 67.928517] LDO9: supplied by VMAIN
    [ 67.936046] LDOLN: supplied by VMAIN
    [ 67.945765] LDOUSB: supplied by VMAIN
    [ 67.958524] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [ 67.958719] media: Linux media interface: v0.10
    [ 67.958755] Linux video capture interface: v2.00
    [ 67.958838] pps_core: LinuxPPS API ver. 1 registered
    [ 67.958847] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 67.958865] PTP clock support registered
    [ 67.958894] EDAC MC: Ver: 3.0.0
    [ 67.959160] dmi: Firmware registration failed.
    [ 67.959548] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [ 67.959829] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [ 67.960140] Advanced Linux Sound Architecture Driver Initialized.
    [ 67.965287] clocksource: Switched to clocksource arch_sys_counter
    [ 67.972864] NET: Registered protocol family 2
    [ 67.973387] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 67.973451] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [ 67.973578] TCP: Hash tables configured (established 8192 bind 8192)
    [ 67.973644] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [ 67.973677] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [ 67.973800] NET: Registered protocol family 1
    [ 67.974121] RPC: Registered named UNIX socket transport module.
    [ 67.974131] RPC: Registered udp transport module.
    [ 67.974138] RPC: Registered tcp transport module.
    [ 67.974146] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 67.975021] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [ 67.975247] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [ 67.976289] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [ 67.980427] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 67.980921] NFS: Registering the id_resolver key type
    [ 67.980944] Key type id_resolver registered
    [ 67.980953] Key type id_legacy registered
    [ 67.980991] ntfs: driver 2.1.32 [Flags: R/O].
    [ 67.982357] bounce: pool size: 64 pages
    [ 67.982398] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 67.992520] io scheduler noop registered
    [ 67.992530] io scheduler deadline registered
    [ 67.992692] io scheduler cfq registered (default)
    [ 67.992703] io scheduler mq-deadline registered
    [ 67.992711] io scheduler kyber registered
    [ 67.998061] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [ 68.000640] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.3
    [ 68.001004] OF: PCI: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [ 68.001040] OF: PCI: IO 0x20003000..0x20012fff -> 0x00000000
    [ 68.001062] OF: PCI: MEM 0x20013000..0x2fffffff -> 0x20013000
    [ 68.995518] dra7-pcie 51000000.pcie: phy link never came up
    [ 68.995651] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [ 68.995665] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 68.995677] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 68.995687] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 68.995997] PCI: bus0: Fast back to back transfers disabled
    [ 68.996089] PCI: bus1: Fast back to back transfers enabled
    [ 68.996127] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [ 68.996146] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [ 68.996456] pcieport 0000:00:00.0: Signaling PME with IRQ 173
    [ 68.996582] pcieport 0000:00:00.0: AER enabled with IRQ 173
    [ 68.999416] V3_3D: supplied by smps9
    [ 68.999677] vtt_fixed: supplied by V3_3D
    [ 69.041708] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 69.044247] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 45, base_baud = 3000000) is a 8250
    [ 70.597096] console [ttyS2] enabled
    [ 70.602406] omap_rng 48090000.rng: Random Number Generator ver. 20
    [ 70.610384] DSS: OMAP DSS rev 6.1
    [ 70.614200] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [ 70.622640] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
    [ 70.640582] brd: module loaded
    [ 70.649172] loop: module loaded
    [ 70.656018] m25p80 spi0.0: unrecognized JEDEC id bytes: 00, 00, 00
    [ 70.663113] libphy: Fixed MDIO Bus: probed
    [ 70.725331] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 70.733025] davinci_mdio 48485000.mdio: detected phy mask ffffffc1
    [ 70.749713] libphy: 48485000.mdio: probed
    [ 70.753747] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown
    [ 70.761823] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
    [ 70.769903] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
    [ 70.777982] davinci_mdio 48485000.mdio: phy[4]: device 48485000.mdio:04, driver unknown
    [ 70.786059] davinci_mdio 48485000.mdio: phy[5]: device 48485000.mdio:05, driver unknown
    [ 70.794769] cpsw 48484000.ethernet: Detected MACID = 44:ea:d8:19:1d:9e
    [ 70.801420] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [ 70.807844] cpsw 48484000.ethernet: ALE Table size 1024
    [ 70.813104] cpsw 48484000.ethernet: device node lookup for pps timer failed
    [ 70.820153] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 70.828051] cpsw 48484000.ethernet: cpsw: Detected MACID = 44:ea:d8:19:1d:9f
    [ 70.836266] i2c /dev entries driver
    [ 70.840416] IR NEC protocol handler initialized
    [ 70.844969] IR RC5(x/sz) protocol handler initialized
    [ 70.850352] IR RC6 protocol handler initialized
    [ 70.854904] IR JVC protocol handler initialized
    [ 70.859471] IR Sony protocol handler initialized
    [ 70.864109] IR SANYO protocol handler initialized
    [ 70.868846] IR Sharp protocol handler initialized
    [ 70.873570] IR MCE Keyboard/mouse protocol handler initialized
    [ 70.879447] IR XMP protocol handler initialized
    [ 70.889282] sdhci: Secure Digital Host Controller Interface driver
    [ 70.895568] sdhci: Copyright(c) Pierre Ossman
    [ 70.900695] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 70.907195] sdhci-omap 4809c000.mmc: Got CD GPIO

  • Did you also reflect that PMIC change in the kernel's dts?

  • Yes, we changed it in the kernel dts file as well.

    In the output you can see that the regulators are setup in the PMIC

    "[ 67.879023] palmas 1-0058: Muxing GPIO 2b, PWM 0, LED 0
    [ 67.880701] SMPS12: supplied by regulator-dummy
    [ 67.882452] SMPS3: supplied by VMAIN
    [ 67.884013] SMPS45: supplied by regulator-dummy
    [ 67.885861] SMPS6: supplied by VMAIN
    [ 67.887536] SMPS7: supplied by VMAIN
    [ 67.889403] SMPS8: supplied by VMAIN
    [ 67.890672] SMPS9: supplied by VMAIN
    [ 67.891645] LDO1: supplied by VMAIN
    [ 67.895816] LDO2: supplied by VMAIN
    [ 67.905684] LDO3: supplied by VMAIN
    [ 67.915696] LDO4: supplied by VMAIN
    [ 67.925720] LDO5: supplied by regulator-dummy
    [ 67.926416] LDO6: supplied by regulator-dummy
    [ 67.927108] LDO7: supplied by regulator-dummy
    [ 67.927803] LDO8: supplied by regulator-dummy
    [ 67.928517] LDO9: supplied by VMAIN
    [ 67.936046] LDOLN: supplied by VMAIN
    [ 67.945765] LDOUSB: supplied by VMAIN"

    but there is a stack dump right before it.
  • The output shows IRQ 169 is not handled and is related to the PMIC access.

    From output:

    "[ 67.558662] irq 169: nobody cared (try booting with the "irqpoll" option)
    [ 67.558677] CPU: 0 PID: 28 Comm: irq/169-palmas Not tainted 4.14.40-g4796173fc5 #9"
  • Hi Christine,
    One thing to add: U-boot also uses device tree so the pmic should be moved to the correct I2C in u-boot as well. This is important for stability in DSP / GPU / IVA. The frequency for those domains is set at boot via u-boot. So it's critical for u-boot to be able to set the voltages as well.

    Regards,
    Ahmad
  • The uboot device tree has the correct i2c setting set for the PMIC(i2c2).

    Can you help me understand the device tree entry?
    I think we discovered the PMIC_INT was mapped to a different I/O. On the idk board it's mapped to GPIO6_6 which I see being called out in the interrupts-extended property below, but I'm not sure how to interpret the rest of the entry

    How do I interpret: "&dra7_pmx_core 0x418"



    tps659038: tps659038@58 {
    compatible = "ti,tps659038";
    reg = <0x58>;
    interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
    &dra7_pmx_core 0x418>;
  • Hi Christine,

    I'm not sure, but I'm consulting our Linux team to find out.

    Based on what I find in "Documentation/devicetree/bindings/interrupt-controller/interrupts.txt" the property "interrupts-extended" is used to define when there are two interrupt inputs, and you can use "interrupt-parent" for just one input.

    For "&dra7_pmx_core 0x418" I am going to interpret this as an address + offset. The address for dra7_pmx_core is 0x4A001400 (defined in dra7.dtsi). When the offset 0x418 is added this brings me to 0x4A003818. This is the pin configuration register for WAKEUP0.

    So it seems to be defining two interrupt inputs, gpio6_16 as well as wakeup0. For the latest IDK board, it does not appear wakeup0 is used. It might have been used in an older revision. Wakeup0 is used in the AM5728 GP EVM however.

    Can you try changing that line to the below example (from am57xx-beagle-x15-common.dtsi). Where gpio1 in the first line and 0 in the second line are replaced with what you have on your custom board.

    interrupt-parent = <&gpio1>;
    interrupts = <0 IRQ_TYPE_LEVEL_LOW>;

    The PMIC INT signal is active low and the driver is push-pull so it does not need a pull-up.

  • I changed the device tree to use GPIO5_4 instead of GPIO6_16 and it has solved the unhandled IRQ and stack dump issue. Thanks!

    I'm still debugging why the SD Card initialization doesn't finish. I was hoping fixing the unhandled IRQ would help the kernel get further in booting. Any ideas?

    Output:
    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.14.40-g4796173fc5 (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #21 SMP PREEMPT Tue Mar 26 19:51:20 UTC 2019
    [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [ 0.000000] CPU: div instructions available: patching division code
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM5728 IDK
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [ 0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [ 0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [ 0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [ 0.000000] cma: Reserved 24 MiB at 0x00000000fe400000
    [ 0.000000] OMAP4: Map 0x00000000ffd00000 to fe600000 for dram barrier
    [ 0.000000] DRA752 ES2.0
    [ 0.000000] percpu: Embedded 15 pages/cpu @eed35000 s31372 r8192 d21876 u61440
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 472640
    [ 0.000000] Kernel command line: console=ttyO2,115200n8 root=PARTUUID=e681b4b1-02 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 1673576K/1897472K available (10240K kernel code, 356K rwdata, 2776K rodata, 2048K init, 313K bss, 35480K reserved, 188416K cma-reserved, 1283072K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0c00000 (12256 kB)
    [ 0.000000] .init : 0xc1000000 - 0xc1200000 (2048 kB)
    [ 0.000000] .data : 0xc1200000 - 0xc1259258 ( 357 kB)
    [ 0.000000] .bss : 0xc125b000 - 0xc12a947c ( 314 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] GIC: Using split EOI/Deactivate mode
    [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [ 0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [ 0.000016] Switching to timer-based delay loop, resolution 162ns
    [ 0.000338] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [ 0.000346] OMAP clocksource: 32k_counter at 32768 Hz
    [ 0.000788] Console: colour dummy device 80x30
    [ 0.000805] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
    [ 0.000812] This ensures that you still see kernel messages. Please
    [ 0.000819] update your kernel commandline.
    [ 0.000840] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [ 0.000855] pid_max: default: 32768 minimum: 301
    [ 0.000975] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000988] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.001527] CPU: Testing write buffer coherency: ok
    [ 0.001741] /cpus/cpu@0 missing clock-frequency property
    [ 0.001760] /cpus/cpu@1 missing clock-frequency property
    [ 0.001772] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [ 0.039873] Setting up static identity map for 0x80200000 - 0x80200060
    [ 0.059882] Hierarchical SRCU implementation.
    [ 0.080072] EFI services will not be available.
    [ 0.099944] smp: Bringing up secondary CPUs ...
    [ 0.170244] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [ 0.170336] smp: Brought up 1 node, 2 CPUs
    [ 0.170349] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [ 0.170357] CPU: All CPU(s) started in HYP mode.
    [ 0.170364] CPU: Virtualization extensions available.
    [ 0.170877] devtmpfs: initialized
    [ 0.187853] random: get_random_u32 called from bucket_table_alloc+0x108/0x230 with crng_init=0
    [ 0.188108] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [ 0.188296] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.188313] futex hash table entries: 512 (order: 3, 32768 bytes)
    [ 0.192079] xor: measuring software checksum speed
    [ 0.290180] arm4regs : 2011.200 MB/sec
    [ 0.390258] 8regs : 1622.400 MB/sec
    [ 0.490328] 32regs : 1538.400 MB/sec
    [ 0.590404] neon : 2974.400 MB/sec
    [ 0.590412] xor: using function: neon (2974.400 MB/sec)
    [ 0.590425] pinctrl core: initialized pinctrl subsystem
    [ 0.590874] DMI not present or invalid.
    [ 0.591132] NET: Registered protocol family 16
    [ 0.592152] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.593089] omap_hwmod: l3_main_2 using broken dt data from ocp
    [ 0.730344] omap_hwmod: gpu: _wait_target_ready failed: -16
    [ 0.730357] omap_hwmod: gpu: cannot be enabled for reset (3)
    [ 0.785820] cpuidle: using governor ladder
    [ 0.785852] cpuidle: using governor menu
    [ 0.793881] OMAP GPIO hardware version 0.1
    [ 0.819484] No ATAGs?
    [ 0.819557] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [ 0.819570] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [ 0.819927] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [ 0.819938] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [ 0.820458] OMAP DMA hardware revision 0.0
    [ 0.990935] raid6: int32x1 gen() 223 MB/s
    [ 1.161007] raid6: int32x1 xor() 260 MB/s
    [ 1.331204] raid6: int32x2 gen() 333 MB/s
    [ 1.501174] raid6: int32x2 xor() 331 MB/s
    [ 1.671281] raid6: int32x4 gen() 425 MB/s
    [ 1.841365] raid6: int32x4 xor() 348 MB/s
    [ 2.011465] raid6: int32x8 gen() 442 MB/s
    [ 2.181577] raid6: int32x8 xor() 323 MB/s
    [ 2.351715] raid6: neonx1 gen() 939 MB/s
    [ 2.521779] raid6: neonx1 xor() 1010 MB/s
    [ 2.691916] raid6: neonx2 gen() 1312 MB/s
    [ 2.861993] raid6: neonx2 xor() 1703 MB/s
    [ 3.032117] raid6: neonx4 gen() 1923 MB/s
    [ 3.202206] raid6: neonx4 xor() 1794 MB/s
    [ 3.372331] raid6: neonx8 gen() 1714 MB/s
    [ 3.542424] raid6: neonx8 xor() 1493 MB/s
    [ 3.542432] raid6: using algorithm neonx4 gen() 1923 MB/s
    [ 3.542440] raid6: .... xor() 1794 MB/s, rmw enabled
    [ 3.542448] raid6: using neon recovery algorithm
    [ 3.549624] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [ 3.550862] edma 43300000.edma: memcpy is disabled
    [ 3.554046] edma 43300000.edma: TI EDMA DMA engine driver
    [ 3.557096] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [ 3.557299] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [ 3.557535] omap-iommu 58882000.mmu: 58882000.mmu registered
    [ 3.557777] omap-iommu 55082000.mmu: 55082000.mmu registered
    [ 3.558114] omap-iommu 41501000.mmu: 41501000.mmu registered
    [ 3.558325] omap-iommu 41502000.mmu: 41502000.mmu registered
    [ 3.558543] iommu: Adding device 58820000.ipu to group 1
    [ 3.558618] iommu: Adding device 55020000.ipu to group 2
    [ 3.558755] iommu: Adding device 40800000.dsp to group 0
    [ 3.558982] iommu: Adding device 41000000.dsp to group 3
    [ 3.560924] palmas 1-0058: Irq flag is 0x00000004
    [ 3.594255] palmas 1-0058: Muxing GPIO 2b, PWM 0, LED 0
    [ 3.595875] SMPS12: supplied by regulator-dummy
    [ 3.597608] SMPS3: supplied by VMAIN
    [ 3.599197] SMPS45: supplied by regulator-dummy
    [ 3.601054] SMPS6: supplied by VMAIN
    [ 3.602780] SMPS7: supplied by VMAIN
    [ 3.604631] SMPS8: supplied by VMAIN
    [ 3.605933] SMPS9: supplied by VMAIN
    [ 3.606925] LDO1: supplied by VMAIN
    [ 3.622161] random: fast init done
    [ 3.622774] LDO2: supplied by VMAIN
    [ 3.642623] LDO3: supplied by VMAIN
    [ 3.662650] LDO4: supplied by VMAIN
    [ 3.682651] LDO5: supplied by regulator-dummy
    [ 3.683373] LDO6: supplied by regulator-dummy
    [ 3.684082] LDO7: supplied by regulator-dummy
    [ 3.684782] LDO8: supplied by regulator-dummy
    [ 3.685528] LDO9: supplied by VMAIN
    [ 3.703005] LDOLN: supplied by VMAIN
    [ 3.722715] LDOUSB: supplied by VMAIN
    [ 3.745499] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [ 3.745680] media: Linux media interface: v0.10
    [ 3.745718] Linux video capture interface: v2.00
    [ 3.745799] pps_core: LinuxPPS API ver. 1 registered
    [ 3.745807] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 3.745827] PTP clock support registered
    [ 3.745855] EDAC MC: Ver: 3.0.0
    [ 3.746106] dmi: Firmware registration failed.
    [ 3.746481] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [ 3.746757] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [ 3.747069] Advanced Linux Sound Architecture Driver Initialized.
    [ 3.762245] clocksource: Switched to clocksource arch_sys_counter
    [ 3.770114] NET: Registered protocol family 2
    [ 3.770635] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 3.770699] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [ 3.770825] TCP: Hash tables configured (established 8192 bind 8192)
    [ 3.770893] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [ 3.770927] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [ 3.771050] NET: Registered protocol family 1
    [ 3.791401] RPC: Registered named UNIX socket transport module.
    [ 3.791411] RPC: Registered udp transport module.
    [ 3.791418] RPC: Registered tcp transport module.
    [ 3.791425] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 3.792314] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [ 3.792495] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [ 3.793461] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [ 3.797529] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 3.808052] NFS: Registering the id_resolver key type
    [ 3.808074] Key type id_resolver registered
    [ 3.808082] Key type id_legacy registered
    [ 3.808119] ntfs: driver 2.1.32 [Flags: R/O].
    [ 3.809524] bounce: pool size: 64 pages
    [ 3.809571] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 3.809675] io scheduler noop registered
    [ 3.809685] io scheduler deadline registered
    [ 3.809839] io scheduler cfq registered (default)
    [ 3.809848] io scheduler mq-deadline registered
    [ 3.809857] io scheduler kyber registered
    [ 3.815135] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [ 3.817636] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.3
    [ 3.818000] OF: PCI: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [ 3.818039] OF: PCI: IO 0x20003000..0x20012fff -> 0x00000000
    [ 3.818061] OF: PCI: MEM 0x20013000..0x2fffffff -> 0x20013000
    [ 4.818317] dra7-pcie 51000000.pcie: phy link never came up
    [ 4.818447] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [ 4.818460] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 4.818471] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 4.818481] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 4.818789] PCI: bus0: Fast back to back transfers disabled
    [ 4.818879] PCI: bus1: Fast back to back transfers enabled
    [ 4.818916] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [ 4.818935] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [ 4.819239] pcieport 0000:00:00.0: Signaling PME with IRQ 169
    [ 4.819366] pcieport 0000:00:00.0: AER enabled with IRQ 169
    [ 4.822136] V3_3D: supplied by smps9
    [ 4.822398] vtt_fixed: supplied by V3_3D
    [ 4.869096] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 4.871721] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 45, base_baud = 3000000) is a 8250
    [ 6.041905] console [ttyS2] enabled
    [ 6.047185] omap_rng 48090000.rng: Random Number Generator ver. 20
    [ 6.063441] brd: module loaded
    [ 6.071978] loop: module loaded
    [ 6.078803] libphy: Fixed MDIO Bus: probed
    [ 6.142270] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 6.149967] davinci_mdio 48485000.mdio: detected phy mask ffffffc1
    [ 6.176869] libphy: 48485000.mdio: probed
    [ 6.180900] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown
    [ 6.188964] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
    [ 6.197025] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
    [ 6.205090] davinci_mdio 48485000.mdio: phy[4]: device 48485000.mdio:04, driver unknown
    [ 6.213149] davinci_mdio 48485000.mdio: phy[5]: device 48485000.mdio:05, driver unknown
    [ 6.221851] cpsw 48484000.ethernet: Detected MACID = 44:ea:d8:19:1d:9e
    [ 6.228496] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [ 6.234900] cpsw 48484000.ethernet: ALE Table size 1024
    [ 6.240159] cpsw 48484000.ethernet: device node lookup for pps timer failed
    [ 6.247208] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 6.255080] cpsw 48484000.ethernet: cpsw: Detected MACID = 44:ea:d8:19:1d:9f
    [ 6.263244] i2c /dev entries driver
    [ 6.267390] IR NEC protocol handler initialized
    [ 6.271942] IR RC5(x/sz) protocol handler initialized
    [ 6.277039] IR RC6 protocol handler initialized
    [ 6.281589] IR JVC protocol handler initialized
    [ 6.286420] IR Sony protocol handler initialized
    [ 6.291058] IR SANYO protocol handler initialized
    [ 6.295798] IR Sharp protocol handler initialized
    [ 6.300521] IR MCE Keyboard/mouse protocol handler initialized
    [ 6.306396] IR XMP protocol handler initialized
    [ 6.316179] sdhci: Secure Digital Host Controller Interface driver
    [ 6.322480] sdhci: Copyright(c) Pierre Ossman
    [ 6.327773] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 6.338791] sdhci-omap 4809c000.mmc: Got CD GPIO
  • There may be more left over configurations for the IDK board that do not work for your custom board. The gpio-cd property is defined in the am57xx-idk-common.dtsi file. Has that been updated? The address 0x4809c000 is for mmc1 fyi. So it should be this line.

  • I'm debugging the drivers.

    In file drivers/mmc/host/sdhci-omap.c, in function sdhci_omap_probe()

    the following line is returning the undesired result:

    soc = soc_device_match(sdhci_omap_soc_devices);

    soc is 0 and should be non-zero.

    My debug print statement:
    [ 6.334837] sdhci-omap 4809c000.mmc: matches machine DRA7[45]*, matches family=(null), matches revision=ES1.[01], matches socid=(null)

    Are there registers that contain this device information?
    We are using an AM5726, not AM5728 if that is of importance.
  • Those lines are only checking for early revisions of the DRA7x / AM57x family. If returned true it would set a max frequency as specified in the mmc errata. If you have "AM5726B----" then it should return zero. 

  • Hello Christine,

    Just in case, can you create and try to boot with another SD card? Here in this post you can find many boards stuck at that exact point because of the SD card. Replacing the SD card fixed that hang. I think your may face the same issue.

    Best regards,
    Kemal

  • Does your schematic match the EVM? The PMIC LDO1 should be connected to VDDSHV8 on the SoC and it should also be used to pull up the MMC0_DATA[3:0] and MMC_CMD lines. However VDD to the SD card should be fixed 3.3V connected to the output of the load switch. I just want to make sure the hardware requirements are met.
  • There is a problem with our board and the LDO1 line is not connected, but we modified it so that instead of the LD01 we tied it directly to 3.3V.  

    From this forum, it was recommended to set the device entry for mmc1 to: 

    &mmc1 {
    status = "okay";
    vmmc-supply = <&v3_3d>;
    vqmmc-supply = <&v3_3d>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    no-1-8-v;
    };

    Is this correct?

    Thanks,

    Christine

  • Hi,

    Back to the questions of if soc_device_match() returns 0 for our board, the f_max will not be set and you are saying this is ok.

    The next operation is the getting the "fck" clock. On our custom board, it seems the driver hangs on the call:

    devm_clk_get(dev, "fck");

    within devm_clk_get(), it hangs on the call to
    clk_get(dev, id);

    I noticed that some device tree nodes have the "fck" set for clock-names.
    mmc1 doesn't have clocks or clock-names properties, but this configuration works for the IDK Dev board.

    Christine
  • The function clk_get waits on a mutex. This must be where it's getting stuck.
  • I added the following properties to mmc1:

    clocks = <&mmc1_fclk_div>;
    clock-names = "fck";

    and we got past the clk_get call. Great. But any calls relating to the regulator fails. Ex. regulator_get() fails.
    My understanding is the the calls will communicate with the PMIC chip. It looks to be mapped correctly to i2c2 in the device tree.
    Is there somewhere else that needs a similar change?

    Thanks,
    Christine
  • Hello Christine,

    Can you post the SD card part of your schematic?

    Best regards,
    Kemal
  • Please, see this message "sdhci-omap 4809c000.mmc: failed to set system capabilities". Can you focus your investigation in this point and try to debug the sdhci_omap_set_capabilities function in <Processor SDK>/board-support/linux-<version>/drivers/mmc/host/sdhci-omap.c file?

  • I am currently doing that. It's having trouble finding regulator "vqmmc" and just hangs, but vqmmc is present in the mmc1 entry:

    &mmc1 {
    status = "okay";
    vmmc-supply = <&v3_3d>;
    vqmmc-supply = <&3_3d>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    no-1-8-v;
    };

    I tried adding the " vqmmc-supply = <&3_3d>;" into the mmc1 entry in dra7.dtsi and it found it and make it further, but now

    IS_ERR(vqmmc) is returning with true

    Christine
  • Christine,
    Are you making sure that Linux is loading the correct device tree file? Really you should not be editing existing dsti files. Ideally you should not be editing existing dts files either but rather make a new dts file for your board. However if you're editing the existing am572x idk dts then keep all the edits in there and make sure Linux is loading that one.

    Regards,
    Ahmad
  • Hi,

    We've come to the conclusion there is some memory corruption to cause the weird behavior we are seeing with printfs changing behavior, different output from run to run.

    Possibly the regulator functions that are failing sometimes are all located in the same memory area that is being corrupted.
    The IDK Dev board runs with the exact same kernel and has no issues.
    We are focusing on the differences between the IDK and our custom board as areas we should focus on to find the memory corruption problem.

    We are using the IDK device tree as a base for our custom board device tree.  

    There are devices that are defined the IDK device tree that are not on our custom board based on the AM5726

    For example:

    • No Quad SPI memory
    • No devices on PCI
    • no ov2659_1
    • to tpic2810
    • gpu

    We removed the devices thinking having them could cause bad behavior if they are not present.

    Interestingly we noticed that it complains about gpu when we removed the gpu entry.  It seems there is something we don't understand?  

    0.729446] omap_hwmod: gpu: _wait_target_ready failed: -16
    [ 0.729458] omap_hwmod: gpu: cannot be enabled for reset (3)

    How do we configure the kernel for our processor AM5726 not AM5728?

    Can you provide some guidance? 

    Thanks,

    Christine

  • Hello Christine,

    Was you able to resolve this issue? For the gpu and kernel configuration, please create a new separate thread.

    Best regards,
    Kemal
  • Hi,

    We traced the issue to the PMIC regulator access.  We disabled this code in the kernel to get it to boot for the moment.

  • Hello Christine,

    You can also refer to this and this thread. They have attached the PMIC to i2c4 line and met the same issues like you in U-Boot and kernel.

    Best regards,
    Kemal