sh: r0p7734: Add support I2C controller

This read MAC address from Serial EEPROM and set.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
Nobuhiro Iwamatsu 2012-03-02 12:58:33 +09:00 committed by Nobuhiro Iwamatsu
parent 1379c51ea5
commit d740555968
2 changed files with 36 additions and 1 deletions

View File

@ -25,6 +25,7 @@
#include <asm/io.h>
#include <asm/processor.h>
#include <netdev.h>
#include <i2c.h>
DECLARE_GLOBAL_DATA_PTR;
@ -55,6 +56,24 @@ int board_init(void)
if (r & MSTPSR1_GETHER)
writel((r & ~MSTPSR1_GETHER), MSTPCR1);
#endif
return 0;
}
int board_late_init(void)
{
u8 mac[6];
/* Read Mac Address and set*/
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
i2c_set_bus_num(CONFIG_SYS_I2C_MODULE);
/* Read MAC address */
i2c_read(0x50, 0x10, 0, mac, 6);
if (is_valid_ether_addr(mac))
eth_setenv_enetaddr("ethaddr", mac);
return 0;
}
@ -75,4 +94,3 @@ int board_eth_init(bd_t *bis)
return rc;
}
#endif

View File

@ -34,6 +34,7 @@
#define CONFIG_400MHZ_MODE 1
/* #define CONFIG_533MHZ_MODE 1 */
#define CONFIG_BOARD_LATE_INIT
#define CONFIG_SYS_TEXT_BASE 0x8FFC0000
#define CONFIG_CMD_FLASH
@ -67,6 +68,22 @@
# define CONFIG_SMC911X_BASE (0x84000000)
#endif
/* I2C */
#define CONFIG_CMD_I2C
#define CONFIG_SH_SH7734_I2C 1
#define CONFIG_HARD_I2C 1
#define CONFIG_I2C_MULTI_BUS 1
#define CONFIG_SYS_MAX_I2C_BUS 2
#define CONFIG_SYS_I2C_MODULE 0
#define CONFIG_SYS_I2C_SPEED 100000 /* 100 kHz */
#define CONFIG_SYS_I2C_SLAVE 0x50
#define CONFIG_SH_I2C_DATA_HIGH 4
#define CONFIG_SH_I2C_DATA_LOW 5
#define CONFIG_SH_I2C_CLOCK 500000000
#define CONFIG_SH_I2C_BASE0 0xFFC70000
#define CONFIG_SH_I2C_BASE1 0xFFC7100
/* undef to save memory */
#define CONFIG_SYS_LONGHELP
/* Monitor Command Prompt */