We have a system with AM5706 processor with 2Gb NAND FLASH (MT29F2G08ABAGAH4-ITE) and in a new HW release one at the moment unused QSPI FLASH (MX25L25645GMI-08G).
With dfu-util the Linux image was successfully programmed into the NAND FLASH.
With the former release of our hardware the same Linux image is booting successfully (either when USB cable was unconnected or when bootsettings.txt was set to “0:3").
With a new release of our hardware with only minor changes writing the Linux image to FLASH is OK. But it doesn’t boot at all, there is no output at the serial interface (where kernel boot-log should appear).
The command “mtd list” in uboot shows a difference in OOB Size, but I don’t know if this is relevant:
=> mtd list List of MTD devices: * nand0 - type: NAND flash - block size: 0x20000 bytes - min I/O: 0x800 bytes - OOB size: 64 bytes NEW HW: OOB size: 128 bytes - OOB available: 6 bytes - ECC strength: 8 bits - ECC step size: 512 bytes - bitflip threshold: 6 bits - 0x000000000000-0x000010000000 : "nand0"
=> mtdparts device nand0 <nand.0>, # parts = 9 #: name size offset mask_flags 0: NAND.SPL 0x00020000 0x00000000 0 1: NAND.SPL.backup1 0x00020000 0x00020000 0 2: NAND.SPL.backup2 0x00020000 0x00040000 0 3: NAND.SPL.backup3 0x00020000 0x00060000 0 4: NAND.u-boot 0x00100000 0x00080000 0 5: NAND.u-boot-spl-os 0x00040000 0x00180000 0 6: NAND.u-boot-env 0x00040000 0x001c0000 0 7: NAND.kernel 0x00800000 0x00200000 0 8: NAND.file-system 0x0f600000 0x00a00000 0
The crc32 checksums are except for “NAND.file-system” all the same on both hardwares after programming the FLASH.
Even with Sysboot pin setting set to "First NAND, second USB", (0b1000100100100001), it seems that it still tries to boot first on DFU (USB) (the QSPI FLASH memory chip was removed again on the new HW).
And with Sysboot pin setting to boot only from NAND (0b1000100100111001), there are now messages output on the UART (USB DFU disconnected).
The following shows the output on the serial interface of the old and new hardare with the same Sysboot config: 0b1000100100100001:
Boot with New Hardware (Sysboot config: 0b1000100100100001) ******************************************************** <debug_uart> Error: efuse 0x4a003b10 bits=16 val=0, using 1250 current boot device is 69 NAND is 3 PERIPH USB is 69 U-Boot SPL 2021.01-ge6995683ee (Dec 09 2021 - 15:58:53 +0000) DRA722-GP ES2.1 Firmware loading failed Firmware loading failed for ipu2 Trying to boot from DFU
Boot with Old Hardware (Sysboot config: 0b1000100100100001) ******************************************************** <debug_uart> Error: efuse 0x4a003b10 bits=16 val=0, using 1250 current boot device is 3 NAND is 3 PERIPH USB is 69 U-Boot SPL 2021.01-g20661e7d4c (Jul 29 2022 - 09:33:16 +0000) DRA722-GP ES2.1 Firmware loading failed Firmware loading failed for ipu2 Trying to boot from NAND Loading Environment from NAND... *** Warning - bad CRC, using default environmet <debug_uart> current boot device is 0 NAND is 3 PERIPH USB is 69 U-Boot 2021.01-g20661e7d4c (Jul 29 2022 - 09:33:16 +0000) CPU : DRA722-GP ES2.1 Model: CTX TOFCAM76K Board: CTX-TOFCAM76K REV A.30 DRAM: 512 MiB NAND: 256 MiB Loading Environment from NAND... *** Warning - bad CRC, using default environmet Warning: fastboot.board_rev: unknown board revision Net: No ethernet found. Hit any key to stop autoboot: 0 Booting from nand ... NAND read: device 0 offset 0x180000, size 0x40000 262144 bytes read: OK NAND read: device 0 offset 0x200000, size 0x800000 8388608 bytes read: OK ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8ffea000, end 8fffff5b ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.19.94-gbe5389fd85 (oe-user@oe-host) (gcc version2
Can you please help me in further debugging this problem?