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.

AM6548: Cannot find MMC0 device

Part Number: AM6548
Other Parts Discussed in Thread: CSD

Hi Ti, 

We are working on Linux SDK 07.01.00.18 on our customized board.

We have two eMMC solutions, one is ISSI IS21ES04G and another is Samsung KLM8G1GETF.

ISSI can work well, there is no problem. But Samsung cannot detect well.

In the below kernel log, I can only see "mmc1: new high speed SDHC card at address 59b4", but no mmc0.

Not sure if any dts setting need to be modified.

Could you provide some information about this?

Starting kernel ...

[ 0.000000] 000: printk: bootconsole [ns16550a0] enabled
[ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
[ 0.000000] 000: OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
[ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
[ 0.000000] 000: OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
[ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
[ 0.000000] 000: OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
[ 0.000000] 000: Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
[ 0.000000] 000: OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
[ 0.000000] 000: cma: Reserved 24 MiB at 0x00000000be800000
[ 0.000000] 000: On node 0 totalpages: 110080
[ 0.000000] 000: DMA zone: 4096 pages used for memmap
[ 0.000000] 000: DMA zone: 0 pages reserved
[ 0.000000] 000: DMA zone: 247296 pages, LIFO batch:63
[ 0.000000] 000: DMA32 zone: 18446744073709414400 pages, LIFO batch:63
[ 0.000000] 000: psci: probing for conduit method from DT.
[ 0.000000] 000: psci: PSCIv1.1 detected in firmware.
[ 0.000000] 000: psci: Using standard PSCI v0.2 function IDs
[ 0.000000] 000: psci: Trusted OS migration not required
[ 0.000000] 000: psci: SMC Calling Convention v1.0
[ 0.000000] 000: percpu: Embedded 17 pages/cpu s32576 r8192 d28864 u69632
[ 0.000000] 000: pcpu-alloc: s32576 r8192 d28864 u69632 alloc=17*4096
[ 0.000000] 000:
[ 0.000000] 000: pcpu-alloc:
[ 0.000000] 000: [0]
[ 0.000000] 000: 0
[ 0.000000] 000: [0]
[ 0.000000] 000: 1
[ 0.000000] 000: [0]
[ 0.000000] 000: 2
[ 0.000000] 000: [0]
[ 0.000000] 000: 3
[ 0.000000] 000:
[ 0.000000] 000: Detected VIPT I-cache on CPU0
[ 0.000000] 000: CPU features: detected: ARM erratum 845719
[ 0.000000] 000: CPU features: detected: GIC system register CPU interface
[ 0.000000] 000: Built 1 zonelists, mobility grouping on. Total pages: 105984
[ 0.000000] 000: Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 isolcpus=1-3 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),57216k@8m(ospi.rootfs),128k(ospi.phypattern) root=PARTUUID=9ffb92f1-02 rw rootfstype=ext4 rootwait
[ 0.000000] 000: Dentry cache hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.000000] 000: Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.000000] 000: mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] 000: Memory: 930400K/440320K available (8446K kernel code, 612K rwdata, 3088K rodata, 1344K init, 417K bss, 18446744073709036960K reserved, 24576K cma-reserved)
[ 0.000000] 000: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] 000: rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] 000: rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] 000: rcu: RCU priority boosting: priority 1 delay 500 ms.
[ 0.000000] 000: rcu: RCU_SOFTIRQ processing moved to rcuc kthreads.
[ 0.000000] 000: No expedited grace period (rcu_normal_after_boot).
[ 0.000000] 000: Tasks RCU enabled.
[ 0.000000] 000: rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] 000: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] 000: NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] 000: GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] 000: GICv3: 960 SPIs implemented
[ 0.000000] 000: GICv3: 0 Extended SPIs implemented
[ 0.000000] 000: GICv3: Distributor has no Range Selector support
[ 0.000000] 000: GICv3: 16 PPIs implemented
[ 0.000000] 000: GICv3: no VLPI support, no direct LPI support
[ 0.000000] 000: GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[ 0.000000] 000: ITS [mem 0x01820000-0x0182ffff]
[ 0.000000] 000: GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[ 0.000000] 000: ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[ 0.000000] 000: ITS@0x0000000001820000: allocated 524288 Devices @bc400000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] 000: ITS: using cache flushing for cmd queue
[ 0.000000] 000: GICv3: using LPI property table @0x00000000bcc30000
[ 0.000000] 000: GIC: using cache flushing for LPI property table
[ 0.000000] 000: GICv3: CPU0: using allocated LPI pending table @0x00000000bcc40000
[ 0.000000] 000: random: get_random_bytes called from start_kernel+0x2bc/0x440 with crng_init=0
[ 0.000000] 000: arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[ 0.000000] 000: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[ 0.000001] 000: sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[ 0.008993] 000: Console: colour dummy device 80x25
[ 0.014034] 000: Calibrating delay loop (skipped), value calculated using timer frequency..
[ 0.022669] 000: 400.00 BogoMIPS (lpj=800000)
[ 0.027127] 000: pid_max: default: 32768 minimum: 301
[ 0.032401] 000: LSM: Security Framework initializing
[ 0.037629] 000: Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.045559] 000: Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.055538] 000: ASID allocator initialised with 32768 entries
[ 0.061622] 000: rcu: Hierarchical SRCU implementation.
[ 0.067477] 000: Platform MSI: gic-its@1820000 domain created
[ 0.073597] 000: PCI/MSI: /bus@100000/interrupt-controller@1800000/gic-its@1820000 domain created
[ 0.083050] 000: smp: Bringing up secondary CPUs ...
[ 0.089281] 001: Detected VIPT I-cache on CPU1
[ 0.093856] 001: GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 0.101343] 001: GICv3: CPU1: using allocated LPI pending table @0x00000000bcc50000
[ 0.109206] 001: CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.117653] 002: Detected VIPT I-cache on CPU2
[ 0.122243] 002: GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
[ 0.129918] 002: GICv3: CPU2: using allocated LPI pending table @0x00000000bcc60000
[ 0.137797] 002: CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
[ 0.146171] 003: Detected VIPT I-cache on CPU3
[ 0.150739] 003: GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
[ 0.158409] 003: GICv3: CPU3: using allocated LPI pending table @0x00000000bcc70000
[ 0.166273] 003: CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[ 0.173538] 000: smp: Brought up 1 node, 4 CPUs
[ 0.178202] 000: SMP: Total of 4 processors activated.
[ 0.183481] 000: CPU features: detected: 32-bit EL0 Support
[ 0.189204] 000: CPU features: detected: CRC32 instructions
[ 0.204248] 000: CPU: All CPU(s) started at EL2
[ 0.208934] 000: alternatives: patching kernel code
[ 0.214891] 000: devtmpfs: initialized
[ 0.229072] 000: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.239543] 000: futex hash table entries: 1024 (order: 5, 131072 bytes, linear)
[ 0.248233] 000: pinctrl core: initialized pinctrl subsystem
[ 0.254933] 000: NET: Registered protocol family 16
[ 0.261816] 000: DMA: preallocated 256 KiB pool for atomic allocations
[ 0.269234] 000: hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.295833] 000: HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.303197] 000: HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.310535] 000: HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.317853] 000: HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.326515] 000: cryptd: max_cpu_qlen set to 1000
[ 0.336529] 000: iommu: Default domain type: Translated
[ 0.342380] 000: SCSI subsystem initialized
[ 0.347440] 000: pps_core: LinuxPPS API ver. 1 registered
[ 0.352998] 000: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.363063] 000: PTP clock support registered
[ 0.367562] 000: EDAC MC: Ver: 3.0.0
[ 0.372334] 000: FPGA manager framework
[ 0.377141] 000: clocksource: Switched to clocksource arch_sys_counter
[ 0.384147] 000: VFS: Disk quotas dquot_6.6.0
[ 0.388690] 000: VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.402332] 000: thermal_sys: Registered thermal governor 'step_wise'
[ 0.408946] 000: thermal_sys: Registered thermal governor 'power_allocator'
[ 0.416582] 000: NET: Registered protocol family 2
[ 0.422237] 000: tcp_listen_portaddr_hash hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.431454] 000: TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.439890] 000: TCP bind hash table entries: 4096 (order: 5, 229376 bytes, linear)
[ 0.447986] 000: TCP: Hash tables configured (established 4096 bind 4096)
[ 0.455128] 000: UDP hash table entries: 256 (order: 3, 32768 bytes, linear)
[ 0.462426] 000: UDP-Lite hash table entries: 256 (order: 3, 32768 bytes, linear)
[ 0.470321] 000: NET: Registered protocol family 1
[ 0.475736] 000: RPC: Registered named UNIX socket transport module.
[ 0.482287] 000: RPC: Registered udp transport module.
[ 0.487565] 000: RPC: Registered tcp transport module.
[ 0.492830] 000: RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.499879] 000: PCI: CLS 0 bytes, default 64
[ 0.505455] 000: hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 0.518897] 000: Initialise system trusted keyrings
[ 0.524123] 000: workingset: timestamp_bits=46 max_order=18 bucket_order=0
[ 0.537845] 000: squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.545023] 000: NFS: Registering the id_resolver key type
[ 0.550694] 000: Key type id_resolver registered
[ 0.555482] 000: Key type id_legacy registered
[ 0.560055] 000: nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.567557] 000: 9p: Installing v9fs 9p2000 file system support
[ 0.587951] 000: Key type asymmetric registered
[ 0.592606] 000: Asymmetric key parser 'x509' registered
[ 0.598113] 000: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.606172] 000: io scheduler mq-deadline registered
[ 0.611277] 000: io scheduler kyber registered
[ 0.618325] 000: pinctrl-single 4301c000.pinmux: 70 pins, size 280
[ 0.625343] 000: pinctrl-single 11c000.pinmux: 185 pins, size 740
[ 0.631891] 000: pinctrl-single 11c2e8.pinmux: 9 pins, size 36
[ 0.643409] 000: k3-ringacc 2b800000.ringacc: Failed to get MSI domain
[ 0.650250] 000: k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[ 0.660906] 000: Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.680074] 000: brd: module loaded
[ 0.693258] 000: loop: module loaded
[ 1.070426] 000: libphy: Fixed MDIO Bus: probed
[ 1.075650] 000: tun: Universal TUN/TAP device driver, 1.6
[ 1.082033] 000: igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[ 1.090535] 000: igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 1.097107] 000: sky2: driver version 1.30
[ 1.102552] 000: VFIO - User Level meta-driver version: 0.3
[ 1.108715] 000: i2c /dev entries driver
[ 1.113866] 000: sdhci: Secure Digital Host Controller Interface driver
[ 1.120680] 000: sdhci: Copyright(c) Pierre Ossman
[ 1.126127] 000: sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.133713] 000: ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: invalid resource
[ 1.142474] 000: optee: probing for conduit method from DT.
[ 1.148251] 000: optee: revision 3.8 (199fca17)
[ 1.153509] 000: optee: initialized driver
[ 1.158442] 000: NET: Registered protocol family 17
[ 1.163686] 000: 9pnet: Installing 9P2000 support
[ 1.168587] 000: Key type dns_resolver registered
[ 1.173888] 000: registered taskstats version 1
[ 1.178562] 000: Loading compiled-in X.509 certificates
[ 0.000000] 000: Booting Linux on physical CPU 0x0000000[ 1.196759] 000: k3-ringacc 2b800000.ringacc: Failed to get MSI domain
000 [0x410fd034]
[ 1.205871] 000: k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[ 1.216981] 000: ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: invalid resource
[ 1.225316] 000: ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
[ 1.286489] 000: random: fast init done
[ 1.298781] 000: omap_i2c 42120000.i2c: bus 0 rev0.12 at 100 kHz
[ 1.305678] 000: omap_i2c 40b00000.i2c: bus 1 rev0.12 at 100 kHz
[ 1.312727] 000: omap_i2c 2000000.i2c: bus 2 rev0.12 at 100 kHz
[ 1.341284] 000: rtc-s35390a 3-0030: error resetting chip
[ 1.347203] 000: rtc-s35390a: probe of 3-0030 failed with error -5
[ 1.353629] 000: omap_i2c 2010000.i2c: bus 3 rev0.12 at 100 kHz
[ 1.360384] 000: omap_i2c 2020000.i2c: bus 4 rev0.12 at 100 kHz
[ 1.367118] 000: omap_i2c 2030000.i2c: bus 5 rev0.12 at 100 kHz
[ 1.373989] 000: ti-sci-intr bus@100000:bus@28380000:bus@42040000:interrupt-controller2: Interrupt Router 156 domain created
[ 1.385703] 000: ti-sci-intr bus@100000:interrupt-controller0: Interrupt Router 100 domain created
[ 1.395089] 000: ti-sci-intr bus@100000:navss@30800000:interrupt-controller1: Interrupt Router 182 domain created
[ 1.405942] 000: ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 179 created
[ 1.419621] 000: k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,32] sci-dev-id:195
[ 1.430008] 000: k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
[ 1.437246] 000: k3-ringacc 2b800000.ringacc: RA Proxy rev. 66348100, num_proxies:64
[ 1.448334] 000: k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:818, gp-rings[304,100] sci-dev-id:187
[ 1.458920] 000: k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
[ 1.466161] 000: k3-ringacc 3c000000.ringacc: RA Proxy rev. 66348100, num_proxies:64
[ 1.474880] 000: 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 8, base_baud = 6000000) is a 8250
[ 1.485114] 000: 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 19, base_baud = 3000000) is a 8250
[ 1.494369] 000: printk: console [ttyS2] enabled
[ 1.494369] 000: printk: console [ttyS2] enabled
[ 1.503735] 000: printk: bootconsole [ns16550a0] disabled
[ 1.503735] 000: printk: bootconsole [ns16550a0] disabled
[ 1.515476] 000: omap8250 2810000.serial: unable to register 8250 port
[ 1.515490] 000: omap8250 2810000.serial: PM domain pd:147 will not be powered off
[ 1.516203] 000: 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 21, base_baud = 3000000) is a 8250
[ 1.546176] 000: gen_74x164_probe enter...
[ 1.546329] 000: gpiochip_add_data_with_key enter..
[ 1.546337] 000: gpiochip_add_data_with_key name=gpiochip0
[ 1.546562] 000: gen_74x164_probe ret=0 [2]
[ 1.553576] 000: mdio name = 46000f00.mdio
[ 1.553582] 000: mdio name = 46000f00.mdio[1]
[ 1.593157] 000: davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[ 1.593170] 000: libphy: 46000f00.mdio: probed
[ 1.595120] 000: davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
[ 1.595155] 000: am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[ 1.595634] 000: am65-cpsw-nuss 46000000.ethernet: Failed to request tx dma channel -517
[ 1.621240] 000: am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[ 1.621783] 000: thermal thermal_zone1: failed to read out thermal zone (-22)
[ 1.621811] 000: thermal thermal_zone2: failed to read out thermal zone (-22)
[ 1.622639] 000: mmc0: CQHCI version 5.10
[ 1.700270] 000: mmc0: SDHCI controller on 4f80000.sdhci [4f80000.sdhci] using ADMA 64-bit
[ 1.701314] 000: mmc1: CQHCI version 5.10
[ 1.721397] 000: mmc_attach_mmc mmc0
[ 1.772924] 000: mmc_attach_mmc mmc0
[ 1.820801] 000: mmc_attach_mmc mmc0
[ 1.880337] 000: mmc_attach_mmc mmc0
[ 2.691779] 000: mmc1: SDHCI controller on 4fa0000.sdhci [4fa0000.sdhci] using ADMA 64-bit
[ 2.701452] 000: gpiochip_add_data_with_key enter..
[ 2.701462] 000: gpiochip_add_data_with_key name=gpiochip1
[ 2.704659] 000: gpiochip_add_data_with_key enter..
[ 2.704669] 000: gpiochip_add_data_with_key name=gpiochip2
[ 2.708727] 000: gpiochip_add_data_with_key enter..
[ 2.708737] 000: gpiochip_add_data_with_key name=gpiochip3
[ 2.712162] 000: omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
[ 2.712583] 000: omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
[ 2.714326] 000: ti-udma 285c0000.dma-controller: Channels: 28 (tchan: 14, rchan: 14, gp-rflow: 16)
[ 2.726456] 000: ti-udma 31150000.dma-controller: Channels: 119 (tchan: 53, rchan: 66, gp-rflow: 64)
[ 2.733991] 000: mmc_add_card mmc1
[ 2.734001] 000: mmc1: new high speed SDHC card at address 59b4
[ 2.744166] 000: mmcblk1: mmc1:59b4 USDU1 28.3 GiB
[ 2.745635] 000: 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 20, base_baud = 3000000) is a 8250
[ 2.748050] 000: mmcblk1: p1 p2
[ 2.815191] 000: spi-nor spi9.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[ 2.815217] 000: spi-nor: probe of spi9.0 failed with error -2
[ 2.816211] 000: mdio name = 46000f00.mdio
[ 2.816217] 000: mdio name = 46000f00.mdio[1]
[ 2.853156] 000: davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[ 2.853168] 000: libphy: 46000f00.mdio: probed
[ 2.853181] 000: call to get_phy_device addr=3 is_c45=0
[ 2.855132] 000: davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
[ 2.855166] 000: am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[ 2.856845] 000: am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[ 2.861409] 000: am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 57.4
[ 2.861417] 000: am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[ 2.881237] 000: am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[ 2.896125] 000: debugfs: Directory 'pd:121' with parent 'pm_genpd' already present!

