Part Number: AM68A
Other Parts Discussed in Thread: SK-AM68
Tool/software:
Hello,
I'm in the process of bringing up a custom board using the AM68A and Linux SDK v10.00.08. We've got u-boot working on the R5 and A72 but having issues now with getting Linux up and running. We are booting off of an SD card on mmc1. The error from the Linux boot process is that it is unable to mount the sdcard. Here is the complete boot log:
U-Boot SPL 2024.04-g4ccc9bf3-dirty (Oct 10 2024 - 10:19:11 -0400) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -121 SPL initial stack usage: 13440 bytes Trying to boot from MMC2 Authentication passed Authentication passed Authentication passed Loading Environment from nowhere... OK Authentication passed Authentication passed Starting ATF on ARM64 core... NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b8 NOTICE: BL31: Built : 10:02:54, Oct 10 2024 I/TC: I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.1 20240614 (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24))) #1 Thu Oct 10 14:04:09 UTC 2024 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: GIC redistributor base address not provided I/TC: Assuming default GIC group status and modifier I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') I/TC: HUK Initialized I/TC: Activated SA2UL 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 2024.04-g4ccc9bf3-dirty (Oct 10 2024 - 10:19:04 -0400) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') i2c_omap i2c@42120000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -121 Trying to boot from MMC2 Authentication passed Authentication passed U-Boot 2024.04-g4ccc9bf3-dirty (Oct 10 2024 - 10:19:04 -0400) SoC: J721S2 SR1.0 HS-FS Model: Texas Instruments AM68 SK i2c_omap i2c@42120000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -121 Board: J721S2X-PM1-SOM rev E1 DRAM: 2 GiB (effective 16 GiB) Core: 106 devices, 32 uclasses, devicetree: separate Flash: 0 Bytes MMC: mmc@4fb0000: 1 Loading Environment from nowhere... OK In: serial@2830000 Out: serial@2830000 Err: serial@2830000 am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA02102 cpsw_ver: 0x6BA82102 ale_ver: 0x00293904 Ports:1 EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -121 Net: eth0: ethernet@46000000port@1 Hit any key to stop autoboot: 0 => setenv console ttyS3,115200n8 => setenv fdtfile ti/k3-am68-sk-base-board.dtb => boot ** fs_devread read error - block switch to partitions #0, OK mmc1 is current device SD/MMC found on device 1 942 bytes read in 39 ms (23.4 KiB/s) Loaded env from uEnv.txt Importing environment from mmc1 ... Running uenvcmd ... k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work k3_r5f_rproc r5f@41400000: Core 2 is already in use. No rproc commands work 482764 bytes read in 103 ms (4.5 MiB/s) Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices Load Remote Processor 2 with data@addr=0x82000000 482764 bytes: Success! 322740 bytes read in 97 ms (3.2 MiB/s) Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices Load Remote Processor 3 with data@addr=0x82000000 322740 bytes: Success! Failed to load '/lib/firmware/j721s2-main-r5f1_0-fw' Failed to load '/lib/firmware/j721s2-main-r5f1_1-fw' 15077408 bytes read in 705 ms (20.4 MiB/s) Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices Load Remote Processor 6 with data@addr=0x82000000 15077408 bytes: Success! 9703384 bytes read in 484 ms (19.1 MiB/s) Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices Load Remote Processor 7 with data@addr=0x82000000 9703384 bytes: Success! 20560384 bytes read in 882 ms (22.2 MiB/s) 100331 bytes read in 45 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 000000008fee4000, end 000000008fffffff ... OK Working FDT set to 8fee4000 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080] [ 0.000000] Linux version 6.6.32-gd87835d23c93 (amandio@DESKTOP-UJC140B) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240620) #1 SMP PREEMPT Mon Oct 7 16:34:15 EDT 2024 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: Texas Instruments AM68 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002830000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000bc8000000, size 896 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x0000000bc8000000..0x0000000bffffffff (917504 KiB) map reusable linux,cma [ 0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000 [ 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] OF: reserved mem: 0x00000000a0000000..0x00000000a00fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a0000000 [ 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] OF: reserved mem: 0x00000000a0100000..0x00000000a0ffffff (15360 KiB) nomap non-reusable r5f-memory@a0100000 [ 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] OF: reserved mem: 0x00000000a1000000..0x00000000a10fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a1000000 [ 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] OF: reserved mem: 0x00000000a1100000..0x00000000a1ffffff (15360 KiB) nomap non-reusable r5f-memory@a1100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a2000000..0x00000000a20fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a2000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a2100000..0x00000000a2ffffff (15360 KiB) nomap non-reusable r5f-memory@a2100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a3000000..0x00000000a30fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a3000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a3100000..0x00000000a3ffffff (15360 KiB) nomap non-reusable r5f-memory@a3100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a4000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a4000000..0x00000000a40fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a4000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a4100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a4100000..0x00000000a4ffffff (15360 KiB) nomap non-reusable r5f-memory@a4100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a5000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a5000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a5000000..0x00000000a50fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a5000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a5100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a5100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a5100000..0x00000000a5ffffff (15360 KiB) nomap non-reusable r5f-memory@a5100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node c71-dma-memory@a6000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a6000000..0x00000000a60fffff (1024 KiB) nomap non-reusable c71-dma-memory@a6000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node c71-memory@a6100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a6100000..0x00000000a6ffffff (15360 KiB) nomap non-reusable c71-memory@a6100000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node c71-dma-memory@a7000000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a7000000..0x00000000a70fffff (1024 KiB) nomap non-reusable c71-dma-memory@a7000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node c71-memory@a7100000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000a7100000..0x00000000a7ffffff (15360 KiB) nomap non-reusable c71-memory@a7100000 [ 0.000000] OF: reserved mem: 0x00000000a8000000..0x00000000a9bfffff (28672 KiB) nomap non-reusable ipc-memories@a8000000 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x0000000bffffffff] [ 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-0x00000000a9bfffff] [ 0.000000] node 0: [mem 0x00000000a9c00000-0x00000000ffffffff] [ 0.000000] node 0: [mem 0x0000000880000000-0x0000000bffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000000bffffffff] [ 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 s43112 r8192 d30616 u81920 [ 0.000000] Detected PIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: Spectre-v3a [ 0.000000] CPU features: detected: Spectre-BHB [ 0.000000] CPU features: detected: ARM erratum 1742098 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: console=ttyS3,115200n8 earlycon=ns16550a,mmio32,0x02830000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);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=9dadd190-02 rw rootfstype=ext4 rootwait [ 0.000000] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear) [ 0.000000] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 4128768 [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 2. [ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB) [ 0.000000] Memory: 15268568K/16777216K available (12160K kernel code, 1262K rwdata, 4064K rodata, 2432K init, 506K bss, 591144K reserved, 917504K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=2. [ 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=2 [ 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:0x0000000001900000 [ 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.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns [ 0.008434] Console: colour dummy device 80x25 [ 0.013017] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000) [ 0.023708] pid_max: default: 32768 minimum: 301 [ 0.028481] LSM: initializing lsm=capability,integrity [ 0.033830] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.041626] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.050805] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1. [ 0.058084] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1. [ 0.065961] rcu: Hierarchical SRCU implementation. [ 0.070871] rcu: Max phase no-delay instances is 1000. [ 0.076408] Platform MSI: msi-controller@1820000 domain created [ 0.082639] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created [ 0.092076] EFI services will not be available. [ 0.096841] smp: Bringing up secondary CPUs ... I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot [ 0.109962] Detected PIPT I-cache on CPU1 [ 0.110016] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000 [ 0.110029] GICv3: CPU1: using allocated LPI pending table @0x0000000880060000 [ 0.110064] CPU1: Booted secondary processor 0x0000000001 [0x411fd080] [ 0.110126] smp: Brought up 1 node, 2 CPUs [ 0.139531] SMP: Total of 2 processors activated. [ 0.144344] CPU features: detected: 32-bit EL0 Support [ 0.149608] CPU features: detected: CRC32 instructions [ 0.154901] CPU: All CPU(s) started at EL2 [ 0.159093] alternatives: applying system-wide alternatives [ 0.165773] devtmpfs: initialized [ 0.176622] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.186634] futex hash table entries: 512 (order: 3, 32768 bytes, linear) [ 0.204913] pinctrl core: initialized pinctrl subsystem [ 0.210626] DMI not present or invalid. [ 0.214902] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.221649] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations [ 0.229323] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.237678] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.245921] audit: initializing netlink subsys (disabled) [ 0.251569] audit: type=2000 audit(0.160:1): state=initialized audit_enabled=0 res=1 [ 0.251794] thermal_sys: Registered thermal governor 'step_wise' [ 0.259510] thermal_sys: Registered thermal governor 'power_allocator' [ 0.265682] cpuidle: using governor menu [ 0.276459] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.283441] ASID allocator initialised with 65536 entries [ 0.298125] platform 4800000.dsi: Fixed dependency cycle(s) with /bus@100000/dss@4a00000 [ 0.306448] platform 4800000.dsi: Fixed dependency cycle(s) with /bus@100000/bus@28380000/i2c@40b10000/dsi-edp-bridge@2c [ 0.317819] platform 4800000.dsi: Fixed dependency cycle(s) with /bus@100000/dss@4a00000 [ 0.326135] platform 4a00000.dss: Fixed dependency cycle(s) with /bus@100000/dsi@4800000 [ 0.335863] platform connector-hdmi: Fixed dependency cycle(s) with /bridge-dvi [ 0.343393] platform 4a00000.dss: Fixed dependency cycle(s) with /bridge-dvi [ 0.350631] platform bridge-dvi: Fixed dependency cycle(s) with /connector-hdmi [ 0.358154] platform bridge-dvi: Fixed dependency cycle(s) with /bus@100000/dss@4a00000 [ 0.366529] Modules: 27616 pages in range for non-PLT usage [ 0.366533] Modules: 519136 pages in range for PLT usage [ 0.372725] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.385114] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.391529] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.398476] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.404889] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.411836] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.418250] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.425196] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.432448] k3-chipinfo 43000014.chipid: Family:J721S2 rev:SR1.0 JTAGID[0x0bb7502f] Detected [ 0.441622] iommu: Default domain type: Translated [ 0.446547] iommu: DMA domain TLB invalidation policy: strict mode [ 0.453026] SCSI subsystem initialized [ 0.457060] usbcore: registered new interface driver usbfs [ 0.462693] usbcore: registered new interface driver hub [ 0.468148] usbcore: registered new device driver usb [ 0.473615] pps_core: LinuxPPS API ver. 1 registered [ 0.478700] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.488056] PTP clock support registered [ 0.492180] EDAC MC: Ver: 3.0.0 [ 0.495676] scmi_core: SCMI protocol bus registered [ 0.500835] FPGA manager framework [ 0.504356] Advanced Linux Sound Architecture Driver Initialized. [ 0.511056] vgaarb: loaded [ 0.513997] clocksource: Switched to clocksource arch_sys_counter [ 0.520400] VFS: Disk quotas dquot_6.6.0 [ 0.524444] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.534757] NET: Registered PF_INET protocol family [ 0.540125] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.552999] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear) [ 0.561930] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.569883] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.578583] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) [ 0.587226] TCP: Hash tables configured (established 131072 bind 65536) [ 0.594140] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear) [ 0.601279] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear) [ 0.608977] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.615163] RPC: Registered named UNIX socket transport module. [ 0.621238] RPC: Registered udp transport module. [ 0.626050] RPC: Registered tcp transport module. [ 0.630862] RPC: Registered tcp-with-tls transport module. [ 0.636477] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.643072] NET: Registered PF_XDP protocol family [ 0.647989] PCI: CLS 0 bytes, default 64 [ 0.652705] Initialise system trusted keyrings [ 0.657391] workingset: timestamp_bits=46 max_order=22 bucket_order=0 [ 0.664172] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.670321] NFS: Registering the id_resolver key type [ 0.675513] Key type id_resolver registered [ 0.679794] Key type id_legacy registered [ 0.683903] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.690767] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.712008] Key type asymmetric registered [ 0.716201] Asymmetric key parser 'x509' registered [ 0.721227] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244) [ 0.728887] io scheduler mq-deadline registered [ 0.733534] io scheduler kyber registered [ 0.737655] io scheduler bfq registered [ 0.743522] pinctrl-single 4301c000.pinctrl: 13 pins, size 52 [ 0.749541] pinctrl-single 4301c038.pinctrl: 11 pins, size 44 [ 0.755526] pinctrl-single 4301c068.pinctrl: 72 pins, size 288 [ 0.761742] pinctrl-single 4301c190.pinctrl: 1 pins, size 4 [ 0.767604] pinctrl-single 11c000.pinctrl: 72 pins, size 288 [ 0.773725] pinctrl-single 104200.pinctrl: 20 pins, size 80 [ 0.779503] pinctrl-single 104280.pinctrl: 8 pins, size 32 [ 0.788820] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled [ 0.800664] loop: module loaded [ 0.804562] megasas: 07.725.01.00-rc1 [ 0.810275] tun: Universal TUN/TAP device driver, 1.6 [ 0.816069] VFIO - User Level meta-driver version: 0.3 [ 0.822044] usbcore: registered new interface driver usb-storage [ 0.828575] i2c_dev: i2c /dev entries driver [ 0.833662] sdhci: Secure Digital Host Controller Interface driver [ 0.839997] sdhci: Copyright(c) Pierre Ossman [ 0.844592] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.850752] ledtrig-cpu: registered to indicate activity on CPUs [ 0.857089] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 0.864125] usbcore: registered new interface driver usbhid [ 0.869831] usbhid: USB HID core driver [ 0.874650] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available [ 0.883391] optee: probing for conduit method. I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled [ 0.887960] optee: revision 4.2 (12d7c4ee) [ 0.904446] optee: dynamic shared memory is enabled [ 0.914095] random: crng init done [ 0.917627] optee: initialized driver [ 0.922742] Initializing XFRM netlink socket [ 0.927145] NET: Registered PF_PACKET protocol family [ 0.932367] Key type dns_resolver registered [ 0.940229] registered taskstats version 1 [ 0.944501] Loading compiled-in X.509 certificates [ 0.956098] ti-sci 44083000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') [ 1.014186] omap_i2c 42120000.i2c: bus 0 rev0.12 at 400 kHz [ 1.020446] omap_i2c 40b00000.i2c: bus 1 rev0.12 at 400 kHz [ 1.026730] pca953x 2-0020: supply vcc not found, using dummy regulator [ 1.033586] pca953x 2-0020: using no AI [ 2.046008] omap_i2c 40b10000.i2c: timeout waiting for bus ready [ 2.052176] pca953x 2-0020: failed writing register [ 2.057241] pca953x: probe of 2-0020 failed with error -16 [ 2.062989] platform 4800000.dsi: Fixed dependency cycle(s) with /bus@100000/bus@28380000/i2c@40b10000/dsi-edp-bridge@2c [ 2.074167] i2c 2-002c: Fixed dependency cycle(s) with /bus@100000/bus@28380000/i2c@40b10000/dsi-edp-bridge@2c/aux-bus/panel [ 2.085679] i2c 2-002c: Fixed dependency cycle(s) with /bus@100000/dsi@4800000 [ 2.093234] omap_i2c 40b10000.i2c: bus 2 rev0.12 at 100 kHz [ 2.099730] pca953x 3-0021: supply vcc not found, using dummy regulator [ 2.106577] pca953x 3-0021: using no AI [ 2.126047] pca953x 3-0021: failed writing register [ 2.131099] pca953x: probe of 3-0021 failed with error -121 [ 2.136877] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz [ 2.142988] omap_i2c 2010000.i2c: bus 4 rev0.12 at 100 kHz [ 2.149013] omap_i2c 2040000.i2c: bus 5 rev0.12 at 400 kHz [ 2.154777] ti-sci-intr 42200000.interrupt-controller: Interrupt Router 125 domain created [ 2.163335] ti-sci-intr bus@100000:interrupt-controller@a00000: Interrupt Router 148 domain created [ 2.172689] ti-sci-intr 310e0000.interrupt-controller: Interrupt Router 227 domain created [ 2.181376] ti-sci-inta 33d00000.msi-controller: Interrupt Aggregator domain 265 created [ 2.192033] ti-udma 311a0000.dma-controller: Number of rings: 48 [ 2.199001] ti-udma 311a0000.dma-controller: Channels: 24 (bchan: 0, tchan: 8, rchan: 16) [ 2.208402] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:272 [ 2.218310] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled [ 2.225082] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66349100, num_proxies:64 [ 2.234524] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[878,128] sci-dev-id:259 [ 2.244712] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled [ 2.251483] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66349100, num_proxies:64 [ 2.259730] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 232, base_baud = 6000000) is a 8250 [ 2.269433] 2830000.serial: ttyS3 at MMIO 0x2830000 (irq = 233, base_baud = 3000000) is a 8250 [ 2.278393] printk: console [ttyS3] enabled [ 2.278393] printk: console [ttyS3] enabled [ 2.286865] printk: bootconsole [ns16550a0] disabled [ 2.286865] printk: bootconsole [ns16550a0] disabled [ 2.298729] 2880000.serial: ttyS2 at MMIO 0x2880000 (irq = 234, base_baud = 3000000) is a 8250 [ 2.308693] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode [ 2.354000] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 2.364052] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867 [ 2.372331] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 2 quirks:00000000 [ 2.385150] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4 [ 2.392357] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64 [ 2.398674] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:500000000, add_val:1 pps:0 [ 2.409221] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010c, freq:200000000, add_val:4 pps:0 [ 2.417878] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fca100 [ 2.424729] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fca100 [ 2.431648] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fca100 [ 2.438479] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fca100 [ 2.450429] ti-udma 285c0000.dma-controller: Channels: 26 (tchan: 13, rchan: 13, gp-rflow: 8) [ 2.460816] ti-udma 31150000.dma-controller: Channels: 60 (tchan: 30, rchan: 30, gp-rflow: 16) [ 2.473576] spi-nor spi0.0: s28hs512t (65536 Kbytes) [ 2.478605] 7 cmdlinepart partitions found on MTD device 47040000.spi.0 [ 2.485210] Creating 7 MTD partitions on "47040000.spi.0": [ 2.490682] 0x000000000000-0x000000080000 : "ospi.tiboot3" [ 2.496860] 0x000000080000-0x000000280000 : "ospi.tispl" [ 2.502755] 0x000000280000-0x000000680000 : "ospi.u-boot" [ 2.508668] 0x000000680000-0x0000006c0000 : "ospi.env" [ 2.514334] 0x0000006c0000-0x000000700000 : "ospi.env.backup" [ 2.520599] 0x000000800000-0x000003fc0000 : "ospi.rootfs" [ 2.526512] 0x000003fc0000-0x000004000000 : "ospi.phypattern" [ 2.533422] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode [ 2.578000] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 2.588025] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867 [ 2.596303] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 2 quirks:00000000 [ 2.609129] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4 [ 2.616337] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64 [ 2.622606] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:500000000, add_val:1 pps:0 [ 2.637557] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48 [ 2.647649] mmc1: CQHCI version 5.10 [ 2.649786] clk: Disabling unused clocks [ 2.662492] ALSA device list: [ 2.665456] No soundcards found. [ 2.688579] mmc1: SDHCI controller on 4fb0000.mmc [4fb0000.mmc] using ADMA 64-bit [ 2.696190] Waiting for root device PARTUUID=9dadd190-02... [ 2.754481] mmc1: new ultra high speed SDR104 SDHC card at address aaaa [ 2.761509] mmcblk1: mmc1:aaaa SC16G 14.8 GiB [ 2.770616] mmcblk1: p1 p2 [ 2.870822] I/O error, dev mmcblk1, sector 264194 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 2 [ 2.882158] EXT4-fs (mmcblk1p2): unable to read superblock [ 2.887682] VFS: Cannot open root device "PARTUUID=9dadd190-02" or unknown-block(179,2): error -5 [ 2.896539] Please append a correct "root=" boot option; here are the available partitions: [ 2.904883] 1f00 512 mtdblock0 [ 2.904887] (driver?) [ 2.911408] 1f01 2048 mtdblock1 [ 2.911411] (driver?) [ 2.917928] 1f02 4096 mtdblock2 [ 2.917931] (driver?) [ 2.924449] 1f03 256 mtdblock3 [ 2.924452] (driver?) [ 2.930975] 1f04 256 mtdblock4 [ 2.930977] (driver?) [ 2.937493] 1f05 57088 mtdblock5 [ 2.937496] (driver?) [ 2.944015] 1f06 256 mtdblock6 [ 2.944017] (driver?) [ 2.950536] b300 15558144 mmcblk1 [ 2.950538] driver: mmcblk [ 2.957316] b301 131072 mmcblk1p1 9dadd190-01 [ 2.957320] [ 2.964105] b302 15426048 mmcblk1p2 9dadd190-02 [ 2.964108] [ 2.970898] List of all bdev filesystems: [ 2.974896] ext3 [ 2.974899] ext4 [ 2.976813] ext2 [ 2.978729] squashfs [ 2.980643] vfat [ 2.982906] [ 2.986306] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) [ 2.994723] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.32-gd87835d23c93 #1 [ 3.001841] Hardware name: Texas Instruments AM68 SK (DT) [ 3.007223] Call trace: [ 3.009657] dump_backtrace+0x90/0xe8 [ 3.013318] show_stack+0x18/0x24 [ 3.016622] dump_stack_lvl+0x48/0x60 [ 3.020274] dump_stack+0x18/0x24 [ 3.023576] panic+0x324/0x380 [ 3.026622] mount_root_generic+0x268/0x338 [ 3.030794] mount_root+0x170/0x334 [ 3.034270] prepare_namespace+0x6c/0x2a4 [ 3.038266] kernel_init_freeable+0x248/0x288 [ 3.042609] kernel_init+0x24/0x1dc [ 3.046087] ret_from_fork+0x10/0x20 [ 3.049651] SMP: stopping secondary CPUs [ 3.053564] Kernel Offset: disabled [ 3.057038] CPU features: 0x0,80000200,28020000,1000420b [ 3.062335] Memory Limit: none [ 3.065379] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) ]---
I've already tried running fsck.ext4 on the sdcard, but there were no issues found. I also tried recreating the partitions from scratch using the create-sdcard.sh script, but that did not help. I also saw some advice on another thread to change to root= command line argument to point to the dev path instead of the partition UUID, e.g, /dev/mmcblk1p2 but that did not work either.
As for my Linux device tree, for now I'm just making my edits to k3-am68-sk-base-baord.dts to support the differences between the SK-AM68 and our board. Here is the complete device tree followed by just the diff:
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
*
* Base Board: https://www.ti.com/lit/zip/SPRR463
*/
/dts-v1/;
#include "k3-am68-sk-som.dtsi"
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/phy/phy-cadence.h>
#include <dt-bindings/phy/phy.h>
#include "k3-serdes.h"
/ {
compatible = "ti,am68-sk", "ti,j721s2";
model = "Texas Instruments AM68 SK";
chosen {
stdout-path = "serial3:115200n8";
};
aliases {
serial0 = &wkup_uart0;
serial1 = &mcu_uart0;
serial2 = &main_uart8;
serial3 = &main_uart3;
mmc1 = &main_sdhci1;
can0 = &mcu_mcan0;
can1 = &mcu_mcan1;
can2 = &main_mcan6;
can3 = &main_mcan7;
ethernet0 = &cpsw_port1;
};
vusb_main: regulator-vusb-main5v0 {
/* USB MAIN INPUT 5V DC */
compatible = "regulator-fixed";
regulator-name = "vusb-main5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
};
vsys_3v3: regulator-vsys3v3 {
/* Output of LM5141 */
compatible = "regulator-fixed";
regulator-name = "vsys_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vusb_main>;
regulator-always-on;
regulator-boot-on;
};
vdd_mmc1: regulator-sd {
/* Output of TPS22918 */
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
vin-supply = <&vsys_3v3>;
gpio = <&main_gpio0 50 GPIO_ACTIVE_HIGH>;
};
vdd_sd_dv: regulator-tlv71033 {
/* Output of TLV71033 */
compatible = "regulator-gpio";
regulator-name = "tlv71033";
pinctrl-names = "default";
pinctrl-0 = <&vdd_sd_dv_pins_default>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
vin-supply = <&vsys_3v3>;
gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
};
vsys_io_1v8: regulator-vsys-io-1v8 {
compatible = "regulator-fixed";
regulator-name = "vsys_io_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
vsys_io_1v2: regulator-vsys-io-1v2 {
compatible = "regulator-fixed";
regulator-name = "vsys_io_1v2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
transceiver1: can-phy0 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver2: can-phy1 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver3: can-phy2 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver4: can-phy3 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
edp0_refclk: clock-edp0-refclk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <19200000>;
};
dp0_pwr_3v3: fixedregulator-dp0-pwr {
compatible = "regulator-fixed";
regulator-name = "dp0-pwr";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
gpio = <&exp2 2 GPIO_ACTIVE_HIGH>; /*P0 - DP0_3V3 _EN */
enable-active-high;
regulator-always-on;
};
connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_pins_default>;
ddc-i2c-bus = <&mcu_i2c1>;
/* HDMI_HPD */
hpd-gpios = <&main_gpio0 0 GPIO_ACTIVE_HIGH>;
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&tfp410_out>;
};
};
};
bridge-dvi {
compatible = "ti,tfp410";
/* HDMI_PDn */
powerdown-gpios = <&exp2 0 GPIO_ACTIVE_LOW>;
ti,deskew = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tfp410_in: endpoint {
remote-endpoint = <&dpi_out0>;
pclk-sample = <1>;
};
};
port@1 {
reg = <1>;
tfp410_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&main_pmx0 {
main_uart3_pins_default: main-uart3-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x074, PIN_INPUT, 11) /* (R28) MCAN2_TX.UART3_RXD */
J721S2_IOPAD(0x078, PIN_OUTPUT, 11) /* (Y25) MCAN2_RX.UART3_TXD */
>;
};
main_uart8_pins_default: main-uart8-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0d0, PIN_INPUT, 11) /* (AF26) SPI0_CS1.UART8_RXD */
J721S2_IOPAD(0x0d4, PIN_OUTPUT, 11) /* (AH27) SPI0_CLK.UART8_TXD */
>;
};
main_i2c0_pins_default: main-i2c0-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0e0, PIN_INPUT, 0) /* (AH25) I2C0_SCL */
J721S2_IOPAD(0x0e4, PIN_INPUT, 0) /* (AE24) I2C0_SDA */
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0ac, PIN_INPUT, 13) /* (AC25) MCASP0_AXR15.I2C1_SCL */
J721S2_IOPAD(0x0b0, PIN_INPUT, 13) /* (AD26) MCASP1_AXR3.I2C1_SDA */
>;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x104, PIN_INPUT, 0) /* (P23) MMC1_CLK */
J721S2_IOPAD(0x108, PIN_INPUT, 0) /* (N24) MMC1_CMD */
J721S2_IOPAD(0x100, PIN_INPUT, 0) /* (###) MMC1_CLKLB */
J721S2_IOPAD(0x0fc, PIN_INPUT, 0) /* (M23) MMC1_DAT0 */
J721S2_IOPAD(0x0f8, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */
J721S2_IOPAD(0x0f4, PIN_INPUT, 0) /* (R24) MMC1_DAT2 */
J721S2_IOPAD(0x0f0, PIN_INPUT, 0) /* (R22) MMC1_DAT3 */
J721S2_IOPAD(0x0e8, PIN_INPUT, 8) /* (AE25) TIMER_IO0.MMC1_SDCD */
>;
};
vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0c4, PIN_INPUT, 7) /* (AB26) ECAP0_IN_APWM_OUT.GPIO0_49 */
>;
};
main_usbss0_pins_default: main-usbss0-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0ec, PIN_OUTPUT, 6) /* (AG25) TIMER_IO1.USB0_DRVVBUS */
>;
};
main_mcan6_pins_default: main-mcan6-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x098, PIN_INPUT, 0) /* (V25) MCASP0_AXR10.MCAN6_RX */
J721S2_IOPAD(0x094, PIN_INPUT, 0) /* (AA25) MCASP0_AXR9.MCAN6_TX */
>;
};
main_mcan7_pins_default: main-mcan7-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0a0, PIN_INPUT, 0) /* (AB25) MCASP0_AXR12.MCAN7_RX */
J721S2_IOPAD(0x09c, PIN_INPUT, 0) /* (T24) MCASP0_AXR11.MCAN7_TX */
>;
};
main_i2c4_pins_default: main-i2c4-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x010, PIN_INPUT_PULLUP, 8) /* (AF28) MCAN13_RX.I2C4_SDA */
J721S2_IOPAD(0x014, PIN_INPUT_PULLUP, 8) /* (AD25) MCAN14_TX.I2C4_SCL */
>;
};
dss_vout0_pins_default: dss-vout0-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x074, PIN_OUTPUT, 2) /* (R28) MCAN2_TX.VOUT0_DATA0 */
J721S2_IOPAD(0x070, PIN_OUTPUT, 2) /* (R27) MCAN1_RX.VOUT0_DATA1 */
J721S2_IOPAD(0x04c, PIN_OUTPUT, 2) /* (V27) MCASP1_AXR1.VOUT0_DATA10 */
J721S2_IOPAD(0x048, PIN_OUTPUT, 2) /* (AB27) MCASP0_AXR2.VOUT0_DATA11 */
J721S2_IOPAD(0x044, PIN_OUTPUT, 2) /* (Y26) MCASP0_AXR1.VOUT0_DATA12 */
J721S2_IOPAD(0x040, PIN_OUTPUT, 2) /* (AC28) MCASP0_AXR0.VOUT0_DATA13 */
J721S2_IOPAD(0x03c, PIN_OUTPUT, 2) /* (U27) MCASP0_AFSX.VOUT0_DATA14 */
J721S2_IOPAD(0x038, PIN_OUTPUT, 2) /* (AB28) MCASP0_ACLKX.VOUT0_DATA15 */
J721S2_IOPAD(0x0c8, PIN_OUTPUT, 2) /* (AD28) EXT_REFCLK1.VOUT0_DATA16 */
J721S2_IOPAD(0x030, PIN_OUTPUT, 2) /* (T26) GPIO0_12.VOUT0_DATA17 */
J721S2_IOPAD(0x02c, PIN_OUTPUT, 2) /* (V23) GPIO0_11.VOUT0_DATA18 */
J721S2_IOPAD(0x028, PIN_OUTPUT, 2) /* (AB24) MCAN16_RX.VOUT0_DATA19 */
J721S2_IOPAD(0x07c, PIN_OUTPUT, 2) /* (T27) MCASP0_AXR3.VOUT0_DATA2 */
J721S2_IOPAD(0x024, PIN_OUTPUT, 2) /* (Y28) MCAN16_TX.VOUT0_DATA20 */
J721S2_IOPAD(0x020, PIN_OUTPUT, 2) /* (AA23) MCAN15_RX.VOUT0_DATA21 */
J721S2_IOPAD(0x01c, PIN_OUTPUT, 2) /* (Y24) MCAN15_TX.VOUT0_DATA22 */
J721S2_IOPAD(0x018, PIN_OUTPUT, 2) /* (W23) MCAN14_RX.VOUT0_DATA23 */
J721S2_IOPAD(0x068, PIN_OUTPUT, 2) /* (U28) MCAN0_RX.VOUT0_DATA3 */
J721S2_IOPAD(0x064, PIN_OUTPUT, 2) /* (W28) MCAN0_TX.VOUT0_DATA4 */
J721S2_IOPAD(0x060, PIN_OUTPUT, 2) /* (AC27) MCASP2_AXR1.VOUT0_DATA5 */
J721S2_IOPAD(0x05c, PIN_OUTPUT, 2) /* (AA26) MCASP2_AXR0.VOUT0_DATA6 */
J721S2_IOPAD(0x058, PIN_OUTPUT, 2) /* (AA27) MCASP2_AFSX.VOUT0_DATA7 */
J721S2_IOPAD(0x054, PIN_OUTPUT, 2) /* (Y27) MCASP2_ACLKX.VOUT0_DATA8 */
J721S2_IOPAD(0x050, PIN_OUTPUT, 2) /* (W27) MCASP1_AXR2.VOUT0_DATA9 */
J721S2_IOPAD(0x084, PIN_OUTPUT, 2) /* (AA28) MCASP0_AXR5.VOUT0_DE */
J721S2_IOPAD(0x080, PIN_OUTPUT, 2) /* (U26) MCASP0_AXR4.VOUT0_HSYNC */
J721S2_IOPAD(0x078, PIN_OUTPUT, 2) /* (Y25) MCAN2_RX.VOUT0_PCLK */
J721S2_IOPAD(0x088, PIN_OUTPUT, 2) /* (AD27) MCASP0_AXR6.VOUT0_VP0_VSYNC */
>;
};
hdmi_hpd_pins_default: hdmi-hpd-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x000, PIN_INPUT, 7) /* (AG24) EXTINTN.GPIO0_0 */
>;
};
};
&wkup_pmx2 {
wkup_uart0_pins_default: wkup-uart0-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x070, PIN_INPUT, 0) /* (E25) WKUP_GPIO0_6.WKUP_UART0_CTSn */
J721S2_WKUP_IOPAD(0x074, PIN_OUTPUT, 0) /* (F28) WKUP_GPIO0_7.WKUP_UART0_RTSn */
J721S2_WKUP_IOPAD(0x048, PIN_INPUT, 0) /* (D28) WKUP_UART0_RXD */
J721S2_WKUP_IOPAD(0x04c, PIN_OUTPUT, 0) /* (D27) WKUP_UART0_TXD */
>;
};
mcu_cpsw_pins_default: mcu-cpsw-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x02C, PIN_INPUT, 0) /* (B22) MCU_RGMII1_RD0 */
J721S2_WKUP_IOPAD(0x028, PIN_INPUT, 0) /* (B21) MCU_RGMII1_RD1 */
J721S2_WKUP_IOPAD(0x024, PIN_INPUT, 0) /* (C22) MCU_RGMII1_RD2 */
J721S2_WKUP_IOPAD(0x020, PIN_INPUT, 0) /* (D23) MCU_RGMII1_RD3 */
J721S2_WKUP_IOPAD(0x01C, PIN_INPUT, 0) /* (D22) MCU_RGMII1_RXC */
J721S2_WKUP_IOPAD(0x004, PIN_INPUT, 0) /* (E23) MCU_RGMII1_RX_CTL */
J721S2_WKUP_IOPAD(0x014, PIN_OUTPUT, 0) /* (F23) MCU_RGMII1_TD0 */
J721S2_WKUP_IOPAD(0x010, PIN_OUTPUT, 0) /* (G22) MCU_RGMII1_TD1 */
J721S2_WKUP_IOPAD(0x00C, PIN_OUTPUT, 0) /* (E21) MCU_RGMII1_TD2 */
J721S2_WKUP_IOPAD(0x008, PIN_OUTPUT, 0) /* (E22) MCU_RGMII1_TD3 */
J721S2_WKUP_IOPAD(0x018, PIN_OUTPUT, 0) /* (F21) MCU_RGMII1_TXC */
J721S2_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (F22) MCU_RGMII1_TX_CTL */
>;
};
mcu_mdio_pins_default: mcu-mdio-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x034, PIN_OUTPUT, 0) /* (A21) MCU_MDIO0_MDC */
J721S2_WKUP_IOPAD(0x030, PIN_INPUT, 0) /* (A22) MCU_MDIO0_MDIO */
>;
};
mcu_mcan0_pins_default: mcu-mcan0-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x054, PIN_INPUT, 0) /* (E28) MCU_MCAN0_RX */
J721S2_WKUP_IOPAD(0x050, PIN_OUTPUT, 0) /* (E27) MCU_MCAN0_TX */
>;
};
mcu_mcan1_pins_default: mcu-mcan1-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x06C, PIN_INPUT, 0) /* (F26) WKUP_GPIO0_5.MCU_MCAN1_RX */
J721S2_WKUP_IOPAD(0x068, PIN_OUTPUT, 0) /* (C23) WKUP_GPIO0_4.MCU_MCAN1_TX*/
>;
};
mcu_i2c0_pins_default: mcu-i2c0-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x0a0, PIN_INPUT, 0) /* (G24) MCU_I2C0_SCL */
J721S2_WKUP_IOPAD(0x0a4, PIN_INPUT, 0) /* (J25) MCU_I2C0_SDA */
>;
};
mcu_i2c1_pins_default: mcu-i2c1-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x078, PIN_INPUT, 0) /* (F24) WKUP_GPIO0_8.MCU_I2C1_SCL */
J721S2_WKUP_IOPAD(0x07c, PIN_INPUT, 0) /* (H26) WKUP_GPIO0_9.MCU_I2C1_SDA */
>;
};
mcu_uart0_pins_default: mcu-uart0-default-pins {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x08c, PIN_INPUT, 0) /* (C24) WKUP_GPIO0_13.MCU_UART0_RXD */
J721S2_WKUP_IOPAD(0x088, PIN_OUTPUT, 0) /* (C25) WKUP_GPIO0_12.MCU_UART0_TXD */
>;
};
mcu_rpi_header_gpio0_pins0_default: mcu-rpi-header-gpio0-default-pins-0 {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x118, PIN_INPUT, 7) /* (G25) WKUP_GPIO0_66 */
J721S2_WKUP_IOPAD(0x05C, PIN_INPUT, 7) /* (E24) MCU_SPI1_D0.WKUP_GPIO0_1 */
J721S2_WKUP_IOPAD(0x060, PIN_INPUT, 7) /* (C28) MCU_SPI1_D1.WKUP_GPIO0_2 */
J721S2_WKUP_IOPAD(0x058, PIN_INPUT, 7) /* (D26) MCU_SPI1_CLK.WKUP_GPIO0_0 */
J721S2_WKUP_IOPAD(0x094, PIN_INPUT, 7) /* (D25) MCU_SPI1_CS2.WKUP_GPIO0_15*/
J721S2_WKUP_IOPAD(0x0B8, PIN_INPUT, 7) /* (G27) WKUP_GPIO0_56 */
J721S2_WKUP_IOPAD(0x114, PIN_INPUT, 7) /* (J26) WKUP_GPIO0_57 */
J721S2_WKUP_IOPAD(0x11C, PIN_INPUT, 7) /* (J27) WKUP_GPIO0_67 */
J721S2_WKUP_IOPAD(0x064, PIN_INPUT, 7) /* (C27) MCU_SPI1_CS0.WKUP_GPIO0_3 */
>;
};
};
&wkup_pmx3 {
mcu_rpi_header_gpio0_pins1_default: mcu-rpi-header-gpio0-default-pins-1 {
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (K26) WKUP_GPIO0_49 */
>;
};
};
&main_gpio0 {
status = "okay";
};
&wkup_gpio0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_rpi_header_gpio0_pins0_default>, <&mcu_rpi_header_gpio0_pins1_default>;
};
&wkup_uart0 {
status = "reserved";
pinctrl-names = "default";
pinctrl-0 = <&wkup_uart0_pins_default>;
};
&wkup_i2c0 {
bootph-all;
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&wkup_i2c0_pins_default>;
status = "okay";
lp8733: pmic@60 {
compatible = "ti,lp8733";
reg = <0x60>;
buck0-in-supply = <&vsys_3v3>;
buck1-in-supply = <&vsys_3v3>;
ldo0-in-supply = <&vsys_3v3>;
ldo1-in-supply = <&vsys_3v3>;
lp8733_regulators: regulators {
lp8733_buck0_reg: buck0 {
/* FB_B0 -> LP8733-BUCK1 - VDD_MCU_0V85 */
regulator-name = "lp8733-buck0";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <850000>;
regulator-always-on;
regulator-boot-on;
};
lp8733_buck1_reg: buck1 {
/* FB_B1 -> LP8733-BUCK2 - VDD_DDR_1V1 */
regulator-name = "lp8733-buck1";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
};
lp8733_ldo0_reg: ldo0 {
/* LDO0 -> LP8733-LDO1 - VDA_DLL_0V8 */
regulator-name = "lp8733-ldo0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-boot-on;
regulator-always-on;
};
lp8733_ldo1_reg: ldo1 {
/* LDO1 -> LP8733-LDO2 - VDA_LN_1V8 */
regulator-name = "lp8733-ldo1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
};
};
tps62873a: regulator@40 {
compatible = "ti,tps62873";
reg = <0x40>;
bootph-pre-ram;
regulator-name = "VDD_CPU_AVS";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <900000>;
regulator-boot-on;
regulator-always-on;
};
tps62873b: regulator@43 {
compatible = "ti,tps62873";
reg = <0x43>;
regulator-name = "VDD_CORE_0V8";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-boot-on;
regulator-always-on;
};
};
&mcu_uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_uart0_pins_default>;
};
&main_uart3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_uart3_pins_default>;
/* Shared with TFA on this platform */
power-domains = <&k3_pds 352 TI_SCI_PD_SHARED>;
};
&main_uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_uart8_pins_default>;
/* Shared with TFA on this platform */
power-domains = <&k3_pds 357 TI_SCI_PD_SHARED>;
};
&main_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
exp1: gpio@21 {
compatible = "ti,tca6416";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = " ", " ", " ", " ", " ",
"BOARDID_EEPROM_WP", "CAN_STB", " ",
"GPIO_uSD_PWR_EN", " ", "IO_EXP_PCIe1_M.2_RTSz",
"IO_EXP_MCU_RGMII_RST#", " ", " ", " ", " ";
};
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
status = "okay";
};
&main_i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c4_pins_default>;
clock-frequency = <400000>;
};
&mcu_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_i2c0_pins_default>;
clock-frequency = <400000>;
};
&mcu_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_i2c1_pins_default>;
/* i2c1 is used for DVI DDC, so we need to use 100kHz */
clock-frequency = <100000>;
exp2: gpio@20 {
compatible = "ti,tca6408";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "HDMI_PDn","HDMI_LS_OE",
"DP0_3V3_EN","eDP_ENABLE";
};
dsi_edp_bridge: dsi-edp-bridge@2c {
compatible = "ti,sn65dsi86";
reg = <0x2c>;
clock-names = "refclk";
clocks = <&edp0_refclk>;
enable-gpios = <&exp2 3 GPIO_ACTIVE_HIGH>;
vpll-supply = <&vsys_io_1v8>;
vccio-supply = <&vsys_io_1v8>;
vcca-supply = <&vsys_io_1v2>;
vcc-supply = <&vsys_io_1v2>;
aux-bus {
panel {
compatible = "ti,panel-edp";
power-supply = <&dp0_pwr_3v3>;
port {
dp0_panel_in: endpoint {
remote-endpoint = <&dp0_out>;
};
};
};
};
dsi_edp_bridge_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dp0_in: endpoint {
remote-endpoint = <&dsi0_out>;
};
};
port@1 {
reg = <1>;
dp0_out: endpoint {
remote-endpoint = <&dp0_panel_in>;
};
};
};
};
};
&main_sdhci1 {
/* SD card */
status = "okay";
pinctrl-0 = <&main_mmc1_pins_default>;
pinctrl-names = "default";
disable-wp;
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vdd_sd_dv>;
};
&mcu_cpsw {
pinctrl-names = "default";
pinctrl-0 = <&mcu_cpsw_pins_default>, <&mcu_mdio_pins_default>;
};
&davinci_mdio {
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;
};
};
&cpsw_port1 {
phy-mode = "rgmii-rxid";
phy-handle = <&phy0>;
};
&mcu_mcan0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan0_pins_default>;
phys = <&transceiver1>;
};
&mcu_mcan1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan1_pins_default>;
phys = <&transceiver2>;
};
&main_mcan6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mcan6_pins_default>;
phys = <&transceiver3>;
};
&main_mcan7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mcan7_pins_default>;
phys = <&transceiver4>;
};
&dss {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dss_vout0_pins_default>;
/*
* These clock assignments are chosen to enable the following outputs:
*
* VP0 - DisplayPort SST
* VP1 - DPI0
* VP2 - DSI
* VP3 - DPI1
*/
assigned-clocks = <&k3_clks 158 2>,
<&k3_clks 158 5>,
<&k3_clks 158 14>,
<&k3_clks 158 18>;
assigned-clock-parents = <&k3_clks 158 3>,
<&k3_clks 158 7>,
<&k3_clks 158 16>,
<&k3_clks 158 22>;
};
&dss_ports {
#address-cells = <1>;
#size-cells = <0>;
/* HDMI */
port@1 {
reg = <1>;
dpi_out0: endpoint {
remote-endpoint = <&tfp410_in>;
};
};
/* DSI */
port@2 {
reg = <2>;
dpi0_out: endpoint {
remote-endpoint = <&dsi0_in>;
};
};
};
&serdes_ln_ctrl {
idle-states = <J721S2_SERDES0_LANE0_PCIE1_LANE0>, <J721S2_SERDES0_LANE1_PCIE1_LANE1>,
<J721S2_SERDES0_LANE2_USB_SWAP>, <J721S2_SERDES0_LANE3_USB>;
};
&serdes_refclk {
clock-frequency = <100000000>;
};
&serdes0 {
status = "okay";
serdes0_pcie_link: phy@0 {
reg = <0>;
cdns,num-lanes = <2>;
#phy-cells = <0>;
cdns,phy-type = <PHY_TYPE_PCIE>;
resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
};
serdes0_usb_link: phy@2 {
status = "okay";
reg = <2>;
cdns,num-lanes = <1>;
#phy-cells = <0>;
cdns,phy-type = <PHY_TYPE_USB3>;
resets = <&serdes_wiz0 3>;
};
};
&pcie1_rc {
status = "okay";
reset-gpios = <&exp1 10 GPIO_ACTIVE_HIGH>;
phys = <&serdes0_pcie_link>;
phy-names = "pcie-phy";
num-lanes = <2>;
};
&usb_serdes_mux {
idle-states = <0>; /* USB0 to SERDES lane 2 */
};
&usbss0 {
status = "okay";
pinctrl-0 = <&main_usbss0_pins_default>;
pinctrl-names = "default";
ti,vbus-divider;
};
&usb0 {
dr_mode = "host";
maximum-speed = "super-speed";
phys = <&serdes0_usb_link>;
phy-names = "cdns3,usb3-phy";
};
&dphy_tx0 {
status = "okay";
};
&dsi0 {
status = "okay";
};
&dsi0_ports {
port@0 {
reg = <0>;
dsi0_out: endpoint {
remote-endpoint = <&dp0_in>;
};
};
port@1 {
reg = <1>;
dsi0_in: endpoint {
remote-endpoint = <&dpi0_out>;
};
};
};
diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index 32aea587a..72dd384dd 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -19,13 +19,14 @@ / {
model = "Texas Instruments AM68 SK";
chosen {
- stdout-path = "serial2:115200n8";
+ stdout-path = "serial3:115200n8";
};
aliases {
serial0 = &wkup_uart0;
serial1 = &mcu_uart0;
serial2 = &main_uart8;
+ serial3 = &main_uart3;
mmc1 = &main_sdhci1;
can0 = &mcu_mcan0;
can1 = &mcu_mcan1;
@@ -64,7 +65,7 @@ vdd_mmc1: regulator-sd {
regulator-boot-on;
enable-active-high;
vin-supply = <&vsys_3v3>;
- gpio = <&exp1 8 GPIO_ACTIVE_HIGH>;
+ gpio = <&main_gpio0 50 GPIO_ACTIVE_HIGH>;
};
vdd_sd_dv: regulator-tlv71033 {
@@ -187,15 +188,16 @@ tfp410_out: endpoint {
};
};
- csi_mux: mux-controller {
- compatible = "gpio-mux";
- #mux-state-cells = <1>;
- mux-gpios = <&exp3 1 GPIO_ACTIVE_HIGH>;
- idle-state = <0>;
- };
};
&main_pmx0 {
+ main_uart3_pins_default: main-uart3-default-pins {
+ pinctrl-single,pins = <
+ J721S2_IOPAD(0x074, PIN_INPUT, 11) /* (R28) MCAN2_TX.UART3_RXD */
+ J721S2_IOPAD(0x078, PIN_OUTPUT, 11) /* (Y25) MCAN2_RX.UART3_TXD */
+ >;
+ };
+
main_uart8_pins_default: main-uart8-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0d0, PIN_INPUT, 11) /* (AF26) SPI0_CS1.UART8_RXD */
@@ -263,25 +265,6 @@ J721S2_IOPAD(0x014, PIN_INPUT_PULLUP, 8) /* (AD25) MCAN14_TX.I2C4_SCL */
>;
};
- rpi_header_gpio0_pins_default: rpi-header-gpio0-default-pins {
- pinctrl-single,pins = <
- J721S2_IOPAD(0x0a8, PIN_INPUT, 7) /* (U24) MCASP0_AXR14.GPIO0_42 */
- J721S2_IOPAD(0x090, PIN_INPUT, 7) /* (W24) MCASP0_AXR8.GPIO0_36 */
- J721S2_IOPAD(0x0bc, PIN_INPUT, 7) /* (V28) MCASP1_AFSX.GPIO0_47 */
- J721S2_IOPAD(0x06c, PIN_INPUT, 7) /* (V26) MCAN1_TX.GPIO0_27 */
- J721S2_IOPAD(0x004, PIN_INPUT, 7) /* (W25) MCAN12_TX.GPIO0_1 */
- J721S2_IOPAD(0x008, PIN_INPUT, 7) /* (AC24) MCAN12_RX.GPIO0_2 */
- J721S2_IOPAD(0x0b8, PIN_INPUT, 7) /* (AA24) MCASP1_ACLKX.GPIO0_46 */
- J721S2_IOPAD(0x00c, PIN_INPUT, 7) /* (AE28) MCAN13_TX.GPIO0_3 */
- J721S2_IOPAD(0x034, PIN_INPUT, 7) /* (AD24) PMIC_WAKE0.GPIO0_13 */
- J721S2_IOPAD(0x0a4, PIN_INPUT, 7) /* (T23) MCASP0_AXR13.GPIO0_41 */
- J721S2_IOPAD(0x0c0, PIN_INPUT, 7) /* (T28) MCASP1_AXR0.GPIO0_48 */
- J721S2_IOPAD(0x0b4, PIN_INPUT, 7) /* (U25) MCASP1_AXR4.GPIO0_45 */
- J721S2_IOPAD(0x0cc, PIN_INPUT, 7) /* (AE27) SPI0_CS0.GPIO0_51 */
- J721S2_IOPAD(0x08c, PIN_INPUT, 7) /* (T25) MCASP0_AXR7.GPIO0_35 */
- >;
- };
-
dss_vout0_pins_default: dss-vout0-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x074, PIN_OUTPUT, 2) /* (R28) MCAN2_TX.VOUT0_DATA0 */
@@ -416,8 +399,6 @@ J721S2_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (K26) WKUP_GPIO0_49 */
&main_gpio0 {
status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&rpi_header_gpio0_pins_default>;
};
&wkup_gpio0 {
@@ -514,6 +495,14 @@ &mcu_uart0 {
pinctrl-0 = <&mcu_uart0_pins_default>;
};
+&main_uart3 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_uart3_pins_default>;
+ /* Shared with TFA on this platform */
+ power-domains = <&k3_pds 352 TI_SCI_PD_SHARED>;
+};
+
&main_uart8 {
status = "okay";
pinctrl-names = "default";
@@ -543,36 +532,6 @@ &main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
status = "okay";
-
- exp3: gpio@20 {
- compatible = "ti,tca6408";
- reg = <0x20>;
- gpio-controller;
- #gpio-cells = <2>;
- gpio-line-names = "CSI_VIO_SEL", "CSI_SEL_FPC_EXPn",
- "IO_EXP_CSI2_EXP_RSTz","CSI0_B_GPIO1",
- "CSI1_B_GPIO1";
- };
-
- i2c-mux@70 {
- compatible = "nxp,pca9543";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x70>;
-
- cam0_i2c: i2c@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0>;
- };
-
- cam1_i2c: i2c@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <1>;
- };
-
- };
};
&main_i2c4 {
The main changes are changing out serial console from main_uart8 to main_uart3, and modifying the gpio pin that controls power to the sdcard. Our custom board and the SK-AM68 appear to be identical with respect to the other device tree nodes for the sdcard and pmics.
Also, the sdcard appears to work fine when using the u-boot shell. U-boot can read the fdt from the 2nd partition.
If someone could help me debug why Linux is unable to mount the sdcard partition, that would be great. Thanks!


