diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2014-11-05 14:25:15 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2014-11-12 00:15:23 +0900 |
commit | b603c6812919ccb51680735faf1f8c589e82575c (patch) | |
tree | 78b1bf7ab12a989c452853086ac030cec78d30ac /arch | |
parent | 325b708a61fdbfca7be169f442a4b50b6d8180f5 (diff) | |
download | u-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.c | 2 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/uniphier/ph1-pro4/board_postclk_init.c | 2 | ||||
-rw-r--r-- | 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); |