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.

AM5748: Custom board mmc1 no activity on scope in Linux

Part Number: AM5748

Bringing up a custom board.  MMC1 works for u-boot but after loading kernel, it cannot detect the sd card.  Scoping the nets shows activity during u-boot but no activity once booting the kernel.

This same kernel and device tree boots fine on the AM574 IDK.

I've confirmed the card detect works and double checked the pinmux just incase.

U-Boot 2019.01-00919-g3bda0db8d9ba-dirty (Aug 20 2020 - 17:27:58 -0400)
Linux version 4.19.79-00309-g5d39485ad75a-dirty

[    2.881536] sdhci: Secure Digital Host Controller Interface driver
[    2.887774] sdhci: Copyright(c) Pierre Ossman
[    2.893070] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.900399] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.12
[    2.907253] sdhci-omap 4809c000.mmc: failed to set system capabilities
[    2.913898] sdhci-omap 4809c000.mmc: Dropping the link to regulator.12
[    2.921773] ledtrig-cpu: registered to indicate activity on CPUs
[    2.933756] NET: Registered protocol family 10
[    2.939189] Segment Routing with IPv6
[    2.942930] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.949388] NET: Registered protocol family 17
[    2.954046] Key type dns_resolver registered
[    2.958513] Registering SWP/SWPB emulation handler
[    2.963330] omap_voltage_late_init: Voltage driver support not added
[    2.969733] Power Management for TI OMAP4+ devices.
[    2.975333] Loading compiled-in X.509 certificates
[    3.005410] dmm 4e000000.dmm: workaround for errata i878 in use
[    3.012979] dmm 4e000000.dmm: initialized all PAT entries
[    3.020680] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.12
[    3.027550] sdhci-omap 4809c000.mmc: failed to set system capabilities
[    3.034217] sdhci-omap 4809c000.mmc: Dropping the link to regulator.12
[    3.042011] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.12
[    3.048901] sdhci-omap 4809c000.mmc: failed to set system capabilities
[    3.055529] sdhci-omap 4809c000.mmc: Dropping the link to regulator.12
[    3.062945] hctosys: unable to open rtc device (rtc0)
[    3.068744] ALSA device list:
[    3.071726]   No soundcards found.
[    3.075928] Waiting for root device PARTUUID=611581f2-02...
[   13.287736] random: fast init done
[   13.291223] random: crng init done
[   33.127768] vdd_3v3: disabling
[   33.130839] aic_dvdd_fixed: disabling
[   33.134521] pbias_mmc_omap5: disabling

Checking pinmux. It looked alright. Slightly different in u-boot which was configuring "Virtual Muxes" which has something to do with the IO Timings. I tried to match u-boot but this didn't help.

=> mm 4A003754
4a003754: 000601b0 ? 
4a003758: 000601b0 ? 
4a00375c: 000601b0 ? 
4a003760: 000601b0 ? 
4a003764: 000601b0 ? 
4a003768: 000601b0 ? 
4a00376c: 000e0000 ? 
4a003770: 000d0000 ? 

root@mitysom-am57x:~# omapconf dump 0x4a003754 0x4a003770
|----------------------------|
| Address (hex) | Data (hex) |
|----------------------------|
| 0x4A003754    | 0x00060000 |
| 0x4A003758    | 0x00060000 |
| 0x4A00375C    | 0x00060000 |
| 0x4A003760    | 0x00060000 |
| 0x4A003764    | 0x00060000 |
| 0x4A003768    | 0x00060000 |
| 0x4A00376C    | 0x000E0000 |
| 0x4A003770    | 0x000D0000 |
|----------------------------|

devmem2 0x4a003754 w 0x000601b0
devmem2 0x4a003758 w 0x000601b0
devmem2 0x4a00375c w 0x000601b0
devmem2 0x4a003760 w 0x000601b0
devmem2 0x4a003764 w 0x000601b0
devmem2 0x4a003768 w 0x000601b0

