[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: jffs for amd Am29LV160BB





On Tue, 24 Apr 2001, dhammika wrote:

>
> i did a small test. i tried to completely ignore my flash bank 0. this
> is what i did,
>
> static struct map_desc brutus_io_desc[] __initdata = {
>  /* virtual     physical    length      domain     r  w  c  b */
>   { 0xe8000000, 0x08000000, 0x00400000, DOMAIN_IO, 1, 1, 0, 0 }, /*
> flash bank 1 */
>   { 0xf1000000, 0x18000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* BCR
> */
>   LAST_DESC
> };
>
> and set up a partition as,
>
> static unsigned long brutus_max_flash_size = 0x00400000;
> static struct mtd_partition brutus_partitions[] = {
>  { name:"root-fs",  offset: 0x00000000,	size: 0x400000  },
> };
>
> then i boot with the resulting kernel. and now jffs2 seems to be
> initializing properly.
>
> SA1100 flash: probing for 1 partitions (buswidth = 4)
> SA1100: Found 2 x16 CFI devices at location 0 in 16 bit mode
>  Amd/Fujitsu Extended Query Table v1.0 at 0x0040
> number of CFI chips: 1
> mtd: Giving out device 0 to root-fs
> SA1100 flash access initialized

Good.  Now try the following:

static struct map_desc brutus_io_desc[] __initdata = {
 /* virtual     physical    length      domain     r  w  c  b */
  { 0xe8000000, 0x00000000, 0x00400000, DOMAIN_IO, 1, 1, 0, 0 }, /* flash bank 0 */
  { 0xe8400000, 0x08000000, 0x00400000, DOMAIN_IO, 1, 1, 0, 0 }, /* flash bank 1 */
  { 0xf1000000, 0x18000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* BCR */
  LAST_DESC
};

static unsigned long brutus_max_flash_size = 0x00800000;

... plus your assorted partition definitions.

Then you should get: "number of CFI chips: 2" and your full 8MB should be
available.  This assumes, of course, that you have the same flash chips in
both bank 0 and bank 1.

> /proc/mtd gives
> dev:    size   erasesize  name
> mtd0: 00400000 00020000 "root-fs"

Does it say the same if you define a mapping for bank 0 only?

> but when i try mount -t jffs2 /dev/mtdblock0 /mnt
> mount: /dev/mtdblock0 has wrong major or minor number
>
> ls -l /dev/mtdblock0 gives,
> brw-r--r--    1 root     root     31,   0 Apr 21  2001 /dev/mtdblock0
>
> i think my major minor numbers are ok. but i can't explain why it's
> failing.

You probably miss CONFIG_MTD_BLOCK in your kernel configuration.


Nicolas


To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com