]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-tegra/board.c
exynos: dts: Support EC tunnel and main TPS65090 regulator
[u-boot] / arch / arm / mach-tegra / board.c
index 222de6a7352d4420bcf38f5cdeb8cbef406cb66d..40de72dc575fd1a84d097461edeb251fa04c12b5 100644 (file)
@@ -1,11 +1,12 @@
 /*
- *  (C) Copyright 2010-2014
+ *  (C) Copyright 2010-2015
  *  NVIDIA Corporation <www.nvidia.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
+#include <spl.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
@@ -17,6 +18,8 @@
 #include <asm/arch-tegra/sys_proto.h>
 #include <asm/arch-tegra/warmboot.h>
 
+void save_boot_params_ret(void);
+
 DECLARE_GLOBAL_DATA_PTR;
 
 enum {
@@ -29,6 +32,21 @@ enum {
        UART_COUNT = 5,
 };
 
+static bool from_spl __attribute__ ((section(".data")));
+
+#ifndef CONFIG_SPL_BUILD
+void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3)
+{
+       from_spl = r0 != UBOOT_NOT_LOADED_FROM_SPL;
+       save_boot_params_ret();
+}
+#endif
+
+bool spl_was_boot_source(void)
+{
+       return from_spl;
+}
+
 #if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
 #if !defined(CONFIG_TEGRA124)
 #error tegra_cpu_is_non_secure has only been validated on Tegra124
@@ -125,12 +143,18 @@ static int uart_configs[] = {
        -1,
        FUNCMUX_UART4_GMI,      /* UARTD */
        -1,
-#else  /* Tegra124 */
+#elif defined(CONFIG_TEGRA124)
        FUNCMUX_UART1_KBC,      /* UARTA */
        -1,
        -1,
        FUNCMUX_UART4_GPIO,     /* UARTD */
        -1,
+#else  /* Tegra210 */
+       FUNCMUX_UART1_UART1,    /* UARTA */
+       -1,
+       -1,
+       FUNCMUX_UART4_UART4,    /* UARTD */
+       -1,
 #endif
 };
 
@@ -182,7 +206,7 @@ void board_init_uart_f(void)
        setup_uarts(uart_ids);
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */