[U-Boot] [PATCH] ARM: UniPhier: reset on-board devices on start-up

Masahiro Yamada yamada.m at jp.panasonic.com
Wed Nov 5 06:25:15 CET 2014


If a support card is attached to the main board, the on-board
SMSC9118 LAN controller is available.  It must be kept in reset
state for a while on start-up.

When the board is kicked via a debbuger rather than pushing the
hardware reset button, on-board chips are not reset; in this case
the reset signals should be asserted by software.

Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---

 arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c  | 2 ++
 arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c | 2 ++
 arch/arm/cpu/armv7/uniphier/reset.c                       | 3 ---
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c b/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c
index 4302277..5bb8179 100644
--- a/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c
+++ b/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c
@@ -24,6 +24,8 @@ int board_postclk_init(void)
 
 	sg_init();
 
+	uniphier_board_reset();
+
 	pll_init();
 
 	uniphier_board_init();
diff --git a/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c b/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c
index 7198829..9a53743 100644
--- a/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c
+++ b/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c
@@ -21,6 +21,8 @@ int board_postclk_init(void)
 
 	sg_init();
 
+	uniphier_board_reset();
+
 	pll_init();
 
 	uniphier_board_init();
diff --git a/arch/arm/cpu/armv7/uniphier/reset.c b/arch/arm/cpu/armv7/uniphier/reset.c
index b0dc967..50d1fed 100644
--- a/arch/arm/cpu/armv7/uniphier/reset.c
+++ b/arch/arm/cpu/armv7/uniphier/reset.c
@@ -8,14 +8,11 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/sc-regs.h>
-#include <asm/arch/board.h>
 
 void reset_cpu(unsigned long ignored)
 {
 	u32 tmp;
 
-	uniphier_board_reset();
-
 	writel(5, SC_IRQTIMSET); /* default value */
 
 	tmp  = readl(SC_SLFRSTSEL);
-- 
1.9.1



More information about the U-Boot mailing list