[U-Boot] [PATCH 49/60] ARM: tegra: convert boards to new hooks

Stephen Warren
2016-04-19T20:59:29Z

From: Stephen Warren <swarren@nvidia.com>

Implementations of the following functions are converted to use the new
standardized hooks: gpio_early_init, gpio_early_init_uart, pinmux_init,
board_init_uart_f. This simplifies the core board files.

SPL UART configuration is moved out of config headers and into board code.
This removes logic from the board configuration files.

The now-unused board_init_uart_f() implementation is deleted, simplifying
the core board files and removing code that's hard to port to future SoCs.

Whitespace was removed from tegra_board_early_init_f() to save space and
be consistent between boards.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
arch/arm/mach-tegra/Makefile | 1 +
arch/arm/mach-tegra/board.c | 114 ------------------------------
arch/arm/mach-tegra/board2.c | 15 ----
arch/arm/mach-tegra/cpu.h | 2 -
arch/arm/mach-tegra/include/mach/board.h | 7 --
arch/arm/mach-tegra/spl.c | 5 --
board/avionic-design/common/tamonten-ng.c | 22 ++++--
board/avionic-design/common/tamonten.c | 12 +++-
board/compal/paz00/paz00.c | 8 +++
board/compulab/trimslice/trimslice.c | 10 ++-
board/nvidia/cardhu/cardhu.c | 18 ++---
board/nvidia/dalmore/dalmore.c | 21 +++---
board/nvidia/e2220-1170/e2220-1170.c | 10 +--
board/nvidia/harmony/harmony.c | 8 +++
board/nvidia/jetson-tk1/jetson-tk1.c | 21 +++---
board/nvidia/nyan-big/nyan-big.c | 14 ++--
board/nvidia/p2371-0000/p2371-0000.c | 10 +--
board/nvidia/p2371-2180/p2371-2180.c | 10 +--
board/nvidia/p2571/p2571.c | 10 +--
board/nvidia/seaboard/seaboard.c | 12 ++--
board/nvidia/venice2/venice2.c | 14 ++--
board/nvidia/whistler/whistler.c | 10 ++-
board/toradex/apalis_t30/apalis_t30.c | 20 +++---
board/toradex/colibri_t20/colibri_t20.c | 8 +++
board/toradex/colibri_t30/colibri_t30.c | 14 ++--
include/configs/apalis_t30.h | 5 +-
include/configs/cardhu.h | 6 +-
include/configs/colibri_t20.h | 6 +-
include/configs/colibri_t30.h | 5 +-
include/configs/dalmore.h | 6 +-
include/configs/e2220-1170.h | 5 +-
include/configs/harmony.h | 12 +---
include/configs/jetson-tk1.h | 6 +-
include/configs/nyan-big.h | 6 +-
include/configs/p2371-0000.h | 5 +-
include/configs/p2371-2180.h | 5 +-
include/configs/p2571.h | 6 +-
include/configs/paz00.h | 6 +-
include/configs/seaboard.h | 4 --
include/configs/tec-ng.h | 5 +-
include/configs/tec.h | 6 +-
include/configs/trimslice.h | 7 +-
include/configs/venice2.h | 6 +-
include/configs/whistler.h | 7 +-
44 files changed, 174 insertions(+), 336 deletions(-)

diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index f1c1f84fc933..55086c9ddfef 100644
--- a/arch/arm/mach-tegra/Makefile
+++ b/arch/arm/mach-tegra/Makefile
@@ -26,6 +26,7 @@ obj-y += xusb-padctl-dummy.o
obj-$(CONFIG_DISPLAY_CPUINFO) += sys_info.o
obj-$(CONFIG_TEGRA_GPU) += gpu.o
obj-$(CONFIG_SPL_BUILD) += i2c_early.o
+obj-$(CONFIG_SPL_BUILD) += spl_uart.o

ifndef CONFIG_SPL_BUILD
obj-$(CONFIG_ARMV7_PSCI) += psci.o
diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index 71eb1a5d1b63..a5ee5a3572b1 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -6,8 +6,6 @@
*/

#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
#include <spl.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
@@ -21,16 +19,6 @@ void save_boot_params_ret(void);

DECLARE_GLOBAL_DATA_PTR;

-enum {
- /* UARTs which we can enable */
- UARTA = 1 << 0,
- UARTB = 1 << 1,
- UARTC = 1 << 2,
- UARTD = 1 << 3,
- UARTE = 1 << 4,
- UART_COUNT = 5,
-};
-
static bool from_spl __attribute__ ((section(".data")));

