[flashrom] New flash chips, AT49F010 and CAT28F512

Uwe Hermann uwe at hermann-uwe.de
Wed Sep 14 00:11:48 CEST 2011


On Sat, Aug 27, 2011 at 04:28:28AM +0100, Andrew Morgan wrote:
> CAT28F512 I have successfully probed and read data from, but erase
> fails. Could be because it needs 12v VPP. The CAT28F512 I have is
> soldered on to a NIC. I haven't investigated if VPP is connected at
> all yet. Thought I'd include the patch as-is anyway.
> 
> Both patches:
> Signed-off-by: Andrew Morgan <ziltro at ziltro.com>

Thanks, r1439 with some changes.

I changed "CATALYST" to "Catalyst", as used in most of their docs and
websites, e.g.

http://www.catsemi.com
http://www.onsemi.com/PowerSolutions/content.do?id=16700

(they've been bought)

I tested the patch on an Intel NIC with this chip too, probe and read works
fine indeed.

Probe only works due to sheer luck though, probe_jedec() is not really
correct here, it only works because:

  "Signature Mode:
  The signature mode allows the user to identify the IC
  manufacturer and the type of device while the device
  resides in the target system. This mode can be activated
  in either of two ways; through the conventional method
  of applying a high voltage (12V) to address pin A9 or by
  sending an instruction to the command register (see
  Write Operations)."

I have verified on my NIC that VPP is indeed 12V always, hence probe
works even though we don't supply the correct probe commands etc. (yet).


> Index: flashchips.c
> ===================================================================
> --- flashchips.c	(revision 1421)
> +++ flashchips.c	(working copy)
> @@ -2305,6 +2305,30 @@
[...]
> +		.page_size	= 256,

Killed, not used.


> +		.feature_bits	= FEATURE_EITHER_RESET,

Is now 0, don't think this feature applies (neither do the other ones
AFAICS).


> +		.probe		= probe_jedec,

Added a TODO.


> +		.block_erasers	=
> +		{
> +			{
> +				.eraseblocks = { {64 * 1024, 1} },
> +				.block_erase = erase_chip_block_jedec,
> +			},
> +		},
> +		.write		= write_jedec_1,

I set the write/erase functions to NULL for now, the functions above
are incorrect and will not work. Let me know if you want to have a
look at the datasheet and implement the correct ones. I might have some
time sooner or later to do it, dunno.


Uwe.
-- 
http://hermann-uwe.de     | http://sigrok.org
http://randomprojects.org | http://unmaintained-free-software.org




More information about the flashrom mailing list