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.

AM625: Confirming usable memory for GPMC NAND boot

Part Number: AM625
Other Parts Discussed in Thread: AM3352

Tool/software:

I would like to test GPMC NAND boot with my custom board.

I'm using the following NAND:

IS34ML02G081-TLI

I have confirmed the NAND memory can accessed from AM625's Kernel by using nandtest command.

However, GPMC NAND boot from the memory was failed, and console output nothing.

If nandtest is succeeded, the NAND memory can use for GPMC NAND boot?

I referred the following FAQ how to flash tiboot3:

[FAQ] How to flash and boot u-boot from parallel GPMC NAND on AM62x

 

Best Regards,

Koji

  • From "5.4.9.1 GPMC NAND Bootloader Operation" in AM62x TRM
    "GPMC NAND boot only supports boot from ONFI 1.0 compatible 8 bit parallel NAND memory up to 2Gbytes in size connected to GPMC CS0 with the following geometries:
    • 2Kbyte page and spare area of at least 64 bytes or
    • 4Kbyte page size and spare area of at least 128 bytes.
    • Non-ECC part only:
    – ROM uses ELM to handle ECC
    – ECC is BCH8 using D[7:0] for data
    – The param page CRC is checked and in case of failure the redundant page is used"

    Do we know the selected nand device is compatible with the nand boot support by ROM?
    Best,
    -Hong

  • Hi Hong,

    I'm sure that the NAND device is compatible with boot support.

    I show "mtd info" and "nand info" command logs in U-Boot:

    => mtd list
    Could not find a valid device for spi-nand0
    List of MTD devices:
    * nand0
    - type: NAND flash
    - block size: 0x20000 bytes
    - min I/O: 0x800 bytes
    - OOB size: 64 bytes
    - OOB available: 142 bytes
    - ECC strength: 8 bits
    - ECC step size: 512 bytes
    - bitflip threshold: 6 bits
    - 0x000000000000-0x000010000000 : "nand0"
    - 0x000000000000-0x000000200000 : "NAND.tiboot3"
    - 0x000000200000-0x000000400000 : "NAND.tispl"
    - 0x000000400000-0x000000600000 : "NAND.tiboot3.backup"
    - 0x000000600000-0x000000a00000 : "NAND.u-boot"
    - 0x000000a00000-0x000000a40000 : "NAND.u-boot-env"
    - 0x000000a40000-0x000000a80000 : "NAND.u-boot-env.backup"
    - 0x000000a80000-0x000010000000 : "NAND.file-system"
    => nand info

    Device 0: nand0, sector size 128 KiB
    Page size 2048 b
    OOB size 64 b
    Erase size 131072 b
    ecc strength 8 bits
    ecc step size 512 b
    subpagesize 512 b
    options 0x4000400c
    bbt options 0x00000000

     

    Best Regards,

    Koji

  • There's specific requirements on gpmc-nand boot support by ROM described in AM62x TRM as noted in my last reply, for example, the on-die ECC needs to be disabled in order to boot from gpmc-nand by ROM.
    1/. Do we know if the on-die ECC is supported by the nand device on your board?
    2/. What is the device type on your board? HS-FS, HS-SE or GP? Have we flashed to gpmc-nand on your board the tiboot3.bin you built for gpmc-nand with the matching device type?
    Best,
    -Hong

  • Hi Hong,

    My using NAND device is supported on-die ECC.

    It seems that ECC checking can be disabled via the SYSBOOT[9] in AM3352.

    AM3352: NAND on-die ECC

    Is there how to disable on-die ECC in AM62x, like AM3352?

     

    Best Regards,

    Koji

  • I have forgotten to answer your second question.

    The device type is HS-FS, and I flashed tiboot3-gpmc to NAND.

    I confirmed success to flash by dumping NAND-tiboot3 partition and comparing with tiboot3-gpmc.

    I'm sure that the device type is matching because authentication of R5 SPL is succeeded when booting from SD with tiboot3-gpmc.

  • There's no BOOTMODE pin option in AM62x SoC to select/de-select the nand device on-die ECC.
    Can we check with the nand device vendor on on-die ECC option?
    Best,
    -Hong

  • Hi Hong,

    I will request our hw developer to check on-die ECC.

    By the way, I have get the waveform of NAND_* lines in GPMC-NAND boot.

    AM62x sent Read ID command and NAND device responded the ID.

    The responded ID length is 4bytes but this device's ID length is 5bytes.

    There are two Read ID operations, these are different with address sent after 0x90, which is 0x00 or 0x20.

    Which is GPMC-NAND boot supported Read ID operation?

     

    Best Regards,

    Koji

  • Hi Hong,

    AM62x sent 0x90 0x20 as Read ID operation.

    My using NAND device's ID length is 5bytes, so it seems that AM62x was failed to read ID.

    Could AM62x read 5bytes ID by sending 0x90 0x00 in GPMC-NAND boot?

     

    Best Regards,

    Koji

  • Hi Koji,
    Thanks for probing gpmc-nand signal on your board.

    From "5.4.9.1 GPMC NAND Bootloader Operation" in AM62x TRM
    "GPMC NAND boot only supports boot from ONFI 1.0 compatible 8 bit parallel NAND memory up to 2Gbytes in size connected to GPMC CS0 with the following geometries:

    Summary on gpmc-nand ID detection by ROM
    1/. The NAND device is reset (command FFh) and the nand device status is polled via R/B pin until ready
    2/. The ONFI Read ID (command 90h / address 20h) is sent to the NAND device.
    a. If it replies with the ONFI signature (4 bytes), then a read parameters page (command ECh) is sent next...
    b. If it does not have the ONFI signature (4 bytes), then the ONFI identification fails, and aborts nand operation...

    The nand device compatible with ONFI 1.0 is required for gpmc-nand boot with AM62x rom.
    It looks like the nand device on your board would not work for gpmc-nand boot with AM62x rom.

    Best,
    -Hong

  • Hi Hong,

    I understood this NAND device can not use for GPMC-NAND boot.

    I used the other device compatible with ONFI 1.0, and tiboot3-gpmc could boot with GPMC-NAND boot.

    Thank you for your support.

     

    Best Regards,

    Koji

  • Hi Koji,
    Thanks for the update, and it is good to know gpmc-nand boot works with the new nand device.
    Will you share the new nand device info?
    Best,
    -Hong

  • Hi Hong,

    Will you share the new nand device info?

    I'm using MT29F4G08ABAFA.

    AM62x is aborting in R5 SPL, I think that it's occurred by other issue.

     

    Best Regards,

    Koji

  • Hi Koji,
    Thanks for your reply.
    FYI, the following two nand devices are verified with AM62x SoC
    - MT29F8G08ADAFAH4 is on TI gpmc-nand daughter card.
    - MT29F2G08ABBGAH4 is verified by another customer
    Best,
    -Hong

  • Hi Hong,

    Thank you for the information.

    I have confirmed to success GPMC-NAND boot with MT29F4G08ABAFA and work Linux Kernel.

    I hope the information is helpful for you.

     

    Best Regards,

    Koji