#ifndef CONFIG_SPL_BUILD
@@ -121,108 +109,6 @@ int dram_init(void)
return 0;
}

-static int uart_configs[] = {
-#if defined(CONFIG_TEGRA20)
- #if defined(CONFIG_TEGRA_UARTA_UAA_UAB)
- FUNCMUX_UART1_UAA_UAB,
- #elif defined(CONFIG_TEGRA_UARTA_GPU)
- FUNCMUX_UART1_GPU,
- #elif defined(CONFIG_TEGRA_UARTA_SDIO1)
- FUNCMUX_UART1_SDIO1,
- #else
- FUNCMUX_UART1_IRRX_IRTX,
-#endif
- FUNCMUX_UART2_UAD,
- -1,
- FUNCMUX_UART4_GMC,
- -1,
-#elif defined(CONFIG_TEGRA30)
- FUNCMUX_UART1_ULPI, /* UARTA */
- -1,
- -1,
- -1,
- -1,
-#elif defined(CONFIG_TEGRA114)
- -1,
- -1,
- -1,
- FUNCMUX_UART4_GMI, /* UARTD */
- -1,
-#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
-};
-
-/**
- * Set up the specified uarts
- *
- * @param uarts_ids Mask containing UARTs to init (UARTx)
- */
-static void setup_uarts(int uart_ids)
-{
- static enum periph_id id_for_uart[] = {
- PERIPH_ID_UART1,
- PERIPH_ID_UART2,
- PERIPH_ID_UART3,
- PERIPH_ID_UART4,
- PERIPH_ID_UART5,
- };
- size_t i;
-
- for (i = 0; i < UART_COUNT; i++) {
- if (uart_ids & (1 << i)) {
- enum periph_id id = id_for_uart[i];
-
- funcmux_select(id, uart_configs[i]);
- clock_ll_start_uart(id);
- }
- }
-}
-
-void board_init_uart_f(void)
-{
- int uart_ids = 0; /* bit mask of which UART ids to enable */
-
-#ifdef CONFIG_TEGRA_ENABLE_UARTA
- uart_ids |= UARTA;
-#endif
-#ifdef CONFIG_TEGRA_ENABLE_UARTB
- uart_ids |= UARTB;
-#endif
-#ifdef CONFIG_TEGRA_ENABLE_UARTC
- uart_ids |= UARTC;
-#endif
-#ifdef CONFIG_TEGRA_ENABLE_UARTD
- uart_ids |= UARTD;
-#endif
-#ifdef CONFIG_TEGRA_ENABLE_UARTE
- uart_ids |= UARTE;
-#endif
- setup_uarts(uart_ids);
-}
-
-#if !CONFIG_IS_ENABLED(OF_CONTROL)
-static struct ns16550_platdata ns16550_com1_pdata = {
- .base = CONFIG_SYS_NS16550_COM1,
- .reg_shift = 2,
- .clock = CONFIG_SYS_NS16550_CLK,
-};
-
-U_BOOT_DEVICE(ns16550_com1) = {
- "ns16550_serial", &ns16550_com1_pdata
-};
-#endif
-
#if !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
void enable_caches(void)
{
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index cf17f709d480..91965cbc3176 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -48,10 +48,8 @@ U_BOOT_DEVICE(tegra_gpios) = {
};
#endif

-__weak void pinmux_init(void) {}
__weak void pin_mux_usb(void) {}
__weak void pin_mux_spi(void) {}
-__weak void gpio_early_init_uart(void) {}
__weak void pin_mux_display(void) {}

#if defined(CONFIG_TEGRA_NAND)
@@ -177,12 +175,6 @@ int board_init(void)
return tegra_board_init();
}

-static void __gpio_early_init(void)
-{
-}
-
-void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
-
__weak void tegra_board_early_init_f(void) {}

int board_early_init_f(void)
@@ -203,13 +195,6 @@ int board_early_init_f(void)

tegra_board_early_init_f();

- pinmux_init();
- board_init_uart_f();
-
- /* Initialize periph GPIOs */
- gpio_early_init();
- gpio_early_init_uart();
-
return 0;
}

diff --git a/arch/arm/mach-tegra/cpu.h b/arch/arm/mach-tegra/cpu.h
index 4cb0b43b3723..ecc627c5c09d 100644
--- a/arch/arm/mach-tegra/cpu.h
+++ b/arch/arm/mach-tegra/cpu.h
@@ -65,7 +65,5 @@ void config_cache(void);
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
bool tegra_cpu_is_non_secure(void);
#endif
-/* Set up early UART output */
-void board_init_uart_f(void);

