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.

can't find nand device

Guru 20755 points

Hi,

I'm trying to boot from nand device with EVM 8148.

I set the boot switches as described (including the CS switch).

But I than get in u-boot prompt :


U-Boot 2010.06 (Jan 02 2014 - 13:39:27)

TI8148-GP rev 2.1

L3 clk : 200MHz
IVA clk : 410MHz
ISS clk : 480MHz
DSP clk : 750MHz
DSS clk : 200MHz
ARM clk : 720MHz
DDR clk : 480MHz

------------ PLL Settings --------------
OSC_0_FREQ : 20MHz

MODENA_N : 1
MODENA_M : 72
MODENA_M2 : 1

L3_N : 19
L3_M : 800
L3_M2 : 4

DSP_N : 19
DSP_M : 750
DSP_M2 : 1

DSS_N : 19
DSS_M : 800
DSS_M2 : 4

IVA_N : 19
IVA_M : 820
IVA_M2 : 2

ISS_N : 19
ISS_M : 960
ISS_M2 : 2

USB_N : 19
USB_M : 960
USB_M2 : 5

DCO_HS2_MIN : 500
DCO_HS2_MAX : 1000
DCO_HS1_MIN : 1000
DCO_HS1_MAX : 2000
SELFREQDCO_HS2 : 2049
SELFREQDCO_HS1 : 4097

--------- DDR PLL ----------
DDR_N : 0x13
DDR_M : 0x3C0
DDR_M2 : 0x2

----------EMIF Timings (identical for 0 & 1)-------
DDR3_EMIF_READ_LATENCY : 0x170209
DDR3_EMIF_TIM1 : 0xAAAD4DB
DDR3_EMIF_TIM2 : 0x682F7FDA
DDR3_EMIF_TIM3 : 0x501F82BF
DDR3_EMIF_REF_CTRL : 0xC30
DDR3_EMIF_SDRAM_CONFIG : 0x61C011B2
DDR3_EMIF_SDRAM_ZQCR : 0x50074BE1

----------SW LEVEL Info (EMIF 0) -------
DDR3_PHY_RD_DQS_CS0_BYTE0: 0x00000038
DDR3_PHY_RD_DQS_CS0_BYTE1: 0x00000037
DDR3_PHY_RD_DQS_CS0_BYTE2: 0x00000032
DDR3_PHY_RD_DQS_CS0_BYTE3: 0x00000031

DDR3_PHY_WR_DQS_CS0_BYTE0: 0x00000043
DDR3_PHY_WR_DQS_CS0_BYTE1: 0x00000044
DDR3_PHY_WR_DQS_CS0_BYTE2: 0x00000053
DDR3_PHY_WR_DQS_CS0_BYTE3: 0x00000050

DDR3_PHY_RD_DQS_GATE_CS0_BYTE0: 0x000000E4
DDR3_PHY_RD_DQS_GATE_CS0_BYTE1: 0x00000111
DDR3_PHY_RD_DQS_GATE_CS0_BYTE2: 0x00000112
DDR3_PHY_RD_DQS_GATE_CS0_BYTE3: 0x0000013D

DDR3_PHY_WR_DATA_CS0_BYTE0: 0x00000085
DDR3_PHY_WR_DATA_CS0_BYTE1: 0x00000083
DDR3_PHY_WR_DATA_CS0_BYTE2: 0x00000085
DDR3_PHY_WR_DATA_CS0_BYTE3: 0x0000007F

----------SW LEVEL Info (EMIF 1) -------
DDR3_PHY_RD_DQS_CS0_BYTE0: 0x0000003A
DDR3_PHY_RD_DQS_CS0_BYTE1: 0x00000036
DDR3_PHY_RD_DQS_CS0_BYTE2: 0x00000037
DDR3_PHY_RD_DQS_CS0_BYTE3: 0x00000033

DDR3_PHY_WR_DQS_CS0_BYTE0: 0x00000049
DDR3_PHY_WR_DQS_CS0_BYTE1: 0x0000004E
DDR3_PHY_WR_DQS_CS0_BYTE2: 0x00000054
DDR3_PHY_WR_DQS_CS0_BYTE3: 0x00000050

DDR3_PHY_RD_DQS_GATE_CS0_BYTE0: 0x000000D3
DDR3_PHY_RD_DQS_GATE_CS0_BYTE1: 0x000000F7
DDR3_PHY_RD_DQS_GATE_CS0_BYTE2: 0x00000109
DDR3_PHY_RD_DQS_GATE_CS0_BYTE3: 0x00000135

DDR3_PHY_WR_DATA_CS0_BYTE0: 0x0000008A
DDR3_PHY_WR_DATA_CS0_BYTE1: 0x00000080
DDR3_PHY_WR_DATA_CS0_BYTE2: 0x0000007F
DDR3_PHY_WR_DATA_CS0_BYTE3: 0x00000085

