[U-Boot] [PATCH 1/2] cmd_eeprom: make it possible to define the used i2c bus

A SoC like the i.MX6 supports more then one i2c bus. In oder to be able to use the eeprom command add a new define to specify the i2c bus to use. If CONFIG_SYS_I2C_EEPROM_BUS is not defined there is no functional change, else a call to i2c_set_bus_num(..) is done before calling i2c_read(..) and i2c_write(..).
Signed-off-by: Christian Gmeiner christian.gmeiner@gmail.com --- README | 3 +++ common/cmd_eeprom.c | 6 ++++++ 2 files changed, 9 insertions(+)
diff --git a/README b/README index ba57dc5..f38ab15 100644 --- a/README +++ b/README @@ -4341,6 +4341,9 @@ to save the current settings. If defined, specified the chip address of the EEPROM device. The default address is zero.
+ - CONFIG_SYS_I2C_EEPROM_BUS: + If defined, specified the i2c bus of the EEPROM device. + - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: If defined, the number of bits used to address bytes in a single page in the EEPROM device. A 64 byte page, for example diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c index 29f0f1f..e9904cd 100644 --- a/common/cmd_eeprom.c +++ b/common/cmd_eeprom.c @@ -161,6 +161,9 @@ int eeprom_read (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt #if defined(CONFIG_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C) spi_read (addr, alen, buffer, len); #else +#if defined(CONFIG_SYS_I2C_EEPROM_BUS) + i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS); +#endif if (i2c_read(addr[0], offset, alen - 1, buffer, len)) rcode = 1; #endif @@ -339,6 +342,9 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn /* Write is enabled ... now write eeprom value. */ #endif +#if defined(CONFIG_SYS_I2C_EEPROM_BUS) + i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS); +#endif if (i2c_write(addr[0], offset, alen - 1, buffer, len)) rcode = 1;

Hi Christian,
On 11/02/2015 15:19, Christian Gmeiner wrote:
A SoC like the i.MX6 supports more then one i2c bus. In oder to be able to use the eeprom command add a new define to specify the i2c bus to use. If CONFIG_SYS_I2C_EEPROM_BUS is not defined there is no functional change, else a call to i2c_set_bus_num(..) is done before calling i2c_read(..) and i2c_write(..).
Signed-off-by: Christian Gmeiner christian.gmeiner@gmail.com
README | 3 +++ common/cmd_eeprom.c | 6 ++++++ 2 files changed, 9 insertions(+)
diff --git a/README b/README index ba57dc5..f38ab15 100644 --- a/README +++ b/README @@ -4341,6 +4341,9 @@ to save the current settings. If defined, specified the chip address of the EEPROM device. The default address is zero.
- CONFIG_SYS_I2C_EEPROM_BUS:
If defined, specified the i2c bus of the EEPROM device.
Thanks to fix this as well ;-)
- CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: If defined, the number of bits used to address bytes in a single page in the EEPROM device. A 64 byte page, for example
diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c index 29f0f1f..e9904cd 100644 --- a/common/cmd_eeprom.c +++ b/common/cmd_eeprom.c @@ -161,6 +161,9 @@ int eeprom_read (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt #if defined(CONFIG_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C) spi_read (addr, alen, buffer, len); #else +#if defined(CONFIG_SYS_I2C_EEPROM_BUS)
i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS);
+#endif if (i2c_read(addr[0], offset, alen - 1, buffer, len)) rcode = 1; #endif @@ -339,6 +342,9 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn /* Write is enabled ... now write eeprom value. */ #endif +#if defined(CONFIG_SYS_I2C_EEPROM_BUS)
i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS);
+#endif if (i2c_write(addr[0], offset, alen - 1, buffer, len)) rcode = 1;
Acked-by: Stefano Babic sbabic@denx.de
Best regards, Stefano Babic

On 11/02/2015 15:19, Christian Gmeiner wrote:
A SoC like the i.MX6 supports more then one i2c bus. In oder to be able to use the eeprom command add a new define to specify the i2c bus to use. If CONFIG_SYS_I2C_EEPROM_BUS is not defined there is no functional change, else a call to i2c_set_bus_num(..) is done before calling i2c_read(..) and i2c_write(..).
Signed-off-by: Christian Gmeiner christian.gmeiner@gmail.com
Applied to u-boot-imx, thanks !
Best regards, Stefano Babic
participants (2)
-
Christian Gmeiner
-
Stefano Babic