Skip to contentSkip to conversation

New Dummy I2C Driver

PATCH New Ricardo Ribalda Delgado 5 participants 8 messages Jul 11, 2008 – Jul 29, 2008 I2C

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 New Dummy I2C Driver

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 config

---
 drivers/i2c/Makefile    |    1 +
 drivers/i2c/dummy_i2c.c |   65 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/dummy_i2c.c
drivers/i2c/Makefile +1 -0
index 534c015..94a0791 100644
@@ -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 +65 -0

65 lines not on this page · raw message

Signature · 1 line
1.5.6.2
#1 lore raw

PATCH 1/1 New Dummy I2C Driver

Version cleaned

Quoted 100 lines · Ricardo Ribalda Delgado

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 config

---
 drivers/i2c/Makefile    |    1 +
 drivers/i2c/dummy_i2c.c |   65 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/dummy_i2c.c
drivers/i2c/Makefile +1 -0
index 534c015..94a0791 100644
@@ -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 +65 -1
new file mode 100644
index 0000000..ce859c3
@@ -0,0 +1,65 @@
+/*
+    (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>
+
+#define DUMMY_I2C_LEN 256
+
+u8 i2c_dummy_buffer[DUMMY_I2C_LEN]= CONFIG_DUMMY_I2C_DATA;
+
+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>DUMMY_I2C_LEN)
+               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>DUMMY_I2C_LEN)
+               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/
#2 lore raw

PATCH 1/1 New Dummy I2C Driver

In reply to Ricardo Ribalda Delgado
Quoted 5 lines · Ricardo Ribalda Delgado

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 config

Hi Ricardo:

Nitpicking - "fake" would be a better word than "false" in this context.
I wouldn't reroll the patch for this, but if you reroll it for some
other reason...

Thanks,
gvb

#3 lore raw

PATCH 1/1 New Dummy I2C Driver

Quoted 7 lines
Quoted 6 lines

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 config

Quoted 8 lines

Hi Ricardo:

Nitpicking - "fake" would be a better word than "false" in this context.
I wouldn't reroll the patch for this, but if you reroll it for some
other reason...

Thanks,
gvb

:-)
M

#4 lore raw

PATCH 1/1 New Dummy I2C Driver

In reply to Ricardo Ribalda Delgado
Quoted 5 lines · In message <[email protected]> you wrote:

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 config

As discussed before, please substitue "false" by "fake" or similar.

I also agree with previous comments tthat "dummy" is not a good name, as your driver actually does something useful. Actually, it simulates
an EEPROM device, so maybe "eeprom_simul.c" might be a more
descriptive name?

Quoted 3 lines
drivers/i2c/dummy_i2c.c new file +0 -0
@@ -0,0 +1,65 @@

...

Quoted 14 lines
drivers/i2c/dummy_i2c.c new file +14 -0
+    (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.
+

drivers/i2c/dummy_i2c.c line 25

Quoted 10 lines
drivers/i2c/dummy_i2c.c new file +10 -0
+    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>
+
+#define DUMMY_I2C_LEN 256
+
+u8 i2c_dummy_buffer[DUMMY_I2C_LEN]= CONFIG_DUMMY_I2C_DATA;

I think it would also be useful in some cases to be able to use this silulator without initialized content, so maybe you could change this into

	u8 i2c_dummy_buffer[DUMMY_I2C_LEN]
	#ifdef CONFIG_DUMMY_I2C_DATA
		= CONFIG_DUMMY_I2C_DATA
	#endif
	;

or similar. And please also change the variable names as discussed above for the driver name.

Thanks in advance.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
But the only way of discovering the limits  of  the  possible  is  to
venture a little way past them into the impossible.
                         - _Profiles of the Future_ (1962; rev. 1973)
                  ``Hazards of Prophecy: The Failure of Imagination''
#5 lore raw

PATCH 1/1 I2C EEPROM simulator

This driver provides access to a simulated i2c eeprom. This simulated eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.

Using this driver the user can simulate a spd eeprom of a ddr2 memory and use the ddr2 auto config.

User can use the macros CONFIG_EEPROM_SIMUL_LEN and CONFIG_EEPROM_SIMUL_DATA to define the content of the simulated eeprom

---
 drivers/i2c/Makefile       |    1 +
 drivers/i2c/eeprom_simul.c |   68 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/eeprom_simul.c
drivers/i2c/Makefile +1 -0
index 534c015..2aeabe5 100644
@@ -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_EEPROM_SIMUL) += eeprom_simul.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
drivers/i2c/eeprom_simul.c new file +68 -0

68 lines not on this page · raw message

Signature · 1 line
1.5.6.2
#6 lore raw

PATCH 1/1 I2C EEPROM simulator

Minor Changes to previous patch

---
This driver provides access to a simulated i2c eeprom. This simulated eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.

Using this driver the user can simulate a spd eeprom of a ddr2 memory and use the ddr2 auto config.

User can use the macros CONFIG_EEPROM_SIMUL_LEN and CONFIG_EEPROM_SIMUL_DATA to define the content of the simulated eeprom

 drivers/i2c/Makefile       |    1 +
 drivers/i2c/eeprom_simul.c |   68 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/eeprom_simul.c
drivers/i2c/Makefile +1 -0
index 534c015..2aeabe5 100644
@@ -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_EEPROM_SIMUL) += eeprom_simul.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
drivers/i2c/eeprom_simul.c new file +68 -0

68 lines not on this page · raw message

Signature · 1 line
1.5.6.2
#7 lore raw

[U-Boot-Users] unassigned-patches/9: [PATCH] I2C EEPROM simulator

Minor Changes to previous patch

---
Added to GNATS database as unassigned-patches/9

Quoted 5 lines
Responsible:    patch-coord
Message-Id:     <[email protected]>
In-Reply-To:    <[email protected]>
References:     <[email protected]>
Patch-Date:     Wed Jul 16 03:06:49 +0200 2008

---
This driver provides access to a simulated i2c eeprom. This simulated eeprom could be very useful in boards with ddr2 memories and no i2c interfaces.

Using this driver the user can simulate a spd eeprom of a ddr2 memory and use the ddr2 auto config.

User can use the macros CONFIG_EEPROM_SIMUL_LEN and CONFIG_EEPROM_SIMUL_DATA to define the content of the simulated eeprom

 drivers/i2c/Makefile       |    1 +
 drivers/i2c/eeprom_simul.c |   68 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 0 deletions(-)
 create mode 100644 drivers/i2c/eeprom_simul.c
drivers/i2c/Makefile +1 -0
index 534c015..2aeabe5 100644
@@ -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_EEPROM_SIMUL) += eeprom_simul.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
drivers/i2c/eeprom_simul.c new file +68 -0

68 lines not on this page · raw message

Signature · 12 lines
1.5.6.2


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users