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.

AM3352: NAND boot issue

Part Number: AM3352

Hello,

we already have a working design with this NAND chip:

www.cypress.com/.../s34ml04g100bhi000

Due to availability issues we tried its newer cousin on two devices:

www.cypress.com/.../s34ml04g200bhi000

Once the bootloader starts from Ethernet (SYSBOOT[4:0] is 10100, i.e. NAND first, Ethernet last), flashing the new NAND works without errors (using the ECC option BCH8) and the flashed Linux can also be booted successfully.

But after a reboot the device boots from Ethernet again, i.e. the RBL doesn't seem to find the bootloader on the NAND.

I suspect that the different amount of spare bytes (here called "OOB size") of the two chips could be the issue:

nand: NAND device: Manufacturer ID: 0x01, Chip ID: 0xdc (AMD/Spansion S34ML04G1), 512MiB, page size: 2048, OOB size: 64

nand: NAND device: Manufacturer ID: 0x01, Chip ID: 0xdc (AMD/Spansion S34ML04G2), 512MiB, page size: 2048, OOB size: 128

Because according to the AM335x Technical Reference Manual 26.1.7.4.1:

Support for large page size (2048 bytes + 64 spare bytes)

I am I correct and are we out of luck with the newer NAND or might something else be the issue here?

Thanks in advance!

  • Hi,

    The ROM bootloader configures the GPMC ELM module for ECC calculation according to the OOB size. The algorithm used is this:

    Thus for OOB=64b BCH8 is applied, while for OOB=128b it's BCH16. What you need to do is flash the new NAND with BCH16.

  • Hello Biser,

    sorry for the late reply and thanks for your answer.

    One reason for the delay is that our bootloader (Barebox) doesn't handle BCH16 and I haven't managed to get it working yet.

    While I went through the code, I noticed why a Micron flash with 4K pages also didn't work: The driver is configuring a fixed page size of 2K...

    I expect the fixes to take a while. I'll let you know once I'm actually finished.

    Thanks again.