DRAM: 1 GiB
MMC: OMAP SD/MMC: 0
Using default environment

The 2nd stage U-Boot will now be auto-loaded
Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is already flashed
Hit any key to stop autoboot: 0
reading u-boot.bin

198048 bytes read
## Starting application at 0x80800000 ...


U-Boot 2010.06 (Jan 13 2014 - 10:49:14)

TI8148-GP rev 2.1

L3 clk : 200MHz
IVA clk : 410MHz
ISS clk : 480MHz
DSP clk : 750MHz
DSS clk : 200MHz
ARM clk : 720MHz
DDR clk : 480MHz

------------ PLL Settings --------------
OSC_0_FREQ : 20MHz

MODENA_N : 1
MODENA_M : 72
MODENA_M2 : 1

L3_N : 19
L3_M : 800
L3_M2 : 4

DSP_N : 19
DSP_M : 750
DSP_M2 : 1

DSS_N : 19
DSS_M : 800
DSS_M2 : 4

IVA_N : 19
IVA_M : 820
IVA_M2 : 2

ISS_N : 19
ISS_M : 960
ISS_M2 : 2

USB_N : 19
USB_M : 960
USB_M2 : 5

DCO_HS2_MIN : 500
DCO_HS2_MAX : 1000
DCO_HS1_MIN : 1000
DCO_HS1_MAX : 2000
SELFREQDCO_HS2 : 2049
SELFREQDCO_HS1 : 4097

--------- DDR PLL ----------
DDR_N : 0x13
DDR_M : 0x3C0
DDR_M2 : 0x2

----------EMIF Timings (identical for 0 & 1)-------
DDR3_EMIF_READ_LATENCY : 0x170209
DDR3_EMIF_TIM1 : 0xAAAD4DB
DDR3_EMIF_TIM2 : 0x682F7FDA
DDR3_EMIF_TIM3 : 0x501F82BF
DDR3_EMIF_REF_CTRL : 0xC30
DDR3_EMIF_SDRAM_CONFIG : 0x61C011B2
DDR3_EMIF_SDRAM_ZQCR : 0x50074BE1

----------SW LEVEL Info (EMIF 0) -------
DDR3_PHY_RD_DQS_CS0_BYTE0: 0x00000038
DDR3_PHY_RD_DQS_CS0_BYTE1: 0x00000037
DDR3_PHY_RD_DQS_CS0_BYTE2: 0x00000032
DDR3_PHY_RD_DQS_CS0_BYTE3: 0x00000031

DDR3_PHY_WR_DQS_CS0_BYTE0: 0x00000043
DDR3_PHY_WR_DQS_CS0_BYTE1: 0x00000044
DDR3_PHY_WR_DQS_CS0_BYTE2: 0x00000053
DDR3_PHY_WR_DQS_CS0_BYTE3: 0x00000050

DDR3_PHY_RD_DQS_GATE_CS0_BYTE0: 0x000000E4
DDR3_PHY_RD_DQS_GATE_CS0_BYTE1: 0x00000111
DDR3_PHY_RD_DQS_GATE_CS0_BYTE2: 0x00000112
DDR3_PHY_RD_DQS_GATE_CS0_BYTE3: 0x0000013D

DDR3_PHY_WR_DATA_CS0_BYTE0: 0x00000085
DDR3_PHY_WR_DATA_CS0_BYTE1: 0x00000083
DDR3_PHY_WR_DATA_CS0_BYTE2: 0x00000085
DDR3_PHY_WR_DATA_CS0_BYTE3: 0x0000007F

----------SW LEVEL Info (EMIF 1) -------
DDR3_PHY_RD_DQS_CS0_BYTE0: 0x0000003A
DDR3_PHY_RD_DQS_CS0_BYTE1: 0x00000036
DDR3_PHY_RD_DQS_CS0_BYTE2: 0x00000037
DDR3_PHY_RD_DQS_CS0_BYTE3: 0x00000033

DDR3_PHY_WR_DQS_CS0_BYTE0: 0x00000049
DDR3_PHY_WR_DQS_CS0_BYTE1: 0x0000004E
DDR3_PHY_WR_DQS_CS0_BYTE2: 0x00000054
DDR3_PHY_WR_DQS_CS0_BYTE3: 0x00000050

DDR3_PHY_RD_DQS_GATE_CS0_BYTE0: 0x000000D3
DDR3_PHY_RD_DQS_GATE_CS0_BYTE1: 0x000000F7
DDR3_PHY_RD_DQS_GATE_CS0_BYTE2: 0x00000109
DDR3_PHY_RD_DQS_GATE_CS0_BYTE3: 0x00000135

DDR3_PHY_WR_DATA_CS0_BYTE0: 0x0000008A
DDR3_PHY_WR_DATA_CS0_BYTE1: 0x00000080
DDR3_PHY_WR_DATA_CS0_BYTE2: 0x0000007F
DDR3_PHY_WR_DATA_CS0_BYTE3: 0x00000085

