[U-Boot] [PATCH 1/8] ARM: highbank: add missing SCU register setup for reset

Andre Przywara osp at andrep.de
Fri Jun 5 01:58:42 CEST 2015


From: Rob Herring <robh at kernel.org>

Andre: assign names to the magic values

Signed-off-by: Rob Herring <robh at kernel.org>
Signed-off-by: Andre Przywara <osp at andrep.de>
---
 board/highbank/highbank.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index ba1beb5..ba254b6 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -14,6 +14,7 @@
 
 #define HB_AHCI_BASE			0xffe08000
 
+#define HB_SCU_A9_PWR_STATUS		0xfff10008
 #define HB_SREG_A9_PWR_REQ		0xfff3cf00
 #define HB_SREG_A9_BOOT_SRC_STAT	0xfff3cf04
 #define HB_SREG_A9_PWRDOM_STAT		0xfff3cf20
@@ -27,6 +28,10 @@
 #define PWRDOM_STAT_PCI			0x40000000
 #define PWRDOM_STAT_EMMC		0x20000000
 
+#define HB_SCU_A9_PWR_NORMAL		0
+#define HB_SCU_A9_PWR_DORMANT		2
+#define HB_SCU_A9_PWR_OFF		3
+
 DECLARE_GLOBAL_DATA_PTR;
 
 /*
@@ -114,6 +119,7 @@ int ft_board_setup(void *fdt, bd_t *bd)
 void reset_cpu(ulong addr)
 {
 	writel(HB_PWR_HARD_RESET, HB_SREG_A9_PWR_REQ);
+	writeb(HB_SCU_A9_PWR_OFF, HB_SCU_A9_PWR_STATUS);
 
 	wfi();
 }
-- 
1.8.4



More information about the U-Boot mailing list