]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
i2c: Add support for designware i2c controller
authorVipin KUMAR <vipin.kumar@st.com>
Sun, 26 Feb 2012 23:13:29 +0000 (23:13 +0000)
committerHeiko Schocher <hs@denx.de>
Tue, 24 Apr 2012 07:56:37 +0000 (09:56 +0200)
Earlier, a driver exists in the u-boot source for designware i2c interface. That
driver was specific to spear platforms. This patch implements the i2c controller
as a generic driver which can be used by multiple platforms

The driver files are now renamed to designware_i2c.c and designware_i2c.h and
these are moved into drivers/i2c folder for reusability by other
platforms

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
drivers/i2c/Makefile
drivers/i2c/designware_i2c.c [moved from drivers/i2c/spr_i2c.c with 98% similarity]
drivers/i2c/designware_i2c.h [moved from arch/arm/include/asm/arch-spear/spr_i2c.h with 98% similarity]
include/configs/spear-common.h

index 42913f7cbb7e1b2e0dcdc6eb01f9805bfaaeaba1..5dbdbe3672259c0d9a72bd79502fe99990f1cbde 100644 (file)
@@ -27,6 +27,7 @@ LIB   := $(obj)libi2c.o
 
 COBJS-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
 COBJS-$(CONFIG_DRIVER_DAVINCI_I2C) += davinci_i2c.o
+COBJS-$(CONFIG_DW_I2C) += designware_i2c.o
 COBJS-$(CONFIG_FSL_I2C) += fsl_i2c.o
 COBJS-$(CONFIG_I2C_MVTWSI) += mvtwsi.o
 COBJS-$(CONFIG_I2C_MV) += mv_i2c.o
@@ -40,7 +41,6 @@ COBJS-$(CONFIG_PPC4XX_I2C) += ppc4xx_i2c.o
 COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
 COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
 COBJS-$(CONFIG_SOFT_I2C) += soft_i2c.o
-COBJS-$(CONFIG_SPEAR_I2C) += spr_i2c.o
 COBJS-$(CONFIG_TEGRA_I2C) += tegra_i2c.o
 COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
 COBJS-$(CONFIG_U8500_I2C) += u8500_i2c.o
similarity index 98%
rename from drivers/i2c/spr_i2c.c
rename to drivers/i2c/designware_i2c.c
index eabfe843f777c9fd8afd96018c2ca052a6c3a579..d3521460819526c5d0f917d3ade02f8933a7eb43 100644 (file)
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
-#include <asm/arch/spr_i2c.h>
+#include "designware_i2c.h"
 
 static struct i2c_regs *const i2c_regs_p =
     (struct i2c_regs *)CONFIG_SYS_I2C_BASE;
@@ -113,7 +113,7 @@ int i2c_get_bus_speed(void)
 /*
  * i2c_init - Init function
  * @speed:     required i2c speed
- * @slaveadd:  slave address for the spear device
+ * @slaveadd:  slave address for the device
  *
  * Initialization function.
  */
similarity index 98%
rename from arch/arm/include/asm/arch-spear/spr_i2c.h
rename to drivers/i2c/designware_i2c.h
index 7521ebc6cf0a94fc9de1b4d65973856a1cbcb780..03b520ed43a0a48def984d0a98db0e89c1c71c29 100644 (file)
@@ -21,8 +21,8 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __SPR_I2C_H_
-#define __SPR_I2C_H_
+#ifndef __DW_I2C_H_
+#define __DW_I2C_H_
 
 struct i2c_regs {
        u32 ic_con;
@@ -143,4 +143,4 @@ struct i2c_regs {
 #define I2C_FAST_SPEED         400000
 #define I2C_STANDARD_SPEED     100000
 
-#endif /* __SPR_I2C_H_ */
+#endif /* __DW_I2C_H_ */
index 5fef8cce808c339c45617e6df9dd26f2fc09661d..a79181565e2694dde472821a72acd777a3d4fe11 100644 (file)
@@ -41,7 +41,7 @@
 
 /* I2C driver configuration */
 #define CONFIG_HARD_I2C
-#define CONFIG_SPEAR_I2C
+#define CONFIG_DW_I2C
 #define CONFIG_SYS_I2C_SPEED                   400000
 #define CONFIG_SYS_I2C_SLAVE                   0x02