]> git.sur5r.net Git - u-boot/commitdiff
ARM: highbank: add missing SCU register setup for reset
authorRob Herring <robh@kernel.org>
Thu, 4 Jun 2015 23:58:42 +0000 (00:58 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 12 Jun 2015 17:02:07 +0000 (13:02 -0400)
Andre: assign names to the magic values

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andre Przywara <osp@andrep.de>
board/highbank/highbank.c

index ba1beb5bbc92c3f032aacd32ec4322baefa5e347..ba254b63526e03c3ceb0c0ea04d05c11ac8f26c8 100644 (file)
@@ -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
 #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();
 }