]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: ns3: default reset type to L3
authorRayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Wed, 15 Jul 2020 17:19:00 +0000 (22:49 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 29 Jul 2020 14:13:41 +0000 (10:13 -0400)
Default "reset" from U-Boot to L3 reset.
"reset" command with argument will trigger L1 reset.

Signed-off-by: Rajesh Ravi <rajesh.ravi@broadcom.com>
Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com>
Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
board/broadcom/bcmns3/ns3.c

index e51263f85e1d0481810bb44e265bd5b69732be5b..6a72e28494afdaf4b89ba9f1c0bfe9bb7bcc868d 100644 (file)
@@ -10,6 +10,9 @@
 #include <asm/armv8/mmu.h>
 #include <asm/arch-bcmns3/bl33_info.h>
 
+/* Default reset-level = 3 and strap-val = 0 */
+#define L3_RESET       30
+
 static struct mm_region ns3_mem_map[] = {
        {
                .virt = 0x0UL,
@@ -68,7 +71,23 @@ int dram_init_banksize(void)
        return 0;
 }
 
-void reset_cpu(ulong addr)
+void reset_cpu(ulong level)
 {
-       psci_system_reset();
+       u32 reset_level, strap_val;
+
+       /* Default reset type is L3 reset */
+       if (!level) {
+               /*
+                * Encoding: U-Boot reset command expects decimal argument,
+                * Boot strap val: Bits[3:0]
+                * reset level: Bits[7:4]
+                */
+               strap_val = L3_RESET % 10;
+               level = L3_RESET / 10;
+               reset_level = level % 10;
+               psci_system_reset2(reset_level, strap_val);
+       } else {
+               /* U-Boot cmd "reset" with any arg will trigger L1 reset */
+               psci_system_reset();
+       }
 }