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

2,549 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
Reply
9 Replies

2,181 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
Reply

2,181 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
Reply

2,181 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
Reply

2,181 Views
vijayhs
Contributor I

Hi Igor,

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

Regards

Vijay H.S

0 Kudos
Reply

2,181 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
Reply

2,181 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
Reply

2,181 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
Reply

2,181 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
Reply

2,181 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
Reply