AM62A7-Q1: Board stops at "Waiting for root device PARTUUID"

Part Number: AM62A7-Q1

Tool/software:

Hi Ti expert,

I am working on custom board.

Our board stops after the below logs: -

U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
k3_ddrss_probe(dev=43c34a2c)
k3_ddrss_ofdata_to_priv(dev=43c34a2c)
k3_ddrss memory-controller@f300000: ddr freq0 not populated, using bypass frequency.
k3_ddrss_power_on(ddrss=43c39a40)
k3_ddrss memory-controller@f300000: vtt-supply not found.
k3_lpddr4_probe: PASS
k3_lpddr4_init: PASS
--->>> LPDDR4 Initialization is in progress ... <<<---
k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 0, instance = 0
k3_lpddr4_freq_update: received freq change req: req type = 0, req no. = 1, instance = 0
k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 2, instance = 0
k3_lpddr4_start: Post start PASS
am62a_init: board_init_f done
SPL initial stack usage: 17064 bytes
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Trying to boot from MMC2
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE:  BL31: Built : 16:09:05, Feb  9 2024

U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
am62a_init: board_init_f done
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Trying to boot from MMC2
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed
am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
Authentication passed


U-Boot 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)

SoC:   AM62AX SR1.0 HS-FS
Model: Texas Instruments AM62A7 SK
DRAM:  2 GiB (effective 4 GiB)
Core:  59 devices, 28 uclasses, devicetree: separate
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
Net:   eth0: ethernet@8000000port@1
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
639 bytes read in 22 ms (28.3 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
## Error: "main_cpsw0_qsgmii_phyinit" not defined
19378688 bytes read in 797 ms (23.2 MiB/s)
58241 bytes read in 27 ms (2.1 MiB/s)
Working FDT set to 88000000
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
   Loading Device Tree to 000000008feee000, end 000000008fffffff ... OK
Working FDT set to 8feee000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.80-ti-g2e423244f8c0 (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Wed Mar 20 14:43:33 UTC 2024
[    0.000000] Machine model: Texas Instruments AM62A7 SK
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000c0000000, size 576 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000099800000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c7x-dma-memory@99800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000099900000, size 30 MiB
[    0.000000] OF: reserved mem: initialized node c7x-memory@99900000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b900000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c900000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 32 MiB
[    0.000000] OF: reserved mem: initialized node edgeai-dma-memory@a1000000, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: initialized node edgeai_shared-memories, compatible id dma-heap-carveout
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ae000000, size 288 MiB
[    0.000000] OF: reserved mem: initialized node edgeai-core-heap-memory@ae000000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000997fffff]
[    0.000000]   node   0: [mem 0x0000000099800000-0x000000009b7fefff]
[    0.000000]   node   0: [mem 0x000000009b800000-0x000000009e6fffff]
[    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
[    0.000000]   node   0: [mem 0x000000009e780000-0x00000000a2ffffff]
[    0.000000]   node   0: [mem 0x00000000a3000000-0x00000000adffffff]
[    0.000000]   node   0: [mem 0x00000000ae000000-0x00000000bfffffff]
[    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
[    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 20 pages/cpu s41064 r8192 d32664 u81920
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032191
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern) root=PARTUUID=de396e2c-02 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[    0.000000] Memory: 2808832K/4194300K available (11712K kernel code, 1260K rwdata, 3816K rodata, 1984K init, 440K bss, 795644K reserved, 589824K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @880800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000880040000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000880050000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.008545] Console: colour dummy device 80x25
[    0.013146] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.023829] pid_max: default: 32768 minimum: 301
[    0.028600] LSM: Security Framework initializing
[    0.033443] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.041026] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.050730] cblist_init_generic: Setting adjustable number of callback queues.
[    0.058177] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.064475] cblist_init_generic: Setting adjustable number of callback queues.
[    0.071872] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.078256] rcu: Hierarchical SRCU implementation.
[    0.083164] rcu:     Max phase no-delay instances is 1000.
[    0.088751] Platform MSI: msi-controller@1820000 domain created
[    0.095059] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.104463] EFI services will not be available.
[    0.109353] smp: Bringing up secondary CPUs ...
[    0.114631] Detected VIPT I-cache on CPU1
[    0.114732] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.114751] GICv3: CPU1: using allocated LPI pending table @0x0000000880060000
[    0.114810] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.115485] Detected VIPT I-cache on CPU2
[    0.115563] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[    0.115578] GICv3: CPU2: using allocated LPI pending table @0x0000000880070000
[    0.115612] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.116210] Detected VIPT I-cache on CPU3
[    0.116287] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[    0.116300] GICv3: CPU3: using allocated LPI pending table @0x0000000880080000
[    0.116333] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.116403] smp: Brought up 1 node, 4 CPUs
[    0.196153] SMP: Total of 4 processors activated.
[    0.200967] CPU features: detected: 32-bit EL0 Support
[    0.206242] CPU features: detected: CRC32 instructions
[    0.211556] CPU: All CPU(s) started at EL2
[    0.215755] alternatives: applying system-wide alternatives
[    0.223308] devtmpfs: initialized
[    0.235478] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.245489] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.273599] pinctrl core: initialized pinctrl subsystem
[    0.279572] DMI not present or invalid.
[    0.284121] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.291216] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.298697] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.306789] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.314970] audit: initializing netlink subsys (disabled)
[    0.320639] audit: type=2000 audit(0.212:1): state=initialized audit_enabled=0 res=1
[    0.328574] thermal_sys: Registered thermal governor 'step_wise'
[    0.328579] thermal_sys: Registered thermal governor 'power_allocator'
[    0.334762] cpuidle: using governor menu
[    0.345606] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.352629] ASID allocator initialised with 65536 entries
[    0.368340] platform a40000.pinctrl: Fixed dependency cycle(s) with /bus@f0000/pinctrl@a40000/cpsw-cpts
[    0.381195] KASLR disabled due to lack of seed
[    0.392332] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.399304] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.405715] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.412655] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.419063] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.426003] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.432412] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.439351] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.447261] k3-chipinfo 43000014.chipid: Family:AM62AX rev:SR1.0 JTAGID[0x0bb8d02f] Detected
[    0.457579] iommu: Default domain type: Translated
[    0.462588] iommu: DMA domain TLB invalidation policy: strict mode
[    0.469284] SCSI subsystem initialized
[    0.473454] usbcore: registered new interface driver usbfs
[    0.479098] usbcore: registered new interface driver hub
[    0.484554] usbcore: registered new device driver usb
[    0.490183] pps_core: LinuxPPS API ver. 1 registered
[    0.495268] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.504619] PTP clock support registered
[    0.508760] EDAC MC: Ver: 3.0.0
[    0.512826] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fca100
[    0.519671] omap-mailbox 29010000.mailbox: omap mailbox rev 0x66fca100
[    0.526485] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fca100
[    0.533215] omap-mailbox 29030000.mailbox: no available mbox devices found
[    0.540557] FPGA manager framework
[    0.544111] Advanced Linux Sound Architecture Driver Initialized.
[    0.551298] clocksource: Switched to clocksource arch_sys_counter
[    0.557789] VFS: Disk quotas dquot_6.6.0
[    0.561845] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.574824] Carveout Heap: Exported 176 MiB at 0x00000000a3000000
[    0.581188] NET: Registered PF_INET protocol family
[    0.586414] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.596960] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.605786] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.613728] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.622039] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.630640] TCP: Hash tables configured (established 32768 bind 32768)
[    0.637554] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.644545] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.652114] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.658382] RPC: Registered named UNIX socket transport module.
[    0.664461] RPC: Registered udp transport module.
[    0.669272] RPC: Registered tcp transport module.
[    0.674081] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.680672] NET: Registered PF_XDP protocol family
[    0.685586] PCI: CLS 0 bytes, default 64
[    0.690343] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.700424] Initialise system trusted keyrings
[    0.705243] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.716286] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.722877] NFS: Registering the id_resolver key type
[    0.728103] Key type id_resolver registered
[    0.732381] Key type id_legacy registered
[    0.736532] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.743388] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.787339] Key type asymmetric registered
[    0.791534] Asymmetric key parser 'x509' registered
[    0.796569] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.804301] io scheduler mq-deadline registered
[    0.808939] io scheduler kyber registered
[    0.816458] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[    0.823029] pinctrl-single f4000.pinctrl: 151 pins, size 604
[    0.830395] pinctrl-single a40000.pinctrl: 512 pins, size 2048
[    0.842659] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
[    0.858580] loop: module loaded
[    0.863172] megasas: 07.719.03.00-rc1
[    0.869962] tun: Universal TUN/TAP device driver, 1.6
[    0.875969] VFIO - User Level meta-driver version: 0.3
[    0.882001] usbcore: registered new interface driver usb-storage
[    0.888743] i2c_dev: i2c /dev entries driver
[    0.894686] sdhci: Secure Digital Host Controller Interface driver
[    0.901036] sdhci: Copyright(c) Pierre Ossman
[    0.905708] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.912299] ledtrig-cpu: registered to indicate activity on CPUs
[    0.918634] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    0.925589] usbcore: registered new interface driver usbhid
[    0.931293] usbhid: USB HID core driver
[    0.936094] optee: probing for conduit method.
[    0.940680] optee: revision 4.1 (012cdca4)
[    0.940986] optee: dynamic shared memory is enabled
[    0.950554] optee: initialized driver
[    0.956041] Initializing XFRM netlink socket
[    0.960471] NET: Registered PF_PACKET protocol family
[    0.965737] Key type dns_resolver registered
[    0.970518] registered taskstats version 1
[    0.974737] Loading compiled-in X.509 certificates
[    0.988326] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
[    1.037346] i2c 0-0048: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/pmic@48/regulators/buck5
[    1.047186] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[    1.054477] pca953x 1-0023: supply vcc not found, using dummy regulator
[    1.061399] pca953x 1-0023: using AI
[    1.087459] pca953x 1-0023: failed writing register
[    1.092615] pca953x: probe of 1-0023 failed with error -121
[    1.098889] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[    1.105679] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
[    1.111624] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
[    1.119960] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[    1.129178] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[    1.138194] ti-sci-inta 4e0a0000.interrupt-controller: Interrupt Aggregator domain 200 created
[    1.148472] ti-udma 485c0100.dma-controller: Number of rings: 82
[    1.156661] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[    1.167642] ti-udma 485c0000.dma-controller: Number of rings: 150
[    1.177553] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[    1.186996] ti-udma 4e230000.dma-controller: Number of rings: 6
[    1.193524] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
[    1.202926] printk: console [ttyS2] disabled
[    1.207371] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 253, base_baud = 3000000) is a 8250
[    1.216262] printk: console [ttyS2] enabled
[    1.216262] printk: console [ttyS2] enabled
[    1.224720] printk: bootconsole [ns16550a0] disabled
[    1.224720] printk: bootconsole [ns16550a0] disabled
[    1.237166] spi-nand spi0.0: Winbond SPI NAND was found.
[    1.242508] spi-nand spi0.0: 128 MiB, block size: 256 KiB, page size: 4096, OOB size: 128
[    1.250890] 7 fixed-partitions partitions found on MTD device spi0.0
[    1.257246] Creating 7 MTD partitions on "spi0.0":
[    1.262032] 0x000000000000-0x000000080000 : "ospi_nand.tiboot3"
[    1.269451] 0x000000080000-0x000000280000 : "ospi_nand.tispl"
[    1.277183] 0x000000280000-0x000000680000 : "ospi_nand.u-boot"
[    1.285726] 0x000000680000-0x0000006c0000 : "ospi_nand.env"
[    1.292485] 0x0000006c0000-0x000000700000 : "ospi_nand.env.backup"
[    1.299924] 0x000002000000-0x000007fc0000 : "ospi_nand.rootfs"
[    1.345000] 0x000007fc0000-0x000008000000 : "ospi_nand.phypattern"
[    1.391344] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.401464] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver Micrel KSZ9031 Gigabit PHY
[    1.410996] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
[    1.423785] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[    1.430913] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[    1.437364] pps pps0: new PPS source ptp0
[    1.441653] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
[    1.452091] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[    1.461174] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1200000 KHz, changing to: 1250000 KHz
[    1.473745] mmc0: CQHCI version 5.10
[    1.518755] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[    1.578309] mmc0: Command Queue Engine enabled
[    1.582776] mmc0: new HS200 MMC card at address 0001
[    1.588985] mmcblk0: mmc0:0001 AAM20E 29.6 GiB
[    1.596761] mmcblk0boot0: mmc0:0001 AAM20E 31.5 MiB
[    1.603427] mmcblk0boot1: mmc0:0001 AAM20E 31.5 MiB
[    1.609287] mmcblk0rpmb: mmc0:0001 AAM20E 4.00 MiB, chardev (240:0)
[    1.892164] tps6594-rtc tps6594-rtc.4.auto: registered as rtc0
[    1.898240] tps6594-rtc tps6594-rtc.4.auto: hctosys: unable to read the hardware clock
[    1.906897] pca953x 1-0022: supply vcc not found, using dummy regulator
[    1.913671] pca953x 1-0022: using AI
[    1.917467] pca953x 1-0022: failed writing register
[    1.922516] pca953x: probe of 1-0022 failed with error -121
[    1.931854] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    1.940838] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    1.948179] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    1.962528] ALSA device list:
[    1.965538]   No soundcards found.
[    1.970018] Waiting for root device PARTUUID=de396e2c-02...
[   12.198561] platform fa00000.mmc: deferred probe pending
[   12.204030] platform 2b300050.target-module: deferred probe pending
[   12.210376] platform regulator-3: deferred probe pending