#endif
diff --git a/arch/arm/mach-tegra/include/mach/board.h b/arch/arm/mach-tegra/include/mach/board.h
index b12ec7eed25e..a621f37aa38a 100644
--- a/arch/arm/mach-tegra/include/mach/board.h
+++ b/arch/arm/mach-tegra/include/mach/board.h
@@ -8,12 +8,6 @@
#ifndef _MACH_BOARD_H
#define _MACH_BOARD_H

-/* Set up pinmux to make UART usable */
-void gpio_early_init_uart(void);
-
-/* Set up any early GPIOs the board might need for proper operation */
-void gpio_early_init(void); /* overrideable GPIO config */
-
/*
* Hooks to allow boards to set up the pinmux for a specific function.
* Has to be implemented in the board files as we don't yet support pinmux
@@ -21,7 +15,6 @@ void gpio_early_init(void); /* overrideable GPIO config */
* an empty stub function will be called.
*/

-void pinmux_init(void); /* overridable general pinmux setup */
void pin_mux_usb(void); /* overridable USB pinmux setup */
void pin_mux_spi(void); /* overridable SPI pinmux setup */
void pin_mux_nand(void); /* overridable NAND pinmux setup */
diff --git a/arch/arm/mach-tegra/spl.c b/arch/arm/mach-tegra/spl.c
index 35b538f0f614..1c01f6c93c46 100644
--- a/arch/arm/mach-tegra/spl.c
+++ b/arch/arm/mach-tegra/spl.c
@@ -28,11 +28,6 @@ void spl_board_init(void)
/* enable JTAG */
writel(0xC0, &apb_misc->cfg_ctl);

- board_init_uart_f();
-
- /* Initialize periph GPIOs */
- gpio_early_init_uart();
-
clock_early_init();
tegra_spl_board_init();
preloader_console_init();
diff --git a/board/avionic-design/common/tamonten-ng.c b/board/avionic-design/common/tamonten-ng.c
index 9955af3f6bbb..695d0e714461 100644
--- a/board/avionic-design/common/tamonten-ng.c
+++ b/board/avionic-design/common/tamonten-ng.c
@@ -11,7 +11,9 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-tamonten-ng.h"

#define PMU_I2C_ADDRESS 0x2D
@@ -27,7 +29,20 @@

#define PMU_LDO5(st, mV) PMU_REG_LDO_100(st, mV)

-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+#if 0
+ /*
+ * The funcmux call that used to be in arch/arm/mach-tegra/board.c
+ * setup_uarts() for Tegra30 UARTD triggered an error and so did
+ * nothing. Do nothing here too.
+ */
+ tegra30_pinmux_uartd_missing();
+#endif
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_config_pingrp_table(tamonten_ng_pinmux_common,
ARRAY_SIZE(tamonten_ng_pinmux_common));
@@ -37,10 +52,7 @@ void pinmux_init(void)
/* Initialize any non-default pad configs (APB_MISC_GP regs) */
pinmux_config_drvgrp_table(tamonten_ng_padctrl,
ARRAY_SIZE(tamonten_ng_padctrl));
-}

-void gpio_early_init(void)
-{
/* Turn on the alive signal */
gpio_request(TEGRA_GPIO(V, 2), "ALIVE");
gpio_direction_output(TEGRA_GPIO(V, 2), 1);
@@ -85,7 +97,7 @@ void pin_mux_mmc(void)
{
/*
* NOTE: We don't do mmc-specific pin muxes here.
- * They were done globally in pinmux_init().
+ * They were done globally in tegra_board_early_init_f().
*/

/* Bring up the SDIO1 power rail */
diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c
index 7d3a5e72bc19..0b1ed37c8b52 100644
--- a/board/avionic-design/common/tamonten.c
+++ b/board/avionic-design/common/tamonten.c
@@ -17,15 +17,21 @@
#include <asm/arch/tegra.h>
#include <asm/arch-tegra/clk_rst.h>
#include <mach/board.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>

-#ifdef CONFIG_BOARD_EARLY_INIT_F
-void gpio_early_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uartd_gmc();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+}
+
+void tegra_board_early_init_f(void)
{
gpio_request(TEGRA_GPIO(I, 4), NULL);
gpio_direction_output(TEGRA_GPIO(I, 4), 1);
}
-#endif

#ifdef CONFIG_TEGRA_MMC
/*
diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c
index 8ae07d396474..e591af4f7b78 100644
--- a/board/compal/paz00/paz00.c
+++ b/board/compal/paz00/paz00.c
@@ -11,7 +11,15 @@
#include <asm/io.h>
#include <asm/arch/tegra.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
+
+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uarta_irrx_irtx();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}

#ifdef CONFIG_TEGRA_MMC
/*
diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c
index a1f4f2213dc8..3fd10b2be4aa 100644
--- a/board/compulab/trimslice/trimslice.c
+++ b/board/compulab/trimslice/trimslice.c
@@ -6,13 +6,21 @@
*/

#include <common.h>
+#include <i2c.h>
#include <asm/io.h>
#include <asm/arch/tegra.h>
#include <asm/arch/clock.h>
#include <asm/arch/funcmux.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
-#include <i2c.h>
+#include <mach/spl_uart.h>
+
+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uarta_gpu();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}

