[flashrom] Atmel AT49LH002 support missing

Stefan Tauner stefan.tauner at student.tuwien.ac.at
Fri Jul 22 09:37:22 CEST 2011


On Fri, 22 Jul 2011 08:46:12 +0200
Mattias Mattsson <vitplister at gmail.com> wrote:

> On Fri, Jul 15, 2011 at 02:34:07PM -0300, Marcos Felipe Rasia de Mello wrote:
> > 2011/7/15 Stefan Tauner <stefan.tauner at student.tuwien.ac.at>:
> > >
> > > jup, this one is not supported yet.
> > > the datasheet can for example be found here:
> > > http://www.datasheetcatalog.org/datasheet/atmel/doc3377.pdf
> > > it supports LPC and FWH so it may share some characteristics with the
> > > Pm49FL002. patches are welcome ;)
> > 
> > Thank you for the information. Unfortunately I won't stay much time
> > with this board to test it, in case someone add support for the chip.
> 
> Please test the attached patch and post a verbose (-V) log.

> Index: flashchips.c
> ===================================================================
> --- flashchips.c	(revision 1380)
> +++ flashchips.c	(working copy)
> @@ -2305,6 +2305,36 @@
>  	},
>  
>  	{
> +		.vendor		= "Atmel",
> +		.name		= "AT49LH002",
> +		.bustype	= CHIP_BUSTYPE_LPC | CHIP_BUSTYPE_FWH, /* A/A Mux */
> +		.manufacture_id	= ATMEL_ID,
> +		.model_id	= ATMEL_AT49LH002,
> +		.total_size	= 256,
> +		.page_size	= 8 * 1024,
                                ^ dunno about this one.
i am not familiar (with page sizes of) LPC/FWH chips.

> +		.feature_bits	= FEATURE_REGISTERMAP,
same here, although i think it is correct

> +		.tested		= TEST_UNTESTED,
> +		.probe		= probe_82802ab,
same, but seems to be correct to be naive eyes from looking at the
probe_82802ab code.

> +		.probe_timing	= 1,
same, and i could not verify that

> +		.block_erasers	=
> +		{
> +			{
> +				.eraseblocks = {
> +					{64 * 1024, 3},
> +					{32 * 1024, 1},
> +					{8 * 1024, 2},
> +					{16 * 1024, 1},
> +				},
> +				.block_erase = erase_block_82802ab,
> +			}
> +		},
there is also a uniform erase that combines the last 4 to one sector.
i.e. 
				.eraseblocks = {
					{64 * 1024, 4},
                                },
the opcode is 20H. i did not look further. would be nice to support that
too, if that's easily possible.

> +		.unlock		= unlock_82802ab,
> +		.write		= write_82802ab,
> +		.read		= read_memmapped,
dunno about those 3.

> +		.voltage	= {3000, 3600},
> +	},
> +
> +	{
>  		.vendor		= "Bright",
>  		.name		= "BM29F040",
>  		.bustype	= CHIP_BUSTYPE_PARALLEL,
> Index: flashchips.h
> ===================================================================
> --- flashchips.h	(revision 1380)
> +++ flashchips.h	(working copy)
> @@ -184,6 +184,7 @@
>  #define ATMEL_AT49F020		0x0B
>  #define ATMEL_AT49F002N		0x07	/* for AT49F002(N)  */
>  #define ATMEL_AT49F002NT		0x08	/* for AT49F002(N)T */
> +#define ATMEL_AT49LH002		0xE9
>  
>  /* Bright Microelectronics has the same manufacturer ID as Hyundai... */
>  #define BRIGHT_ID		0xAD	/* Bright Microelectronics */

everything else is
Acked-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
-- 
Kind regards/Mit freundlichen Grüßen, Stefan Tauner




More information about the flashrom mailing list