Other Parts Discussed in Thread: DRA821
Hi,
In our custom board based on DRA821 processor we are trying to boot with ospi + emmc, the process message is as follows,
Hit any key to stop autoboot: 0 => sf probe cadence_spi spi@47040000: Can't get reset: -2 jedec_spi_nor flash@0: non-uniform erase sector maps are not supported yet. k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,32] sci-dev-id:235 k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB => fatload mmc 1 ${loadaddr} tiboot3.bin; sf update $loadaddr 0x0 $filesize; i2c_write: error waiting for data ACK (status=0x116) pca953x gpio@22: Error reading output register 527381 bytes read in 8 ms (62.9 MiB/s) device 0 offset 0x0, size 0x80c15 0 bytes written, 527381 bytes skipped in 0.24s, speed 20001412 B/s => fatload mmc 1 ${loadaddr} tispl.bin; sf update $loadaddr 0x100000 $filesize; 841164 bytes read in 12 ms (66.8 MiB/s) device 0 offset 0x100000, size 0xcd5cc 0 bytes written, 841164 bytes skipped in 0.31s, speed 24610055 B/s => fatload mmc 1 ${loadaddr} u-boot.img; sf update $loadaddr 0x300000 $filesize; 1092428 bytes read in 16 ms (65.1 MiB/s) device 0 offset 0x300000, size 0x10ab4c 0 bytes written, 1092428 bytes skipped in 0.40s, speed 26015029 B/s => boot i2c_write: error waiting for data ACK (status=0x116) pca953x gpio@22: Error reading output register switch to partitions #0, OK mmc1 is current device i2c_write: error waiting for data ACK (status=0x116) pca953x gpio@22: Error reading output register SD/MMC found on device 1 Failed to load 'boot.scr' 0 bytes read in 2 ms (0 Bytes/s) Loaded env from uEnv.txt Importing environment from mmc1 ... 19137024 bytes read in 774 ms (23.6 MiB/s) 43397 bytes read in 6 ms (6.9 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008fef2000, end 000000008fffffff ... OK Starting kernel ...
It seems that ospi has been written correctly, and then boot linux to write emmc, log as below,
j7200-evm login: root root@j7200-evm:~# cd ../../mnt root@j7200-evm:/mnt# ls mkfs.ext4 root@j7200-evm:/mnt# mkdir sd root@j7200-evm:/mnt# mkdir emmc root@j7200-evm:/mnt# ls emmc mkfs.ext4 sd root@j7200-evm:/mnt# cd[ 33.866474] tlv71033: disabling ../ root@j7200-evm:/# /mnt/mkfs.ext4 /dev/mmcblk0p1 mke2fs 1.45.4 (23-Sep-2019) Discarding device blocks: done Creating filesystem with 3885040 4k blocks and 972944 inodes Filesystem UUID: e0c15130-1bdd-423f-ba05-670d1c37eef9 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done root@j7200-evm:/# mount /dev/mmcblk0p1 /mnt/emmc [ 56.148283] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null) root@j7200-evm:/# mount /dev/mmcblk1p2 /mnt/sd root@j7200-evm:/# cp -r /mnt/sd/* /mnt/emmc/ [ 127.847220] Initializing XFRM netlink socket [ 130.221284] process 'docker/tmp/qemu-check350779172/check' started with executable stack root@j7200-evm:/# sync root@j7200-evm:/#
At this step it seems that emmc has been written correctly, but the following log appears after reboot.
U-Boot SPL 2021.01-g53e79d0e89 (Aug 07 2021 - 08:12:48 +0000) Model: Texas Instruments K3 J7200 SoC EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Board: J721EX-PM1-SOM rev E2 SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam') EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Trying to boot from SPI Starting ATF on ARM64 core... NOTICE: BL31: v2.5(release):08.00.00.004-dirty NOTICE: BL31: Built : 07:25:50, Aug 7 2021 U-Boot SPL 2021.01-g53e79d0e89 (Aug 07 2021 - 07:28:31 +0000) Model: Texas Instruments K3 J7200 SoC EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Board: J721EX-PM1-SOM rev E2 SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam') EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Trying to boot from SPI cadence_spi spi@47040000: Can't get reset: -2 jedec_spi_nor flash@0: non-uniform erase sector maps are not supported yet. U-Boot 2021.01-g53e79d0e89 (Aug 07 2021 - 07:28:31 +0000) SoC: J7200 SR1.0 Model: Texas Instruments K3 J7200 SoC EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Board: J721EX-PM1-SOM rev E2 DRAM: 4 GiB Flash: 0 Bytes MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment In: serial@2800000 Out: serial@2800000 Err: serial@2800000 EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -1 Net: Could not get PHY for ethernet@46000000: addr 0 am65_cpsw_nuss_slave ethernet@46000000: phy_connect() failed No ethernet found. Hit any key to stop autoboot: 0 MMC: no card present mmc_init: -123, time 2002 SD/MMC found on device 1 MMC: no card present mmc_init: -123, time 2002 MMC: no card present mmc_init: -123, time 2002 MMC: no card present mmc_init: -123, time 2002 MMC: no card present mmc_init: -123, time 2002 MMC: no card present mmc_init: -123, time 2002 libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Bad Linux ARM64 Image magic! =>
could you please suggest the reason for that.