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.

TDA4VM: Kernel failing to boot from MMC

Part Number: TDA4VM

Hello TI,

We are trying to boot Linux from MMC on our custom hardware, and having issues. We have built the image using SDK: ti-processor-sdk-linux-adas-j784s4-evm-09_01_00_06  and a custom k3-j784s4-evm.dtb file

We have been debugging with the XDS110 probe and the kernel is hanging early in the boot process during mem_init() where it is allocating memory for the TLB. 

We thought it may be due to memory differences because our board only has one DDR that is 2GB

Can you please help us debug this to get the kernel running. I have included the boot log and our DTS file below.

U-Boot SPL 2023.04-g9d6c1f49 (Dec 15 2023 - 21:36:01 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)')
SPL initial stack usage: 13424 bytes
Trying to boot from SPI
cadence_spi spi@47040000: spi_find_chip_select: plat=41c66da4, cs=0
jedec_spi_nor flash@0: Software reset enable failed: -524
_spi_get_bus_and_cs: bus=41c66c98, slave=81ec06b0
Loading Environment from nowhere... OK
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.9(release):v2.9.0
NOTICE:  BL31: Built : 21:36:33, Dec 15 2023
I/TC:
I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)) #1 Fri Dec 15 21:37:02 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.0.6--v09.00.06 (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-g9d6c1f49 (Dec 15 2023 - 21:37:37 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)')
Trying to boot from SPI
cadence_spi spi@47040000: spi_find_chip_select: plat=80479478, cs=0
jedec_spi_nor flash@0: Software reset enable failed: -524
k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:328
k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled
_spi_get_bus_and_cs: bus=804792b0, slave=81c007f0


U-Boot 2023.04-g9d6c1f49 (Dec 15 2023 - 21:37:37 +0000)

SoC:   J784S4 SR1.0 GP
Model: Texas Instruments J784S4 EVM
DRAM:  2 GiB (effective 4 GiB)
drivers/mux/mmio.c:90- idle-statesCore:  89 devices, 30 uclasses, devicetree: separate
Flash: 0 Bytes
MMC:   mmc@4f80000: 0
Loading Environment from nowhere... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
Failed to probe am65_cpsw_nuss driver
Net:   No ethernet found.

