|
@@ -589,6 +589,22 @@ static int bus_i2c_write(struct mxc_i2c_bus *i2c_bus, u8 chip, u32 addr,
|
|
#define I2C4_BASE_ADDR 0
|
|
#define I2C4_BASE_ADDR 0
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if !defined(I2C5_BASE_ADDR)
|
|
|
|
+#define I2C5_BASE_ADDR 0
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#if !defined(I2C6_BASE_ADDR)
|
|
|
|
+#define I2C6_BASE_ADDR 0
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#if !defined(I2C7_BASE_ADDR)
|
|
|
|
+#define I2C7_BASE_ADDR 0
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#if !defined(I2C8_BASE_ADDR)
|
|
|
|
+#define I2C8_BASE_ADDR 0
|
|
|
|
+#endif
|
|
|
|
+
|
|
static struct mxc_i2c_bus mxc_i2c_buses[] = {
|
|
static struct mxc_i2c_bus mxc_i2c_buses[] = {
|
|
#if defined(CONFIG_ARCH_LS1021A) || defined(CONFIG_VF610) || \
|
|
#if defined(CONFIG_ARCH_LS1021A) || defined(CONFIG_VF610) || \
|
|
defined(CONFIG_FSL_LAYERSCAPE)
|
|
defined(CONFIG_FSL_LAYERSCAPE)
|
|
@@ -596,11 +612,19 @@ static struct mxc_i2c_bus mxc_i2c_buses[] = {
|
|
{ 1, I2C2_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
{ 1, I2C2_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
{ 2, I2C3_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
{ 2, I2C3_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
{ 3, I2C4_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
{ 3, I2C4_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
|
|
+ { 4, I2C5_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
|
|
+ { 5, I2C6_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
|
|
+ { 6, I2C7_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
|
|
+ { 7, I2C8_BASE_ADDR, I2C_QUIRK_FLAG },
|
|
#else
|
|
#else
|
|
{ 0, I2C1_BASE_ADDR, 0 },
|
|
{ 0, I2C1_BASE_ADDR, 0 },
|
|
{ 1, I2C2_BASE_ADDR, 0 },
|
|
{ 1, I2C2_BASE_ADDR, 0 },
|
|
{ 2, I2C3_BASE_ADDR, 0 },
|
|
{ 2, I2C3_BASE_ADDR, 0 },
|
|
{ 3, I2C4_BASE_ADDR, 0 },
|
|
{ 3, I2C4_BASE_ADDR, 0 },
|
|
|
|
+ { 4, I2C5_BASE_ADDR, 0 },
|
|
|
|
+ { 5, I2C6_BASE_ADDR, 0 },
|
|
|
|
+ { 6, I2C7_BASE_ADDR, 0 },
|
|
|
|
+ { 7, I2C8_BASE_ADDR, 0 },
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|
|
@@ -738,6 +762,38 @@ U_BOOT_I2C_ADAP_COMPLETE(mxc3, mxc_i2c_init, mxc_i2c_probe,
|
|
CONFIG_SYS_MXC_I2C4_SLAVE, 3)
|
|
CONFIG_SYS_MXC_I2C4_SLAVE, 3)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifdef CONFIG_SYS_I2C_MXC_I2C5
|
|
|
|
+U_BOOT_I2C_ADAP_COMPLETE(mxc4, mxc_i2c_init, mxc_i2c_probe,
|
|
|
|
+ mxc_i2c_read, mxc_i2c_write,
|
|
|
|
+ mxc_i2c_set_bus_speed,
|
|
|
|
+ CONFIG_SYS_MXC_I2C5_SPEED,
|
|
|
|
+ CONFIG_SYS_MXC_I2C5_SLAVE, 4)
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_SYS_I2C_MXC_I2C6
|
|
|
|
+U_BOOT_I2C_ADAP_COMPLETE(mxc5, mxc_i2c_init, mxc_i2c_probe,
|
|
|
|
+ mxc_i2c_read, mxc_i2c_write,
|
|
|
|
+ mxc_i2c_set_bus_speed,
|
|
|
|
+ CONFIG_SYS_MXC_I2C6_SPEED,
|
|
|
|
+ CONFIG_SYS_MXC_I2C6_SLAVE, 5)
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_SYS_I2C_MXC_I2C7
|
|
|
|
+U_BOOT_I2C_ADAP_COMPLETE(mxc6, mxc_i2c_init, mxc_i2c_probe,
|
|
|
|
+ mxc_i2c_read, mxc_i2c_write,
|
|
|
|
+ mxc_i2c_set_bus_speed,
|
|
|
|
+ CONFIG_SYS_MXC_I2C7_SPEED,
|
|
|
|
+ CONFIG_SYS_MXC_I2C7_SLAVE, 6)
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_SYS_I2C_MXC_I2C8
|
|
|
|
+U_BOOT_I2C_ADAP_COMPLETE(mxc7, mxc_i2c_init, mxc_i2c_probe,
|
|
|
|
+ mxc_i2c_read, mxc_i2c_write,
|
|
|
|
+ mxc_i2c_set_bus_speed,
|
|
|
|
+ CONFIG_SYS_MXC_I2C8_SPEED,
|
|
|
|
+ CONFIG_SYS_MXC_I2C8_SLAVE, 7)
|
|
|
|
+#endif
|
|
|
|
+
|
|
#else
|
|
#else
|
|
|
|
|
|
static int mxc_i2c_set_bus_speed(struct udevice *bus, unsigned int speed)
|
|
static int mxc_i2c_set_bus_speed(struct udevice *bus, unsigned int speed)
|