[coreboot] Problem with M57SLI and newly installed MX25L4005

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Feb 6 14:41:21 CET 2008


On 06.02.2008 14:18, Chris Lingard wrote:
> Carl-Daniel Hailfinger wrote:
>
>   
>> Can you try the patch below? We need full output from flashrom -V.
>>
>> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
>>
>> Index: flashrom-spi_pm25/flash.h
>> ===================================================================
>> --- flashrom-spi_pm25/flash.h	(Revision 3086)
>> +++ flashrom-spi_pm25/flash.h	(Arbeitskopie)
>> @@ -158,7 +158,8 @@
>>  /* Programmable Micro Corp is listed in JEP106W in bank 2, so it should have
>>   * a 0x7F continuation code prefix.
>>   */
>> -#define PMC_ID			0x9D	/* PMC */
>> +#define PMC_ID			0x7F9D	/* PMC */
>> +#define PMC_ID_NOPREFIX		0x9D	/* PMC, missing 0x7F prefix */
>>  #define PMC_49FL002		0x6D
>>  #define PMC_49FL004		0x6E
>>  
>> Index: flashrom-spi_pm25/flashchips.c
>> ===================================================================
>> --- flashrom-spi_pm25/flashchips.c	(Revision 3086)
>> +++ flashrom-spi_pm25/flashchips.c	(Arbeitskopie)
>> @@ -100,9 +100,9 @@
>>  	 probe_49lfxxxc, erase_49lfxxxc, write_49lfxxxc},
>>  	{"SST49LF160C", SST_ID,		SST_49LF160C, 	2048, 4 * 1024 ,
>>  	 probe_49lfxxxc, erase_49lfxxxc, write_49lfxxxc},
>> -	{"Pm49FL002",	PMC_ID,		PMC_49FL002,	256, 16 * 1024,
>> +	{"Pm49FL002",	PMC_ID_NOPREFIX,	PMC_49FL002,	256, 16 * 1024,
>>  	 probe_jedec,	erase_chip_jedec, write_49fl004},
>> -	{"Pm49FL004",	PMC_ID,		PMC_49FL004,	512, 64 * 1024,
>> +	{"Pm49FL004",	PMC_ID_NOPREFIX,	PMC_49FL004,	512, 64 * 1024,
>>  	 probe_jedec,	erase_chip_jedec, write_49fl004},
>>  	{"W29C011",	WINBOND_ID,	W_29C011,	128, 128,
>>  	 probe_jedec,	erase_chip_jedec, write_jedec},
>> @@ -205,6 +205,8 @@
>>  	 probe_spi,	NULL,	NULL},
>>  	{"MX unknown SPI chip",	MX_ID,	GENERIC_DEVICE_ID,	0, 0,
>>  	 probe_spi,	NULL,	NULL},
>> +	{"PMC unknown SPI chip",	PMC_ID,	GENERIC_DEVICE_ID,	0, 0,
>> +	 probe_spi,	NULL,	NULL},
>>  	{"SST unknown SPI chip",	SST_ID,	GENERIC_DEVICE_ID,	0, 0,
>>  	 probe_spi,	NULL,	NULL},
>>  	{"ST unknown SPI chip",	ST_ID,	GENERIC_DEVICE_ID,	0, 0,
>> Index: flashrom-spi_pm25/spi.c
>> ===================================================================
>> --- flashrom-spi_pm25/spi.c	(Revision 3086)
>> +++ flashrom-spi_pm25/spi.c	(Arbeitskopie)
>> @@ -281,8 +281,14 @@
>>  	uint8_t manuf_id;
>>  	uint16_t model_id;
>>  	if (!generic_spi_rdid(readarr)) {
>> -		manuf_id = readarr[0];
>> -		model_id = (readarr[1] << 8) | readarr[2];
>> +		/* Check if this is a continuation vendor ID */
>> +		if (readarr[0] == 0x7f) {
>> +			manuf_id = (readarr[0] << 8) | readarr[1];
>> +			model_id = readarr[2];
>> +		} else {
>> +			manuf_id = readarr[0];
>> +			model_id = (readarr[1] << 8) | readarr[2];
>> +		}
>>  		printf_debug("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, manuf_id, model_id);
>>  		if (manuf_id == flash->manufacture_id &&
>>  		    model_id == flash->model_id) {
>>     
>
>
> I got version 3086, applied your patch, and the output is identical to 
> that already posted.
>   

Thanks for testing.
The output should be mostly identical on the first look, but not exactly
identical. If it is exactly identical, the executed binary didn't
contain the patch.
I'm looking for the following output changes:

> probe_spi: id1 0x7f, id2 0x9d7e
should become
> probe_spi: id1 0x7f9d, id2 0x7e
and there should be three additional lines near the end:
> Probing for PMC unknown SPI chip, 0 KB
> WARNING: size: 0 -> 4096 (page size)
> RDID returned 7f 9d 7d.


Regards,
Carl-Daniel




More information about the coreboot mailing list