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.

PROCESSOR-SDK-AM335X: NAND boot fails

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: AM3358

Hi.

I have a custom board with am3358 processor.

Running system from SD card it successfully recognises the connected NAND device:

from kernel boot log:

[ 1.122752] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
[ 1.129161] nand: Micron MT29F8G08ABACAWP
[ 1.133192] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[ 1.140993] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme

I tried to write MLO and u-boot to the NAND using uboot from MMC.

I can read it out afterwards to confirm that data was written.

However if booting without MMC inserted it keeps failing all 4 boot options and repeats it over.

I can see activity on NAND but it looks the same whether device is blank or has data on it.

from boot-analysis script the boot config looks ok:

CONTROL: control_status = 0x00400333
* SYSBOOT[15:14] = 01b (24 MHz)
* SYSBOOT[11:10] = 00b No GPMC CS0 addr/data muxing
* Device Type = General Purpose (GP)
* SYSBOOT[7:6] = 00b MII (EMAC boot modes only)
* SYSBOOT[5] = 1 CLKOUT1 enabled
* Boot Sequence : NAND -> NANDI2C -> MMC0 -> UART0

What is the NAND layout I should be using?

I tried http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#NAND_2 but I think because of page size  my partitions should be 2x that.

looking at the am335x_evm.h in uboot/include/configs/

#define MTDPARTS_DEFAULT "mtdparts=nand.0:" \
"128k(NAND.SPL)," \
"128k(NAND.SPL.backup1)," \
"128k(NAND.SPL.backup2)," \
"128k(NAND.SPL.backup3)," \
"256k(NAND.u-boot-spl-os)," \
"1m(NAND.u-boot)," \
"128k(NAND.u-boot-env)," \
"128k(NAND.u-boot-env.backup1)," \
"8m(NAND.kernel)," \
"-(NAND.file-system)"

Should my nand layout follow the same format but for 256k as the smallest block? If so what is u-boot-spl-os?

If I only have MLO at address 0 and nothing else, should that be enough to get U-Boot SPL print on console? or Do I need to have all the partitions?

Is it possible to debug the booting using JTAG?

Kind regards,

Ugnius