Thanks.

Eric

  • Hi Ti,

    For eMMC, do you have any AVL(Available Vendor List)?

    Thanks.

  • Eric, 

    it seems the Samsung eMMC was not detected from the Linux boot log. can you also confirm if you can find it under u-boot, by issuing:

    U-Boot# mmc list

    if do, you can partition the emmc per:
    https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/08_00_00_04/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html

    otherwise, we will need to focus on hardware debug first. can you confirm both the ISSI and Samsung devices are configured to operate at 1.8v IO and HS200? I saw Samsung support dual IO voltage to accommodate slower speed, but please confirm if there are pins to set it at 1.8v by default?

    If hardware is good, we may need to try to play with delay parameters in the driver device tree configuration:

    sdhci0: mmc@4f80000 {
    compatible = "ti,am654-sdhci-5.1";
    reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
    power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
    clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
    clock-names = "clk_ahb", "clk_xin";
    interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
    mmc-ddr-1_8v;
    mmc-hs200-1_8v;
    ti,otap-del-sel-legacy = <0x0>;
    ti,otap-del-sel-mmc-hs = <0x0>;
    ti,otap-del-sel-sd-hs = <0x0>;
    ti,otap-del-sel-sdr12 = <0x0>;
    ti,otap-del-sel-sdr25 = <0x0>;
    ti,otap-del-sel-sdr50 = <0x8>;
    ti,otap-del-sel-sdr104 = <0x7>;
    ti,otap-del-sel-ddr50 = <0x5>;
    ti,otap-del-sel-ddr52 = <0x5>;
    ti,otap-del-sel-hs200 = <0x5>;  //this was set as the default for the EVM, Samsung device may be different. (0-32 is the range)

    as the last step, we may need to set the clock speed slower (see SDR104) then try to bring up the device first. 

    regards

    Jian

  • Hi

    I have tried it in uboot. It cannot be detect.

    I tried to use mmc rescan command below:

    => mmc rescan
    find_mmc_device return mmc0
    sdhci@4f80000 mmc_init call mmc_start_init
    sdhci_send_command mmc_dev=0...
    sdhci_send_command mmc_dev=0...
    sdhci_send_command mmc_dev=0 return timeout!!
    (2639) sdhci@4f80000 mmc_send_if_cond = -110 cmd=8
    sdhci@4f80000 mmc_get_op_cond err=-110! [3]
    sdhci_send_command mmc_dev=0...
    sdhci_send_command mmc_dev=0 return timeout!!
    sdhci@4f80000 mmc_get_op_cond err=-110! [4]
    sdhci@4f80000 mmc_get_op_cond call mmc_send_op_cond
    sdhci_send_command mmc_dev=0...
    mmc_send_op_cond_iter cmdarg=0, voltage=3539072
    sdhci_send_command mmc_dev=0...
    sdhci_send_command mmc_dev=0 return timeout!!
    mmc_send_op_cond_iter err=-110!
    sdhci@4f80000 mmc_send_op_cond err=-110!
    sdhci@4f80000 Card did not respond to voltage select!
    mmc_init sdhci@4f80000: -95, time 80

    There are logs I add for debugging, but you can see there is timeout happened when call into mmc_start_init.

    I also tried to modify dts as your comment, but the timeout still happened.

    Please check if the modification is correct or not. I tried to extend the delay parameter to 0x20.

    And is there any other configuration for us to fine tune in uboot for eMMC?

    sdhci0: sdhci@4f80000 {
    compatible = "ti,am654-sdhci-5.1";
    reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
    power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
    clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
    clock-names = "clk_ahb", "clk_xin";
    interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
    mmc-ddr-1_8v;
    sd-uhs-sdr104;//mmc-hs200-1_8v;
    ti,otap-del-sel-legacy = <0x0>;
    ti,otap-del-sel-mmc-hs = <0x0>;
    ti,otap-del-sel-sd-hs = <0x0>;
    ti,otap-del-sel-sdr12 = <0x0>;
    ti,otap-del-sel-sdr25 = <0x0>;
    ti,otap-del-sel-sdr50 = <0x8>;
    ti,otap-del-sel-sdr104 = <0x5>;
    ti,otap-del-sel-ddr50 = <0x5>;
    ti,otap-del-sel-ddr52 = <0x5>;
    ti,otap-del-sel-hs200 = <0x20>;
    ti,otap-del-sel-hs400 = <0x0>;
    ti,trm-icp = <0x8>;
    dma-coherent;
    };

    Thanks.

    Eric

  • Hi

    Is there any configuration in uboot can try for eMMC?

    Thanks.

    Eric

  • Eric, 

    I close the u-boot thread at:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1050049/am6548-card-did-not-respond-to-voltage-select-for-mmc0

    so we can track Samsung debug. Please let me know if you made any progress recently. 

    If not, can you also confirm what is the ITAP delay you set for Samsung. If you have not set yet, please try ITAP delay of 5, as documented in the datasheet. 

    regards

    Jian

  • Hi

    I have migrated to SDK8_0_0_2 to test.

    According to your response, I modified the k3-am65-main.dtsi as below,  but it still cannot detect in uboot. Attached the log.

    samsung uboot.txt
    U-Boot SPL 2021.01-dirty (Dec 10 2021 - 10:20:26 +0800)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
    Reading on-board EEPROM at 0x50 failed 1
    SPL initial stack usage: 1432 bytes
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.5(release):08.00.00.004-dirty
    NOTICE:  BL31: Built : 14:11:00, Aug  7 2021
    
    U-Boot SPL 2021.01-dirty (Dec 10 2021 - 10:19:14 +0800)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
    Reading on-board EEPROM at 0x50 failed 1
    Detected: Silicon SR2.0
    Trying to boot from MMC2
    sdhci@4fa0000 mmc_init call mmc_start_init
    sdhci@4fa0000 mmc_init call mmc_complete_init
    
    
    U-Boot 2021.01-dirty (Dec 10 2021 - 10:19:14 +0800)
    
    SoC:   AM65X SR2.0
    Model: Texas Instruments AM654 Base Board
    Reading on-board EEPROM at 0x50 failed 1
    Board: AM6-COMPROCEVM rev E3
    DRAM:  1 GiB
    MMC:   sdhci@4f80000: 0, sdhci@4fa0000: 1
    Loading Environment from MMC... sdhci@4f80000 mmc_init call mmc_start_init
    *** mmc_go_idle ***
    *** mmc_send_if_cond ***
    (2702) sdhci@4f80000 mmc_send_if_cond = -110 cmd=8
    sdhci@4f80000 mmc_get_op_cond call mmc_send_op_cond
    *** mmc_send_op_cond ***
    *** mmc_go_idle ***
    *** mmc_send_op_cond_iter ***
    *** mmc_send_op_cond_iter cmdarg=0, voltage=3539072 ***
    mmc_send_op_cond_iter err=-110!
    sdhci@4f80000 mmc_send_op_cond err=-110!
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 57
    *** Warning - No block device, using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    Reading on-board EEPROM at 0x50 failed 1
    Detected: Silicon SR2.0
    ax58100_rst_control value=0
    ax58100_phy_rst value=0
    ecat2_phy_rst value=0
    eth0_phy_rst value=0
    eth1_phy_rst value=0
    Net:   am65_cpsw_nuss_slave ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00102 cpsw_ver: 0x6BA80102 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    eth0: ethernet@46000000
    Hit any key to stop autoboot:  0
    => mmc info
    sdhci@4f80000 mmc_init call mmc_start_init
    *** mmc_go_idle ***
    *** mmc_send_if_cond ***
    (2702) sdhci@4f80000 mmc_send_if_cond = -110 cmd=8
    sdhci@4f80000 mmc_get_op_cond call mmc_send_op_cond
    *** mmc_send_op_cond ***
    *** mmc_go_idle ***
    *** mmc_send_op_cond_iter ***
    *** mmc_send_op_cond_iter cmdarg=0, voltage=3539072 ***
    mmc_send_op_cond_iter err=-110!
    sdhci@4f80000 mmc_send_op_cond err=-110!
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 57
    => mmc rescan
    sdhci@4f80000 mmc_init call mmc_start_init
    *** mmc_go_idle ***
    *** mmc_send_if_cond ***
    (2702) sdhci@4f80000 mmc_send_if_cond = -110 cmd=8
    sdhci@4f80000 mmc_get_op_cond call mmc_send_op_cond
    *** mmc_send_op_cond ***
    *** mmc_go_idle ***
    *** mmc_send_op_cond_iter ***
    *** mmc_send_op_cond_iter cmdarg=0, voltage=3539072 ***
    mmc_send_op_cond_iter err=-110!
    sdhci@4f80000 mmc_send_op_cond err=-110!
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 56
    =>
    

    sdhci0: sdhci@4f80000 {
    compatible = "ti,am654-sdhci-5.1";
    reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
    power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
    clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
    clock-names = "clk_ahb", "clk_xin";
    interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
    mmc-ddr-1_8v;
    mmc-hs400-1_8v;
    ti,otap-del-sel-legacy = <0x0>;
    ti,otap-del-sel-mmc-hs = <0x0>;
    ti,otap-del-sel-sd-hs = <0x0>;
    ti,otap-del-sel-sdr12 = <0x0>;
    ti,otap-del-sel-sdr25 = <0x0>;
    ti,otap-del-sel-sdr50 = <0x8>;
    ti,otap-del-sel-sdr104 = <0x5>;
    ti,otap-del-sel-ddr50 = <0x5>;
    ti,otap-del-sel-ddr52 = <0x5>;
    ti,otap-del-sel-hs200 = <0x5>;
    ti,otap-del-sel-hs400 = <0x0>;
    ti,itap-del-sel-legacy = <0xa>;
    ti,itap-del-sel-mmc-hs = <0x5>;
    ti,itap-del-sel-sdr12 = <0xa>;
    ti,itap-del-sel-sdr25 = <0x1>;
    ti,clkbuf-sel = <0x7>;
    ti,trm-icp = <0x8>;
    dma-coherent;
    };

    Below is some info from eMMC spec, it should support hs200&hs400 mode.

    Eric

  • Eric, 

    HS400 is not supported on AM65. Can you drop it down to HS200 or SDR104?

    Jian

  • Hi Jian,

    I have tried to set HS200 or SDR104, both case cannot detect it.

    Eric

  • Eric, 

    Just circle back to the problem symptom:

     - did Samsung device ever worked?

     - did you compare the register and command set between ISSI and Samsung?

    I first thought it was a tuning issue, but reading back wanted to double check. If it is caused by command registers, I may need to ask our driver team to take a look. 

    Jian

  • Hi Jian,

    No, Samsung device is new to us, it never work on our EVM board.

    For register set, I compare both eMMC as below.

    And I don't know command set clearly. They both follow JEDEC.

    Is there any config to set related to below register in uboot or kernel?

        Samsung ISSI
    CID [127:120] 0x15 0x9D
    CSD [119:112] 0x27 0x4F
      [61:59] 0x6 0x7
      [58:56] 0x6 0x7
      [55:53] 0x6 0x7
      [52:50] 0x6 0x7
      [28:26] 0x3 0x2
      [7:1]   0x30
    Ext CSD [501] 0x3F 0x3C
      [500] 0x3F 0x3C
      [498] 0x2 0x3
      [495] 0x7 0x3
      [493] 0x3 0x1
      [490:487] 0xC7810000 65535
      [308] 0x1  
      [307] 0xF  
      [266] 0x0 0x1
      [265] 0x8 0x4
      [261:254] 0x1  
      [252:249] 0x10000 1024
      [248] 0xA 0x19
      [247] 0x3C 0xFF
      [241] 0x1E 0x64
      [232] 0x2 0x11
      [229] 0x11 0x1B
      [226] 0x20 0x10/0x80
      [225] 0x7 0x64
      [223] 0x1 0x11
      [220] 0x7 0xA
      [219] 0x7 0xB
      [218] 0x0 0x14
      [217] 0x11 0x13
      [216] 0x7 0xF
      [215:212] 0xE90000 7634944/7471104
      [211] 0x1  
      [210] 0x0 0x8
      [209] 0x0 0x8
      [208] 0x0 0x8
      [207] 0x0 0x8
      [206] 0x0 0x8
      [205] 0x0 0x8
      [199] 0x2 0x3
      [198] 0xA 0x4
      [192] 0x8 0x7
      [184] 0x1  
      [183] 0x0 0x2
      [168] 0x4 0x4/0x1
      [166] 0x14 0x4
      [159:157] 0x1D2 233/228
      [21:18] 0x0 3784704/3702784
      [17] 0x0 0x1
      [16] 0x39 0x1

    Eric

  • Hi Jian,

    Any update about this?

    Eric

  • Hi Eric,

    Is this issue still open for you?

    regards

    Suman

  • Hi

    Yes, we still have this issue.

    Is there any setting for us to fine tune or do you have any eMMC support list of AM654?

    Eric

  • Hi Eric,

    I have taken a quick look at the Samsung part, and it does satisfy eMMC 5.1 requirements, so it looks to be a compatible part. HS400 is definitely not supported on AM65x (as Jian mentioned above).

    I am trying to understand your setup. Are you using the same board with just two different eMMC parts, or are they two completely different boards?

    And you are using the exact same kernel dts with both boards?

    regards

    Suman 

  • Hi ,

    They are two boards and the difference is only eMMC, others are all the same.

    Yes, the same kernel dts. 

    We use the same SD card to test the two boards. So, only eMMC different.

    The other info provided to you.

    Originally, we are using SDK 07.01.00.18, and only ISSI can work, samsung eMMC doesn't.

    But both cannot work when testing with SDK 8.

    Maybe some difference between SDK7 & 8 could be the hint.

    Eric

  • Hi Eric,

    Please bear with me while we work through the issues, there are lot of variables here. Let's try to get your ISSI working on latest 8.x SDK baseline first.

    Can you please provide the following:

    1. Is the dts node you copied above the latest you are using, and is that in kernel or U-Boot? I don't see this mmc-hs400-1_8v property defined rightfully in any of our SoC files. Are you still using this? This should ideally be mmc-hs200-1_8v.

    2. How are you building your board dts in kernel? Do you have your own copy of k3-am65-main.dtsi or just leveraging the TI SDK dtsi files and making modifications to your board dts file which includes the TI k3-am65-main.dtsi files?

    3. What is the exact SoC part number you are using? Is it a Silicon Revision 1.0 or 2.0?

    4. Can you provide a schematic of your eMMC?

    regards

    Suman

  • Eric,

    AM654 MMC module was characterized with respect to the industrial specification documented in the data manual, so if the eMMC device supports the corresponding JEDEC spec, then it should be supported.

    Based on your log it appears the system encountered data timeouts.  Would you be able to add additional debug information such that you can print out the CMD and RSP being transmitted by the system, as well as share the register dump when failure happened (MMC Host Control registers + MMCSD0_SS_PHY_CTRL4 and MMCSD0_SS_PHY_CTRL5).

    Please also check the MMC I/O voltage level is steady at 1.8 V during the entire operation, and there are no signal conflicts on the path from SoC to eMMC memory.  Note there should be PUs on the data lines to avoid floating; the PUs are also needed during data operation since a level 0 on DAT0 means device busy.  

    Thanks & Regards,

    Shiou Mei

  • Hi

    1. The dts I attached is in uboot. From Jian's suggestion, I have tried mmc-hs200-1_8v, mmc-hs400-1_8v and also mmc-sdr104-1_8v, all of them cannot work.

    2. I build the dts file by modifying Ti's files directly.

    3.My SoC is AM6548BACDXEAF SR2.0.

    Attached the schematic.

    IS21_22ES04G-1315781.pdfSamsung eMMC-2611204514.pdf

    Eric

  • Hi

    Do you have exactly debug point for me to add more logs? in U-boot or kernel?

    Eric

  • Eric,

    Have you managed to resolve this issue?

    Thanks,

    Kyle