=> setenv mmcdev 0
=> setenv bootpart 0:0
=> setenv boot_targets ti_mmc mmc0
=> setenv args_all 'setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}'
=> boot
switch to partitions #0, OK
mmc0(part 0) is current device
SD/MMC found on device 0
fs/fs.c:804- Failed to load 'boot.scr'
fs/fs.c:767- Can't set block device
** Bad partition specification mmc 0:0 **
GPIO: 'gpio@22_17' not found
Command 'gpio' failed: Error -22
GPIO: 'gpio@22_16' not found
Command 'gpio' failed: Error -22
drivers/remoteproc/ti_k3_r5f_rproc.c:865- k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-mcu-r5f0_1-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_0-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_1-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_0-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_1-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_0-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_1-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_0-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_1-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_2-fw'
fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_3-fw'
26057216 bytes read in 123 ms (202 MiB/s)
97457 bytes read in 22 ms (4.2 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 000000008fee5000, end 000000008fffffff ... OK
Working FDT set to 8fee5000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
[    0.000000] Linux version 6.1.46+ (dev@certapp-dev) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #2 SMP PREEMPT_DYNAMIC Thu Dec 21 12:55:16 CST 2023
[    0.000000] Machine model: Texas Instruments J784S4 EVM
[    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 0x00000008c7e00000, size 896 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    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] 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] 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] 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] 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] 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] 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] 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] 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] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a6000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a6100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a7000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a7100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@a8000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@a8100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@a9000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@a9100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000aa000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@aa000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000aa100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@aa100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ab000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@ab000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ab100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@ab100000, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000008ffffefff]
[    0.000000] NUMA: NODE_DATA [mem 0x8c76d3a40-0x8c76fdfff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffefff]
[    0.000000]   Device   empty
[    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-0x00000000abffffff]
[    0.000000]   node   0: [mem 0x00000000ac000000-0x00000000ffffefff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffefff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffefff]
[    0.000000] On node 0, zone Normal: 1 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 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.2
[    0.000000] percpu: Embedded 29 pages/cpu s79976 r8192 d30616 u118784
[    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] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032190
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 swiotlb=256 47040000.spi.0:512k(qspi.tiboot3),2m(qspi.tispl),4m(qspi.u-boot),256k(qspi.env),256k(qspi.env.backup),57088k@8m(qspi.rootfs),256k(qspi.phypattern);spi-nand0:512k(qspi_nand.tiboot3),2m(qspi_nand.tispl),4m(qspi_nand.u-boot),256k(qspi_nand.env),256k(qspi_nand.env.backup),98048k@32m(qspi_nand.rootfs),256k@130816k(qspi_nand.phypattern) root=PARTUUID= 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:on, heap free:off
[    0.000000] software IO TLB: area num 8.

  • Hi,

    Couple of points:

    • DDR seems functional as you are able to execute A72 SPL & U-Boot from DDR.
    • Can you remove all the reserved-memory nodes from kernel dts? As the memory is less.

    - Keerthy

  • I removed all nodes under reserved memory in the kernel dts and it is still hanging with memory issues.

    Emily

    => boot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    fs/fs.c:804- Failed to load 'boot.scr'
    fs/fs.c:767- Can't set block device
    ** Bad partition specification mmc 0:0 **
    GPIO: 'gpio@22_17' not found
    Command 'gpio' failed: Error -22
    GPIO: 'gpio@22_16' not found
    Command 'gpio' failed: Error -22
    drivers/remoteproc/ti_k3_r5f_rproc.c:865- k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-mcu-r5f0_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_2-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_3-fw'
    26057216 bytes read in 126 ms (197.2 MiB/s)
    91514 bytes read in 27 ms (3.2 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 000000008fee6000, end 000000008fffffff ... OK
    Working FDT set to 8fee6000
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [    0.000000] Linux version 6.1.46+ (dev@certapp-dev) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #2 SMP PREEMPT_DYNAMIC Thu Dec 21 12:55:16 CST 2023
    [    0.000000] Machine model: Texas Instruments J784S4 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] NUMA: No NUMA configuration found
    [    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000008ffffefff]
    [    0.000000] NUMA: NODE_DATA [mem 0x8ff66da40-0x8ff697fff]
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffefff]
    [    0.000000]   Device   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000ffffefff]
    [    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffefff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffefff]
    [    0.000000] On node 0, zone Normal: 1 pages in unavailable ranges
    [    0.000000] On node 0, zone Normal: 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.2
    [    0.000000] percpu: Embedded 29 pages/cpu s79976 r8192 d30616 u118784
    [    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] Fallback order for Node 0: 0
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032190
    [    0.000000] Policy zone: Normal
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 47040000.spi.0:512k(qspi.tiboot3),2m(qspi.tispl),4m(qspi.u-boot),256k(qspi.env),256k(qspi.env.backup),57088k@8m(qspi.rootfs),256k(qspi.phypattern);spi-nand0:512k(qspi_nand.tiboot3),2m(qspi_nand.tispl),4m(qspi_nand.u-boot),256k(qspi_nand.env),256k(qspi_nand.env.backup),98048k@32m(qspi_nand.rootfs),256k@130816k(qspi_nand.phypattern) root=PARTUUID= 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:on, heap free:off
    [    0.000000] software IO TLB: area num 8.
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff807fc00000
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000047
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x07: level 3 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000047
    [    0.000000]   CM = 0, WnR = 1
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff807fc00000] pgd=18000008ffdfd003, p4d=18000008ffdfd003, pud=18000008ffdfd003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887fdfdff0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887fdfdff0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbff0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbff0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    [    0.000000] [ffffff887f9fbfe0] pgd=18000008ff9fb003, p4d=18000008ff9fb003, pud=18000008ff9fb003
    [    0.000000] Unable to handle kernel paging request at virtual address ffffff887f9fbfe0
    [    0.000000] Mem abort info:
    [    0.000000]   ESR = 0x0000000096000006
    [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    0.000000]   SET = 0, FnV = 0
    [    0.000000]   EA = 0, S1PTW = 0
    [    0.000000]   FSC = 0x06: level 2 translation fault
    [    0.000000] Data abort info:
    [    0.000000]   ISV = 0, ISS = 0x00000006
    [    0.000000]   CM = 0, WnR = 0
    [    0.000000] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000831c4000
    

  • Hi Emily,

    I will loop in our DDR expert to check your DDR settings.

    - Keerthy

  • Hi,

    A few questions:

    • Can you please provide the list of changes you have made to source code to account for the DDR density delta?
    • Can you try a slower DDR frequency (ex: 3200 data rate) to see if that has any impact on the failure?
    • How many boards show the issue? (both raw count and percentage)
    • Can you please provide the LPDDR4 part number used in your system, along with the filled-in XLS tool used to generate your custom DDR register settings?

    Thanks,
    Kevin

  • Kevin S, 

    I work with Emily on this project.  We know the memory interface works because we were able to load and boot uboot from the same customer hardware.  We encounter this issue

  • sorry, (PC issue, and cut off my update).  We only encounter issue when we try to load and boot Linux Kernel.  We are wondering if there's any other unique memory configuration that we have to update in Linux.  

  • We don't have a lot of proto boards build, so far all the ones that we have tried on all exhibit the same issue.  But all of them were able to boot and access memory with uboot.  The memory device that we are using is MT53E512M32D1ZW-046 IT:B

  • Hi George, 

    I believe booting the Linux kernel is a bit more stressful than booting u-boot - we may not want to eliminate DDR as a potential cause yet. Anyways, if you still observe the same issue at a slower DDR frequency it would give more reason to think the issue is unrelated to DDR signal integrity. 

    I asked about the changes to source code for the DDR density because of the hi-lighted line below in the log.

    mSoC: J784S4 SR1.0 GP
    Model: Texas Instruments J784S4 EVM
    DRAM: 2 GiB (effective 4 GiB)

    Specifically how did the dram_init_banksize function get updated? https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/j784s4/evm.c?h=09.02.00.003#n58

    You mentioned that you have a total of 2GB, but I am wondering if the Linux kernel thinks there is 4GB. The crash happens very early, so seems it could be related to trying to access an invalid location. 

    We are wondering if there's any other unique memory configuration that we have to update in Linux.  

    As far as I am aware, changes should only be needed in the bootloader. The bootloader should pass the memory regions to the Linux kernel.

    Regards,
    Kevin

  • Thanks Kevin, 

    We changed the gd->ram_size = 0x80000000 and disabled DRAM bank 1 in the 64bit address region. That seemed to fix the u-boot log.
    The kernel is booting further and failing at a different spot. I have included the log below

    U-Boot SPL 2023.04-g2bd5022f (Feb 08 2024 - 15:20:47 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)')
    SPL initial stack usage: 13424 bytes
    Trying to boot from SPI
    cadence_spi spi@47040000: spi_find_chip_select: plat=41c66da4, cs=0
    jedec_spi_nor flash@0: Software reset enable failed: -524
    _spi_get_bus_and_cs: bus=41c66c98, slave=81ec06b0
    Loading Environment from nowhere... OK
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.9(release):v2.9.0
    NOTICE:  BL31: Built : 18:38:23, Feb  8 2024
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)) #1 Thu Feb  8 18:38:53 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: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (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-g9e39125f (Feb 08 2024 - 18:39:28 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)')
    Trying to boot from SPI
    cadence_spi spi@47040000: spi_find_chip_select: plat=80479478, cs=0
    jedec_spi_nor flash@0: Software reset enable failed: -524
    k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:328
    k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled
    _spi_get_bus_and_cs: bus=804792b0, slave=81c007f0
    
    
    U-Boot 2023.04-g9e39125f (Feb 08 2024 - 18:39:28 +0000)
    
    SoC:   J784S4 SR1.0 GP
    Model: Texas Instruments J784S4 EVM
    DRAM:  2 GiB
    drivers/mux/mmio.c:90- idle-statesCore:  89 devices, 30 uclasses, devicetree: separate
    Flash: 0 Bytes
    MMC:   mmc@4f80000: 0
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Failed to probe am65_cpsw_nuss driver
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0
    => setenv mmcdev 0
    => setenv boot_targets ti_mmc mmc0
    => setenv bootpart 0:0
    => setenv args_all 'setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}'
    => boot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    fs/fs.c:804- Failed to load 'boot.scr'
    fs/fs.c:767- Can't set block device
    ** Bad partition specification mmc 0:0 **
    GPIO: 'gpio@22_17' not found
    Command 'gpio' failed: Error -22
    GPIO: 'gpio@22_16' not found
    Command 'gpio' failed: Error -22
    drivers/remoteproc/ti_k3_r5f_rproc.c:865- k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-mcu-r5f0_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f0_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f1_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-main-r5f2_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_0-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_1-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_2-fw'
    fs/fs.c:804- Failed to load '/lib/firmware/j784s4-c71_3-fw'
    26057216 bytes read in 128 ms (194.1 MiB/s)
    91582 bytes read in 26 ms (3.4 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 000000008fee6000, end 000000008fffffff ... OK
    Working FDT set to 8fee6000
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [    0.000000] Linux version 6.1.46+ (dev@certapp-dev) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #2 SMP PREEMPT_DYNAMIC Thu Dec 21 12:55:16 CST 2023
    [    0.000000] Machine model: Texas Instruments J784S4 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] NUMA: No NUMA configuration found
    [    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] NUMA: NODE_DATA [mem 0xffa70a40-0xffa9afff]
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000]   Device   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    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.2
    [    0.000000] percpu: Embedded 29 pages/cpu s79976 r8192 d30616 u118784
    [    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] Fallback order for Node 0: 0
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
    [    0.000000] Policy zone: DMA
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 47040000.spi.0:512k(qspi.tiboot3),2m(qspi.tispl),4m(qspi.u-boot),256k(qspi.env),256k(qspi.env.backup),57088k@8m(qspi.rootfs),256k(qspi.phypattern);spi-nand0:512k(qspi_nand.tiboot3),2m(qspi_nand.tispl),4m(qspi_nand.u-boot),256k(qspi_nand.env),256k(qspi_nand.env.backup),98048k@32m(qspi_nand.rootfs),256k@130816k(qspi_nand.phypattern) root=PARTUUID= rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
    [    0.000000] Memory: 2027652K/2097152K available (13184K kernel code, 2470K rwdata, 4916K rodata, 4736K init, 1437K bss, 69500K reserved, 0K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
    [    0.000000] ftrace: allocating 43833 entries in 172 pages
    [    0.000000] ftrace: allocated 172 pages with 4 groups
    [    0.000000] trace event string verifier disabled
    [    0.000000] Dynamic Preempt: voluntary
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=8.
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000]  Rude 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=8
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: [Firmware Bug]: GICR region 0x0000000001900000 has overlapping address
    [    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 @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x00000000801c0000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000801d0000
    [    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.008409] Console: colour dummy device 80x25
    [    0.013016] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023690] pid_max: default: 32768 minimum: 301
    [    0.028511] LSM: Security Framework initializing
    [    0.033253] Yama: becoming mindful.
    [    0.036882] AppArmor: AppArmor initialized
    [    0.041179] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.048746] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.058171] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.065567] cblist_init_generic: Setting shift to 3 and lim to 1.
    [    0.071856] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.079239] cblist_init_generic: Setting shift to 3 and lim to 1.
    [    0.085534] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.092916] cblist_init_generic: Setting shift to 3 and lim to 1.
    [    0.099296] rcu: Hierarchical SRCU implementation.
    [    0.104191] rcu:     Max phase no-delay instances is 1000.
    [    0.110116] Platform MSI: msi-controller@1820000 domain created
    [    0.116304] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.125605] EFI services will not be available.
    [    0.130720] smp: Bringing up secondary CPUs ...
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Secondary CPU 2 initializing
    I/TC: Secondary CPU 2 switching to normal world boot
    I/TC: Secondary CPU 3 initializing
    I/TC: Secondary CPU 3 switching to normal world boot
    I/TC: Secondary CPU 2 initializing
    I/TC: Secondary CPU 2 switching to normal world boot
    I/TC: Secondary CPU 3 initializing
    I/TC: Secondary CPU 3 switching to normal world boot
    I/TC: Secondary CPU 4 initializing
    I/TC: Secondary CPU 4 switching to normal world boot
    I/TC: Secondary CPU 5 initializing
    I/TC: Secondary CPU 5 switching to normal world boot
    [    0.144036] Detected PIPT I-cache on CPU1
    [    0.144103] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
    [    0.144117] GICv3: CPU1: using allocated LPI pending table @0x00000000801e0000
    [    0.144150] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
    [    0.152830] Detected PIPT I-cache on CPU2
    [    0.152879] GICv3: CPU2: found redistributor 2 region 0:0x0000000001940000
    [    0.152892] GICv3: CPU2: using allocated LPI pending table @0x00000000801f0000
    [    0.152916] CPU2: Booted secondary processor 0x0000000002 [0x411fd080]
    [    0.161554] Detected PIPT I-cache on CPU3
    [    0.161610] GICv3: CPU3: found redistributor 3 region 0:0x0000000001960000
    [    0.161623] GICv3: CPU3: using allocated LPI pending table @0x0000000080200000
    [    0.161647] CPU3: Booted secondary processor 0x0000000003 [0x411fd080]
    [    0.170331] Detected PIPT I-cache on CPU4
    [    0.170424] GICv3: CPU4: found redistributor 100 region 0:0x0000000001980000
    [    0.170439] GICv3: CPU4: using allocated LPI pending table @0x0000000080210000
    [    0.170473] CPU4: Booted secondary processor 0x0000000100 [0x411fd080]
    [    0.179143] Detected PIPT I-cache on CPU5
    [    0.179201] GICv3: CPU5: found redistributor 101 region 0:0x00000000019a0000
    [    0.179214] GICv3: CPU5: using allocated LPI pending table @0x0000000080220000
    [    0.179239] CPU5: Booted secondary processor 0x0000000101 [0x411fd080]
    [    0.187938] Detected PIPT I-cache on CPU6
    [    0.188000] GICv3: CPU6: found redistributor 102 region 0:0x00000000019c0000
    [    0.188013] GICv3: CPU6: using allocated LPI pending table @0x0000000080230000
    [    0.188039] CPU6: Booted secondary processor 0x0000000102 [0x411fd080]
    [    0.196692] Detected PIPT I-cache on CPU7
    [    0.196758] GICv3: CPU7: found redistributor 103 region 0:0x00000000019e0000
    [    0.196771] GICv3: CPU7: using allocated LPI pending table @0x0000000080240000
    [    0.196797] CPU7: Booted secondary processor 0x0000000103 [0x411fd080]
    [    0.196867] smp: Brought up 1 node, 8 CPUs
    [    0.377874] SMP: Total of 8 processors activated.
    [    0.382680] CPU features: detected: 32-bit EL0 Support
    [    0.387928] CPU features: detected: CRC32 instructions
    [    0.393237] CPU: All CPU(s) started at EL2
    [    0.397422] alternatives: applying system-wide alternatives
    [    0.404326] devtmpfs: initialized
    [    0.416266] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.426277] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
    [    0.433667] pinctrl core: initialized pinctrl subsystem
    [    0.439336] DMI not present or invalid.
    [    0.443647] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.450218] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.457539] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.465566] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.473688] audit: initializing netlink subsys (disabled)
    [    0.479354] audit: type=2000 audit(0.324:1): state=initialized audit_enabled=0 res=1
    [    0.479654] thermal_sys: Registered thermal governor 'fair_share'
    [    0.487280] thermal_sys: Registered thermal governor 'bang_bang'
    [    0.493506] thermal_sys: Registered thermal governor 'step_wise'
    [    0.499646] thermal_sys: Registered thermal governor 'user_space'
    [    0.505818] cpuidle: using governor ladder
    [    0.516239] cpuidle: using governor menu
    [    0.520335] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.527404] ASID allocator initialised with 65536 entries
    [    0.543561] KASLR disabled due to lack of seed
    [    0.552598] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.559544] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.565958] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.572895] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.579331] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.586267] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.592671] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.599606] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.607382] ACPI: Interpreter disabled.
    [    0.611444] iommu: Default domain type: Translated
    [    0.616431] iommu: DMA domain TLB invalidation policy: lazy mode
    [    0.623193] SCSI subsystem initialized
    [    0.627218] usbcore: registered new interface driver usbfs
    [    0.632845] usbcore: registered new interface driver hub
    [    0.638299] usbcore: registered new device driver usb
    [    0.643603] pps_core: LinuxPPS API ver. 1 registered
    [    0.648676] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.658017] PTP clock support registered
    [    0.662129] EDAC MC: Ver: 3.0.0
    [    0.666018] NetLabel: Initializing
    [    0.669497] NetLabel:  domain hash size = 128
    [    0.673946] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
    [    0.679757] NetLabel:  unlabeled traffic allowed by default
    [    0.685687] vgaarb: loaded
    [    0.688697] clocksource: Switched to clocksource arch_sys_counter
    [    0.695426] VFS: Disk quotas dquot_6.6.0
    [    0.699498] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.707080] AppArmor: AppArmor Filesystem Enabled
    [    0.711982] pnp: PnP ACPI: disabled
    [    0.721362] NET: Registered PF_INET protocol family
    [    0.726581] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.735451] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
    [    0.744266] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.752264] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.760523] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
    [    0.768323] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.775122] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [    0.782008] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [    0.789434] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.795240] NET: Registered PF_XDP protocol family
    [    0.800142] PCI: CLS 0 bytes, default 64
    [    0.805062] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
    [    0.814654] Initialise system trusted keyrings
    [    0.819243] Key type blacklist registered
    [    0.823501] workingset: timestamp_bits=36 max_order=19 bucket_order=0
    [    0.833317] zbud: loaded
    [    0.837283] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.843687] fuse: init (API version 7.37)
    [    0.848190] integrity: Platform Keyring initialized
    [    0.872774] Key type asymmetric registered
    [    0.876959] Asymmetric key parser 'x509' registered
    [    0.882851] alg: self-tests for CTR-KDF (hmac(sha256)) passed
    [    0.888788] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.896463] io scheduler mq-deadline registered
    [    0.902512] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    [    0.910281] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
    [    0.927497] loop: module loaded
    [    0.931653] tun: Universal TUN/TAP device driver, 1.6
    [    0.936919] PPP generic driver version 2.4.2
    [    0.941448] VFIO - User Level meta-driver version: 0.3
    [    0.947521] mousedev: PS/2 mouse device common for all mice
    [    0.953340] i2c_dev: i2c /dev entries driver
    [    0.957791] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.
    [    0.970309] device-mapper: uevent: version 1.0.3
    [    0.975184] device-mapper: ioctl: 4.47.0-ioctl (2022-07-28) initialised: dm-devel@redhat.com
    [    0.984145] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.990350] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.997027] drop_monitor: Initializing network drop monitor service
    [    1.003810] NET: Registered PF_INET6 protocol family
    [    1.010433] Segment Routing with IPv6
    [    1.014201] In-situ OAM (IOAM) with IPv6
    [    1.018252] NET: Registered PF_PACKET protocol family
    [    1.023496] Key type dns_resolver registered
    [    1.028912] registered taskstats version 1
    [    1.033344] Loading compiled-in X.509 certificates
    [    1.039574] Loaded X.509 cert 'Build time autogenerated kernel key: 174c32438fd71d978531b9dec2263a8a6ef57731'
    [    1.050834] zswap: loaded using pool lzo/zbud
    [    1.055773] Key type .fscrypt registered
    [    1.059785] Key type fscrypt-provisioning registered
    [    1.065749] Key type encrypted registered
    [    1.069858] AppArmor: AppArmor sha1 policy hashing enabled
    [    1.075487] ima: No TPM chip found, activating TPM-bypass!
    [    1.081102] Loading compiled-in module X.509 certificates
    [    1.087543] Loaded X.509 cert 'Build time autogenerated kernel key: 174c32438fd71d978531b9dec2263a8a6ef57731'
    [    1.097684] ima: Allocated hash algorithm: sha1
    [    1.102332] ima: No architecture policies found
    [    1.106991] evm: Initialising EVM extended attributes:
    [    1.112242] evm: security.selinux
    [    1.115626] evm: security.SMACK64
    [    1.119010] evm: security.SMACK64EXEC
    [    1.122752] evm: security.SMACK64TRANSMUTE
    [    1.126935] evm: security.SMACK64MMAP
    [    1.130674] evm: security.apparmor
    [    1.134146] evm: security.ima
    [    1.137174] evm: security.capability
    [    1.140824] evm: HMAC attrs: 0x1
    [    1.148391] Warning: unable to open an initial console.
    [    1.153756] md: Waiting for all devices to be available before autodetect
    [    1.160697] md: If you don't use raid, use raid=noautodetect
    [    1.166480] md: Autodetecting RAID arrays.
    [    1.170663] md: autorun ...
    [    1.173514] md: ... autorun DONE.
    [    1.176899] VFS: PARTUUID= is invalid.
    [    1.176899] Expected PARTUUID=<valid-uuid-id>[/PARTNROFF=%d]
    [    1.186501] Disabling rootwait; root= is invalid.
    [    1.191571] /dev/root: Can't open blockdev
    [    1.195767] VFS: Cannot open root device "PARTUUID=" or unknown-block(0,0): error -6
    [    1.203686] Please append a correct "root=" boot option; here are the available partitions:
    [    1.212236] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [    1.220681] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.46+ #2
    [    1.226815] Hardware name: Texas Instruments J784S4 EVM (DT)
    [    1.232594] Call trace:
    [    1.235084]  dump_backtrace+0x104/0x130
    [    1.239001]  show_stack+0x20/0x30
    [    1.242381]  dump_stack_lvl+0x6c/0x88
    [    1.246122]  dump_stack+0x18/0x34
    [    1.249503]  panic+0x194/0x378
    [    1.252618]  mount_block_root+0x15c/0x218
    [    1.256715]  mount_root+0x158/0x178
    [    1.260274]  prepare_namespace+0x13c/0x17c
    [    1.264455]  kernel_init_freeable+0x2b0/0x2fc
    [    1.268903]  kernel_init+0x2c/0x150
    [    1.272461]  ret_from_fork+0x10/0x20
    [    1.276111] SMP: stopping secondary CPUs
    [    1.280120] Kernel Offset: disabled
    [    1.283677] CPU features: 0x40000,20028084,0000420b
    [    1.288656] Memory Limit: none
    [    1.291769] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
    

  • Another configuration we considered is to split the 2GB of DDR.
    1GB in the 32bit address region and 1GB in the 64bit address region.
    I'm not sure if this affects Linux and would be a better solution.
     

    Thanks,
    Emily

  • Hi Emily,

    It looks better now. The file system mounting part is failing. Where is your file system present? Are you using SD card or eMMC?

    Based on that the bootatgs will change.

    Can you share you bootatgs?

    Boot to U-Boot prompt and execute this command:

    Printenv args_mmc.

    Share the output and also let me know where the rootfs is hosted.

    Best Regards,

    Keerthy 

  • Hi

    I am booting from MMC. Here is the bootargs

    => print args_mmc
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}

    Emily

  • Hi Emily,

    It looks better now. The file system mounting part is failing. Where is your file system present? Are you using SD card or eMMC?

    I believe you meant MMC-SD.

    Please execute the below command from U-boot:

    setenv args_mmc "run finduuid;setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootfste=ext4 rootwait"
    boot

    Assuming mmcbl1p2 is your SD card rootfs partition.

    - Keerthy

  • No we are booting from eMMC. We created an image with our custom kernel and device tree and wrote it to eMMC (dev 0 offset 0). Our custom image is a single partition formatted as ext4 and the files are located in /boot. I found this in the SDK https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/09_01_00_06/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html#partitioning-emmc-from-u-boot 

    Does the eMMC need to be partitioned in order to boot correctly?

    Emily

  • Hi Emily,

    Try the below for eMMC rootfs:

    setenv args_mmc "run finduuid;setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p1 rw rootfste=ext4 rootwait"

    This should work as long as your rootfs partition is mmcblk0p1 for eMMC.

    Best Regards,

    Keerthy 

  • That does not work. I'm asking if the eMMC needs to be partitioned differently or if I am writing the image to the wrong place.
    I included the output of the partitions below

    => mmc dev 0 0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000800      0x0003f7ff      "ext4"
            attrs:  0x0000000000000000
            type:   0fc63daf-8483-4772-8e79-3d69d8477de4
            guid:   3d6088ec-89fe-45d1-b726-4197ad4b8a78
    => mmc dev 0 1
    switch to partitions #1, OK
    mmc0(part 1) is current device
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    


    Emily

  • Hi Emily,

    Once you boot from eMMC. From u-boot prompt:

    gpt write mmc 0 ${partitions}

    That should take care of partitioning.

    The above creates a partition. Now boot to kernel using SD card. (Do you have a provision to boot from SD Card?)

    In kernel you should be able to see /dev/mmcblk0p1

    In kernel Make a ext4 fs using:

    mkfs.ext4 /dev/mmcblk0p1

    - Keerthy

  • I was able to get the kernel to boot by flashing image to $loadaddr and running run_kern