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: Booting LinuxRT SD Card on Custom Design

Part Number: AM6548

We are attempting to boot an SD card containing a base image of Linux RT (created using the shell script from the SDK). We boot until the kernel attempts to identify MMC1, the SD card. It fails to find information and freezes on boot-up.

What could be causing this issue? Attached is a text file containing what the kernel prints during bootup.

Custom Board Linux Boot.txt
U-Boot SPL 2023.04-gc1c2bdf272 (Nov 30 2023 - 18:17:44 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
Reading on-board EEPROM at 0x50 failed -1
SPL initial stack usage: 1424 bytes
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
i2c_write: error waiting for data ACK (status=0x1012)
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.9(release):v2.9.0-614-gd7a7135d32-dirty
NOTICE:  BL31: Built : 09:34:15, Aug 24 2023
I/TC:
I/TC: OP-TEE version: 4.0.0 (gcc version 11.4.0 (GCC)) #1 Fri Oct 20 18:29:31 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Fixing SA2UL firewall owner for GP device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot

U-Boot SPL 2023.04-gc1c2bdf272 (Nov 30 2023 - 18:17:44 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
i2c_omap i2c@42120000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
Reading on-board EEPROM at 0x50 failed -1
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted


U-Boot 2023.04-gc1c2bdf272 (Nov 30 2023 - 18:17:44 +0000)

SoC:   AM65X SR2.0 GP
Model: Texas Instruments AM654 Base Board
i2c_omap i2c@42120000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
Reading on-board EEPROM at 0x50 failed -1
Board: AM6-COMPROCEVM rev E3
DRAM:  4 GiB
Core:  119 devices, 31 uclasses, devicetree: separate
MMC:   mmc@4f80000: 0, mmc@4fa0000: 1
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00102 cpsw_ver: 0x6BA80102 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
Reading on-board EEPROM at 0x50 failed -1
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@38: Error reading output register
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@39: Error reading output register
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@21: Error reading output register
Net:   eth0: ethernet@46000000port@1
Hit any key to stop autoboot:  0
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@39: Error reading output register
switch to partitions #0, OK
mmc1 is current device
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@39: Error reading output register
SD/MMC found on device 1
Failed to load 'boot.scr'
574 bytes read in 29 ms (18.6 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
## Error: "main_cpsw0_qsgmii_phyinit" not defined
19241472 bytes read in 829 ms (22.1 MiB/s)
66697 bytes read in 34 ms (1.9 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 000000008feec000, end 000000008fffffff ... OK
Working FDT set to 8feec000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.46-rt13-gb4f1767f9e (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT_RT Thu Nov 30 22:21:00 UTC 2023
[    0.000000] Machine model: Texas Instruments AM654 Base Board
[    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 DMA memory pool at 0x00000000a0000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, 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-0x000000009e7fffff]
[    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a20fffff]
[    0.000000]   node   0: [mem 0x00000000a2100000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
[    0.000000] cma: Reserved 32 MiB at 0x00000000fe000000
[    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 19 pages/cpu s37696 r8192 d31936 u77824
[    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: 1032192
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=59d14097-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 0x00000000fa000000-0x00000000fe000000] (64MB)
[    0.000000] Memory: 3945132K/4194304K available (11584K kernel code, 1254K rwdata, 3944K rodata, 1856K init, 461K bss, 216404K reserved, 32768K 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 restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
[    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
[    0.000000]  No expedited grace period (rcu_normal_after_boot).
[    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 100 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: 960 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:     Offload RCU callbacks from CPUs: 0-3.
[    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.000461] Console: colour dummy device 80x25
[    0.457596] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
[    0.457610] pid_max: default: 32768 minimum: 301
[    0.457707] LSM: Security Framework initializing
[    0.457873] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.457905] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.460343] cblist_init_generic: Setting adjustable number of callback queues.
[    0.503534] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.509888] cblist_init_generic: Setting adjustable number of callback queues.
[    0.517306] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.524021] rcu: Hierarchical SRCU implementation.
[    0.524026] rcu:     Max phase no-delay instances is 400.
[    0.524126] printk: bootconsole [ns16550a0] printing thread started
[    0.541566] Platform MSI: msi-controller@1820000 domain created
[    0.541830] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.542194] EFI services will not be available.
[    0.542623] smp: Bringing up secondary CPUs ...
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
[    0.576937] Detected VIPT I-cache on CPU1
[    0.577078] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.577097] GICv3: CPU1: using allocated LPI pending table @0x0000000880060000
[    0.577157] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
[    0.612478] Detected VIPT I-cache on CPU2
[    0.612708] GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
[    0.612729] GICv3: CPU2: using allocated LPI pending table @0x0000000880070000
[    0.612786] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
[    0.648054] Detected VIPT I-cache on CPU3
[    0.648154] GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
[    0.648170] GICv3: CPU3: using allocated LPI pending table @0x0000000880080000
[    0.648204] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[    0.648349] smp: Brought up 1 node, 4 CPUs
[    0.677999] SMP: Total of 4 processors activated.
[    0.678007] CPU features: detected: 32-bit EL0 Support
[    0.678013] CPU features: detected: CRC32 instructions
[    0.678092] CPU: All CPU(s) started at EL2
[    0.678095] alternatives: applying system-wide alternatives
[    0.680485] devtmpfs: initialized
[    0.698999] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.699026] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.700456] pinctrl core: initialized pinctrl subsystem
[    0.701217] DMI not present or invalid.
[    0.702062] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.716227] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.716796] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.717143] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.717279] audit: initializing netlink subsys (disabled)
[    0.717533] audit: type=2000 audit(0.712:1): state=initialized audit_enabled=0 res=1
[    0.718232] thermal_sys: Registered thermal governor 'step_wise'
[    0.718482] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.755906] ASID allocator initialised with 65536 entries
[    0.778880] KASLR disabled due to lack of seed
[    0.792822] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.792833] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.792840] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.792844] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.792850] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.792854] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.792860] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.792864] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.797811] k3-chipinfo 43000014.chipid: Family:AM65X rev:SR2.0 JTAGID[0x1bb5a02f] Detected
[    0.799397] iommu: Default domain type: Translated
[    0.799405] iommu: DMA domain TLB invalidation policy: strict mode
[    0.799876] SCSI subsystem initialized
[    0.800382] usbcore: registered new interface driver usbfs
[    0.800438] usbcore: registered new interface driver hub
[    0.800480] usbcore: registered new device driver usb
[    0.801024] pps_core: LinuxPPS API ver. 1 registered
[    0.801028] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.801049] PTP clock support registered
[    0.801263] EDAC MC: Ver: 3.0.0
[    0.802375] FPGA manager framework
[    0.802507] Advanced Linux Sound Architecture Driver Initialized.
[    0.803822] clocksource: Switched to clocksource arch_sys_counter
[    0.804148] VFS: Disk quotas dquot_6.6.0
[    0.804225] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.815595] NET: Registered PF_INET protocol family
:    0.816063] IP Ii/dTeCn:t Rs eshaershve td asbhlear eendt rmeiemos:ry  65is53 6e n(aobrldeedr
r 7I,/ T5C:2 4D2y8n8a bmyitce ss,ha rliende amerm)o
0y[  i s   0en.a8b2le0d5
d5] tIc/pT_Cl:i sNtoremna_plo rWtoardlddr v_hirastuha lhiazsaht itoanb lseu penpotrrti eiss:  2d0i4s8a b(leodr
 er: I4/T,C 8: 19Asy2n0 chbryotneosu,s  nlointieafirc)a
