Merge tag 'xilinx-for-v2018.09-rc2' of git://git.denx.de/u-boot-microblaze
[oweals/u-boot.git] / arch / arm / mach-tegra / board2.c
index 181dc30a6bbcf84a7d00753ffa451de3b1c2236f..421a71b3014d1d195c3e138161f417a58cbc18b6 100644 (file)
@@ -1,8 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  *  (C) Copyright 2010,2011
  *  NVIDIA Corporation <www.nvidia.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -29,7 +28,6 @@
 #ifdef CONFIG_TEGRA_CLOCK_SCALING
 #include <asm/arch/emc.h>
 #endif
-#include <power/as3722.h>
 #include "emc.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -142,11 +140,6 @@ int board_init(void)
                debug("Memory controller init failed: %d\n", err);
 #  endif
 # endif /* CONFIG_TEGRA_PMU */
-#ifdef CONFIG_PMIC_AS3722
-       err = as3722_init(NULL);
-       if (err && err != -ENODEV)
-               return err;
-#endif
 #endif /* CONFIG_SYS_I2C_TEGRA */
 
 #ifdef CONFIG_USB_EHCI_TEGRA
@@ -220,9 +213,9 @@ int board_late_init(void)
 #if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
        if (tegra_cpu_is_non_secure()) {
                printf("CPU is in NS mode\n");
-               setenv("cpu_ns_mode", "1");
+               env_set("cpu_ns_mode", "1");
        } else {
-               setenv("cpu_ns_mode", "");
+               env_set("cpu_ns_mode", "");
        }
 #endif
        start_cpu_fan();
@@ -256,6 +249,10 @@ static ulong carveout_size(void)
 {
 #ifdef CONFIG_ARM64
        return SZ_512M;
+#elif defined(CONFIG_ARMV7_SECURE_RESERVE_SIZE)
+       // BASE+SIZE might not == 4GB. If so, we want the carveout to cover
+       // from BASE to 4GB, not BASE to BASE+SIZE.
+       return (0 - CONFIG_ARMV7_SECURE_BASE) & ~(SZ_2M - 1);
 #else
        return 0;
 #endif