[coreboot] [PATCH 2/3] Add support for 4 bytes rdid

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Tue Jul 1 01:55:24 CEST 2008


On 01.07.2008 01:49, Stefan Reinauer wrote:
> Carl-Daniel Hailfinger wrote:
>> On 30.06.2008 23:19, Peter Stuge wrote:
>>  
>>> On Mon, Jun 30, 2008 at 10:47:23PM +0200, Rudolf Marek wrote:
>>>      
>>>> @@ -97,7 +97,8 @@
>>>>          if (!oddparity(readarr[1]))
>>>>              printf_debug("RDID byte 1 parity violation.\n");
>>>>          manuf_id = (readarr[0] << 8) | readarr[1];
>>>> -        model_id = readarr[2];
>>>> +        model_id = (bytes == 3) ? readarr[2] :
>>>> +                        ((readarr[2] << 8) | readarr[3]);
>>>>           
>>> Please improve this a bit, I suggest:
>>>
>>> model_id=readarr[2];
>>> if(bytes>3) { /* or 4==bytes */
>>>   model_id<<=8;
>>>   model_id|=readarr[3];
>>> }
>>>
>>> With a fix (not neccessarily mine) for the above, this is:
>>>       
>>
>> Technically, both variants will fail for some chips. There are at least
>> the following RDID responses:
>> 1 byte manuf, 2 bytes model
>> 2 bytes manuf, 1 byte model
>> 2 bytes manuf, 2 bytes model
>> and all of the above with additional data appended.
>>
>> The existing code handles the first two cases, but not the third. The
>> new code handles the first and third case, but not the second.
>>   
> What chips are there that send the second case?

#define PMC_25LV512             0x7B
#define PMC_25LV010             0x7C
#define PMC_25LV020             0x7D
#define PMC_25LV040             0x7E
#define PMC_25LV080B            0x13
#define PMC_25LV016B            0x14


>> I know of some SPI chips which return 16 bytes for RDID. How about
>> reading 16 bytes, cropping the result as needed?
>>   
> Yes the numonyx do that, but what you read is a customer specific
> serial number, not part of the identification process.

Well, I have seen other chips which return a flash descriptor with
eraseblock info etc. No idea which vendor that was, though.

> Reading that might allow for some nice use cases though. (Does it?)

The flash descriptor would certainly be useful. Serial number would be
interesting, but only for inventory.


Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the coreboot mailing list