Patchwork Totally generic SPI chip match

login
register
about
Submitter Carl-Daniel Hailfinger
Date 2009-07-23 02:06:26
Message ID <4A67C5A2.1050302@gmx.net>
Download mbox | patch
Permalink /patch/67/
State Accepted
Commit r767
Headers show

Comments

Carl-Daniel Hailfinger - 2009-07-23 02:06:26
If a chip is not on the RDID generic vendor list nor on the REMS
specific ID list, flashrom will claim that no chip is there. Handle
these cases gracefully. flashrom will ignore generic matches if a
specific chip was found, so this will have no impact on supported chips,
but help a lot for a first quick analysis by the user or developer. The
only drawback is that unknown chips may be recognized multiple times
until they are added to flashchips.[ch].

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Carl-Daniel Hailfinger - 2009-10-01 09:10:07
On 23.07.2009 04:06, Carl-Daniel Hailfinger wrote:
> If a chip is not on the RDID generic vendor list nor on the REMS
> specific ID list, flashrom will claim that no chip is there. Handle
> these cases gracefully. flashrom will ignore generic matches if a
> specific chip was found, so this will have no impact on supported chips,
> but help a lot for a first quick analysis by the user or developer. The
> only drawback is that unknown chips may be recognized multiple times
> until they are added to flashchips.[ch].
>
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
>   

Ping?

Regards,
Carl-Daniel
Carl-Daniel Hailfinger - 2009-11-19 16:21:08
On 01.10.2009 11:10, Carl-Daniel Hailfinger wrote:
> On 23.07.2009 04:06, Carl-Daniel Hailfinger wrote:
>   
>> If a chip is not on the RDID generic vendor list nor on the REMS
>> specific ID list, flashrom will claim that no chip is there. Handle
>> these cases gracefully. flashrom will ignore generic matches if a
>> specific chip was found, so this will have no impact on supported chips,
>> but help a lot for a first quick analysis by the user or developer. The
>> only drawback is that unknown chips may be recognized multiple times
>> until they are added to flashchips.[ch].
>>
>> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>  
>>     
>
> Ping?
>   

Ping? This is the oldest unapplied and unacked patch. It was posted
almost 4 months ago. (And a on the coreboot list before that.)
http://patchwork.coreboot.org/patch/67/ if you can't find the patch anymore.

Regards,
Carl-Daniel
Marc Jones - 2009-11-19 17:27:57
On Thu, Nov 19, 2009 at 9:21 AM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006@gmx.net> wrote:
> On 01.10.2009 11:10, Carl-Daniel Hailfinger wrote:
>> On 23.07.2009 04:06, Carl-Daniel Hailfinger wrote:
>>
>>> If a chip is not on the RDID generic vendor list nor on the REMS
>>> specific ID list, flashrom will claim that no chip is there. Handle
>>> these cases gracefully. flashrom will ignore generic matches if a
>>> specific chip was found, so this will have no impact on supported chips,
>>> but help a lot for a first quick analysis by the user or developer. The
>>> only drawback is that unknown chips may be recognized multiple times
>>> until they are added to flashchips.[ch].
>>>
>>> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
>>>
>>
>> Ping?
>>
>
> Ping? This is the oldest unapplied and unacked patch. It was posted
> almost 4 months ago. (And a on the coreboot list before that.)
> http://patchwork.coreboot.org/patch/67/ if you can't find the patch anymore.
>
> Regards,
> Carl-Daniel

I have no way to test the generic read but the code looks fine.
Acked-by: Marc Jones <marcj303@gmail.com>
Carl-Daniel Hailfinger - 2009-11-20 01:13:28
On 19.11.2009 18:27, Marc Jones wrote:
> On Thu, Nov 19, 2009 at 9:21 AM, Carl-Daniel Hailfinger
> <c-d.hailfinger.devel.2006@gmx.net> wrote:
>   
>> On 01.10.2009 11:10, Carl-Daniel Hailfinger wrote:
>>     
>>> On 23.07.2009 04:06, Carl-Daniel Hailfinger wrote:
>>>       
>>>> If a chip is not on the RDID generic vendor list nor on the REMS
>>>> specific ID list, flashrom will claim that no chip is there. Handle
>>>> these cases gracefully. flashrom will ignore generic matches if a
>>>> specific chip was found, so this will have no impact on supported chips,
>>>> but help a lot for a first quick analysis by the user or developer. The
>>>> only drawback is that unknown chips may be recognized multiple times
>>>> until they are added to flashchips.[ch].
>>>>
>>>> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
>>>>         
>
> I have no way to test the generic read but the code looks fine.
> Acked-by: Marc Jones <marcj303@gmail.com>
>   

Thanks, r767.

Regards,
Carl-Daniel

Patch

Index: flashrom-spi_totally_generic_probe/flashchips.c
===================================================================
--- flashrom-spi_totally_generic_probe/flashchips.c	(Revision 664)
+++ flashrom-spi_totally_generic_probe/flashchips.c	(Arbeitskopie)
@@ -3167,5 +3167,32 @@ 
 		.read		= NULL,
 	},
 
+	{
+		.vendor		= "Generic",
+		.name		= "unknown SPI chip (RDID)",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= GENERIC_MANUF_ID,
+		.model_id	= GENERIC_DEVICE_ID,
+		.total_size	= 0,
+		.page_size	= 256,
+		.tested		= TEST_BAD_PREW,
+		.probe		= probe_spi_rdid,
+		.erase		= NULL,
+		.write		= NULL,
+	},
+	{
+		.vendor		= "Generic",
+		.name		= "unknown SPI chip (REMS)",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= GENERIC_MANUF_ID,
+		.model_id	= GENERIC_DEVICE_ID,
+		.total_size	= 0,
+		.page_size	= 256,
+		.tested		= TEST_BAD_PREW,
+		.probe		= probe_spi_rems,
+		.erase		= NULL,
+		.write		= NULL,
+	},
+
 	{ NULL 	}
 };
Index: flashrom-spi_totally_generic_probe/flashchips.h
===================================================================
--- flashrom-spi_totally_generic_probe/flashchips.h	(Revision 664)
+++ flashrom-spi_totally_generic_probe/flashchips.h	(Arbeitskopie)
@@ -34,6 +34,7 @@ 
  * SPI parts have 16-bit device IDs if they support RDID.
  */
 
+#define GENERIC_MANUF_ID	0xffff	/* Check if there is a vendor ID */
 #define GENERIC_DEVICE_ID	0xffff	/* Only match the vendor ID */
 
 #define ALLIANCE_ID		0x52	/* Alliance Semiconductor */
Index: flashrom-spi_totally_generic_probe/spi.c
===================================================================
--- flashrom-spi_totally_generic_probe/spi.c	(Revision 664)
+++ flashrom-spi_totally_generic_probe/spi.c	(Arbeitskopie)
@@ -274,6 +274,11 @@ 
 	    GENERIC_DEVICE_ID == flash->model_id)
 		return 1;
 
+	/* Test if there is any vendor ID. */
+	if (GENERIC_MANUF_ID == flash->manufacture_id &&
+	    id1 != 0xff)
+		return 1;
+
 	return 0;
 }
 
@@ -329,6 +334,11 @@ 
 	    GENERIC_DEVICE_ID == flash->model_id)
 		return 1;
 
+	/* Test if there is any vendor ID. */
+	if (GENERIC_MANUF_ID == flash->manufacture_id &&
+	    id1 != 0xff)
+		return 1;
+
 	return 0;
 }