[U-Boot-Users] [PATCH] I2C Dummy Driver
Andre Schwarz
andre.schwarz at matrix-vision.de
Fri Jul 11 11:03:17 CEST 2008
Wolfgang Denk schrieb:
> In message <1215712408-23567-3-git-send-email-ricardo.ribalda at uam.es> you wrote:
>
>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at uam.es>
>>
>
> What is the intention or practical use of this dummy driver?
>
>
>
I think we could use it well for mounting different memory
configurations on the same base board.
This happens frequently due to different size requests from customers or
chip-replacement.
Actually I'll have to compile u-boot for each memory config ... very bad.
Getting the data out of flash (environment or small dedicated sector)
would be fine.
Creating valid eeprom entries for use as SPD is another thing of ocurse.
>> --- a/drivers/i2c/Makefile
>> +++ b/drivers/i2c/Makefile
>> @@ -30,6 +30,7 @@ COBJS-y += omap1510_i2c.o
>>
> ...
>
>> +COBJS-y += dummy_i2c.o
>>
>
> Please make "COBJS-$(CONFIG_DUMMY_I2C) += dummy_i2c.o" and ...
>
>
>> diff --git a/drivers/i2c/dummy_i2c.c b/drivers/i2c/dummy_i2c.c
>> new file mode 100644
>> index 0000000..04f6edb
>> --- /dev/null
>> +++ b/drivers/i2c/dummy_i2c.c
>> @@ -0,0 +1,84 @@
>>
> ...
>
>
>> + (C) Copyright 2008
>> + Ricado Ribalda, Universidad Autonoma de Madrid, ricardo.ribalda<at>uam.es , ricardo.ribalda<at>gmail.com
>>
>
> [Line too long]
>
>
>> + This program is free software: you can redistribute it and/or modify
>> + it under the terms of the GNU General Public License as published by
>> + the Free Software Foundation, either version 3 of the License, or
>> + (at your option) any later version.
>>
>
> [ GPLv2 needed]
>
>
>> +#if defined(CONFIG_DUMMY_I2C)
>>
>
> ... drop this #ifdef / #endif
>
>
>> +
>> +#include <i2c.h>
>> +u8 i2c_dummy_buffer[256]={0x80,0x8,0x8,0x0D,0x0A,0x60,0x40,0x0,0x5,0x3D,0x50,0x0,0x82,0x10,0x0,0x0,0x0C,0x4,0x18,0x1,0x4,0x0,0x1,0x50,0x50,0x0,0x0,0x3C,0x28,0x3C,0x2D,0x40,0x25,0x37,0x10,0x22,0x3C,0x1E,0x1E,0x0,0x0,0x3C,0x69,0x80,0x1E,0x28,0x0,0x0,0x0,
>> 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,0xC9,0x2C,'0','0','0','0','0','0','0',0x0,'4','H','T','F','3','2','6','4','H','Y','-','5','3','E','D','3',0x3,0x0,0x0,0x0,0x0};
>>
>
> Line way too long.
>
> Maybe you also want to explain where these magic data is coming from
> or what it means?
>
>
>> + if (alen!=1)
>>
>
> if (alen != 1)
>
>
>> + return -1;
>> +
>> + if (addr+len>0xff)
>>
>
> if (addr+len > 0xff)
>
>
>> + return -1;
>> +
>> + for(i=0;i<len;i++){
>>
>
> for (i=0; i<len; i++) {
>
>
>> + buffer[i]=i2c_dummy_buffer[i+addr];
>>
>
> buffer[i] = i2c_dummy_buffer[i+addr];
>
> etc., please.
>
>
> Best regards,
>
> Wolfgang Denk
>
>
MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
More information about the U-Boot
mailing list