diff options
| -rw-r--r-- | board/renesas/r0p7734/r0p7734.c | 20 | ||||
| -rw-r--r-- | include/configs/r0p7734.h | 17 | 
2 files changed, 36 insertions, 1 deletions
| diff --git a/board/renesas/r0p7734/r0p7734.c b/board/renesas/r0p7734/r0p7734.c index 80f4329e0..c1bde549a 100644 --- a/board/renesas/r0p7734/r0p7734.c +++ b/board/renesas/r0p7734/r0p7734.c @@ -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 - diff --git a/include/configs/r0p7734.h b/include/configs/r0p7734.h index d73cc4d3c..aa3193da7 100644 --- a/include/configs/r0p7734.h +++ b/include/configs/r0p7734.h @@ -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 */ |