Patchwork [U-Boot,4/5] am33xx evm: Add CONFIG_CMD_EEPROM and related

login
register
mail settings
Submitter Tom Rini
Date July 31, 2012, 9:07 p.m.
Message ID <1343768849-18521-5-git-send-email-trini@ti.com>
Download mbox | patch
Permalink /patch/174332/
State Accepted
Commit 726c05d2cfc0f0062cc7a32c0e06ab775b43c04c
Delegated to: Tom Rini
Headers show

Comments

Tom Rini - July 31, 2012, 9:07 p.m.
am33xx boards have at least one eeprom and in the case of beaglebones
with capes, more.

Signed-off-by: Tom Rini <trini@ti.com>
---
 arch/arm/cpu/armv7/am33xx/board.c |   13 ++++---------
 include/configs/am335x_evm.h      |    4 ++++
 2 files changed, 8 insertions(+), 9 deletions(-)

Patch

diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
index a1fe104..0f16021 100644
--- a/arch/arm/cpu/armv7/am33xx/board.c
+++ b/arch/arm/cpu/armv7/am33xx/board.c
@@ -58,11 +58,6 @@  const struct gpio_bank *const omap_gpio_bank = gpio_bank_am33xx;
 
 static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
 
-/*
- * I2C Address of on-board EEPROM
- */
-#define I2C_BASE_BOARD_ADDR	0x50
-
 #define NO_OF_MAC_ADDR          3
 #define ETH_ALEN		6
 #define NAME_LEN		8
@@ -94,14 +89,14 @@  static inline int board_is_evm_sk(void)
 static int read_eeprom(void)
 {
 	/* Check if baseboard eeprom is available */
-	if (i2c_probe(I2C_BASE_BOARD_ADDR)) {
+	if (i2c_probe(CONFIG_SYS_I2C_EEPROM_ADDR)) {
 		puts("Could not probe the EEPROM; something fundamentally "
 			"wrong on the I2C bus.\n");
 		return -ENODEV;
 	}
 
 	/* read the eeprom using i2c */
-	if (i2c_read(I2C_BASE_BOARD_ADDR, 0, 2, (uchar *)&header,
+	if (i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, 2, (uchar *)&header,
 							sizeof(header))) {
 		puts("Could not read the EEPROM; something fundamentally"
 			" wrong on the I2C bus.\n");
@@ -113,8 +108,8 @@  static int read_eeprom(void)
 		 * read the eeprom using i2c again,
 		 * but use only a 1 byte address
 		 */
-		if (i2c_read(I2C_BASE_BOARD_ADDR, 0, 1, (uchar *)&header,
-							sizeof(header))) {
+		if (i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, 1,
+					(uchar *)&header, sizeof(header))) {
 			puts("Could not read the EEPROM; something "
 				"fundamentally wrong on the I2C bus.\n");
 			return -EIO;
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 2fdd9a6..e915f56 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -161,6 +161,10 @@ 
 #define CONFIG_SYS_I2C_SLAVE		1
 #define CONFIG_I2C_MULTI_BUS
 #define CONFIG_DRIVER_OMAP24XX_I2C
+#define CONFIG_CMD_EEPROM
+#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
+#define CONFIG_SYS_I2C_MULTI_EEPROMS
 
 #define CONFIG_BAUDRATE		115200
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 110, 300, 600, 1200, 2400, \