void pin_mux_usb(void)
{
diff --git a/board/nvidia/cardhu/cardhu.c b/board/nvidia/cardhu/cardhu.c
index b78d2bf46d24..f5c04b45664f 100644
--- a/board/nvidia/cardhu/cardhu.c
+++ b/board/nvidia/cardhu/cardhu.c
@@ -10,24 +10,26 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-cardhu.h"

#define PMU_I2C_ADDRESS 0x2D
#define MAX_I2C_RETRY 3

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra30_pinmux_uarta_ulpi();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_config_pingrp_table(tegra3_pinmux_common,
ARRAY_SIZE(tegra3_pinmux_common));
-
pinmux_config_pingrp_table(unused_pins_lowpower,
ARRAY_SIZE(unused_pins_lowpower));
-
/* Initialize any non-default pad configs (APB_MISC_GP regs) */
pinmux_config_drvgrp_table(cardhu_padctrl, ARRAY_SIZE(cardhu_padctrl));
}
@@ -77,7 +79,7 @@ void pin_mux_mmc(void)
{
/*
* NOTE: We don't do mmc-specific pin muxes here.
- * They were done globally in pinmux_init().
+ * They were done globally in tegra_board_early_init_f().
*/

/* Bring up the SDIO1 power rail */
diff --git a/board/nvidia/dalmore/dalmore.c b/board/nvidia/dalmore/dalmore.c
index ad9214d1e37a..3af42fa79ff2 100644
--- a/board/nvidia/dalmore/dalmore.c
+++ b/board/nvidia/dalmore/dalmore.c
@@ -6,28 +6,29 @@

#include <common.h>
#include <dm.h>
+#include <i2c.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-dalmore.h"
-#include <i2c.h>

#define BAT_I2C_ADDRESS 0x48 /* TPS65090 charger */
#define PMU_I2C_ADDRESS 0x58 /* TPS65913 PMU */

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra114_pinmux_uartd_gmi();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_config_pingrp_table(tegra114_pinmux_set_nontristate,
ARRAY_SIZE(tegra114_pinmux_set_nontristate));
-
pinmux_config_pingrp_table(tegra114_pinmux_common,
ARRAY_SIZE(tegra114_pinmux_common));
-
pinmux_config_pingrp_table(unused_pins_lowpower,
ARRAY_SIZE(unused_pins_lowpower));
-
/* Initialize any non-default pad configs (APB_MISC_GP regs) */
pinmux_config_drvgrp_table(dalmore_padctrl,
ARRAY_SIZE(dalmore_padctrl));
@@ -91,7 +92,7 @@ void pin_mux_mmc(void)
{
/*
* NOTE: We don't do mmc-specific pin muxes here.
- * They were done globally in pinmux_init().
+ * They were done globally in tegra_board_early_init_f().
*/

/* Bring up the SDIO3 power rail */
diff --git a/board/nvidia/e2220-1170/e2220-1170.c b/board/nvidia/e2220-1170/e2220-1170.c
index 5d2f3589b678..9ccdc28b0b32 100644
--- a/board/nvidia/e2220-1170/e2220-1170.c
+++ b/board/nvidia/e2220-1170/e2220-1170.c
@@ -9,6 +9,7 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
#include "../p2571/max77620_init.h"
@@ -34,20 +35,13 @@ void pin_mux_mmc(void)
printf("i2c_write 0 0x3c 0x27 failed: %d\n", ret);
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_board_early_init_f(void)
{
pinmux_clear_tristate_input_clamping();
-
gpio_config_table(e2220_1170_gpio_inits,
ARRAY_SIZE(e2220_1170_gpio_inits));
-
pinmux_config_pingrp_table(e2220_1170_pingrps,
ARRAY_SIZE(e2220_1170_pingrps));
-
pinmux_config_drvgrp_table(e2220_1170_drvgrps,
ARRAY_SIZE(e2220_1170_drvgrps));
}
diff --git a/board/nvidia/harmony/harmony.c b/board/nvidia/harmony/harmony.c
index 4f3df8fe9655..0139a2fdb239 100644
--- a/board/nvidia/harmony/harmony.c
+++ b/board/nvidia/harmony/harmony.c
@@ -12,7 +12,15 @@
#include <asm/arch/funcmux.h>
#include <asm/arch/tegra.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
+
+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uartd_gmc();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+}

#ifdef CONFIG_TEGRA_MMC
/*
diff --git a/board/nvidia/jetson-tk1/jetson-tk1.c b/board/nvidia/jetson-tk1/jetson-tk1.c
index bac2d0c36101..cb2f8abf47bf 100644
--- a/board/nvidia/jetson-tk1/jetson-tk1.c
+++ b/board/nvidia/jetson-tk1/jetson-tk1.c
@@ -9,29 +9,32 @@
#include <dt-bindings/gpio/tegra-gpio.h>
#include <power/as3722.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
+#include <mach/spl_uart.h>
#include <mach/tegra_gpio.h>
#include "pinmux-config-jetson-tk1.h"

DECLARE_GLOBAL_DATA_PTR;

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+#include <asm/arch/clock.h>
+
+void tegra_spl_board_init(void)
{
- pinmux_clear_tristate_input_clamping();
+ tegra124_pinmux_uartd_gpio();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+}

+void tegra_board_early_init_f(void)
+{
+ pinmux_clear_tristate_input_clamping();
gpio_config_table(jetson_tk1_gpio_inits,
ARRAY_SIZE(jetson_tk1_gpio_inits));
-
pinmux_config_pingrp_table(jetson_tk1_pingrps,
ARRAY_SIZE(jetson_tk1_pingrps));
-
pinmux_config_drvgrp_table(jetson_tk1_drvgrps,
ARRAY_SIZE(jetson_tk1_drvgrps));
-
pinmux_config_mipipadctrlgrp_table(jetson_tk1_mipipadctrlgrps,
ARRAY_SIZE(jetson_tk1_mipipadctrlgrps));
}
diff --git a/board/nvidia/nyan-big/nyan-big.c b/board/nvidia/nyan-big/nyan-big.c
index 1af7f535f6d4..762dc955d7c1 100644
--- a/board/nvidia/nyan-big/nyan-big.c
+++ b/board/nvidia/nyan-big/nyan-big.c
@@ -14,15 +14,19 @@
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch-tegra/clk_rst.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-nyan-big.h"

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra124_pinmux_uarta_kbc();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
+void tegra_board_early_init_f(void)
{
gpio_config_table(nyan_big_gpio_inits,
ARRAY_SIZE(nyan_big_gpio_inits));
diff --git a/board/nvidia/p2371-0000/p2371-0000.c b/board/nvidia/p2371-0000/p2371-0000.c
index a63f95f1f4f1..6152f8898c6d 100644
--- a/board/nvidia/p2371-0000/p2371-0000.c
+++ b/board/nvidia/p2371-0000/p2371-0000.c
@@ -9,6 +9,7 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
#include "../p2571/max77620_init.h"
@@ -34,20 +35,13 @@ void pin_mux_mmc(void)
printf("i2c_write 0 0x3c 0x27 failed: %d\n", ret);
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_board_early_init_f(void)
{
pinmux_clear_tristate_input_clamping();
-
gpio_config_table(p2371_0000_gpio_inits,
ARRAY_SIZE(p2371_0000_gpio_inits));
-
pinmux_config_pingrp_table(p2371_0000_pingrps,
ARRAY_SIZE(p2371_0000_pingrps));
-
pinmux_config_drvgrp_table(p2371_0000_drvgrps,
ARRAY_SIZE(p2371_0000_drvgrps));
}
diff --git a/board/nvidia/p2371-2180/p2371-2180.c b/board/nvidia/p2371-2180/p2371-2180.c
index c9884bd70335..8e0a5834415f 100644
--- a/board/nvidia/p2371-2180/p2371-2180.c
+++ b/board/nvidia/p2371-2180/p2371-2180.c
@@ -9,6 +9,7 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
#include "../p2571/max77620_init.h"
@@ -34,20 +35,13 @@ void pin_mux_mmc(void)
printf("i2c_write 0 0x3c 0x27 failed: %d\n", ret);
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_board_early_init_f(void)
{
pinmux_clear_tristate_input_clamping();
-
gpio_config_table(p2371_2180_gpio_inits,
ARRAY_SIZE(p2371_2180_gpio_inits));
-
pinmux_config_pingrp_table(p2371_2180_pingrps,
ARRAY_SIZE(p2371_2180_pingrps));
-
pinmux_config_drvgrp_table(p2371_2180_drvgrps,
ARRAY_SIZE(p2371_2180_drvgrps));
}
diff --git a/board/nvidia/p2571/p2571.c b/board/nvidia/p2571/p2571.c
index ae9b6aa2e54c..ee82cc9e6fd7 100644
--- a/board/nvidia/p2571/p2571.c
+++ b/board/nvidia/p2571/p2571.c
@@ -9,6 +9,7 @@
#include <i2c.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
#include "max77620_init.h"
@@ -34,20 +35,13 @@ void pin_mux_mmc(void)
printf("i2c_write 0 0x3c 0x27 failed: %d\n", ret);
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_board_early_init_f(void)
{
pinmux_clear_tristate_input_clamping();
-
gpio_config_table(p2571_gpio_inits,
ARRAY_SIZE(p2571_gpio_inits));
-
pinmux_config_pingrp_table(p2571_pingrps,
ARRAY_SIZE(p2571_pingrps));
-
pinmux_config_drvgrp_table(p2571_drvgrps,
ARRAY_SIZE(p2571_drvgrps));
}
diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c
index cc017554548a..1a430461aa02 100644
--- a/board/nvidia/seaboard/seaboard.c
+++ b/board/nvidia/seaboard/seaboard.c
@@ -13,17 +13,21 @@
#include <asm/arch/clock.h>
#include <asm/arch/funcmux.h>
#include <mach/board.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>

-/* TODO: Remove this code when the SPI switch is working */
-#if (CONFIG_MACH_TYPE != MACH_TYPE_VENTANA)
-void gpio_early_init_uart(void)
+void tegra_spl_board_init(void)
{
+ tegra20_pinmux_uartd_gmc();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_D);
+
+#if (CONFIG_MACH_TYPE != MACH_TYPE_VENTANA)
/* Enable UART via GPIO_PI3 (port 8, bit 3) so serial console works */
gpio_request(TEGRA_GPIO(I, 3), "uart_en");
gpio_direction_output(TEGRA_GPIO(I, 3), 0);
-}
#endif
+}

