How to flash u-boot to nand flash from kernel

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

How to flash u-boot to nand flash from kernel

Jump to solution
5,197 Views
mrigendra_chaub
Contributor III

I have a i.mx6 qp SoC based board. This board have a nand flash.

Currently i am using sd card to boot, and it have buildroot created rootfs.

The kernel have support for gpmi.nand and i can see partitions created such as mtd0, mtd1 etc.

Now I want to flash nand partition /dev/mtd0.

I am able to read and write on nand partition, with mtd tools, nandwrite tools and kobs-ng tools.

below is what I have done,

1. Compile a u-boot.imx image with nand support.  

2. keep that image in some directory of rootfs.

3.erase nand /dev/mtd0 partition

flash_erase /dev/mtd0 0 16

4. write uboot binary like this

nandwrite -b 1 -n /dev/mtd0 -p u-boot.imx

or,

dd if=u-boot.imx of=/dev/mtd0 bs=1k seek=1

or,

kobs-ng init -v /boot/u-boot-nand.imx

logs

MTD CONFIG:
chip_0_device_path = "/dev/mtd0"
chip_1_device_path = "(null)"
search_exponent = 2
data_setup_time = 80
data_hold_time = 60
address_setup_time = 25
data_sample_time = 6
row_address_size = 3
column_address_size = 2
read_command_code1 = 0
read_command_code2 = 48
boot_stream_major_version = 1
boot_stream_minor_version = 0
boot_stream_sub_version = 0
ncb_version = 3
boot_stream_1_address = 0
boot_stream_2_address = 0
u-boot-nand.imx: verifying using key '00000000000000000000000000000000'
u-boot-nand.imx: is a valid bootstream for key '00000000000000000000000000000000'
mtd: Linux 4.1
mtd: use new bch layout raw access mode
mtd: opening: "/dev/mtd0"
Cannot open BCH geometry node: "/sys/kernel/debug/gpmi-nand/bch_geometry"
NFC geometry :
ECC Strength : 18
Page Size in Bytes : 2176
Metadata size : 10
ECC Chunk Size in byte : 512
ECC Chunk count : 4
Block Mark Byte Offset : 1950
Block Mark Bit Offset : 2
====================================================
mtd: opened '/dev/mtd0' - '(null)'
mtd: bootstream too large
mtd_init failed!

5. Step 4 is not very clear to me. Reading about kobs tells something very different that what I expected.

All these tools are compiled with latest buildroot.

Kindly tell me the difference and show the correct approach.

0 Kudos
1 Solution
3,094 Views
igorpadykov
NXP Employee
NXP Employee

Hi mrigendra

correct commands can be found in mfg tool ucl2.xml script (look for "LIST name="NAND Flash")

as it runs small linux image.

Mfg Tool package can be found on below link

i.MX Software|NXP 


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

View solution in original post

1 Reply
3,095 Views
igorpadykov
NXP Employee
NXP Employee

Hi mrigendra

correct commands can be found in mfg tool ucl2.xml script (look for "LIST name="NAND Flash")

as it runs small linux image.

Mfg Tool package can be found on below link

i.MX Software|NXP 


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