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

Part Number: AM62L

Tool/software:

AM62L ROM supports boot from ONFI 1.0 compatible 8-bit parallel NAND memory of 2Gbytes or less in size connected to GPMC CS0 with the following geometries and features
• 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 D7:0 for data
- The param page CRC is checked and in case of failure the redundant page is used.

The FAQ lists how to (1) flash u-boot to GPMC-NAND from SD boot mode, and (2) boot u-boot from GPMC-NAND on AM62L EVM + NAND daughter card with AM62L Linux EA release, where MT29F8G08ADAFAH4 is on the gpmc-nand daughter card as listed
[ 2.759530] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
[ 2.768643] nand: Micron MT29F8G08ADAFAH4
[ 2.774662] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 256
[ 2.782546] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme

There's companion FAQ on how to flash u-boot to GPMC-NAND with USB-DFU

https://e2e.ti.com/support/processors-group/processors/f/791/t/1468493

  • Build u-boot to support GPMC-NAND
    - apply the u-boot gpmc-nand patch <0001-add-enabling-u-boot-gpmc-nand-on-AM62L-EVM-nand-daug.patch>
    The gpmc-nand drivers are included in AM62L Linux EA package, but GPMC-NAND is disabled in u-boot by default as the nand daughter card is an optional component.
    - build the u-boot with <am62lx_evm_defconfig> with the gpmc-nand patch.

    Flash u-boot to GPMC-NAND from SD boot
    - configure BOOTMODE pins as MMC boot mode
    - power on the board
    - stop @u-boot prompt
    - run u-boot cmds as listed in the log file to flash u-boot to GPMC-NAND
    - the log file: am62l_ea3_nand_flash_boot.log

    Boot u-boot from GPMC-NAND
    - run u-boot cmd <mw.l 0x43010030 0x025b> to reconfigure BOOTMODE pins as NAND boot mode: BOOTMODE[15:0] = 025B
    - issue <reset> cmd to WARMRESET the SoC
    - the log file: am62l_ea3_nand_flash_boot.log

    6052.0001-add-enabling-u-boot-gpmc-nand-on-AM62L-EVM-nand-daug.patch

    6052.am62l_ea3_nand_flash_boot.log