#ifdef CONFIG_TEGRA_MMC
/*
diff --git a/board/nvidia/venice2/venice2.c b/board/nvidia/venice2/venice2.c
index 9b02afd16040..6ed5f4af8cd4 100644
--- a/board/nvidia/venice2/venice2.c
+++ b/board/nvidia/venice2/venice2.c
@@ -8,15 +8,19 @@
#include <common.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
#include <mach/tegra_gpio.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-venice2.h"

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra124_pinmux_uarta_kbc();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_set_tristate_input_clamping();

diff --git a/board/nvidia/whistler/whistler.c b/board/nvidia/whistler/whistler.c
index b2c71a361afd..757bef019718 100644
--- a/board/nvidia/whistler/whistler.c
+++ b/board/nvidia/whistler/whistler.c
@@ -7,13 +7,21 @@

#include <common.h>
#include <dm.h>
+#include <i2c.h>
#include <asm/io.h>
#include <asm/arch/tegra.h>
#include <asm/arch/clock.h>
#include <asm/arch/funcmux.h>
#include <asm/gpio.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
-#include <i2c.h>
+#include <mach/spl_uart.h>
+
+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uarta_uaa_uab();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}

#ifdef CONFIG_TEGRA_MMC
/*
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index 06fddec6e0fe..3db9308323fd 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -7,12 +7,14 @@
*/