root@mitysom-am57x:~# omapconf dump 0x4a003754 0x4a003770
|----------------------------|
| Address (hex) | Data (hex) |
|----------------------------|
| 0x4A003754    | 0x000601B0 |
| 0x4A003758    | 0x000601B0 |
| 0x4A00375C    | 0x000601B0 |
| 0x4A003760    | 0x000601B0 |
| 0x4A003764    | 0x000601B0 |
| 0x4A003768    | 0x000601B0 |
| 0x4A00376C    | 0x000E0000 |
| 0x4A003770    | 0x000D0000 |
|----------------------------|

  • Enabled some kernel debug statements show its trying to communicate.

    mmc0_debug.log
    U-Boot SPL 2019.01-00932-gbb9dfe9ee63a-dirty (Aug 07 2020 - 15:43:46 -0400)
    DRA762-GP ES1.0 ABZ package
    no pinctrl state for default mode
    ** Unable to read file dra7-ipu1-fw.xem4 **
    Firmware loading failed
    Trying to boot from MMC1
    no pinctrl state for default mode
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    Loading Environment from MMC... Card did not respond to voltage select!
    *** Warning - No block device, using default environment
    
    
    
    U-Boot 2019.01-00932-gbb9dfe9ee63a-dirty (Aug 07 2020 - 15:43:46 -0400)
    
    CPU  : DRA762-GP ES1.0 ABZ package
    Model: TI AM5728 BeagleBoard-X15 rev C
    Board: MitySOM-57x Dev Kit
    DRAM:  2 GiB
    cl_init_fpga:309: Adding fpga 0
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    Loading Environment from MMC... Card did not respond to voltage select!
    *** Warning - No block device, using default environment
    
    Warning: fastboot.board_rev: unknown board revision
    Card did not respond to voltage select!
    invalid mmc device
    Net:   
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot:  2  0 
    => 
    => 
    => boot
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    689 bytes read in 2 ms (335.9 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    fdtfile=am574x-idk.dtb
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4411904 bytes read in 193 ms (21.8 MiB/s)
    90320 bytes read in 5 ms (17.2 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffe6000, end 8ffff0cf ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.79-gf0c0c3eaed52-dirty (jcormier@jcormier-MS-7A93) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 SMP PREEMPT Wed Aug 19 17:19:41 EDT 2020
    [    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 AM5748 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 DMA 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 0x00000000fd400000
    [    0.000000] OMAP4: Map 0x00000000fed00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00001211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] DRA762 ES1.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 509248
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=611581f2-02 rw rootfstype=ext4 rootwait
    [    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: 1851696K/2043904K available (10240K kernel code, 334K rwdata, 2780K rodata, 2048K init, 269K bss, 36560K reserved, 155648K cma-reserved, 1266688K 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 : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 335 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 270 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: 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.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000291] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000302] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000750] Console: colour dummy device 80x30
    [    0.000791] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000808] pid_max: default: 32768 minimum: 301
    [    0.000929] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000943] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001487] CPU: Testing write buffer coherency: ok
    [    0.001524] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001725] /cpus/cpu@0 missing clock-frequency property
    [    0.001745] /cpus/cpu@1 missing clock-frequency property
    [    0.001758] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059918] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079926] rcu: Hierarchical SRCU implementation.
    [    0.100116] EFI services will not be available.
    [    0.119984] smp: Bringing up secondary CPUs ...
    [    0.200350] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200355] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200476] smp: Brought up 1 node, 2 CPUs
    [    0.200488] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200497] CPU: All CPU(s) started in HYP mode.
    [    0.200505] CPU: Virtualization extensions available.
    [    0.201044] devtmpfs: initialized
    [    0.217778] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.218027] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.218044] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.220465] pinctrl core: initialized pinctrl subsystem
    [    0.220956] DMI not present or invalid.
    [    0.221226] NET: Registered protocol family 16
    [    0.222321] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.223181] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.413614] cpuidle: using governor ladder
    [    0.413649] cpuidle: using governor menu
    [    0.423822] OMAP GPIO hardware version 0.1
    [    0.448126] No ATAGs?
    [    0.448196] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.448211] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.449013] OMAP DMA hardware revision 0.0
    [    0.460093] edma 43300000.edma: memcpy is disabled
    [    0.463553] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.470670] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.474170] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.474343] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.474589] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.474823] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.475196] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.475372] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.475636] iommu: Adding device 58820000.ipu to group 1
    [    0.475715] iommu: Adding device 55020000.ipu to group 2
    [    0.475843] iommu: Adding device 40800000.dsp to group 0
    [    0.476066] iommu: Adding device 41000000.dsp to group 3
    [    0.477295] SCSI subsystem initialized
    [    0.478317] palmas 0-0058: Irq flag is 0x00000008
    [    0.502151] palmas 0-0058: Muxing GPIO 2f, PWM 0, LED 0
    [    0.503796] SMPS12: supplied by regulator-dummy
    [    0.505451] SMPS3: supplied by VMAIN
    [    0.506982] SMPS45: supplied by regulator-dummy
    [    0.508773] SMPS6: supplied by VMAIN
    [    0.510417] SMPS7: supplied by VMAIN
    [    0.512215] SMPS8: supplied by VMAIN
    [    0.513438] SMPS9: supplied by VMAIN
    [    0.513787] smps9: Bringing 1800000uV into 3300000-3300000uV
    [    0.515072] LDO1: supplied by VMAIN
    [    0.515294] random: fast init done
    [    0.521275] LDO2: supplied by VMAIN
    [    0.521623] ldo2: Bringing 3300000uV into 1800000-1800000uV
    [    0.531129] LDO3: supplied by VMAIN
    [    0.541153] LDO4: supplied by VMAIN
    [    0.541512] ldo4: Bringing 0uV into 1800000-1800000uV
    [    0.551164] LDO5: supplied by regulator-dummy
    [    0.551831] LDO6: supplied by regulator-dummy
    [    0.552499] LDO7: supplied by regulator-dummy
    [    0.553167] LDO8: supplied by regulator-dummy
    [    0.553825] LDO9: supplied by VMAIN
    [    0.561484] LDOLN: supplied by VMAIN
    [    0.571190] LDOUSB: supplied by VMAIN
    [    0.583708] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.584280] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.584483] media: Linux media interface: v0.10
    [    0.584527] videodev: Linux video capture interface: v2.00
    [    0.584606] pps_core: LinuxPPS API ver. 1 registered
    [    0.584616] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.584637] PTP clock support registered
    [    0.584668] EDAC MC: Ver: 3.0.0
    [    0.585433] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.585672] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.586163] Advanced Linux Sound Architecture Driver Initialized.
    [    0.586912] clocksource: Switched to clocksource arch_sys_counter
    [    0.594856] NET: Registered protocol family 2
    [    0.595426] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.595458] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.595522] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.595649] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.595716] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.595750] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.595879] NET: Registered protocol family 1
    [    0.616318] RPC: Registered named UNIX socket transport module.
    [    0.616329] RPC: Registered udp transport module.
    [    0.616337] RPC: Registered tcp transport module.
    [    0.616346] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.617374] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.617576] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.618532] Initialise system trusted keyrings
    [    0.618661] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [    0.623512] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.634002] NFS: Registering the id_resolver key type
    [    0.634023] Key type id_resolver registered
    [    0.634033] Key type id_legacy registered
    [    0.634075] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.635622] Key type asymmetric registered
    [    0.635634] Asymmetric key parser 'x509' registered
    [    0.635682] bounce: pool size: 64 pages
    [    0.635714] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.635725] io scheduler noop registered
    [    0.635735] io scheduler deadline registered
    [    0.635832] io scheduler cfq registered (default)
    [    0.635843] io scheduler mq-deadline registered
    [    0.635853] io scheduler kyber registered
    [    0.641532] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.645374] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.645635] dra7-pcie 51000000.pcie: WA for Errata i870 not applied
    [    0.645725] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.645766] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.645793] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.646061] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.646196] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.646211] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.646223] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.646235] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.652124] PCI: bus0: Fast back to back transfers disabled
    [    1.657544] PCI: bus1: Fast back to back transfers enabled
    [    1.657586] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.657606] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.657925] pcieport 0000:00:00.0: Signaling PME with IRQ 174
    [    1.658059] pcieport 0000:00:00.0: AER enabled with IRQ 174
    [    1.661730] V3_3D: supplied by smps9
    [    1.661971] vtt_fixed: supplied by V3_3D
    [    1.705841] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.709358] console [ttyS2] disabled
    [    1.709414] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 45, base_baud = 3000000) is a 8250
    [    2.804136] console [ttyS2] enabled
    [    2.809735] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.809948] hwrng: no data available
    [    2.816782] omapdss_dss 58000000.dss: Linked as a consumer to regulator.20
    [    2.826602] DSS: OMAP DSS rev 6.1
    [    2.832828] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    2.840356] omapdss_hdmi5 58040000.encoder: Dropping the link to regulator.13
    [    2.860474] brd: module loaded
    [    2.869590] loop: module loaded
    [    2.877769] m25p80 spi0.0: found n25q256ax1, expected s25fl256s1
    [    2.884070] m25p80 spi0.0: n25q256ax1 (32768 Kbytes)
    [    2.889172] 7 fixed-partitions partitions found on MTD device spi0.0
    [    2.895556] Creating 7 MTD partitions on "spi0.0":
    [    2.900410] 0x000000000000-0x000000040000 : "QSPI.SPL"
    [    2.906271] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [    2.912404] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [    2.919106] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [    2.925525] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [    2.932691] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [    2.938779] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
    [    2.945880] libphy: Fixed MDIO Bus: probed
    [    3.006952] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.014646] davinci_mdio 48485000.mdio: detected phy mask fffffffc
    [    3.025443] libphy: 48485000.mdio: probed
    [    3.029506] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
    [    3.039245] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
    [    3.050089] cpsw 48484000.ethernet: Detected MACID = 90:9a:77:64:e5:12
    [    3.056694] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.063116] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.068434] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.076407] cpsw 48484000.ethernet: cpsw: Detected MACID = 90:9a:77:64:e5:13
    [    3.084733] i2c /dev entries driver
    [    3.093301] cpu cpu0: Linked as a consumer to regulator.4
    [    3.098839] cpu cpu0: Linked as a consumer to regulator.27
    [    3.105958] sdhci: Secure Digital Host Controller Interface driver
    [    3.112220] sdhci: Copyright(c) Pierre Ossman
    [    3.117784] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.124100] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.133310] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.138114] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.26
    [    3.145126] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
    [    3.152008] sdhci-omap 4809c000.mmc: Dropping the link to regulator.11
    [    3.158620] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.2
    [    3.165532] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
    [    3.172423] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.179322] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0
    [    3.187153] sdhci-omap 4809c000.mmc: IO voltage switched to 3300000mV
    [    3.206265] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    3.226981] mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
    [    3.233629] mmc0: starting CMD52 arg 00000c00 flags 00000195
    [    3.239333] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.260425] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    3.267648] mmc0: starting CMD52 arg 80000c08 flags 00000195
    [    3.273767] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    3.287014] mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 1 timing 0
    [    3.302747] mmc0: starting CMD0 arg 00000000 flags 000000c0
    [    3.314752] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
    [    3.329162] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    3.338124] mmc0: starting CMD8 arg 000001aa flags 000002f5
    [    3.350529] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
    [    3.357618] mmc0: starting CMD5 arg 00000000 flags 000002e1
    [    3.382694] mmc0: req failed (CMD5): -110, retrying...
    [    3.395491] mmc0: req failed (CMD5): -110, retrying...
    [    3.413605] mmc0: req failed (CMD5): -110, retrying...
    [    3.426451] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
    [    3.433553] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    3.439153] ledtrig-cpu: registered to indicate activity on CPUs
    [    3.445198] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    3.464846] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    3.470997] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    3.479393] NET: Registered protocol family 10
    [    3.485439] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    3.495951] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    3.501482] Segment Routing with IPv6
    [    3.508350] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    3.512070] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    3.523962] NET: Registered protocol family 17
    [    3.531101] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    3.542353] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    3.548101] Key type dns_resolver registered
    [    3.555661] mmc0: starting CMD1 arg 00000000 flags 000000e1
    [    3.560037] Registering SWP/SWPB emulation handler
    [    3.565983] mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000
    [    3.577430] mmc0: clock 0Hz busmode 2 powermode 0 cs 0 Vdd 0 width 1 timing 0
    [    3.582592] omap_voltage_late_init: Voltage driver support not added
    [    3.591073] mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz
    [    3.602759] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0
    [    3.607921] Power Management for TI OMAP4+ devices.
    [    3.615403] sdhci-omap 4809c000.mmc: IO voltage switched to 3300000mV
    [    3.632031] Loading compiled-in X.509 certificates
    [    3.644026] mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    3.691280] mmc0: starting CMD52 arg 00000c00 flags 00000195
    [    3.691810] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    3.709839] mmc0: starting CMD52 arg 80000c08 flags 00000195
    [    3.722926] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    3.737693] mmc0: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 1 timing 0
    [    3.743365] dmm 4e000000.dmm: workaround for errata i878 in use
    [    3.764533] dmm 4e000000.dmm: initialized all PAT entries
    [    3.776639] mmc0: starting CMD0 arg 00000000 flags 000000c0
    [    3.789388] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
    [    3.803446] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    3.816869] mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    3.824636] omapdss_hdmi5 58040000.encoder: Dropping the link to regulator.13
    [    3.840484] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    3.847939] mmc0: starting CMD8 arg 000001aa flags 000002f5
    [    3.866825] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    3.887529] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
    [    3.895054] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
    [    3.903027] mmc0: starting CMD5 arg 00000000 flags 000002e1
    [    3.921870] mmc0: req failed (CMD5): -110, retrying...
    [    3.936342] mmc0: req failed (CMD5): -110, retrying...
    [    3.952372] mmc0: req failed (CMD5): -110, retrying...
    [    3.970279] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
    [    3.982758] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    3.989530] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    3.989545] [drm] No driver support for vblank timestamp query.
    [    3.994780] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.013699] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.024678] [drm] Cannot find any crtc or sizes
    [    4.031832] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.056503] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.075896] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    4.095815] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.108181] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.116943] hctosys: unable to open rtc device (rtc0)
    [    4.121303] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.133378] mmc0: clock 300000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.141655] ALSA device list:
    [    4.148784] mmc0: starting CMD1 arg 00000000 flags 000000e1
    [    4.157856] mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000
    [    4.162933]   No soundcards found.
    [    4.170012] mmc0: clock 0Hz busmode 2 powermode 0 cs 0 Vdd 0 width 1 timing 0
    [    4.189064] mmc0: mmc_rescan_try_freq: trying to init card at 200000 Hz
    [    4.201568] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0
    [    4.215690] sdhci-omap 4809c000.mmc: IO voltage switched to 3300000mV
    [    4.236207] Waiting for root device PARTUUID=611581f2-02...
    [    4.241707] mmc0: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.262445] mmc0: starting CMD52 arg 00000c00 flags 00000195
    [    4.268909] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    4.276088] mmc0: starting CMD52 arg 80000c08 flags 00000195
    [    4.295497] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    4.314899] mmc0: clock 200000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 1 timing 0
    [    4.323880] mmc0: starting CMD0 arg 00000000 flags 000000c0
    [    4.341824] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
    [    4.357296] mmc0: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.377504] mmc0: starting CMD8 arg 000001aa flags 000002f5
    [    4.395390] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
    [    4.407017] mmc0: starting CMD5 arg 00000000 flags 000002e1
    [    4.418667] mmc0: req failed (CMD5): -110, retrying...
    [    4.436201] mmc0: req failed (CMD5): -110, retrying...
    [    4.454356] mmc0: req failed (CMD5): -110, retrying...
    [    4.472455] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
    [    4.491806] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.498258] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.517675] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.524129] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.538214] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.557469] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.571035] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.584117] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.597779] mmc0: clock 200000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.611942] mmc0: starting CMD1 arg 00000000 flags 000000e1
    [    4.618306] mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000
    [    4.632321] mmc0: clock 0Hz busmode 2 powermode 0 cs 0 Vdd 0 width 1 timing 0
    [    4.640769] mmc0: mmc_rescan_try_freq: trying to init card at 187683 Hz
    [    4.659107] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0
    [    4.659341] sdhci-omap 4809c000.mmc: IO voltage switched to 3300000mV
    [    4.691177] mmc0: clock 187683Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.714292] mmc0: starting CMD52 arg 00000c00 flags 00000195
    [    4.720829] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    4.734896] mmc0: starting CMD52 arg 80000c08 flags 00000195
    [    4.754443] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
    [    4.766646] mmc0: clock 187683Hz busmode 2 powermode 2 cs 1 Vdd 21 width 1 timing 0
    [    4.780993] mmc0: starting CMD0 arg 00000000 flags 000000c0
    [    4.791258] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
    [    4.811474] mmc0: clock 187683Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    4.832394] mmc0: starting CMD8 arg 000001aa flags 000002f5
    [    4.850581] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
    [    4.862584] mmc0: starting CMD5 arg 00000000 flags 000002e1
    [    4.876550] mmc0: req failed (CMD5): -110, retrying...
    [    4.894801] mmc0: req failed (CMD5): -110, retrying...
    [    4.907796] mmc0: req failed (CMD5): -110, retrying...
    [    4.926270] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
    [    4.939327] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.945840] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.953056] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.959549] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.966727] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.973210] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.980423] mmc0: starting CMD55 arg 00000000 flags 000000f5
    [    4.986905] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
    [    4.994084] mmc0: clock 187683Hz busmode 1 powermode 2 cs 0 Vdd 21 width 1 timing 0
    [    5.001793] mmc0: starting CMD1 arg 00000000 flags 000000e1
    [    5.008216] mmc0: req done (CMD1): -110: 00000000 00000000 00000000 00000000
    [    5.015305] mmc0: clock 0Hz busmode 2 powermode 0 cs 0 Vdd 0 width 1 timing 0
    [    5.116973] [drm] Cannot find any crtc or sizes
    [   13.276992] random: crng init done
    

  • Hi Jonathan,

    Are the Vio and Vdd connections of MMC1 same as TI EVM?
    (vmmc-supply and vqmmc-supply property of dts node)

    The below print points to something wrong with vqmmc-supply.
    sdhci-omap 4809c000.mmc: failed to set system capabilities

    Could you share the mmc1 and other related nodes from Kernel dts?

    Regards,
    Vishal

  • Ahh sorry that was an older log.  The issue for that log was that I was using the bbx15 dtb but our TPS was setup like the IDK.  The TPS failed to probe and that cascaded to the above mmc errors.

    The mmc0 debug log I attached doesn't have these errors.

  • Ok, understood.

    The very first command going out itself failed.
    Could you still share the mmc1 dts node? or the dtb file you are using?

  • For now I've just been hacking the am57xx-idk-common file.  Will create our own dts when things are working better.

  • I'm getting "An error occured" each time I try to upload the dtsi or dts file...

  • Couldn't find anything wrong with dts settings.
    You mentioned same dtb works on TI EVM, what are differences between custom board and TI EVM w.r.t MMC1?

    - Could you check if the power is table and clock lines is stable and oscillating?
    - Also, could you dump/check the MMCHS registers?




  • So I found the problem.  There were two outputs of the PMIC which our design expected different voltages than the IDK.  After updating those the mmc started working. 

    mmc worked in u-boot since the pmic's defaults were correct but when the kernel changed those voltages the mmc has stopped working.