ARM: tegra: Guard clock code with a Kconfig symbol
authorThierry Reding <treding@nvidia.com>
Mon, 15 Apr 2019 09:32:18 +0000 (11:32 +0200)
committerTom Warren <twarren@nvidia.com>
Wed, 5 Jun 2019 16:16:33 +0000 (09:16 -0700)
Clock code is not relevant on all Tegra SoC generations, so guard it
with a Kconfig symbol that can be selected by the generations that need
it.

This is in preparation for unifying Tegra186 code with the code used on
older generations.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/mach-tegra/Kconfig
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/board.c
arch/arm/mach-tegra/board2.c

index 86b1cd11f752c4573a381419c71bb098ec50ff26..ee078fec9adc34cb5404c17c1d3c1a7561497f2d 100644 (file)
@@ -12,6 +12,9 @@ config SPL_LIBGENERIC_SUPPORT
 config SPL_SERIAL_SUPPORT
        default y
 
+config TEGRA_CLKRST
+       bool
+
 config TEGRA_IVC
        bool "Tegra IVC protocol"
        help
@@ -55,6 +58,7 @@ config TEGRA_ARMV7_COMMON
        select SPL
        select SPL_BOARD_INIT if SPL
        select SUPPORT_SPL
+       select TEGRA_CLKRST
        select TEGRA_COMMON
        select TEGRA_GPIO
        select TEGRA_NO_BPMP
@@ -100,6 +104,7 @@ config TEGRA124
 config TEGRA210
        bool "Tegra210 family"
        select TEGRA_ARMV8_COMMON
+       select TEGRA_CLKRST
        select TEGRA_GPIO
        select TEGRA_NO_BPMP
 
index d4b4666fb1e22a29d0689df400cd2b7edd53837d..0e812818d7a2d7d75379ee1a82a93bd48f7beecf 100644 (file)
@@ -16,7 +16,7 @@ endif
 obj-y += ap.o
 obj-y += board.o board2.o
 obj-y += cache.o
-obj-y += clock.o
+obj-$(CONFIG_TEGRA_CLKRST) += clock.o
 obj-y += pinmux-common.o
 obj-y += powergate.o
 obj-y += xusb-padctl-dummy.o
index 4e159075d379bdb90aad5253ef2088dc6dfbc5f8..209416e6ad8cd3fb216bf2852a96345b3cb8b483 100644 (file)
@@ -9,7 +9,9 @@
 #include <ns16550.h>
 #include <spl.h>
 #include <asm/io.h>
+#if IS_ENABLED(CONFIG_TEGRA_CLKRST)
 #include <asm/arch/clock.h>
+#endif
 #include <asm/arch/funcmux.h>
 #include <asm/arch/mc.h>
 #include <asm/arch/tegra.h>
index b8d5ef0322cb8922906aa137024a9cd1c98c9b88..b94077221f77a7081b7a4f6cc842aa630936d5c1 100644 (file)
@@ -22,7 +22,9 @@
 #include <asm/arch-tegra/gpu.h>
 #include <asm/arch-tegra/usb.h>
 #include <asm/arch-tegra/xusb-padctl.h>
+#if IS_ENABLED(CONFIG_TEGRA_CLKRST)
 #include <asm/arch/clock.h>
+#endif
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/tegra.h>
@@ -109,8 +111,10 @@ int board_init(void)
        __maybe_unused int board_id;
 
        /* Do clocks and UART first so that printf() works */
+#if IS_ENABLED(CONFIG_TEGRA_CLKRST)
        clock_init();
        clock_verify();
+#endif
 
        tegra_gpu_config();
 
@@ -181,8 +185,10 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
 
 int board_early_init_f(void)
 {
+#if IS_ENABLED(CONFIG_TEGRA_CLKRST)
        if (!clock_early_init_done())
                clock_early_init();
+#endif
 
 #if defined(CONFIG_TEGRA_DISCONNECT_UDC_ON_BOOT)
 #define USBCMD_FS2 (1 << 15)
@@ -193,10 +199,12 @@ int board_early_init_f(void)
 #endif
 
        /* Do any special system timer/TSC setup */
-#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
+#if IS_ENABLED(CONFIG_TEGRA_CLKRST)
+#  if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
        if (!tegra_cpu_is_non_secure())
-#endif
+#  endif
                arch_timer_init();
+#endif
 
        pinmux_init();
        board_init_uart_f();