#include <common.h>
+#include <dm.h>
+#include <i2c.h>
#include <asm/arch-tegra/tegra.h>
#include <asm/gpio.h>
#include <asm/io.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
-#include <dm.h>
-#include <i2c.h>
+#include <mach/spl_uart.h>

#include "pinmux-config-apalis_t30.h"

@@ -28,18 +30,18 @@ int arch_misc_init(void)
return 0;
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra30_pinmux_uarta_ulpi();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_config_pingrp_table(tegra3_pinmux_common,
ARRAY_SIZE(tegra3_pinmux_common));
-
pinmux_config_pingrp_table(unused_pins_lowpower,
ARRAY_SIZE(unused_pins_lowpower));
-
/* Initialize any non-default pad configs (APB_MISC_GP regs) */
pinmux_config_drvgrp_table(apalis_t30_padctrl,
ARRAY_SIZE(apalis_t30_padctrl));
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index 87dfcd5f3f19..44851536e6c8 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -14,7 +14,9 @@
#include <asm/arch/funcmux.h>
#include <asm/arch-tegra/tegra.h>
#include <mach/board.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>

#define PMU_I2C_ADDRESS 0x34
#define MAX_I2C_RETRY 3
@@ -22,6 +24,12 @@
#define PMU_SUPPLYENE_SYSINEN (1<<5)
#define PMU_SUPPLYENE_EXITSLREQ (1<<1)

