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.

AM5706: Booting from NAND FLASH fails

Part Number: AM5706

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?