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: Skipping NAND

Part Number: AM3352

Hello,

I have created a custom board, basing on beaglebone black.
I'm using AM3352.

When I connect my board to UART, without SD card, I'm getting repeating character "C", as expected.
I can connect to AM3352 with CodeComposer, and using GEL files provided from this wiki: processors.wiki.ti.com/.../AM335x_CCS_Flashing_Tools_Guide I can initialize DDR.
I'm working on PROCESSOR-SDK-LINUX-AM335X  06_03_00_106, and I've prepared the SD card acording to this tutorial:  software-dl.ti.com/.../Processor_SDK_Linux_create_SD_card_script.html

Right now I'm regularly getting on UART :

U-Boot SPL 2019.01-gc14892445a-dirty (Sep 07 2020 - 10:36:23 +0200)
Trying to boot from MMC1

and from time to time additionally this:

U-Boot 2019.01-gc14892445a-dirty (Sep 07 2020 - 10:36:23 +0200)

CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 128 MiB
NAND:

I don't have NAND on my custom board, is there a way to skip NAND? Otherwise, is there any other solution to make it work?

  • Hi Maciej,

    Maciej Kochman said:
    Right now I'm regularly getting on UART :

    U-Boot SPL 2019.01-gc14892445a-dirty (Sep 07 2020 - 10:36:23 +0200)
    Trying to boot from MMC1

    and from time to time additionally this:

    U-Boot 2019.01-gc14892445a-dirty (Sep 07 2020 - 10:36:23 +0200)

    As being said in the e2e ( e2e.ti.com/.../3460280

    In-correct configuration in any of above (PMIC, DPLL, DDR, Pinmux) may potentially leads un-expected behavior, or "fail".

    For example, if non-matching DDR parameters are used in sdram_init(), DDR would be un-stable, and booting would fail in board_init_f() before reaching to board_init_r();

    Is the same DDR used on your board as BBB?

    If not, DDR parameter needs to be configured with the EMIF tool.

    https://www.ti.com/lit/pdf/sprac70

    Maciej Kochman said:
    CPU : AM335X-GP rev 2.1
    Model: TI AM335x BeagleBone Black
    DRAM: 128 MiB
    NAND:

    I don't have NAND on my custom board, is there a way to skip NAND? Otherwise, is there any other solution to make it work?

    One option to skip NAND init in u-boot is to remove the following line in am335x_evm_defconfig or the one you used for building your u-boot.

    CONFIG_CMD_NAND=y 

    Best,

    -Hong

  • Hi Hong,

    I've tried what you said

    Hong Guan64 said:

    One option to skip NAND init in u-boot is to remove the following line in am335x_evm_defconfig or the one you used for building your u-boot.

    CONFIG_CMD_NAND=y

    and I'm getting these errors:

    arm-linux-gnueabihf-ld.bfd: drivers/built-in.o: in function `dfu_flush_medium_nand':
    /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:147: undefined reference to `get_nand_dev_by_index'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:171: undefined reference to `nand_erase_opts'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:142: undefined reference to `nand_curr_device'
    arm-linux-gnueabihf-ld.bfd: drivers/built-in.o: in function `nand_block_op':
    /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:39: undefined reference to `get_nand_dev_by_index'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:49: undefined reference to `nand_read_skip_bad'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:61: undefined reference to `nand_erase_opts'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:65: undefined reference to `nand_write_skip_bad'
    arm-linux-gnueabihf-ld.bfd: /home/admin/ti-evm-2/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/drivers/dfu/dfu_nand.c:82: undefined reference to `nand_curr_device'

    How can I resolve this?

  • Hi Maciej,

    Have you tried removing the following line in "am335x_evm_defconfig" or the one you used for building your u-boot?

    CONFIG_DFU_NAND=y

    Best,

    -Hong

  • Hi Hong.

    I have removed the following line in mine "*_defconfig" which is an exact copy of "am335x_evm_defconfig".

    CONFIG_DFU_NAND=y

    Now it is compiling, but on UART it is stuck on this:

    U-Boot 2019.01-gc14892445a-dirty (Sep 09 2020 - 15:50:47 +0200)

    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x GATEWAY 3
    DRAM:  128 MiB
    MMC:

    To MMC I've only connected a SD card. How can I resolve this?

    Best,

    -Maciej

  • Hi Maciej

    Is the same DDR used on your board as BBB?

    If not, DDR parameter needs to be configured with the EMIF tool (https://www.ti.com/lit/pdf/sprac70

    For example, if non-matching DDR parameters are used in sdram_init(), DDR would be un-stable, and booting would fail.

    Also I wrote a note summarizing u-boot boot flow.

    Hope it would help u-boot debug by tracing code via JTAG, or adding serial dump via regular printf() or debug() by adding “#define DEBUG”.

    Best,

    -Hong

    http://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/u_2D00_boot_5F00_boot_5F00_flow.docx