Support for S29JL064 in MPC8272ADS?

Roberto Guerra roberto.j.guerra at gmail.com
Sat Oct 10 01:14:56 EST 2009


Hello,
My uboot can read my flash chip, finding the uImage and the initramfs,
and booting the kernel fine. However, I'd like the Linux kernel to
read my flash chip so that it can update files in it.
My flash chip is the Spansion S29JL064H (AMD), 16 bit wide, 64 Mbit.
The chip is mapped from FF800000 to FFFFFFFF. The rootfs.jffs2 was
written on 0XFF990000 and is 0x390000 long.
I know that the JFFS is written correctly, because it is detected by uboot:

=> fsinfo
### filesystem type is JFFS2
Scanning JFFS2 FS: ....... done.
Compression: NONE
        frag count: 523
        compressed sum: 138074
        uncompressed sum: 138074
Compression: ZERO
        frag count: 0
        compressed sum: 0
        uncompressed sum: 0
Compression: RTIME
        frag count: 1
        compressed sum: 48
        uncompressed sum: 52
Compression: RUBINMIPS
        frag count: 0
        compressed sum: 0
        uncompressed sum: 0
Compression: COPY
        frag count: 0
        compressed sum: 0
        uncompressed sum: 0
Compression: DYNRUBIN
        frag count: 0
        compressed sum: 0
        uncompressed sum: 0
Compression: ZLIB
        frag count: 2031
        compressed sum: 3370991
        uncompressed sum: 7598685

=> flinfo

Bank # 1: CFI conformant FLASH (16 x 16)  Size: 8 MB in 142 Sectors
  AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x7E0201
  Erase timeout: 8192 ms, write timeout: 1 ms

  Sector Start Addresses:
  FF800000        FF802000        FF804000        FF806000        FF808000
  FF80A000        FF80C000        FF80E000        FF810000        FF820000
  FF830000        FF840000        FF850000        FF860000        FF870000
  FF880000        FF890000        FF8A0000        FF8B0000        FF8C0000
  FF8D0000        FF8E0000        FF8F0000        FF900000        FF910000
  FF920000        FF930000        FF940000        FF950000        FF960000
  FF970000        FF980000        FF990000        FF9A0000        FF9B0000
  FF9C0000        FF9D0000        FF9E0000        FF9F0000        FFA00000
  FFA10000        FFA20000        FFA30000        FFA40000        FFA50000
  FFA60000        FFA70000        FFA80000        FFA90000        FFAA0000
  FFAB0000        FFAC0000        FFAD0000        FFAE0000        FFAF0000
  FFB00000        FFB10000        FFB20000        FFB30000        FFB40000
  FFB50000        FFB60000        FFB70000        FFB80000        FFB90000
  FFBA0000        FFBB0000        FFBC0000        FFBD0000        FFBE0000
  FFBF0000        FFC00000        FFC10000        FFC20000        FFC30000
  FFC40000        FFC50000        FFC60000        FFC70000        FFC80000
  FFC90000        FFCA0000        FFCB0000        FFCC0000        FFCD0000
  FFCE0000        FFCF0000        FFD00000        FFD10000        FFD20000
  FFD30000        FFD40000        FFD50000        FFD60000        FFD70000
  FFD80000        FFD90000        FFDA0000        FFDB0000        FFDC0000
  FFDD0000        FFDE0000        FFDF0000        FFE00000        FFE10000
  FFE20000        FFE30000        FFE40000        FFE50000        FFE60000
  FFE70000        FFE80000        FFE90000        FFEA0000        FFEB0000
  FFEC0000        FFED0000        FFEE0000        FFEF0000        FFF00000   RO
  FFF10000   RO   FFF20000   RO   FFF30000   RO   FFF40000   RO   FFF50000   RO
  FFF60000   RO   FFF70000   RO   FFF80000        FFF90000        FFFA0000
  FFFB0000        FFFC0000        FFFD0000        FFFE0000        FFFF0000
  FFFF2000        FFFF4000        FFFF6000        FFFF8000        FFFFA000
  FFFFC000        FFFFE000

My bootargs are:
bootargs=console=ttyCPM0,115200 root=/dev/mtdblock1 rw
mtdparts=phys:1600K(ROM)ro,6M(root),512K(U-Boot)ro,512K(unused)

However, the kernel does not detect any flash chip (nor there's any
indication that a CFI probe is being performed).

My flash kconfig section:

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
# CONFIG_MTD_CFI_NOSWAP is not set
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
CONFIG_MTD_CFI_LE_BYTE_SWAP=y
# CONFIG_MTD_CFI_GEOMETRY is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_PHYSMAP_OF is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

Roberto Guerra


More information about the Linuxppc-dev mailing list