JEDEC / CFI questions & remarks
Koen Martens
gmc at sonologic.nl
Mon Jun 27 04:42:34 EDT 2005
Koen Martens wrote:
> Second point: the EON clones of the original AMD chipsets have small
> incompatibility in the method for reading out the manufacturer id. First
> of all, a small fragment of jedec_probe.c:
>
> static inline u32 jedec_read_mfr(struct map_info *map, __u32 base,
> struct cfi_private *cfi)
> {
> map_word result;
> unsigned long mask;
> u32 ofs = cfi_build_cmd_addr(0, cfi_interleave(cfi),
> cfi->device_type);
> mask = (1 << (cfi->device_type * 8)) -1;
> result = map_read(map, base + ofs);
> return result.x[0] & mask;
> }
>
>
> Basically, it reads some info from offset 0 relative to the start of the
> flash memory. This is fine for AMD chips, which specify x00 as the (hex)
> address to read out the manufacturer ID. The EON chips we use, however,
> specify 100 (hex) as the offset of the manufacturer id. So what we did
> here is change that first argument to cfi_build_cmd_addr from 0 to 0x100
> , which should thus work on both AMD and EON chips. But who knows what
> this breaks on other chip types.... So, I wonder if this should be
> submitted as a patch (along with the EON chip definitions),
Actually, wouldn't it be better to put this address in the struct that
defines the chip, just as the unlock addresses are..??
koen
--
K.F.J. Martens, Sonologic, http://www.sonologic.nl/
Networking, hosting, embedded systems, unix, artificial intelligence.
Public PGP key: http://www.metro.cx/pubkey-gmc.asc
Wondering about the funny attachment your mail program
can't read? Visit http://www.openpgp.org/
More information about the linux-mtd
mailing list