Board is waiting for root device.

Regards,

Satyajeet Singh 

  • Hello,

    If your custom board doesn't support voltage switch mechanism then you would need to disable the UHS modes

    e2e.ti.com/.../sk-am62p-lp-how-to-set-sd-card-to-3-3v-only-low-speed

  • Hi Prashant,

    Our schematic design is referenced form the EVK. 

    Difference: -

    1. MMC1_SD_EN is directly connected to SOC pin M18

    2. Load switch part no is changed (TPS22810TDBVRQ1)

    for this i have changed in dts file 

    vdd_mmc1: regulator-3 {
    /* TPS22918DBVR */
    compatible = "regulator-fixed";
    regulator-name = "vdd_mmc1";
    pinctrl-names = "default";
    pinctrl-0 = <&vdd_mmc1_pins_default>;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    enable-active-high;
    /* gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */
    gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
    };

    vdd_mmc1_pins_default: vdd_mmc1-pins-default {
    pinctrl-single,pins = <
    AM62AX_IOPAD(0x094, PIN_OUTPUT, 7) /* (M18) GPMC0_BE1n.GPIO0_36 SD card supply*/
    >;
    };

    Regards 

    Satyajeet 

  • Hello,

    Did you do the changes in both the U-Boot and Kernel DTS?

    From the A53 U-Boot prompt, could you please share the output of the following commands

    => mmc dev 1
    => mmc info

    Thanks!

  • Yes, i have changed in both the files.

    Logs are attached as you asked.

    U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    k3_ddrss_probe(dev=43c34a2c)
    k3_ddrss_ofdata_to_priv(dev=43c34a2c)
    k3_ddrss memory-controller@f300000: ddr freq0 not populated, using bypass frequency.
    k3_ddrss_power_on(ddrss=43c39a40)
    k3_ddrss memory-controller@f300000: vtt-supply not found.
    k3_lpddr4_probe: PASS
    k3_lpddr4_init: PASS
    --->>> LPDDR4 Initialization is in progress ... <<<---
    k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 0, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 0, req no. = 1, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 2, instance = 0
    k3_lpddr4_start: Post start PASS
    am62a_init: board_init_f done
    SPL initial stack usage: 17064 bytes
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Trying to boot from MMC2
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Trying to boot from MMC2
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x243 bootmedia = 0x8 bootindex = 0
    Authentication passed
    
    
    U-Boot 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: Texas Instruments AM62A7 SK
    DRAM:  2 GiB (effective 4 GiB)
    Core:  59 devices, 28 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    => mmc dev 1
    switch to partitions #0, OK
    mmc1 is current device
    => mmc info
    Device: mmc@fa00000
    Manufacturer ID: 9f
    OEM: 5449
    Name: SD32G
    Bus Speed: 50000000
    Mode: SD High Speed (50MHz)
    Rd Block Len: 512
    SD version 3.0
    High Capacity: Yes
    Capacity: 29.1 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes
    =>
    

    we have verified the I2C communication between SOC and PMIC. The communication is same as in the EVK.

    In EVK voltage of LD01 goes 3V3 to 1V8 after I2C communication but in our custom board LDO1 output is 3V3.

    on the PMIC side i have verified the signals also 

    In EVK: -

    • MMC1_SDCARD_EN is always high.
    • VSEL_SD_SOC goes low when the PMIC LDO1 supply goes 1V8.

    Our Board: -

    • MMC1_SDCARD_EN is always high.
    • VSEL_SD_SOC always high

    i have changed the dts file below path: -

    1. /sdk9.02/yocto-build/build/arago-tmp-default-baremetal-k3r5/work/am62axx_evm_k3r5-oe-eabi/u-boot-ti-staging/1_2023.04+gitAUTOINC+f9b966c674-r0_tisdk_3_edgeai_4/srcipk-staging/board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966c674/arch/arm/dts/k3-am62a7-sk.dts
    2. /sdk9.02/yocto-build/build/arago-tmp-default-glibc/work/am62axx_evm-oe-linux/linux-ti-staging/6.1.80+gitAUTOINC+2e423244f8-r0b.arago5_tisdk_3_edgeai_0_edgeai_8/packages-split/linux-ti-staging-src/board-support/ti-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
    3. /sdk9.02/yocto-build/build/arago-tmp-default-glibc/work/am62axx_evm-oe-linux/linux-ti-staging/6.1.80+gitAUTOINC+2e423244f8-r0b.arago5_tisdk_3_edgeai_0_edgeai_8/srcipk-staging/board-support/ti-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
    4. /sdk9.02/yocto-build/build/arago-tmp-default-glibc/work/am62axx_evm-oe-linux/u-boot-ti-staging/1_2023.04+gitAUTOINC+f9b966c674-r0_tisdk_3_edgeai_4/srcipk-staging/board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966c674/arch/arm/dts/k3-am62a7-sk.dts

    Q. Who is responsible for voltage change of LDO1 --> VSEL_SD_SOC or I2C communication.

    Please support as soon as possible

  • Hello,

    => mmc info
    Device: mmc@fa00000
    Manufacturer ID: 9f
    OEM: 5449
    Name: SD32G
    Bus Speed: 50000000
    Mode: SD High Speed (50MHz)

    This suggests that the A53 U-Boot is initializing the SD card in HS speed mode only which does not require voltage switching from 3.3V to 1.8V. This is not the default speed mode so you must have disabled the higher speed modes in the U-Boot DTS. If you have, you may disable these in the Kernel DTS as well for the time being to successfully boot the Kernel.

    If in doubt, please share your the "u-boot.img" and the Kernel DTS file that are being booted on the board.

  • Hello,

    I have tried to disable the higher speed in kernel DTS, but still the board stop at same stage.

    I have rechecked the mmc info on another board i am getting different logs 

    Logs: -

    These logs are as we are getting in EVK.

    I have attached the kernel DTS file: -

    // SPDX-License-Identifier: GPL-2.0
    /*
     * AM62A SK: https://www.ti.com/lit/zip/sprr459
     *
     * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include "k3-am62a7.dtsi"
    #include "k3-am62a-sk-binman.dtsi"
    
    / {
    	compatible =  "ti,am62a7-sk", "ti,am62a7";
    	model = "Texas Instruments AM62A7 SK";
    
    	aliases {
    		serial2 = &main_uart0;
    		mmc0 = &sdhci0;
    		mmc1 = &sdhci1;
    		spi0 = &ospi0;
    	};
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		/* 4G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
    		      <0x00000008 0x80000000 0x00000000 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_tfa_ddr: tfa@9e780000 {
    			reg = <0x00 0x9e780000 0x00 0x80000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c800000 0x00 0x100000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c900000 0x00 0x01e00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@9b800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b800000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-dma-memory@9b900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b900000 0x00 0x0f00000>;
    			no-map;
    		};
    
    		c7x_0_dma_memory_region: c7x-dma-memory@99800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x99800000 0x00 0x100000>;
    			no-map;
    		};
    
    		c7x_0_memory_region: c7x-memory@99900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x99900000 0x00 0x01efffff>;
    			no-map;
    		};
    
    		edgeai_rtos_ipc_memory_region: edgeai-rtos-ipc-memory-region {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x01000000>;
    			no-map;
    		};
    
    		edgeai_memory_region: edgeai-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x02000000>;
    			no-map;
    		};
    
    		edgeai_core_heaps: edgeai-core-heap-memory@ae000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xae000000 0x00 0x12000000>;
    			no-map;
    		};
    	};
    
    	vmain_pd: regulator-0 {
    		/* TPS25750 PD CONTROLLER OUTPUT */
    		compatible = "regulator-fixed";
    		regulator-name = "vmain_pd";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vcc_5v0: regulator-1 {
    		/* Output of TPS63070 */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&vmain_pd>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vcc_3v3_sys: regulator-2 {
    		/* output of LM5141-Q1 */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_3v3_sys";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&vmain_pd>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vdd_mmc1: regulator-3 {
    		/* TPS22918DBVR */
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		pinctrl-names = "default";
                    pinctrl-0 = <&vdd_mmc1_pins_default>;
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		/* gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */
    		gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
    	};
    
    	leds {
    		compatible = "gpio-leds";
    		pinctrl-names = "default";
    		pinctrl-0 = <&usr_led_pins_default>;
    
    		led-0 {
    			label = "am62a-sk:green:heartbeat";
    			gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
    			linux,default-trigger = "heartbeat";
    			function = LED_FUNCTION_HEARTBEAT;
    			default-state = "off";
    		};
    	};
    };
    
    &main_pmx0 {
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
    			AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
    			AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
    			AM62AX_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
    		>;
    	};
    
    	main_i2c2_pins_default: main-i2c2-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
    			AM62AX_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
    		>;
    	};
    
    	main_mmc0_pins_default: main-mmc0-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
    			AM62AX_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLKLB */
    			AM62AX_IOPAD(0x21c, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
    			AM62AX_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
    			AM62AX_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
    			AM62AX_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
    			AM62AX_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */
    			AM62AX_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
    			AM62AX_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
    			AM62AX_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
    			AM62AX_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
    		>;
    	};
    
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
    			AM62AX_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
    			AM62AX_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
    			AM62AX_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
    			AM62AX_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
    			AM62AX_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
    			AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */
    		>;
    	};
    
    	usr_led_pins_default: usr-led-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */
    		>;
    	};
    
    	main_usb1_pins_default: main-usb1-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
    		>;
    	};
    
    	main_mdio1_pins_default: main-mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x160, PIN_OUTPUT, 0) /* (V12) MDIO0_MDC */
    			AM62AX_IOPAD(0x15c, PIN_INPUT, 0) /* (V13) MDIO0_MDIO */
    		>;
    	};
    
    	main_rgmii1_pins_default: main-rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x14c, PIN_INPUT, 0) /* (AB16) RGMII1_RD0 */
    			AM62AX_IOPAD(0x150, PIN_INPUT, 0) /* (V15) RGMII1_RD1 */
    			AM62AX_IOPAD(0x154, PIN_INPUT, 0) /* (W15) RGMII1_RD2 */
    			AM62AX_IOPAD(0x158, PIN_INPUT, 0) /* (V14) RGMII1_RD3 */
    			AM62AX_IOPAD(0x148, PIN_INPUT, 0) /* (AA16) RGMII1_RXC */
    			AM62AX_IOPAD(0x144, PIN_INPUT, 0) /* (AA15) RGMII1_RX_CTL */
    			AM62AX_IOPAD(0x134, PIN_INPUT, 0) /* (Y17) RGMII1_TD0 */
    			AM62AX_IOPAD(0x138, PIN_INPUT, 0) /* (V16) RGMII1_TD1 */
    			AM62AX_IOPAD(0x13c, PIN_INPUT, 0) /* (Y16) RGMII1_TD2 */
    			AM62AX_IOPAD(0x140, PIN_INPUT, 0) /* (AA17) RGMII1_TD3 */
    			AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */
    			AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */
    		>;
    	};
    
    	main_rgmii2_pins_default: main-rgmii2-exp-conn-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x184, PIN_INPUT, 0) /* (AA21) RGMII2_RD0 */
    			AM62AX_IOPAD(0x188, PIN_INPUT, 0) /* (Y20) RGMII2_RD1 */
    			AM62AX_IOPAD(0x18c, PIN_INPUT, 0) /* (AB21) RGMII2_RD2 */
    			AM62AX_IOPAD(0x190, PIN_INPUT, 0) /* (AB20) RGMII2_RD3 */
    			AM62AX_IOPAD(0x180, PIN_INPUT, 0) /* (AA20) RGMII2_RXC */
    			AM62AX_IOPAD(0x17c, PIN_INPUT, 0) /* (W18) RGMII2_RX_CTL */
    			AM62AX_IOPAD(0x16c, PIN_INPUT, 0) /* (AA19) RGMII2_TD0 */
    			AM62AX_IOPAD(0x170, PIN_INPUT, 0) /* (Y18) RGMII2_TD1 */
    			AM62AX_IOPAD(0x174, PIN_INPUT, 0) /* (AA18) RGMII2_TD2 */
    			AM62AX_IOPAD(0x178, PIN_INPUT, 0) /* (W17) RGMII2_TD3 */
    			AM62AX_IOPAD(0x168, PIN_INPUT, 0) /* (AB19) RGMII2_TXC */
    			AM62AX_IOPAD(0x164, PIN_INPUT, 0) /* (Y19) RGMII2_TX_CTL */
    		>;
    	};
    
            vdd_mmc1_pins_default: vdd_mmc1-pins-default {
                    pinctrl-single,pins = <
                            AM62AX_IOPAD(0x094, PIN_OUTPUT, 7) /* (M18) GPMC0_BE1n.GPIO0_36 SD card supply*/
                    >;
            };
    
    	ospi0_pins_default: ospi0-pins-default {
    		pinctrl-single,pins = <
    			AM62AX_IOPAD(0x000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */
    			AM62AX_IOPAD(0x02c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */
    			AM62AX_IOPAD(0x00c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */
    			AM62AX_IOPAD(0x010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */
    			AM62AX_IOPAD(0x014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */
    			AM62AX_IOPAD(0x018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */
    			AM62AX_IOPAD(0x01c, PIN_INPUT, 0) /* (J23) OSPI0_D4 */
    			AM62AX_IOPAD(0x020, PIN_INPUT, 0) /* (J25) OSPI0_D5 */
    			AM62AX_IOPAD(0x024, PIN_INPUT, 0) /* (H25) OSPI0_D6 */
    			AM62AX_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
    			AM62AX_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
    		>;
    	};
    };
    
    &cpsw3g {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_rgmii1_pins_default>;
    	status = "okay";
    };
    
    &cpsw_port1 {
    	status = "okay";
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	status = "disabled";
    };
    
    &cpsw3g_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mdio1_pins_default>;
    
    	cpsw3g_phy0: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,min-output-impedance;
    	};
    };
    
    &usbss0 {
    	status = "okay";
    	ti,vbus-divider;
    };
    
    &usb0 {
    	dr_mode = "peripheral";
    };
    
    &main_i2c0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    };
    
    &main_i2c1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <400000>;
    
    	exp1: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    
    		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
    				   "BT_EN_SOC", "MMC1_SD_EN",
    				   "VPP_EN", "EXP_PS_3V3_En",
    				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
    				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
    				   "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",
    				   "GPIO_HDMI_RSTn", "CSI_GPIO0",
    				   "CSI_GPIO1", "WLAN_ALERTn",
    				   "HDMI_INTn", "TEST_GPIO2",
    				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
    				   "MCASP1_FET_SEL", "UART1_FET_SEL",
    				   "PD_I2C_IRQ", "IO_EXP_TEST_LED";
    	};
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	status = "okay";
    	vmmc-supply = <&vdd_mmc1>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	disable-wp;
    	sdhci-caps-mask = <0x00000003 0x00000000>; /* Limiting to DDR50 speed mode */
    	no-1-8-v; /* disabling all the UHS modes */
    };
    
    &sdhci0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc0_pins_default>;
    	disable-wp;
    };
    
    &main_gpio0 {
    	status = "okay";
    };
    
    &main_gpio1 {
    	status = "okay";
    };
    
    &main_gpio_intr {
    	status = "okay";
    };
    
    &main_uart0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    };
    
    &fss {
    	status = "okay";
    };
    
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&ospi0_pins_default>;
    
    	flash@0{
    		compatible = "spi-nand";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <2>;
    		cdns,phy-mode;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			partition@0 {
    				label = "ospi_nand.tiboot3";
    				reg = <0x0 0x80000>;
    			};
    
    			partition@80000 {
    				label = "ospi_nand.tispl";
    				reg = <0x80000 0x200000>;
    			};
    
    			partition@280000 {
    				label = "ospi_nand.u-boot";
    				reg = <0x280000 0x400000>;
    			};
    
    			partition@680000 {
    				label = "ospi_nand.env";
    				reg = <0x680000 0x40000>;
    			};
    
    			partition@6c0000 {
    				label = "ospi_nand.env.backup";
    				reg = <0x6c0000 0x40000>;
    			};
    
    			partition@2000000 {
    				label = "ospi_nand.rootfs";
    				reg = <0x2000000 0x5fc0000>;
    			};
    
    			partition@7fc0000 {
    				label = "ospi_nand.phypattern";
    				reg = <0x7fc0000 0x40000>;
    			};
    		};
    	};
    };
    

    U-boot image: -

    7462.u-boot.zip 

  • Hello,

    Logs: -

    Those logs are for eMMC not the SD card.

    Anyways, I do see you have added properties the sdhci1 node to disable the UHS modes. Instead of limiting to the DDR50 with "sdhci-caps-mask", could you please try limiting it to HS mode only with "sdhci-caps-mask = <0x00000007 0x00000000>" and see if the kernel boots?

    Thanks!

  • Hello,

    I have tried with these changes, but still, we have problem 

    i have tried with below changes: -

    &sdhci1 {

    /* SD/MMC */
    status = "okay";
    vmmc-supply = <&vdd_mmc1>;
    // vqmmc-supply = <&vddshv_sdio>;
    /delete-property/ ti,otap-del-sel-sdr12;
    /delete-property/ ti,otap-del-sel-sdr25;
    /delete-property/ ti,otap-del-sel-sdr50;
    /delete-property/ ti,otap-del-sel-ddr50;
    /delete-property/ ti,otap-del-sel-sdr104;
    pinctrl-names = "default";
    pinctrl-0 = <&main_mmc1_pins_default>;
    disable-wp;
    sdhci-caps-mask = <0x00000007 0x00000000>;
    no-1-8-v; /* disabling all the UHS modes */
    };

  • Are you correctly updating the DTB on the SD card? The DTB is to updated at the following in the root partition: /boot/dtb/ti/k3-am62a7-sk.dtb.

    If in doubt, please do the following change and see if it reflects in the kernel logs

    - model = "Texas Instruments AM62A7 SK";
    + model = "-- DEBUG -- Texas Instruments AM62A7 SK";

  • Yes, i am replacing the dtb file at correct location.

    After adding "-- DEBUG --" i am getting the debug logs.

  • Hi Satyajeet,

    vdd_mmc1: regulator-3 {
    /* TPS22918DBVR */
    compatible = "regulator-fixed";
    regulator-name = "vdd_mmc1";
    pinctrl-names = "default";
    pinctrl-0 = <&vdd_mmc1_pins_default>;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    enable-active-high;
    /* gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */
    gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
    };

    Please try to modify this vdd_mmc1 as following to see if it makes the sdcard detected in kernel.

    vdd_mmc1: regulator-3 {
            ...
    -        regulator-boot-on;

    -        enable-active-high;
    -        gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
    +        regulator-always-on;
    };