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.

PROCESSOR-SDK-AM65X: AM65x waiting for root device halt SDK7

Part Number: PROCESSOR-SDK-AM65X

Hi All,

I have a custom board using the AM65x based off the AM65 IDK EVM. Both the custom board and IDK EVM are using silicon 1 chips (PG1).

we are using a different DDR chip so we generated a new dtsi file from the EMIF Tool.

I have modified the sysfw.itb file and the sdk does boot properly on the AM65 IDK EVM.

On the custom board however it hangs during kernel boot at:

[    1.816598] Waiting for root device PARTUUID=424c432e-02...

I have attached the environment variables from uboot and console output hoping this will be a good starting point.

Thanks,

SC

=> printenv
arch=arm
args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
args_ubi=setenv bootargs console=${console} ${optargs} rootfstype=ubifs root=ubi0:rootfs rw ubi.mtd=ospi.rootfs
baudrate=115200
board=am65x
board_name=am65x
boot=mmc
boot_fit=0
boot_rprocs=if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then rproc init;run boot_rprocs_mmc;fi;
boot_rprocs_mmc=env set rproc_id;env set rproc_fw;for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i;else env set rproc_fw $i;run rproc_load_and_boot_one;env set rproc_id;env set rproc_fw;fi;done
bootargs=androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am65xevmboard
bootcmd=run check_dofastboot; run findfdt; run check_android; if test $is_android -eq 1; then run emmc_android_boot; fi; setenv mmcdev 1; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
check_android=setenv mmcdev 0; env delete boot_start; part start mmc ${mmcdev} boot boot_start; if test "$boot_start" = ""; then env set is_android 0; else env set is_android 1; fi; env delete boot_start
check_dofastboot=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; env save; echo Booting into fastboot ...; fastboot 0; fi
console=ttyS2,115200n8
cpu=armv8
dfu_alt_info_emmc=rawemmc raw 0 0x800000 mmcpart 1;rootfs part 0 1 mmcpart 0;tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;tispl.bin.raw raw 0x400 0x1000 mmcpart 1;u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;u-env.raw raw 0x3400 0x100 mmcpart 1;sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
dfu_alt_info_mmc=boot part 1 1;rootfs part 1 2;tiboot3.bin fat 1 1;tispl.bin fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1;sysfw.itb fat 1 1
dfu_alt_info_ospi=tiboot3.bin raw 0x0 0x080000;tispl.bin raw 0x080000 0x200000;u-boot.img raw 0x280000 0x400000;u-boot-env raw 0x680000 0x020000;sysfw.itb raw 0x6c0000 0x100000;rootfs raw 0x800000 0x3800000
dfu_bufsiz=0x20000
dofastboot=0
dorprocboot=0
emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 0; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} boot boot_start; part size mmc ${mmcdev} boot boot_size; mmc read ${fit_loadaddr} ${boot_start} ${boot_size}; run get_overlaystring; run run_fit
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
ethaddr=90:e2:02:27:c7:38
fdtaddr=0x82000000
fdtcontroladdr=fdec7598
findfdt=setenv name_fdt k3-am654-base-board-sr1.dtb;setenv fdtfile ${name_fdt}
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x90000000
get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}
get_fdt_ubi=ubifsload ${fdtaddr} ${bootdir}/${name_fdt}
get_fit_mmc=load mmc ${bootpart} ${fit_loadaddr} ${bootdir}/${fit_bootfile}
get_kern_mmc=load mmc ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
get_kern_ubi=ubifsload ${loadaddr} ${bootdir}/${name_kern}
get_overlay_mmc=fdt address ${fdtaddr};fdt resize 0x100000;for overlay in $overlay_files;do;load mmc ${bootpart} ${overlayaddr} ${bootdir}/${overlay};fdt apply ${overlayaddr};done;
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_mmc=run args_all args_mmc
init_ubi=run args_all args_ubi; sf probe; ubi part ospi.rootfs; ubifsmount ubi:rootfs;
loadaddr=0x80080000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; run run_fit;
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=1
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
mtdids=nor0=47040000.spi.0
mtdparts=mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs)
name_kern=Image
overlayaddr=0x83000000
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=bootloader,start=5M,size=8M,uuid=${uuid_gpt_bootloader};name=tiboot3,start=4M,size=1M,uuid=${uuid_gpt_tiboot3};name=boot,start=13M,size=40M,uuid=${uuid_gpt_boot};name=vendor,size=512M,uuid=${uuid_gpt_vendor};name=system,size=2048M,uuid=${uuid_gpt_system};name=userdata,size=-,uuid=${uuid_gpt_userdata}
rd_spec=-
rproc_fw_binaries=0 /lib/firmware/am65x-mcu-r5f0_0-fw 1 /lib/firmware/am65x-mcu-r5f0_1-fw
rproc_load_and_boot_one=if load mmc ${bootpart} $loadaddr ${rproc_fw}; then if rproc load ${rproc_id} ${loadaddr} ${filesize}; then rproc start ${rproc_id};fi;fi
run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring}
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
soc=k3
stdin=serial,usbkbd
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
vendor=ti