li[ o ns   0a.r8e 2d06i5s2ab] lTeadb
 e-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.820678] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.821315] TCP bind hash table entries: 32768 (order: 9, 2621440 bytes, linear)
[    0.824505] TCP: Hash tables configured (established 32768 bind 32768)
[    0.824773] UDP hash table entries: 2048 (order: 5, 196608 bytes, linear)
[    0.825050] UDP-Lite hash table entries: 2048 (order: 5, 196608 bytes, linear)
[    0.825534] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.826345] RPC: Registered named UNIX socket transport module.
[    0.826355] RPC: Registered udp transport module.
[    0.826359] RPC: Registered tcp transport module.
[    0.826362] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.826373] NET: Registered PF_XDP protocol family
[    0.826393] PCI: CLS 0 bytes, default 64
[    0.829903] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.832177] Initialise system trusted keyrings
[    0.832438] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.842696] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.8?¢¢êÉÊÔ*'H©YV­.]Y¹ing the id_resolver key type
[    1.096[158] printk: console [ttyS2] printing thread started
    0.843479] Key type id_resolver registered
[    1.096171] printk: console [ttyS2] enabled
[    1.096179] printk: bootconsole [ns16550a0] disabled
[    1.106046] printk: bootconsole [ns16550a0] printing thread stopped
[    1.113125] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
[    1.146854] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.152345] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83869
[    1.152409] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[    1.152572] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    1.152581] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    1.153861] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.157992] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.160025] mmc0: CQHCI version 5.10
[    1.173998] pca953x 0-0039: supply vcc not found, using dummy regulator
[    1.174190] pca953x 0-0039: using no AI
[    1.185927] pca953x 0-0039: failed writing register
[    1.186226] pca953x: probe of 0-0039 failed with error -121
[    1.187005] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
[    1.187553] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
[    1.189949] ti-udma 285c0000.dma-controller: Channels: 28 (tchan: 14, rchan: 14, gp-rflow: 16)
[    1.198638] ti-udma 31150000.dma-controller: Channels: 119 (tchan: 53, rchan: 66, gp-rflow: 64)
[    1.202011] mmc0: SDHCI controller on 4f80000.mmc [4f80000.mmc] using ADMA 64-bit
[    1.214487] spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[    1.220486] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
[    1.254863] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.260551] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83869
[    1.260613] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[    1.260774] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    1.260783] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    1.261862] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.290480] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[    1.295061] debugfs: Directory 'pd:121' with parent 'pm_genpd' already present!
[    1.295131] debugfs: Directory 'pd:120' with parent 'pm_genpd' already present!
[    1.298780] mmc0: Command Queue Engine enabled
[    1.298799] mmc0: new HS200 MMC card at address 0001
[    1.299124] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.299680] mmcblk0: mmc0:0001 G1M15L 29.6 GiB
[    1.302356] mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB
[    1.304335] mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB
[    1.306014] mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (240:0)
[    1.316848] ALSA device list:
[    1.316861]   No soundcards found.
[    1.397887] Waiting for root device PARTUUID=59d14097-02...
[   11.749375] platform fixedregulator-sd: deferred probe pending

  • Hi Akm,

    [    1.173998] pca953x 0-0039: supply vcc not found, using dummy regulator
    [    1.174190] pca953x 0-0039: using no AI
    [    1.185927] pca953x 0-0039: failed writing register
    [    1.186226] pca953x: probe of 0-0039 failed with error -121

    These failures are most probably causing the issue.

    May I know what I2C expander you are using on your board?

    Regards,

    Prashant