mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-21 20:34:38 +00:00
i2c: Add support for designware i2c controller
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>
This commit is contained in:
parent
2d344a2ab2
commit
031ed2fa74
4 changed files with 7 additions and 7 deletions
|
@ -27,6 +27,7 @@ LIB := $(obj)libi2c.o
|
||||||
|
|
||||||
COBJS-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
|
COBJS-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
|
||||||
COBJS-$(CONFIG_DRIVER_DAVINCI_I2C) += davinci_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_FSL_I2C) += fsl_i2c.o
|
||||||
COBJS-$(CONFIG_I2C_MVTWSI) += mvtwsi.o
|
COBJS-$(CONFIG_I2C_MVTWSI) += mvtwsi.o
|
||||||
COBJS-$(CONFIG_I2C_MV) += mv_i2c.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_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
|
||||||
COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
|
COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
|
||||||
COBJS-$(CONFIG_SOFT_I2C) += soft_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_TEGRA_I2C) += tegra_i2c.o
|
||||||
COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
|
COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
|
||||||
COBJS-$(CONFIG_U8500_I2C) += u8500_i2c.o
|
COBJS-$(CONFIG_U8500_I2C) += u8500_i2c.o
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/arch/hardware.h>
|
#include <asm/arch/hardware.h>
|
||||||
#include <asm/arch/spr_i2c.h>
|
#include "designware_i2c.h"
|
||||||
|
|
||||||
static struct i2c_regs *const i2c_regs_p =
|
static struct i2c_regs *const i2c_regs_p =
|
||||||
(struct i2c_regs *)CONFIG_SYS_I2C_BASE;
|
(struct i2c_regs *)CONFIG_SYS_I2C_BASE;
|
||||||
|
@ -113,7 +113,7 @@ int i2c_get_bus_speed(void)
|
||||||
/*
|
/*
|
||||||
* i2c_init - Init function
|
* i2c_init - Init function
|
||||||
* @speed: required i2c speed
|
* @speed: required i2c speed
|
||||||
* @slaveadd: slave address for the spear device
|
* @slaveadd: slave address for the device
|
||||||
*
|
*
|
||||||
* Initialization function.
|
* Initialization function.
|
||||||
*/
|
*/
|
|
@ -21,8 +21,8 @@
|
||||||
* MA 02111-1307 USA
|
* MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __SPR_I2C_H_
|
#ifndef __DW_I2C_H_
|
||||||
#define __SPR_I2C_H_
|
#define __DW_I2C_H_
|
||||||
|
|
||||||
struct i2c_regs {
|
struct i2c_regs {
|
||||||
u32 ic_con;
|
u32 ic_con;
|
||||||
|
@ -143,4 +143,4 @@ struct i2c_regs {
|
||||||
#define I2C_FAST_SPEED 400000
|
#define I2C_FAST_SPEED 400000
|
||||||
#define I2C_STANDARD_SPEED 100000
|
#define I2C_STANDARD_SPEED 100000
|
||||||
|
|
||||||
#endif /* __SPR_I2C_H_ */
|
#endif /* __DW_I2C_H_ */
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
/* I2C driver configuration */
|
/* I2C driver configuration */
|
||||||
#define CONFIG_HARD_I2C
|
#define CONFIG_HARD_I2C
|
||||||
#define CONFIG_SPEAR_I2C
|
#define CONFIG_DW_I2C
|
||||||
#define CONFIG_SYS_I2C_SPEED 400000
|
#define CONFIG_SYS_I2C_SPEED 400000
|
||||||
#define CONFIG_SYS_I2C_SLAVE 0x02
|
#define CONFIG_SYS_I2C_SLAVE 0x02
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue