MTD partitioning for AMD flash chips

Navin Boppuri navin.boppuri at
Fri Jan 25 15:36:37 EST 2002

Figured out what the problem was. I was using simple readb and writeb
commands instead of the __raw_readb and __raw_writeb commands used by
the physmap.c file. I see that readb and writeb use inb and outb whereas
__raw_readb stuff do pointer access to memory. I guess it has to do
something with the big-endian stuff ( I am on a PowerPC). Well, I have
the partitions working and have a file system mounted. 

Will keep posting if I get into some more trouble. Thanks a lot for all
the help.


-----Original Message-----
From: Jörn Engel [mailto:joern at]
Sent: Friday, January 25, 2002 3:48 AM
To: Navin Boppuri
Subject: Re: MTD partitioning for AMD flash chips


> I wanted to start off with the first option. I did not want to use
> physmap.c and decided to create a file exactly similar to physmap.c
> created the necessary CONFIG options. I hardcoded the WINDOW_SIZE and
> WINDOW_ADDR parameters in this file. Everything else is exactly
> to the physmap file ( I looked at the example for the rpxlite board
> support in the drivers/mtd directory). I started off without any
> partitions. But when I did try booting the kernel, cfi_probe came back
> without detecting the flash device. 
> If I use physmap directly, cfi_probe detects my flash without any
> problem. What do I need to do to get the basic stuff working without
> directly using the physmap file? I want to start off without
> and then start adding partitions to it. 

Tough question. It worked with physmap but not with your modified and
renamed physmap. Either you screwed up some modifications, try diffing
both files and reading carefully. Or you didn't link your code with
the kernel, perhaps you forgot to adjust or Makefile.

In any case, you are the only one to answer that question. ;-)


ticks = jiffies;
while (ticks == jiffies);
ticks = jiffies;
-- /usr/src/linux/init/main.c

More information about the linux-mtd mailing list