New Dummy I2C Driver
PATCH 1/1 New Dummy I2C Driver
--- drivers/i2c/Makefile | 1 + drivers/i2c/dummy_i2c.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 0 deletions(-) create mode 100644 drivers/i2c/dummy_i2c.c
drivers/i2c/Makefile +1 -0
@@ -30,6 +30,7 @@ COBJS-y += omap1510_i2c.o COBJS-y += omap24xx_i2c.o COBJS-y += tsi108_i2c.o COBJS-y += mxc_i2c.o +COBJS-$(CONFIG_DUMMY_I2C) += dummy_i2c.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c)
drivers/i2c/dummy_i2c.c new file +74 -0
74 lines not on this page · raw message
Signature · 1 line
1.5.6.2
PATCH 1/1 New Dummy I2C Driver
I didn't add this to the description sorry:
This driver provides access to a false i2c eeprom. This false eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.
Using this driver the user can simulate the spd interface of the ddr2 memory and use the ddr2 auto configuration
Quoted 104 lines · Ricardo Ribalda Delgado
Signed-off-by Ricardo Ribalda Delgado <[email protected]>--- drivers/i2c/Makefile | 1 + drivers/i2c/dummy_i2c.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 0 deletions(-) create mode 100644 drivers/i2c/dummy_i2c.cdrivers/i2c/Makefile +1
-0@@ -30,6 +30,7 @@ COBJS-y += omap1510_i2c.o COBJS-y += omap24xx_i2c.o COBJS-y += tsi108_i2c.o COBJS-y += mxc_i2c.o +COBJS-$(CONFIG_DUMMY_I2C) += dummy_i2c.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c)drivers/i2c/dummy_i2c.c new file +74
-1@@ -0,0 +1,74 @@ +/* +(C) Copyright 2008 +Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda at uam.es +This work has been supported by: Q-Technology http://qtec.com/ + +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 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include <common.h> + + +#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 }; + +void i2c_init (int speed,int slaveaddr){ +return ; +} + +int i2c_read (uchar chip,uint addr,int alen,uchar * buffer,int len) +{ +int i; +if (alen!=1 ) +return -1 ; + +if (addr+len>0xff ) +return -1 ; + +for (i=0 ;i<len;i++){ + buffer[i]=i2c_dummy_buffer[i+addr]; + } + +return 0 ; +} + +int i2c_write (uchar chip,uint addr,int alen,uchar * buffer,int len) +{ +int i; +if (alen!=1 ) +return -1 ; + +if (addr+len>0xff ) +return -1 ; + +for (i=0 ;i<len;i++){ + i2c_dummy_buffer[i+addr]=buffer[i]; + } + +return 0 ; +} + + +int i2c_probe (uchar chip) +{ +return 0 ; +} + --1.5.6.2
Signature · 2 lines
Ricardo Ribalda http://www.eps.uam.es/~rribalda/
PATCH 1/1 New Dummy I2C Driver
Quoted 7 lines · Ricardo Ribalda Delgado
I didn't add this to the description sorry:
This driver provides access to a false i2c eeprom. This false eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.
Using this driver the user can simulate the spd interface of the ddr2 memory and use the ddr2 auto configuration
Problem is, that those SPD values in this driver are board specific. Other boards with other DIMM(s) would need other EEPROM values. So it doesn't make sense to add this in such a common file for me. And I really don't like the name "dummy_i2c.c".
Which SDRAM controller is used on your 440/Virtex SoC? Is it an IBM compatible one? Or an IP core from Xilinx? I suggest you take a look at the similar implementation selectable via CFG_SIMULATE_SPD_EEPROM (used on bamboo).
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH 1/1 New Dummy I2C Driver
Hi Stefan and Ricardo,
Quoted 8 lines
Quoted 7 lines
I didn't add this to the description sorry:
This driver provides access to a false i2c eeprom. This false eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.
Using this driver the user can simulate the spd interface of the ddr2 memory and use the ddr2 auto configuration
Quoted 4 lines
Problem is, that those SPD values in this driver are board specific. Other boards with other DIMM(s) would need other EEPROM values. So it doesn't make sense to add this in such a common file for me. And I really don't like the name "
dummy_i2c.c".
The dummy driver could be useful but without board specific values as Stefan wrote. The name is awful. If is board specific setting you have to move it to board specific path. (board/xilinx/ml507)
M
Quoted 7 lines
Which SDRAM controller is used on your 440/Virtex SoC? Is it an IBM compatible one? Or an IP core from Xilinx? I suggest you take a look at the similar implementation selectable via
CFG_SIMULATE_SPD_EEPROM(used on bamboo).Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users