Wacky JEDEC probes
Thayne Harbaugh
tharbaugh at lnxi.com
Thu Feb 20 13:07:41 EST 2003
--=-JvFNgpyu86frQRjcaU5h
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
On Thu, 2003-02-20 at 09:32, David Woodhouse wrote:
> On Wed, 2003-02-19 at 16:26, Thayne Harbaugh wrote:
> > I have been experiencing wacky JEDEC probes which have the following
> > symptoms:
> >=20
<snip>
> > The obvious problem is that there is no way to challenge a device and
> > discover if it truly is in ID mode. Because of this one must assume
> > that sending the unlock sequence was correct and really worked.
>=20
> Some devices don't _have_ an unlock sequence though.
These devices I have marked with MTD_UADDR_UNNECESSARY
> I'm more inclined
> to follow the route of taking the chip _out_ of ident mode and checking
> the contents change. Bear in mind that (IIRC) we should get the correct
> ident from offset 0 and 1 in _every_ erase block, shouldn't we?
The problem I saw had the ident written to the device in every block -
it's a long story about how it happen and not likely to happen, but it
illustrates a hole in the detection process.
>=20
> After finding an ident, we put the chip back in read mode and check for
> the ident again. If it hasn't changed (i.e. the data matches the ident
> we think we saw) then go back to ident mode and check for the ids in the
> _next_ eraseblock instead. Or something like that ;)
Seems to me that this is a lot of checking that only needs to be done
for the MTD_UADDR_UNNECESSARY devices.
>=20
>=20
> > - Some devices have 8 bit and 16 bit modes and have unique unlock
> > addresses for each. I'm not sure which ones should be used - that's wh=
y
> > these cases are labeled as "FIXME."
>=20
> The one you use depends on the mode the chip is in -- you'd probably end
> up wanting two separate entries for these chips, or depending on which
> mode we're in.
Should be doable similar to the regions member in amd_flash_info.
>=20
> > - It appears that some CFI devices are in the jedec_table[] - I'm not
> > sure if this is desirable.
>=20
> Possibly not. Who added them and when? (cvs annotate :)
Trying to get to CVS (I guess I could use anonymous CVS, but I'm waiting
to have a more personalized service :)
>=20
> > - The unlock_addrs[] array enumerates the known unlock addresses. I
> > have noticed that these address pairs can be x555/x2aa, x555/xaaa,
> > x5555/x2aaa, x5555/xaaaa, x0/x0. Some of these pairs are not currently
> > listed because they are used for 8 bit mode on 16 bit devices. Now tha=
t
> > these addresses are enumerated it might be better to iterate over the
> > list instead of keep state while shifting and or'ing.
>=20
> That's a sane idea and entirely orthogonal to the original change, I
> suppose.
I'll look into changing that later - the problem is that the current
shifting solution still works for all of my needs . . .
So the question is are you opposed to the verifying of the unlock
addresses, or is it all good if I add in additional checks for the
MTD_UADDR_UNNECESSARY devices?
--=20
Thayne Harbaugh
Linux Networx
--=-JvFNgpyu86frQRjcaU5h
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQA+VRltfsBPTKE6HMkRAqOFAJ4zIXlrvLwr9WblE0l9T4E0VfIWCQCfRR9/
VYNyb02zvqFArSmEe6Z3rGY=
=iGrr
-----END PGP SIGNATURE-----
--=-JvFNgpyu86frQRjcaU5h--
More information about the linux-mtd
mailing list