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

RE: Erase Sector Size




Hi all,

I have a design question for the code I'm attaching 
that adds support for the old Intel's TE28F*B Fast Boot Block series.
The patch is to cvs from Aug, 19. Note that it modifies
the maps/dc21285.c code and Config.in, to which my question below is
related.

As opposed to Intel's 28F*J Strata Flash series the 
old Fast Boot Block series is not CFI compliant.
I couldn't even coerce it to work as a jedec.

The Lart (devices/lart.c) uses a chip from this series, but the data bus has

a totally crazy mapping.
So I wrote a module for this series somewhat based on the chips/amd_flash.c
code.
Since I have it mapped via dc21285 I modified maps/dc21285.c to probe using
my module
instead of using cfi_probe. (I also had to modify the write16, since the
code there uses,
IMO,  a wrong addr. mask).

I see two problems (not counting the possible bug in dc21285_write*() code)
with what I did:

1. The dc21285.c use of cfi compliant chips is hardcoded (there should maybe
be a
	way to try and probe all registered modules for the first one that
reports success,
	or something like that) or should I use CONFIG_ and #ifdef
2. A minor one - the use of a certain chipset for mapping doesn't
necessarily mean that the
	address and data lanes are always the same. In addition is there
some framework in plan 
      that captures the mapping/interleaving and bus width issues separated
for the specific chip support?

Should I maybe write a device specific modules without the maps/chips
separation, since it seems only
to complicate things?

BTW: For some reason for Intel's 28F* chips the most important is the letter
that follows the
      size code, so the 28F128J means that it belongs to a Strata Flash line
which is CFI comliant,
 	while 28F128B belongs to the Fast Boot Block Flash line, which is
really a pre-CFI,
	and the CFI code wont work.

A totally unrelated issue: 
 I need to edit the redboot partition table from linux.
 How should I reread it? Removing and loading the modules, doesn't seem like
a nice solution,
 especially since the root fs is on flash.
 Should I try and add ioctl to the mtdchar/block code, so it would work like
when you use fdisk?

Kreso

-----Original Message-----
From: David Woodhouse [mailto:dwmw2@xxxxxxx.org]
Sent: Tue, August 21, 2001 9:33 AM
To: Ashok M Padmanaban
Cc: MTD for Linux; JFFS mailing list
Subject: Re: Erase Sector Size 



ashokmp@xxxxxxx.com said:
>  Iam using intels 28F128 Strata flash, According to its data sheet its
> erase sector size is 128KB. But with 2.4.2 kernel + rmk2 (patch,diff)
> + mtd patch , the erase sector size is 256KB.

It's not configurable. You probably have two 16-bit devices arranged in a 
pair to give a 32-bit data path - which doubles the effective erase size 
because it doesn't make sense to erase one half at a time.

We just need to fix JFFS2 so it isn't so greedy.

--
dwmw2



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

mtd-cvs-2001-08-19-intel_bb.patch