[OLPC-devel] help about flash interface

li yu raise.sail at gmail.com
Sat Jun 24 04:53:06 EDT 2006


    The OLPC is one great project.

    I am working on one project that also base on AMD Geode, there are
a development board (AMD Geode LX DB800)  that I can use.    The
problem that we encounter is have no driver for this Flash interface.
While write it from scratch is possible, but this task must be rather
diffcult and will take long time for me, so thanks for David
Woodhouse, I clone the git tree from


    but I still have problems about this driver , I want to get some
help here. thanks in advanced.

    I also copy from code from LinuxBIOS project, such code initialize
Flash Interface. in particular, it select chip 0 and set
some timer parameter. These are its printk output:

cs5536: enable_ide_nand_flash
MDD_LBAR_FLSH0 was 0x0000000000000000
MDD_LBAR_FLSH0 is 0xfffff00720000000
MDD_PIN_OPT was 0x0000000000000f7d
MDD_LBAR_FLSH0 is 0x0000000000000f7c
MDD_NANDF_DATA was 0x0000000007770777
MDD_NANDF_DATA is 0x0000000001110111
MDD_NADF_CNTL was 0x0000000000000777
MDD_NADF_CNTL is 0x0000000000000111
cs5536: EXIT enable_ide_nand_flash

    When insert the cs553x_nand.ko, I found it can not read maf_id and
dev_id from chip, We use Sumsung K9F4G08U0A, I had read the manual
from Sumsung, the read ID operation from it is same with our driver
doing. there are output of driver's printk:

MSR_DIVIL_LBAR_FLSH0 = fffff00720000000
Probing CS553x NAND controller CS#0 at MMIO 0x20000000
select chip chipnr = 0 (null)
cs553x_hwcontrol ctl=2
ctlr_busy == 0
writeb 0x90 to @cf848801
cs553x_hwcontrol ctl=4
ctlr_busy == 0
writeb 0x0 to @cf848801
cs553x_hwcontrol ctl=0
readb from @cf848000 to 0x0
readb from @cf848000 to 0x0
maf_id = 0x0,  dev_id = 0x0
No NAND device found!!!
select chip chipnr = -1 (cmd_ctrl)
cs553x_hwcontrol ctl=1
return(err) = -6

    Because of we read dev_id is 0, so nand_scan() can not find any
chip, and quit directly.

    I am boot from a small USB Disk, not from other IDE Device.    If
I connect both Flash chip and IDE Harddisk at the same IDE cable, the
IDE harddisk also can not work normally: while the grub can boot
kernel, but the ext3 filesystem will pop many warnings, and read
corrput data from harddisk.

    The BIOS Settings that I use is factory default, of course, except
boot priority.

    I want to know how read dev_id correctly, whatever word are welcome.

    Thanks again.

    Good luck.


More information about the Devel mailing list