NAND bring up on a custom board based on iMX7DSABRESD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NAND bring up on a custom board based on iMX7DSABRESD

1,622 Views
vijayhs
Contributor I

Hi,

We are using a custom board based on iMX7DSABRESD. We are trying to bring up the NAND (MT29F8G08ABACAW P-IT_C) from U-Boot (2016.03-imx_v2016.03_4.1.15_2.0.0_ga+ga57b13b942) and it is failing. The U-Boot log is as below,

/**********************************************************************************************/
U-Boot 2016.03-imx_v2016.03_4.1.15_2.0.0_ga+ga57b13b942 (Oct 25 2017 - 01:33:26 +0530)

CPU:   Freescale i.MX7D rev1.2 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 31C
Reset cause: POR
Board: i.MX7D SABRESD RevC
I2C:   ready
DRAM:  1 GiB
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
NAND: maf_id : 2c, dev_id : 90
      0 MiB
MMC:   FSL_SDHC: 0
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
Net:   FEC0
Error: FEC0 address not set.

Normal Boot
Hit any key to stop autoboot:  0
/**********************************************************************************************/

Basically, from the log, we can see that for READ_ID command (which is supposed to receive 5 bytes) we are receiving alternate bytes. Why am I missing the other alternate bytes. Can I please get some help here.

I am attaching the custom board schematics and the NAND datasheet (READ_ID command can be referred in this document).

Thanks & Regards
Vijay H.S

Labels (1)
0 Kudos
9 Replies

1,254 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vijaj

one can check #define CONFIG_SYS_USE_NAND in uboot/include/configs/mx7dsabresd.h

uboot-imx.git - Freescale i.MX u-boot Tree 

What do you mean by "receiving alternate bytes", had you checked

signals with oscilloscope. Also one can try to populate R132 NAND_R_B.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,254 Views
vijayhs
Contributor I

Hi Igor,

Thanks for your reply.

I have already enabled #define CONFIG_SYS_USE_NAND and R132 NAND_R_B is already populated.

Regarding the alternate bytes, when I try to read NAND device ID using READ_ID command, I am supposed to receive 5 bytes as below,

0x2C, 0xD3, 0x90, 0xA6, 0x64  (refer attached NAND data sheet, page : 36, READ_ID),

But, I am receiving 0x2C, 0x90, 0x64 (these values are printed on the uboot log as shown in my previous comment) and I am missing 0xD3, 0xA6.

Regards

Vijay H.S

0 Kudos

1,254 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vijaj

is it detected correctly in linux. In uboot one can debug

sources in drivers/mtd/nand/nand_base.c.

Best regards
igor

0 Kudos

1,254 Views
vijayhs
Contributor I

Hi Igor,

I am facing the same issue in the Linux as well.

Regards

Vijay H.S

0 Kudos

1,254 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vijaj

 

suggest to use logic analyser and debug sources in drivers/mtd/nand/nand_base.c -

check which commands are sent from i.MX and what is nand response. All that info

is contained in micron nand datasheet.

Best regards
igor

0 Kudos

1,254 Views
vijayhs
Contributor I

Hi Igor,

I was able to fix the problem. Actually, the "SW2_1V8" was connected to "NVCC_SD3"
instead of "NVCC_3V3" and because of this 1.8V (instead of 3.3V) was coming on the NAND lines like NAND_RE#, NAND_DAT0, ... etc. After connecting "NVCC_3V3" instead of "SW2_1V8" the NAND got detected with proper Device_ID.

Now, I want to boot u-boot, Kernel and RootFS from NAND (till now I was booting from SD card). Is there any document or link for the information about how to flash u-boot, Kernel and RootFS from SD card and then boot the device from NAND?

Also, is there any code changes to be done in the u-boot, to make it boot from NAND?

Thanks & Regards

Vijay H.S

0 Kudos

1,254 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vijay

for nand programming please use MFG Tools and Linux Guide from

documentation on link

http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,254 Views
vijayhs
Contributor I

Hi Igor,

There is no USB-OTG on our board. So, is there any other way to program the NAND (u-boot, kernel and RFS) and boot from NAND?

Thanks & Regards

Vijay H.S

0 Kudos

1,254 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vijay

mfg tool runs small linux image and one can look at ucl2.xml

for linux nand programming commands.

Best regards
igor

0 Kudos