+void tegra_spl_board_init(void)
+{
+ tegra20_pinmux_uarta_sdio1();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
int arch_misc_init(void)
{
/* Disable PMIC sleep mode on low supply voltage */
diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c
index 1be24b86fdc4..62a151a9dcb7 100644
--- a/board/toradex/colibri_t30/colibri_t30.c
+++ b/board/toradex/colibri_t30/colibri_t30.c
@@ -12,7 +12,9 @@
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/arch-tegra/tegra.h>
+#include <mach/board_init.h>
#include <mach/pinmux.h>
+#include <mach/spl_uart.h>
#include "pinmux-config-colibri_t30.h"

int arch_misc_init(void)
@@ -24,11 +26,13 @@ int arch_misc_init(void)
return 0;
}

-/*
- * Routine: pinmux_init
- * Description: Do individual peripheral pinmux configs
- */
-void pinmux_init(void)
+void tegra_spl_board_init(void)
+{
+ tegra30_pinmux_uarta_ulpi();
+ tegra_spl_setup_uart(TEGRA_SPL_UART_A);
+}
+
+void tegra_board_early_init_f(void)
{
pinmux_config_pingrp_table(tegra3_pinmux_common,
ARRAY_SIZE(tegra3_pinmux_common));
diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h
index 32e9ba38d9df..d104aa9ccae9 100644
--- a/include/configs/apalis_t30.h
+++ b/include/configs/apalis_t30.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2014-2015 Marcel Ziswiler
+ * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
*
* Configuration settings for the Toradex Apalis T30 modules.
*
@@ -18,10 +19,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Toradex Apalis T30"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_APALIS_T30

/* I2C */
diff --git a/include/configs/cardhu.h b/include/configs/cardhu.h
index acfe96895fbb..cb90f3ccaa86 100644
--- a/include/configs/cardhu.h
+++ b/include/configs/cardhu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2010-2016, NVIDIA CORPORATION. All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0
*/
@@ -21,10 +21,6 @@
"board_name=cardhu-a04\0" \
"fdtfile=tegra30-cardhu-a04.dtb\0"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_CARDHU

/* I2C */
diff --git a/include/configs/colibri_t20.h b/include/configs/colibri_t20.h
index e97e5a10dc26..93ed102a734c 100644
--- a/include/configs/colibri_t20.h
+++ b/include/configs/colibri_t20.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2012 Lucas Stach
+ * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
*
* Configuration settings for the Toradex Colibri T20 modules.
*
@@ -16,11 +17,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T20"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_TEGRA_UARTA_SDIO1
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_COLIBRI_T20

/* I2C */
diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
index 47914c767987..e5aaab742388 100644
--- a/include/configs/colibri_t30.h
+++ b/include/configs/colibri_t30.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2013-2015 Stefan Agner
+ * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
*
* Configuration settings for the Toradex Colibri T30 modules.
*
@@ -18,10 +19,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T30"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_COLIBRI_T30

/* I2C */
diff --git a/include/configs/dalmore.h b/include/configs/dalmore.h
index f74ced1b4395..43b81b63932d 100644
--- a/include/configs/dalmore.h
+++ b/include/configs/dalmore.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2010-2016, NVIDIA CORPORATION. All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0
*/
@@ -14,10 +14,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Dalmore"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_DALMORE

/* I2C */
diff --git a/include/configs/e2220-1170.h b/include/configs/e2220-1170.h
index 33ebb7c7afaa..6f4bfb2eb40b 100644
--- a/include/configs/e2220-1170.h
+++ b/include/configs/e2220-1170.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2015
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,9 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA E2220-1170"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/harmony.h b/include/configs/harmony.h
index 0a3cb18a2ec4..ab1de5c23ad5 100644
--- a/include/configs/harmony.h
+++ b/include/configs/harmony.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2010-2012
+ * (C) Copyright 2010-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -14,16 +14,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Harmony"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD
-
-/* UARTD: keyboard satellite board UART, default */
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-#ifdef CONFIG_TEGRA_ENABLE_UARTA
-/* UARTA: debug board UART */
-#define CONFIG_SYS_NS16550_COM2 NV_PA_APB_UARTA_BASE
-#endif
-
#define CONFIG_MACH_TYPE MACH_TYPE_HARMONY

/* SD/MMC */
diff --git a/include/configs/jetson-tk1.h b/include/configs/jetson-tk1.h
index 59dbb208cdd8..2ee15fa8775c 100644
--- a/include/configs/jetson-tk1.h
+++ b/include/configs/jetson-tk1.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2014
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0
@@ -18,10 +18,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Jetson TK1"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/nyan-big.h b/include/configs/nyan-big.h
index 0b6173be9b81..6d037ba4e460 100644
--- a/include/configs/nyan-big.h
+++ b/include/configs/nyan-big.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2014
+ * (C) Copyright 2014-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,10 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Google/NVIDIA Nyan-big"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_DISPLAY_BOARDINFO_LATE

/* I2C */
diff --git a/include/configs/p2371-0000.h b/include/configs/p2371-0000.h
index 9ca29f8b4ee1..0a066b7a1c70 100644
--- a/include/configs/p2371-0000.h
+++ b/include/configs/p2371-0000.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2015
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,9 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA P2371-0000"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/p2371-2180.h b/include/configs/p2371-2180.h
index c55f07ede277..3337080efe3f 100644
--- a/include/configs/p2371-2180.h
+++ b/include/configs/p2371-2180.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2015
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,9 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA P2371-2180"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/p2571.h b/include/configs/p2571.h
index d35e25524f9a..d8a5fdf15aca 100644
--- a/include/configs/p2571.h
+++ b/include/configs/p2571.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2015
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,10 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA P2571"

-/* Board-specific serial config */
-#define CONFIG_SERIAL_MULTI
-#define CONFIG_TEGRA_ENABLE_UARTA
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
index 6acecb1e27a1..18a7d5229f39 100644
--- a/include/configs/paz00.h
+++ b/include/configs/paz00.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2012 NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2010-2016 NVIDIA CORPORATION. All rights reserved.
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -16,10 +16,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Compal Paz00"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_PAZ00

/* SD/MMC */
diff --git a/include/configs/seaboard.h b/include/configs/seaboard.h
index 09509b45f993..a301b8fbf47d 100644
--- a/include/configs/seaboard.h
+++ b/include/configs/seaboard.h
@@ -22,10 +22,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Seaboard"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_SEABOARD

/* I2C */
diff --git a/include/configs/tec-ng.h b/include/configs/tec-ng.h
index 019e32ce867d..699eee3ab141 100644
--- a/include/configs/tec-ng.h
+++ b/include/configs/tec-ng.h
@@ -1,6 +1,7 @@
/*
* (C) Copyright 2013
* Avionic Design GmbH <www.avionic-design.de>
+ * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -13,10 +14,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Avionic Design Tamonten? NG Evaluation Carrier"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/tec.h b/include/configs/tec.h
index a9472146b092..458d4bf093cb 100644
--- a/include/configs/tec.h
+++ b/include/configs/tec.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2010,2011
+ * (C) Copyright 2010-2016
* NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2011-2012
* Avionic Design GmbH <www.avionic-design.de>
@@ -15,10 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Avionic Design Tamonten Evaluation Carrier"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTD /* UARTD: debug UART */
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
-
/* SD/MMC */
#define CONFIG_MMC
#define CONFIG_GENERIC_MMC
diff --git a/include/configs/trimslice.h b/include/configs/trimslice.h
index ca188bec24c1..e504ee6a4c2b 100644
--- a/include/configs/trimslice.h
+++ b/include/configs/trimslice.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2010-2012
+ * (C) Copyright 2010-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -14,11 +14,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "Compulab Trimslice"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_TEGRA_UARTA_GPU
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_TRIMSLICE

/* SPI */
diff --git a/include/configs/venice2.h b/include/configs/venice2.h
index 75f7268d10c2..06c2bf292658 100644
--- a/include/configs/venice2.h
+++ b/include/configs/venice2.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2013-2014
+ * (C) Copyright 2013-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -15,10 +15,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Venice2"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
/* I2C */
#define CONFIG_SYS_I2C_TEGRA
#define CONFIG_CMD_I2C
diff --git a/include/configs/whistler.h b/include/configs/whistler.h
index ff859644c36a..d42c26f336c9 100644
--- a/include/configs/whistler.h
+++ b/include/configs/whistler.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2010-2012
+ * (C) Copyright 2010-2016
* NVIDIA Corporation <www.nvidia.com>
*
* SPDX-License-Identifier: GPL-2.0+
@@ -14,11 +14,6 @@
/* High-level configuration options */
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Whistler"

-/* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_TEGRA_UARTA_UAA_UAB
-#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE
-
#define CONFIG_MACH_TYPE MACH_TYPE_WHISTLER

/* I2C */
--
2.8.1