I2C: ready
DRAM: 1 GiB
NAND: HW ECC BCH8 Selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC or NAND, using default environment

With another SD card with same switch position I do see nand:


U-Boot 2010.06 (Nov 10 2011 - 23:50:16)

TI8148-GP rev 2.1

ARM clk: 600MHz
DDR clk: 400MHz

DRAM: 2 GiB
Using default environment

The 2nd stage U-Boot will now be auto-loaded
Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is already flashed
MMC: OMAP SD/MMC: 0
Hit any key to stop autoboot: 0
reading u-boot.bin

185044 bytes read
## Starting application at 0x80800000 ...


U-Boot 2010.06 (Nov 10 2011 - 23:45:47)

TI8148-GP rev 2.1

ARM clk: 600MHz
DDR clk: 400MHz

I2C: ready
DRAM: 2 GiB
NAND: HW ECC Hamming Code selected
256 MiB
*** Warning - bad CRC or NAND, using default environment

Can you help me figuring out what's the problem ?

Thanks,

Ran

  • Ran,

    Ran S. said:
    DRAM: 1 GiB
    NAND: HW ECC BCH8 Selected
    No NAND device found!!!
    0 MiB

    What is the SDK on this SD card and which version?

    Ran S. said:
    I2C: ready
    DRAM: 2 GiB
    NAND: HW ECC Hamming Code selected
    256 MiB

    What is the SDK on this SD card and which version?

    BR
    Pavel

  • Hi Pavel,

    The first (failed detection) is RDK 4.2 (with this sdcard there is failure to detect nand)

    The second is of new evm board from package. As I understand it consists ezsdk latest version.

    Thanks!

    Ran

  • Ran,

    And you use these two SD cards on the same EVM with the same switch settings?

    Regards,
    Pavel

  • Yes, exactly.

    It points to some differences in u-boot between these 2 sdk's , right ?

    Thanks,

    Ran

  • Ran S. said:
    It points to some differences in u-boot between these 2 sdk's , right ?

    Yes.

    How you made the RDK SD card? Are you using some script that come with the RDK?

    BR
    Pavel

  • I created it using the instuctions in u-boot PSP user guide. But I noticed another interesting thing: also when I copy the u-boot.bin from RDK package (it's in pre_built folder) , still the 2'nd stage u-boot does not detect nand.

    Thanks,

    Ran

  • Ran,

    May be the SD card is not created/formatted correctly. In EZSDK we have a special script which format the SD card and fill it with the pre-built u-boot and kernel (ti-ezsdk_dm814x-evm_5_05_02_00/bin/mksdboot.sh). Thus we do not need to manually transfer the pre-built u-boot to the SD card but this is done automatically by the script. I will recommend you to search and use the similar script in the RDK.

    BR
    Pavel

  • Also, make sure you are using the latest/newest version of the RDK.

    BR
    Pavel

  • Hi Pavel,

    I took the ezsdk sd-card and just copy the u-boot.bin compiled from clean RDK latest 4.2.0.2 . I got the same failure. I than restored to sdcard the original u-boot.bin (from ezsdk) and than it works ok again. So it seems this is NOT a matter of copying file to sd partition, but more related to changes done in u-boot source of RDK with compare to u-boot source in EZSDK. All tests are done on TI's EVM 814X board (not custom board) , so this is not a matter of board issue.

    It seems to be related to "hw ecc BCH8" instead of "hamming" as done in ezsdk.

    Thanks for any idea,

    Ran

  • Ran,

    On the latest EZSDK 5.05.02.00 which come with PSP 04.04.00.01, when I boot with the default pre-built u-boot, I have:

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C:   ready
    DRAM:  2 GiB
    NAND:  HW ECC BCH8 Selected
    256 MiB

    And we have the below info in the PSP 04.04.00.01 release notes:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_04.04.00.01_Release_Notes

    Changes in NAND flash

    • The default ECC scheme used across Uboot, Kernel and File System is changed to 8-bit BCH ECC.
    • The release supports both 8 and 16 bit NAND flash. The settings to select the NAND buswidth, using the CS0BW switch, have changed from the previous release. To use 8-bit NAND, set the CS0BW (buswidth) switch on the EVM to OFF state. To use 16-bit NAND, set the CS0BW (buswidth) switch on the EVM to ON state.
    • UBIFS file system support has been enabled by default in the kernel. Since 8-bit BCH ECC scheme is using [2-57] bytes of the 64 byte OOB area in NAND, accommodating metadata for JFFS2 file system can not be supported with 8-bit ECC scheme. Hence, usage of UBIFS file system is recommended.

    So, using the BCH8 instead of hamming should not be an issue.

    BR
    Pavel

  • Thanks very much for the assistance, it was a matter of BTMODE[12], sw2[8].

    Thanks!

    Ran