arm: lager: Add support reset function
The lager board uses I2C for reset.
ned-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c
index ba923d5..cdd5b32 100644
--- a/board/renesas/lager/lager.c
+++ b/board/renesas/lager/lager.c
@@ -19,6 +19,7 @@
#include <asm/gpio.h>
#include <asm/arch/rmobile.h>
#include <miiphy.h>
+#include <i2c.h>
#include "qos.h"
DECLARE_GLOBAL_DATA_PTR;
@@ -354,4 +355,11 @@
void reset_cpu(ulong addr)
{
+ u8 val;
+
+ i2c_set_bus_num(3); /* PowerIC connected to ch3 */
+ i2c_init(400000, 0);
+ i2c_read(CONFIG_SYS_I2C_POWERIC_ADDR, 0x13, 1, &val, 1);
+ val |= 0x02;
+ i2c_write(CONFIG_SYS_I2C_POWERIC_ADDR, 0x13, 1, &val, 1);
}
diff --git a/include/configs/lager.h b/include/configs/lager.h
index dd61ca0..8932825 100644
--- a/include/configs/lager.h
+++ b/include/configs/lager.h
@@ -159,6 +159,8 @@
#define CONFIG_SYS_RCAR_I2C3_SPEED 400000
#define CONFIF_SYS_RCAR_I2C_NUM_CONTROLLERS 4
+#define CONFIG_SYS_I2C_POWERIC_ADDR 0x58 /* da9063 */
+
/* Board Clock */
#define CONFIG_BASE_CLK_FREQ 20000000u
#define CONFIG_SH_TMU_CLK_FREQ (CONFIG_BASE_CLK_FREQ / 2) /* EXT / 2 */