소스 검색

arm: lager: Add support reset function

The lager board uses I2C for reset.

ned-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Nobuhiro Iwamatsu 11 년 전
부모
커밋
b9986be084
2개의 변경된 파일10개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      board/renesas/lager/lager.c
  2. 2 0
      include/configs/lager.h

+ 8 - 0
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 @@ int board_late_init(void)
 
 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);
 }

+ 2 - 0
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 */