OneNand driver

Kyungmin Park kmpark at
Thu Mar 8 20:34:51 EST 2007

Hi Andrew,

> 1. Thank you very much for your help. Now my Linux OneNAND 
> driver works for me. I can read and write OneNAND correctly. 
> What is interesting here is that we don't need any special 
> tool to write/read OneNAND. I do it this way:
> cp x_load_Uboot.bin /dev/mtdblock0
> cp  /dev/mtdblock0 b0.bin

Yes. you can write block 0 directly useing mtdblock0 in kernel

> 2.
> I am trying to make the X-load work. I have problem when 
> reading. It always read the first 4 sectors, no matter what 
> page/sectors address I set. 

OneNAND has 1KB BootRAM (2 sectors). it is filled automatically from page0,
block0 in OneNAND

> I noticed that Linux driver does the reading a little bit 
> diffirently, It writes to ONENAND_REG_START_BUFFER with 
> 0x0800 and 0x0c00 alternatively. I also tried this method. 
> but it doesn't work.

xloader has size limitation. so I implemented it using just one bufferram.
and it just read 128KB - 2KB from block0
So I think there's no big performance improvement. But if you want it. try
But you have to know that xloader don't exceed the 1KB size limitation.

You can refer following URL;a=log

Thank you,
Kyungmin Park

More information about the linux-mtd mailing list