Environment size: 6019/131067 bytes
þ
U-Boot SPL 2020.01-dirty (Aug 20 2020 - 09:37:54 -0700)
SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
Reading on-board EEPROM at 0x50 failed -1
Trying to boot from MMC2
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.3():07.00.00.005-dirty
NOTICE:  BL31: Built : 17:03:45, Aug 10 2020

U-Boot SPL 2020.01-dirty (Aug 20 2020 - 09:37:05 -0700)
SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
Reading on-board EEPROM at 0x50 failed -1
i2c_write: error waiting for data ACK (status=0x116)
Error reading output register
Trying to boot from MMC2


U-Boot 2020.01-dirty (Aug 20 2020 - 09:37:05 -0700)

SoC:   AM65X SR1.0
Model: Texas Instruments AM654 Base Board
Reading on-board EEPROM at 0x50 failed -1
Board: AM6-COMPROCEVM rev E3
DRAM:  4 GiB
MMC:   sdhci@4f80000: 0, sdhci@04FA0000: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Reading on-board EEPROM at 0x50 failed -1
i2c_write: error waiting for data ACK (status=0x116)
Error reading output register
Net:   eth0: cpsw_nuss@046000000
Warning: pruss2_eth (eth1) using random MAC address - 96:43:f9:8d:d0:74
, eth1: pruss2_eth
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
1011 bytes read in 6 ms (164.1 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
16654344 bytes read in 1380 ms (11.5 MiB/s)
67584 bytes read in 11 ms (5.9 MiB/s)
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Loading Device Tree to 00000000fddb1000, end 00000000fdec4fff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.40-g66cf445b76 (oe-user@oe-host) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 SMP PREEMPT Mon Aug 10 16:54:04 UTC 2020
[    0.000000] Machine model: Texas Instruments AM654 Base Board
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] 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] cma: Reserved 512 MiB at 0x00000000c0000000
[    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.0
[    0.000000] percpu: Embedded 2 pages/cpu s48408 r8192 d74472 u131072
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 55976
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs) root=PARTUUID=424c432e-02 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0xbbff0000-0xbfff0000] (64MB)
[    0.000000] Memory: 3515712K/3586048K available (9534K kernel code, 776K rwdata, 3840K rodata, 1728K init, 695K bss, 18446744073709097664K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 960 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @8c0800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000008c00d0000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008c00e0000
[    0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x438 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000006] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.008640] Console: colour dummy device 80x25
[    0.013243] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.023935] pid_max: default: 32768 minimum: 301
[    0.028785] LSM: Security Framework initializing
[    0.033597] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.041194] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.073345] ASID allocator initialised with 32768 entries
[    0.086910] rcu: Hierarchical SRCU implementation.
[    0.099985] Platform MSI: gic-its@1820000 domain created
[    0.105695] PCI/MSI: /interconnect@100000/interrupt-controller@1800000/gic-its@1820000 domain created
[    0.123170] smp: Bringing up secondary CPUs ...
[    0.160385] Detected VIPT I-cache on CPU1
[    0.160421] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.160436] GICv3: CPU1: using allocated LPI pending table @0x00000008c00f0000
[    0.160485] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.192513] Detected VIPT I-cache on CPU2
[    0.192553] GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
[    0.192568] GICv3: CPU2: using allocated LPI pending table @0x00000008c0100000
[    0.192617] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
[    0.224517] Detected VIPT I-cache on CPU3
[    0.224542] GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
[    0.224553] GICv3: CPU3: using allocated LPI pending table @0x00000008c0110000
[    0.224585] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[    0.224729] smp: Brought up 1 node, 4 CPUs
[    0.304899] SMP: Total of 4 processors activated.
[    0.309720] CPU features: detected: 32-bit EL0 Support
[    0.315000] CPU features: detected: CRC32 instructions
[    0.331836] CPU: All CPU(s) started at EL2
[    0.336075] alternatives: patching kernel code
[    0.342187] devtmpfs: initialized
[    0.355916] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.365918] futex hash table entries: 1024 (order: 0, 65536 bytes, linear)
[    0.374720] pinctrl core: initialized pinctrl subsystem
[    0.381131] NET: Registered protocol family 16
[    0.392954] DMA: preallocated 256 KiB pool for atomic allocations
[    0.400108] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.429714] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[    0.436598] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
[    0.443383] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.455555] cryptd: max_cpu_qlen set to 1000
[    0.469583] iommu: Default domain type: Translated
[    0.474992] SCSI subsystem initialized
[    0.479475] mc: Linux media interface: v0.10
[    0.483885] videodev: Linux video capture interface: v2.00
[    0.489531] pps_core: LinuxPPS API ver. 1 registered
[    0.494613] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.503978] PTP clock support registered
[    0.508019] EDAC MC: Ver: 3.0.0
[    0.512412] FPGA manager framework
[    0.515983] Advanced Linux Sound Architecture Driver Initialized.
[    0.523260] clocksource: Switched to clocksource arch_sys_counter
[    0.529734] VFS: Disk quotas dquot_6.6.0
[    0.533860] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    0.547685] thermal_sys: Registered thermal governor 'step_wise'
[    0.547690] thermal_sys: Registered thermal governor 'power_allocator'
[    0.554474] NET: Registered protocol family 2
[    0.566197] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
[    0.575059] TCP established hash table entries: 32768 (order: 2, 262144 bytes, linear)
[    0.583486] TCP bind hash table entries: 32768 (order: 3, 524288 bytes, linear)
[    0.591602] TCP: Hash tables configured (established 32768 bind 32768)
[    0.598451] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.605434] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.613052] NET: Registered protocol family 1
[    0.618314] RPC: Registered named UNIX socket transport module.
[    0.624398] RPC: Registered udp transport module.
[    0.629216] RPC: Registered tcp transport module.
[    0.634031] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.640634] PCI: CLS 0 bytes, default 64
[    0.645808] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.663625] Initialise system trusted keyrings
[    0.668350] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.681730] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.688604] NFS: Registering the id_resolver key type
[    0.693815] Key type id_resolver registered
[    0.698102] Key type id_legacy registered
[    0.702220] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.709336] 9p: Installing v9fs 9p2000 file system support
[    0.735006] Key type asymmetric registered
[    0.739212] Asymmetric key parser 'x509' registered
[    0.744245] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.751819] io scheduler mq-deadline registered
[    0.756457] io scheduler kyber registered
[    0.763175] pinctrl-single 4301c000.pinmux: 70 pins, size 280
[    0.769661] pinctrl-single 11c000.pinmux: 185 pins, size 740
[    0.775605] pinctrl-single 11c2e8.pinmux: 9 pins, size 36
[    0.782377] pinctrl-single a40000.timesync_router: 512 pins, size 2048
[    0.795131] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
[    0.801486] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[    0.811984] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.835697] brd: module loaded
[    0.847438] loop: module loaded
[    0.854607] libphy: Fixed MDIO Bus: probed
[    0.859405] tun: Universal TUN/TAP device driver, 1.6
[    0.865336] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    0.873358] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.879467] sky2: driver version 1.30
[    0.884450] VFIO - User Level meta-driver version: 0.3
[    0.890628] i2c /dev entries driver
[    0.895566] sdhci: Secure Digital Host Controller Interface driver
[    0.901896] sdhci: Copyright(c) Pierre Ossman
[    0.906900] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.913942] ledtrig-cpu: registered to indicate activity on CPUs
[    0.920196] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: invalid resource
[    0.931483] optee: probing for conduit method from DT.
[    0.936782] optee: revision 3.8 (199fca17)
[    0.937559] optee: initialized driver
[    0.947176] NET: Registered protocol family 17
[    0.951911] 9pnet: Installing 9P2000 support
[    0.956361] Key type dns_resolver registered
[    0.961120] registered taskstats version 1
[    0.965332] Loading compiled-in X.509 certificates
[    0.979885] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
[    0.986377] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[    0.998162] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: invalid resource
[    1.008165] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
[    1.057401] omap_i2c 42120000.i2c: bus 0 rev0.12 at 400 kHz
[    1.063879] omap_i2c 40b00000.i2c: bus 1 rev0.12 at 100 kHz
[    1.070401] pca953x 2-0021: 2-0021 supply vcc not found, using dummy regulator
[    1.099552] random: fast init done
[    1.103427] omap_i2c 2000000.i2c: bus 2 rev0.12 at 400 kHz
[    1.110003] omap_i2c 2010000.i2c: bus 3 rev0.12 at 400 kHz
[    1.116310] omap_i2c 2020000.i2c: bus 4 rev0.12 at 400 kHz
[    1.122542] omap_i2c 2030000.i2c: bus 5 rev0.12 at 100 kHz
[    1.129191] ti-sci-intr interconnect@100000:interconnect@28380000:interconnect@42040000:interrupt-controller2: Interrupt Router 156 domain created
[    1.142835] ti-sci-intr interconnect@100000:interrupt-controller0: Interrupt Router 100 domain created
[    1.152554] ti-sci-intr interconnect@100000:navss@30800000:interrupt-controller1: Interrupt Router 182 domain created
[    1.163729] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 179 created
[    1.180137] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,160] sci-dev-id:195
[    1.190128] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: enabled
[    1.196814] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66344100, num_proxies:64
[    1.217983] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:818, gp-rings[304,464] sci-dev-id:187
[    1.228098] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: enabled
[    1.234787] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66344100, num_proxies:64
[    1.242904] omap8250 40a00000.serial: PM domain pd:149 will not be powered off
[    1.250698] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 8, base_baud = 6000000) is a 8250
[    1.260541] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 17, base_baud = 3000000) is a 8250
[    1.269318] printk: console [ttyS2] enabled
[    1.269318] printk: console [ttyS2] enabled
[    1.277770] printk: bootconsole [ns16550a0] disabled
[    1.277770] printk: bootconsole [ns16550a0] disabled
[    1.288687] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 18, base_baud = 3000000) is a 8250
[    1.298024] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 19, base_baud = 3000000) is a 8250
[    1.308417] cadence-qspi 47040000.spi: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[    1.316261] cadence-qspi 47040000.spi: Cadence QSPI NOR probe failed -2
[    1.323378] cadence-qspi: probe of 47040000.spi failed with error -2
[    1.375298] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.382970] libphy: 46000f00.mdio: probed
[    1.388440] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867
[    1.396746] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA07100, cpsw version 0x6BA80100 Ports: 2
[    1.408302] am65-cpsw-nuss 46000000.ethernet: Failed to request tx dma channel -517
[    1.417996] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a2109, freq:200000000, add_val:4 pps:0
[    1.426731] thermal thermal_zone1: failed to read out thermal zone (-22)
[    1.434343] mmc0: CQHCI version 5.10
[    1.469129] mmc0: SDHCI controller on 4f80000.sdhci [4f80000.sdhci] using ADMA 64-bit
[    1.489712] pca953x 0-0039: 0-0039 supply vcc not found, using dummy regulator
[    1.519318] pca953x 0-0039: failed writing register
[    1.524348] pca953x: probe of 0-0039 failed with error -121
[    1.530584] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc5900
[    1.537521] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc5900
[    1.548136] ti-udma 285c0000.dma-controller: Channels: 96 (tchan: 48, rchan: 48, gp-rflow: 48)
[    1.564785] mmc0: Command Queue Engine enabled
[    1.569277] mmc0: new HS200 MMC card at address 0001
[    1.581527] ti-udma 31150000.dma-controller: Channels: 267 (tchan: 119, rchan: 148, gp-rflow: 150)
[    1.591439] mmcblk0: mmc0:0001 S0J56X 14.8 GiB
[    1.596280] mmcblk0boot0: mmc0:0001 S0J56X partition 1 31.5 MiB
[    1.615645] mmcblk0boot1: mmc0:0001 S0J56X partition 2 31.5 MiB
[    1.621813] mmcblk0rpmb: mmc0:0001 S0J56X partition 3 4.00 MiB, chardev (240:0)
[    1.637976] spi-nor spi7.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[    1.644891] spi-nor: probe of spi7.0 failed with error -2
[    1.691275] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.698942] libphy: 46000f00.mdio: probed
[    1.704426] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867
[    1.712731] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA07100, cpsw version 0x6BA80100 Ports: 2
[    1.725432] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[    1.733351] pps pps0: new PPS source ptp1
[    1.737689] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a2109, freq:200000000, add_val:4 pps:1
[    1.746654] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 57.4
[    1.753960] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    1.765423] debugfs: Directory 'pd:121' with parent 'pm_genpd' already present!
[    1.772798] debugfs: Directory 'pd:120' with parent 'pm_genpd' already present!
[    1.782583] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.790047] hctosys: unable to open rtc device (rtc0)
[    1.805862] ALSA device list:
[    1.808844]   No soundcards found.
[    1.812886] Waiting for root device PARTUUID=424c432e-02...

  • Stephen, 

    I was not able to see your u-boot environment variables in the attached log file. could you resend? 

    By comparing to the EVM log, it seems the SD card was not probed by the kernel, though u-boot recognized it. So rootfs have no place to mount. 

    A few sanity check:

    1. Did you rebuild and updated all boot files including tiboot3.bin, SPL(initialize DDR controller), and u-boot.img (tells how much DDR are there)? since your DDR is different, changes need to be consistent across uboot and kernel driver. sometimes kernel drivers got corrupted and cause strange behaviors. 

    2. Assuming customer board reconfigured pinmux, please ensure Card Detect and write Protect pins are not used by other peripherals, further, did the IO voltage change from EVM to customer board on them. 

    3. If no issues from above, we may try a different boot filesys, say NFS, then do a extensive memtester across all DDR regions, and ensure DDR are good. 

    regards

    Jian

  • Jian,

    Here is the u-boot environment variables again.

    => printenv
    arch=arm
    args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    args_ubi=setenv bootargs console=${console} ${optargs} rootfstype=ubifs root=ubi0:rootfs rw ubi.mtd=ospi.rootfs
    baudrate=115200
    board=am65x
    board_name=am65x
    boot=mmc
    boot_fit=0
    boot_rprocs=if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then rproc init;run boot_rprocs_mmc;fi;
    boot_rprocs_mmc=env set rproc_id;env set rproc_fw;for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i;else env set rproc_fw $i;run rproc_load_and_boot_one;env set rproc_id;env set rproc_fw;fi;done
    bootargs=androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am65xevmboard
    bootcmd=run check_dofastboot; run findfdt; run check_android; if test $is_android -eq 1; then run emmc_android_boot; fi; setenv mmcdev 1; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootpart=1:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    check_android=setenv mmcdev 0; env delete boot_start; part start mmc ${mmcdev} boot boot_start; if test "$boot_start" = ""; then env set is_android 0; else env set is_android 1; fi; env delete boot_start
    check_dofastboot=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; env save; echo Booting into fastboot ...; fastboot 0; fi
    console=ttyS2,115200n8
    cpu=armv8
    dfu_alt_info_emmc=rawemmc raw 0 0x800000 mmcpart 1;rootfs part 0 1 mmcpart 0;tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;tispl.bin.raw raw 0x400 0x1000 mmcpart 1;u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;u-env.raw raw 0x3400 0x100 mmcpart 1;sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
    dfu_alt_info_mmc=boot part 1 1;rootfs part 1 2;tiboot3.bin fat 1 1;tispl.bin fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1;sysfw.itb fat 1 1
    dfu_alt_info_ospi=tiboot3.bin raw 0x0 0x080000;tispl.bin raw 0x080000 0x200000;u-boot.img raw 0x280000 0x400000;u-boot-env raw 0x680000 0x020000;sysfw.itb raw 0x6c0000 0x100000;rootfs raw 0x800000 0x3800000
    dfu_bufsiz=0x20000
    dofastboot=0
    dorprocboot=0
    emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 0; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} boot boot_start; part size mmc ${mmcdev} boot boot_size; mmc read ${fit_loadaddr} ${boot_start} ${boot_size}; run get_overlaystring; run run_fit
    envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
    ethaddr=90:e2:02:27:c7:38
    fdtaddr=0x82000000
    fdtcontroladdr=fdec7598
    findfdt=setenv name_fdt k3-am654-base-board-sr1.dtb;setenv fdtfile ${name_fdt}
    finduuid=part uuid mmc ${bootpart} uuid
    fit_bootfile=fitImage
    fit_loadaddr=0x90000000
    get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}
    get_fdt_ubi=ubifsload ${fdtaddr} ${bootdir}/${name_fdt}
    get_fit_mmc=load mmc ${bootpart} ${fit_loadaddr} ${bootdir}/${fit_bootfile}
    get_kern_mmc=load mmc ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
    get_kern_ubi=ubifsload ${loadaddr} ${bootdir}/${name_kern}
    get_overlay_mmc=fdt address ${fdtaddr};fdt resize 0x100000;for overlay in $overlay_files;do;load mmc ${bootpart} ${overlayaddr} ${bootdir}/${overlay};fdt apply ${overlayaddr};done;
    get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    init_mmc=run args_all args_mmc
    init_ubi=run args_all args_ubi; sf probe; ubi part ospi.rootfs; ubifsmount ubi:rootfs;
    loadaddr=0x80080000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
    loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
    loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
    loadfit=run args_mmc; run run_fit;
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
    mmcdev=1
    mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
    mmcrootfstype=ext4 rootwait
    mtdids=nor0=47040000.spi.0
    mtdparts=mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs)
    name_kern=Image
    overlayaddr=0x83000000
    partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    partitions_android=uuid_disk=${uuid_gpt_disk};name=bootloader,start=5M,size=8M,uuid=${uuid_gpt_bootloader};name=tiboot3,start=4M,size=1M,uuid=${uuid_gpt_tiboot3};name=boot,start=13M,size=40M,uuid=${uuid_gpt_boot};name=vendor,size=512M,uuid=${uuid_gpt_vendor};name=system,size=2048M,uuid=${uuid_gpt_system};name=userdata,size=-,uuid=${uuid_gpt_userdata}
    rd_spec=-
    rproc_fw_binaries=0 /lib/firmware/am65x-mcu-r5f0_0-fw 1 /lib/firmware/am65x-mcu-r5f0_1-fw
    rproc_load_and_boot_one=if load mmc ${bootpart} $loadaddr ${rproc_fw}; then if rproc load ${rproc_id} ${loadaddr} ${filesize}; then rproc start ${rproc_id};fi;fi
    run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring}
    run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
    soc=k3
    stdin=serial,usbkbd
    update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
    vendor=ti
    
    Environment size: 6019/131067 bytes

    In terms of bullet 2 and bullet 3, customer board works with SDK6.2 so I assume the DDR, pinmux, IO voltage, etc are all in good shape.

    As for the rebuild, we generated a new ddr4 dtsi from the EMIF tool:

    // SPDX-License-Identifier: GPL-2.0+
    /*
     * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
     * This file was generated by AM65x_DRA80xM_EMIF_Tool_2.02.xlsm
     * http://www.ti.com/lit/pdf/spracj0
     * Configuration Parameters
     * Memory Type: DDR4
     * Data Rate: 1333 MT/s
     * ECC Enabled: No
     * Data Width: 32 bits
     */
    #define DDR_PLL_FREQUENCY 333000000
    #define DDRSS_V2H_CTL_REG 0x000073FF
    #define DDRCTL_MSTR 0x41040010
    #define DDRCTL_RFSHCTL0 0x00210070
    #define DDRCTL_ECCCFG0 0x00000000
    #define DDRCTL_RFSHTMG 0x00510075
    #define DDRCTL_CRCPARCTL0 0x00008000
    #define DDRCTL_CRCPARCTL1 0x1A000000
    #define DDRCTL_CRCPARCTL2 0x0048051E
    #define DDRCTL_INIT0 0x400100A3
    #define DDRCTL_INIT1 0x00420000
    #define DDRCTL_INIT3 0x00000501
    #define DDRCTL_INIT4 0x00000020
    #define DDRCTL_INIT5 0x00100000
    #define DDRCTL_INIT6 0x00000480
    #define DDRCTL_INIT7 0x00000097
    #define DDRCTL_DRAMTMG0 0x0B0A160B
    #define DDRCTL_DRAMTMG1 0x00020210
    #define DDRCTL_DRAMTMG2 0x05050309
    #define DDRCTL_DRAMTMG3 0x0000400C
    #define DDRCTL_DRAMTMG4 0x05030206
    #define DDRCTL_DRAMTMG5 0x04040302
    #define DDRCTL_DRAMTMG6 0x00000003
    #define DDRCTL_DRAMTMG7 0x00000404
    #define DDRCTL_DRAMTMG8 0x02020A04
    #define DDRCTL_DRAMTMG9 0x00020208
    #define DDRCTL_DRAMTMG10 0x001C180A
    #define DDRCTL_DRAMTMG11 0x0E05010E
    #define DDRCTL_DRAMTMG12 0x00020008
    #define DDRCTL_DRAMTMG13 0x0B100002
    #define DDRCTL_DRAMTMG14 0x00000000
    #define DDRCTL_DRAMTMG15 0x00000035
    #define DDRCTL_DRAMTMG17 0x00430022
    #define DDRCTL_ZQCTL0 0x21000040
    #define DDRCTL_ZQCTL1 0x02027BC8
    #define DDRCTL_DFITMG0 0x04858206
    #define DDRCTL_DFITMG1 0x000A0606
    #define DDRCTL_DFITMG2 0x00000304
    #define DDRCTL_DFIMISC 0x00000001
    #define DDRCTL_ADDRMAP0 0x0000001F
    #define DDRCTL_ADDRMAP1 0x003F0808
    #define DDRCTL_ADDRMAP2 0x00000000
    #define DDRCTL_ADDRMAP3 0x00000000
    #define DDRCTL_ADDRMAP4 0x00001F1F
    #define DDRCTL_ADDRMAP5 0x08080808
    #define DDRCTL_ADDRMAP6 0x08080808
    #define DDRCTL_ADDRMAP7 0x00000F0F
    #define DDRCTL_ADDRMAP8 0x00000A0A
    #define DDRCTL_ADDRMAP9 0x00000000
    #define DDRCTL_ADDRMAP10 0x00000000
    #define DDRCTL_ADDRMAP11 0x001F1F00
    #define DDRCTL_DQMAP0 0x00000000
    #define DDRCTL_DQMAP1 0x00000000
    #define DDRCTL_DQMAP4 0x00000000
    #define DDRCTL_DQMAP5 0x00000000
    #define DDRCTL_PWRCTL 0x00000000
    #define DDRCTL_RANKCTL 0x00000000
    #define DDRCTL_ODTCFG 0x06000600
    #define DDRCTL_ODTMAP 0x00000001
    #define DDRPHY_PGCR0 0x07001E00
    #define DDRPHY_PGCR1 0x020046C0
    #define DDRPHY_PGCR2 0x00F09F60
    #define DDRPHY_PGCR3 0x55AA0080
    #define DDRPHY_PGCR6 0x00013001
    #define DDRPHY_PTR2 0x00083DEF
    #define DDRPHY_PTR3 0x00051616
    #define DDRPHY_PTR4 0x000000F0
    #define DDRPHY_PTR5 0x000208D6
    #define DDRPHY_PTR6 0x0400029B
    #define DDRPHY_PLLCR0 0x021c4000
    #define DDRPHY_DXCCR 0x00000038
    #define DDRPHY_DSGCR 0x02A0C129
    #define DDRPHY_DCR 0x0000040C
    #define DDRPHY_DTPR0 0x04160A05
    #define DDRPHY_DTPR1 0x28140000
    #define DDRPHY_DTPR2 0x0034E255
    #define DDRPHY_DTPR3 0x05D50800
    #define DDRPHY_DTPR4 0x30EA0704
    #define DDRPHY_DTPR5 0x001F0A05
    #define DDRPHY_DTPR6 0x00000505
    #define DDRPHY_ZQCR 0x0089EA58
    #define DDRPHY_ZQ0PR0 0x000077DD
    #define DDRPHY_ZQ1PR0 0x00007799
    #define DDRPHY_MR0 0x00000000
    #define DDRPHY_MR1 0x00000501
    #define DDRPHY_MR2 0x00000000
    #define DDRPHY_MR3 0x00000020
    #define DDRPHY_MR4 0x00000000
    #define DDRPHY_MR5 0x00000480
    #define DDRPHY_MR6 0x00000097
    #define DDRPHY_MR11 0x00000000
    #define DDRPHY_MR12 0x00000000
    #define DDRPHY_MR13 0x00000000
    #define DDRPHY_MR14 0x00000000
    #define DDRPHY_MR22 0x00000000
    #define DDRPHY_VTCR0 0xF3C32017
    #define DDRPHY_DX8SL0PLLCR0 0x021c4000
    #define DDRPHY_DX8SL1PLLCR0 0x021c4000
    #define DDRPHY_DX8SL2PLLCR0 0x021c4000
    #define DDRPHY_DTCR0 0x8000B1C7
    #define DDRPHY_DTCR1 0x00010236
    #define DDRPHY_ACIOCR0 0xF0070000
    #define DDRPHY_ACIOCR3 0x00000001
    #define DDRPHY_ACIOCR5 0x04800000
    #define DDRPHY_IOVCR0 0x0F0C0C0C
    #define DDRPHY_DX0GCR0 0x00000000
    #define DDRPHY_DX0GCR1 0x00000000
    #define DDRPHY_DX0GCR2 0x00000000
    #define DDRPHY_DX0GCR3  0x00000000
    #define DDRPHY_DX1GCR0 0x00000000
    #define DDRPHY_DX1GCR1 0x00000000
    #define DDRPHY_DX1GCR2 0x00000000
    #define DDRPHY_DX1GCR3 0x00000000
    #define DDRPHY_DX2GCR0 0x40700204
    #define DDRPHY_DX2GCR1 0x00007FFF
    #define DDRPHY_DX2GCR2 0x00000000
    #define DDRPHY_DX2GCR3  0xFFC0010B
    #define DDRPHY_DX3GCR0 0x40700204
    #define DDRPHY_DX3GCR1 0x00007FFF
    #define DDRPHY_DX3GCR2 0x00000000
    #define DDRPHY_DX3GCR3  0xFFC0010B
    #define DDRPHY_DX4GCR0 0x40703220
    #define DDRPHY_DX4GCR1 0x55556000
    #define DDRPHY_DX4GCR2 0xAAAA0000
    #define DDRPHY_DX4GCR3  0xFFE18587
    #define DDRPHY_DX0GCR4 0x0E00B03C
    #define DDRPHY_DX1GCR4 0x0E00B03C
    #define DDRPHY_DX2GCR4 0x0E00B03C
    #define DDRPHY_DX3GCR4 0x0E00B03C
    #define DDRPHY_DX4GCR4 0x0E00B03C
    #define DDRPHY_PGCR5 0x01010004
    #define DDRPHY_DX0GCR5 0x00000049
    #define DDRPHY_DX1GCR5 0x00000049
    #define DDRPHY_DX2GCR5 0x00000049
    #define DDRPHY_DX3GCR5 0x00000049
    #define DDRPHY_DX4GCR5 0x00000049
    #define DDRPHY_DX0GTR0 0x00020002
    #define DDRPHY_DX1GTR0 0x00020002
    #define DDRPHY_DX2GTR0 0x00020002
    #define DDRPHY_DX3GTR0 0x00020002
    #define DDRPHY_DX4GTR0 0x00020002
    #define DDRPHY_ODTCR 0x00010000
    #define DDRPHY_DX8SL0IOCR 0x74800000
    #define DDRPHY_DX8SL1IOCR 0x74800000
    #define DDRPHY_DX8SL2IOCR 0x74800000
    #define DDRPHY_DX8SL0DXCTL2 0x00141830
    #define DDRPHY_DX8SL1DXCTL2 0x00141830
    #define DDRPHY_DX8SL2DXCTL2 0x00141830
    #define DDRPHY_DX8SL0DQSCTL 0x01264300
    #define DDRPHY_DX8SL1DQSCTL 0x01264300
    #define DDRPHY_DX8SL2DQSCTL 0x01264300
    
    

    replaced the existing one in this directory:

    ti-processor-sdk-linux-am65xx-evm-07_00_01_06/board-support/u-boot-2020.01+gitAUTOINC+f9b0d030d3-gf9b0d030d3/arch/arm/dts

    from the toplevel i ran "make u-boot".

    and i replaced the following files in boot partition of the SD Card (tiboot3.bin, tispl.bin, uboot.img).

    This rebuilt uboot boots on the IDK EVM PG1.0, just not the customer board.

    BR,

    SC