summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-11-05 14:25:15 +0900
committerMasahiro Yamada <yamada.m@jp.panasonic.com>2014-11-12 00:15:23 +0900
commitb603c6812919ccb51680735faf1f8c589e82575c (patch)
tree78b1bf7ab12a989c452853086ac030cec78d30ac /arch
parent325b708a61fdbfca7be169f442a4b50b6d8180f5 (diff)
downloadu-boot-imx-b603c6812919ccb51680735faf1f8c589e82575c.zip
u-boot-imx-b603c6812919ccb51680735faf1f8c589e82575c.tar.gz
u-boot-imx-b603c6812919ccb51680735faf1f8c589e82575c.tar.bz2
ARM: UniPhier: reset on-board devices on start-up
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@jp.panasonic.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/uniphier/ph1-ld4/board_postclk_init.c2
-rw-r--r--arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c2
-rw-r--r--arch/arm/cpu/armv7/uniphier/reset.c3
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);