All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers
@ 2015-11-16 14:36 Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
                   ` (13 more replies)
  0 siblings, 14 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

Thomas Chou (11):
  debug_uart: restore ns16550 as default
  arc: add mapping between physical and virtual address
  ns16550: change map_sysmem to map_physmem
  ns16550: add generic binding to unify the drivers
  ns16550: unify serial_x86
  ns16550: unify serial_ppc
  ns16550: unify serial_rockchip
  ns16550: unify serial_keystone
  ns16550: unify serial_dw
  ns16550: unify serial_tegra
  ns16550: unify serial_omap

 arch/arc/include/asm/io.h            | 28 +++++++++++++++++
 arch/arm/mach-rockchip/Kconfig       |  8 ++++-
 arch/powerpc/Kconfig                 |  4 +++
 arch/powerpc/include/asm/config.h    |  4 +++
 arch/x86/Kconfig                     |  4 +++
 arch/x86/dts/serial.dtsi             |  2 +-
 board/isee/igep00x0/igep00x0.c       |  2 +-
 board/lge/sniper/sniper.c            |  2 +-
 board/logicpd/omap3som/omap3logic.c  |  2 +-
 board/logicpd/zoom1/zoom1.c          |  2 +-
 board/overo/overo.c                  |  2 +-
 board/quipos/cairo/cairo.c           |  2 +-
 board/ti/beagle/beagle.c             |  2 +-
 board/timll/devkit8000/devkit8000.c  |  2 +-
 configs/efi-x86_defconfig            |  2 +-
 configs/k2g_evm_defconfig            |  1 -
 drivers/serial/Kconfig               | 40 ++++++++++--------------
 drivers/serial/Makefile              |  7 -----
 drivers/serial/ns16550.c             | 59 ++++++++++++++++++++++++++++++++++--
 drivers/serial/serial_dw.c           | 39 ------------------------
 drivers/serial/serial_keystone.c     | 48 -----------------------------
 drivers/serial/serial_omap.c         | 54 ---------------------------------
 drivers/serial/serial_ppc.c          | 40 ------------------------
 drivers/serial/serial_rockchip.c     | 43 --------------------------
 drivers/serial/serial_tegra.c        | 54 ---------------------------------
 drivers/serial/serial_x86.c          | 44 ---------------------------
 include/configs/am43xx_evm.h         |  4 +--
 include/configs/cm_t43.h             |  2 +-
 include/configs/mv-common.h          |  2 +-
 include/configs/omap3_pandora.h      |  3 +-
 include/configs/sniper.h             |  4 +--
 include/configs/sunxi-common.h       |  2 +-
 include/configs/tb100.h              |  2 +-
 include/configs/tegra-common.h       |  3 +-
 include/configs/ti_am335x_common.h   |  2 +-
 include/configs/ti_armv7_keystone2.h |  2 +-
 include/configs/ti_omap3_common.h    |  4 +--
 include/configs/ti_omap4_common.h    |  4 +--
 include/configs/ti_omap5_common.h    |  4 +--
 39 files changed, 149 insertions(+), 386 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c
 delete mode 100644 drivers/serial/serial_keystone.c
 delete mode 100644 drivers/serial/serial_omap.c
 delete mode 100644 drivers/serial/serial_ppc.c
 delete mode 100644 drivers/serial/serial_rockchip.c
 delete mode 100644 drivers/serial/serial_tegra.c
 delete mode 100644 drivers/serial/serial_x86.c

-- 
2.5.0

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-18  0:51   ` Bin Meng
  2015-11-16 14:36 ` [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address Thomas Chou
                   ` (12 subsequent siblings)
  13 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
driver model"), the default debug uart was changed. Most people
use ns16550 UART, so restore it as default.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
---
 drivers/serial/Kconfig | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index d462244..9476a00 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -54,6 +54,13 @@ choice
 	prompt "Select which UART will provide the debug UART"
 	depends on DEBUG_UART
 
+config DEBUG_UART_NS16550
+	bool "ns16550"
+	help
+	  Select this to enable a debug UART using the ns16550 driver. You
+	  will need to provide parameters to make this work. The driver will
+	  be available until the real driver model serial is running.
+
 config DEBUG_UART_ALTERA_JTAGUART
 	bool "Altera JTAG UART"
 	help
@@ -68,13 +75,6 @@ config DEBUG_UART_ALTERA_UART
 	  You will need to provide parameters to make this work. The driver will
 	  be available until the real driver model serial is running.
 
-config DEBUG_UART_NS16550
-	bool "ns16550"
-	help
-	  Select this to enable a debug UART using the ns16550 driver. You
-	  will need to provide parameters to make this work. The driver will
-	  be available until the real driver model serial is running.
-
 config DEBUG_EFI_CONSOLE
 	bool "EFI"
 	depends on EFI_APP
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-17  0:18   ` Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem Thomas Chou
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Add mapping between physical and virtual address.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/arc/include/asm/io.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arc/include/asm/io.h b/arch/arc/include/asm/io.h
index 24b7337..273e9f9 100644
--- a/arch/arc/include/asm/io.h
+++ b/arch/arc/include/asm/io.h
@@ -15,6 +15,34 @@ static inline void sync(void)
 	/* Not yet implemented */
 }
 
+/*
+ * Given a physical address and a length, return a virtual address
+ * that can be used to access the memory range with the caching
+ * properties specified by "flags".
+ */
+#define MAP_NOCACHE	(0)
+#define MAP_WRCOMBINE	(0)
+#define MAP_WRBACK	(0)
+#define MAP_WRTHROUGH	(0)
+
+static inline void *map_physmem(phys_addr_t paddr, unsigned long len,
+				unsigned long flags)
+{
+	return (void *)(uintptr_t)paddr;
+}
+
+/*
+ * Take down a mapping set up by map_physmem().
+ */
+static inline void unmap_physmem(void *vaddr, unsigned long flags)
+{
+}
+
+static inline phys_addr_t virt_to_phys(void *vaddr)
+{
+	return (phys_addr_t)(uintptr_t)vaddr;
+}
+
 static inline u8 __raw_readb(const volatile void __iomem *addr)
 {
 	u8 b;
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 21:08   ` Simon Glass
  2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Change map_sysmem() to map_physmem(), because sandbox is the only
arch which define map_sysmem() and it actually only calls
map_physmem(). For some arch like nios2, the flag should be
MAP_NOCACHE for port access.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/ns16550.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 6433844..8d028de 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -8,7 +8,6 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 #include <ns16550.h>
 #include <serial.h>
 #include <watchdog.h>
@@ -97,7 +96,7 @@ static void ns16550_writeb(NS16550_t port, int offset, int value)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 	/*
 	 * As far as we know it doesn't make sense to support selection of
 	 * these options at run-time, so use the existing CONFIG options.
@@ -111,7 +110,7 @@ static int ns16550_readb(NS16550_t port, int offset)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 
 	return serial_in_shift(addr, plat->reg_shift);
 }
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (2 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-18  1:03   ` Bin Meng
  2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
                   ` (9 subsequent siblings)
  13 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/Kconfig   | 11 +++++++++++
 drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 9476a00..1261356 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,6 +186,17 @@ config ROCKCHIP_SERIAL
 	  your board config header. The clock input is automatically set to
 	  use the oscillator (24MHz).
 
+config NS16550_SERIAL
+	bool "NS16550 UART or compatible"
+	depends on DM_SERIAL
+	help
+	  Support NS16550 UART or compatible with driver model. This can be
+	  enabled in the device tree with the correct input clock frequency.
+	  If the input clock frequency is not defined in the device tree,
+	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
+	  file will be used. It can be a constant or a function to get clock,
+	  eg, get_serial_clock().
+
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 8d028de..f0a9aac 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_DM_SERIAL
 
+#ifndef CONFIG_SYS_NS16550_CLK
+#define CONFIG_SYS_NS16550_CLK  0
+#endif
+
 static inline void serial_out_shift(void *addr, int shift, int value)
 {
 #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
@@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 					 "reg-shift", 1);
+#ifdef CONFIG_NS16550_SERIAL
+	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+				     "clock-frequency",
+				     CONFIG_SYS_NS16550_CLK);
+	if (!plat->clock) {
+		debug("ns16550 clock not defined\n");
+		return -EINVAL;
+	}
+#endif /* CONFIG_NS16550_SERIAL */
 
 	return 0;
 }
@@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
 	.getc = ns16550_serial_getc,
 	.setbrg = ns16550_serial_setbrg,
 };
+
+#ifdef CONFIG_NS16550_SERIAL
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+static const struct udevice_id ns16550_serial_ids[] = {
+	{ .compatible = "ns16550" },
+	{ .compatible = "ns16550a" },
+	{ .compatible = "nvidia,tegra20-uart" },
+	{ .compatible = "snps,dw-apb-uart" },
+	{ .compatible = "ti,omap2-uart" },
+	{ .compatible = "ti,omap3-uart" },
+	{ .compatible = "ti,omap4-uart" },
+	{ .compatible = "ti,am3352-uart" },
+	{ .compatible = "ti,am4372-uart" },
+	{ .compatible = "ti,dra742-uart" },
+	{}
+};
+#endif
+
+U_BOOT_DRIVER(ns16550_serial) = {
+	.name	= "ns16550_serial",
+	.id	= UCLASS_SERIAL,
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+	.of_match = ns16550_serial_ids,
+	.ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
+	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
+#endif
+	.priv_auto_alloc_size = sizeof(struct NS16550),
+	.probe = ns16550_serial_probe,
+	.ops	= &ns16550_serial_ops,
+};
+#endif /* CONFIG_NS16550_SERIAL */
 #endif /* CONFIG_DM_SERIAL */
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 05/12] ns16550: unify serial_x86
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (3 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-18  1:07   ` Bin Meng
  2015-11-16 14:36 ` [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc Thomas Chou
                   ` (8 subsequent siblings)
  13 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_x86, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/x86/Kconfig            |  4 ++++
 arch/x86/dts/serial.dtsi    |  2 +-
 configs/efi-x86_defconfig   |  2 +-
 drivers/serial/Kconfig      | 10 ----------
 drivers/serial/Makefile     |  1 -
 drivers/serial/serial_x86.c | 44 --------------------------------------------
 6 files changed, 6 insertions(+), 57 deletions(-)
 delete mode 100644 drivers/serial/serial_x86.c

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f92082d..61011c9 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -422,4 +422,8 @@ config PCIE_ECAM_SIZE
 
 source "arch/x86/lib/efi/Kconfig"
 
+config NS16550_SERIAL
+	depends on DM_SERIAL
+	default y
+
 endmenu
diff --git a/arch/x86/dts/serial.dtsi b/arch/x86/dts/serial.dtsi
index 6865eed..54c3faf 100644
--- a/arch/x86/dts/serial.dtsi
+++ b/arch/x86/dts/serial.dtsi
@@ -1,6 +1,6 @@
 / {
 	serial: serial {
-		compatible = "x86-uart";
+		compatible = "ns16550";
 		reg = <0x3f8 8>;
 		reg-shift = <0>;
 		clock-frequency = <1843200>;
diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index 43fb0c4..b1573df 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
 CONFIG_DEFAULT_DEVICE_TREE="efi"
 CONFIG_TARGET_EFI=y
 CONFIG_TSC_CALIBRATION_BYPASS=y
+# CONFIG_NS16550_SERIAL is not set
 # CONFIG_CMD_BOOTM is not set
 # CONFIG_CMD_NET is not set
 CONFIG_OF_CONTROL=y
@@ -12,5 +13,4 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_EFI_CONSOLE=y
 CONFIG_DEBUG_UART_BASE=0
 CONFIG_DEBUG_UART_CLOCK=0
-# CONFIG_X86_SERIAL is not set
 CONFIG_EFI=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 1261356..abcf2aa 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -224,14 +224,4 @@ config UNIPHIER_SERIAL
 	  If you have a UniPhier based board and want to use the on-chip
 	  serial ports, say Y to this option. If unsure, say N.
 
-config X86_SERIAL
-	bool "Support for 16550 serial port on x86 machines"
-	depends on X86
-	default y
-	help
-	  Most x86 machines have a ns16550 UART or compatible. This can be
-	  enabled in the device tree with the correct input clock frequency
-	  provided (default 1843200). Enable this to obtain serial console
-	  output.
-
 endmenu
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1818c7c..9036a8e 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
-obj-$(CONFIG_X86_SERIAL) += serial_x86.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_x86.c b/drivers/serial/serial_x86.c
deleted file mode 100644
index 4bf6062..0000000
--- a/drivers/serial/serial_x86.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static const struct udevice_id x86_serial_ids[] = {
-	{ .compatible = "x86-uart" },
-	{ }
-};
-
-static int x86_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", 1843200);
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_x86",
-	.id	= UCLASS_SERIAL,
-	.of_match = x86_serial_ids,
-	.ofdata_to_platdata = x86_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (4 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_ppc, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/powerpc/Kconfig              |  4 ++++
 arch/powerpc/include/asm/config.h |  4 ++++
 drivers/serial/Makefile           |  1 -
 drivers/serial/serial_ppc.c       | 40 ---------------------------------------
 4 files changed, 8 insertions(+), 41 deletions(-)
 delete mode 100644 drivers/serial/serial_ppc.c

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 18451d3..0c63d1f 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -50,4 +50,8 @@ source "arch/powerpc/cpu/mpc86xx/Kconfig"
 source "arch/powerpc/cpu/mpc8xx/Kconfig"
 source "arch/powerpc/cpu/ppc4xx/Kconfig"
 
+config NS16550_SERIAL
+	depends on DM_SERIAL
+	default y
+
 endmenu
diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
index 65496d0..4d15bc1 100644
--- a/arch/powerpc/include/asm/config.h
+++ b/arch/powerpc/include/asm/config.h
@@ -104,4 +104,8 @@
 /* All PPC boards must swap IDE bytes */
 #define CONFIG_IDE_SWAP_IO
 
+#if defined(CONFIG_NS16550_SERIAL)
+#define CONFIG_SYS_NS16550_CLK		get_serial_clock()
+#endif
+
 #endif /* _ASM_CONFIG_H_ */
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9036a8e..9f61113 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -8,7 +8,6 @@
 ifdef CONFIG_DM_SERIAL
 obj-y += serial-uclass.o
 obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
-obj-$(CONFIG_PPC) += serial_ppc.o
 else
 obj-y += serial.o
 obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
deleted file mode 100644
index 47141c6..0000000
--- a/drivers/serial/serial_ppc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id ppc_serial_ids[] = {
-	{ .compatible = "ns16550" },
-	{ }
-};
-
-static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = get_serial_clock();
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_ppc",
-	.id	= UCLASS_SERIAL,
-	.of_match = ppc_serial_ids,
-	.ofdata_to_platdata = ppc_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (5 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-17  0:35   ` Thomas Chou
  2015-11-16 14:36 ` [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone Thomas Chou
                   ` (6 subsequent siblings)
  13 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_rockchip, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/arm/mach-rockchip/Kconfig   |  8 +++++++-
 drivers/serial/Kconfig           |  9 ---------
 drivers/serial/Makefile          |  1 -
 drivers/serial/serial_rockchip.c | 43 ----------------------------------------
 4 files changed, 7 insertions(+), 54 deletions(-)
 delete mode 100644 drivers/serial/serial_rockchip.c

diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index ab50f4e..2afdcc5 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -33,9 +33,15 @@ config DM_I2C
 config DM_GPIO
 	default y
 
-config ROCKCHIP_SERIAL
+config NS16550_SERIAL
+	depends on DM_SERIAL
 	default y
 
+config SYS_NS16550_CLK
+	int
+	depends on NS16550_SERIAL
+	default 24000000
+
 source "arch/arm/mach-rockchip/rk3288/Kconfig"
 
 endif
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index abcf2aa..353d26d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -177,15 +177,6 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
-config ROCKCHIP_SERIAL
-	bool "Rockchip on-chip UART support"
-	depends on ARCH_ROCKCHIP && DM_SERIAL
-	help
-	  Select this to enable a debug UART for Rockchip devices. This uses
-	  the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
-	  your board config header. The clock input is automatically set to
-	  use the oscillator (24MHz).
-
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9f61113..debc175 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
 obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
-obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c
deleted file mode 100644
index 0e7bbfc..0000000
--- a/drivers/serial/serial_rockchip.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2015 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-static const struct udevice_id rockchip_serial_ids[] = {
-	{ .compatible = "rockchip,rk3288-uart" },
-	{ }
-};
-
-static int rockchip_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	/* Do all Rockchip parts use 24MHz? */
-	plat->clock = 24 * 1000000;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_rockchip",
-	.id	= UCLASS_SERIAL,
-	.of_match = rockchip_serial_ids,
-	.ofdata_to_platdata = rockchip_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (6 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-16 14:36 ` [U-Boot] [PATCH 09/12] ns16550: unify serial_dw Thomas Chou
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_keystone, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 configs/k2g_evm_defconfig            |  1 -
 drivers/serial/Makefile              |  1 -
 drivers/serial/serial_keystone.c     | 48 ------------------------------------
 include/configs/ti_armv7_keystone2.h |  2 +-
 4 files changed, 1 insertion(+), 51 deletions(-)
 delete mode 100644 drivers/serial/serial_keystone.c

diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index 59020af..c6efe80 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -11,4 +11,3 @@ CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
-CONFIG_KEYSTONE_SERIAL=y
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index debc175..1663ca2 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -24,7 +24,6 @@ obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
 obj-$(CONFIG_OPENCORES_YANU) += opencores_yanu.o
-obj-$(CONFIG_KEYSTONE_SERIAL) += serial_keystone.o
 obj-$(CONFIG_SYS_NS16550) += ns16550.o
 obj-$(CONFIG_S5P) += serial_s5p.o
 obj-$(CONFIG_IMX_SERIAL) += serial_imx.o
diff --git a/drivers/serial/serial_keystone.c b/drivers/serial/serial_keystone.c
deleted file mode 100644
index 7b5ab6c..0000000
--- a/drivers/serial/serial_keystone.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015 Texas Instruments, <www.ti.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id keystone_serial_ids[] = {
-	{ .compatible = "ti,keystone-uart" },
-	{ .compatible = "ns16550a" },
-	{ }
-};
-
-static int keystone_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_keystone_ns16550) = {
-	.name	= "serial_keystone",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = of_match_ptr(keystone_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(keystone_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index ed86561..5ab9b6e 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -64,7 +64,7 @@
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #else
-#define CONFIG_KEYSTONE_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_SYS_NS16550_COM1		KS2_UART0_BASE
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 09/12] ns16550: unify serial_dw
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (7 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-16 14:36 ` [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra Thomas Chou
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_dw, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/Makefile        |  1 -
 drivers/serial/serial_dw.c     | 39 ---------------------------------------
 include/configs/mv-common.h    |  2 +-
 include/configs/sunxi-common.h |  2 +-
 include/configs/tb100.h        |  2 +-
 5 files changed, 3 insertions(+), 43 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1663ca2..2a83756 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_ALTERA_UART) += altera_uart.o
 obj-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
 obj-$(CONFIG_ARM_DCC) += arm_dcc.o
 obj-$(CONFIG_ATMEL_USART) += atmel_usart.o
-obj-$(CONFIG_DW_SERIAL) += serial_dw.o
 obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
diff --git a/drivers/serial/serial_dw.c b/drivers/serial/serial_dw.c
deleted file mode 100644
index a348f29..0000000
--- a/drivers/serial/serial_dw.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id dw_serial_ids[] = {
-	{ .compatible = "snps,dw-apb-uart" },
-	{ }
-};
-
-static int dw_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_dw",
-	.id	= UCLASS_SERIAL,
-	.of_match = dw_serial_ids,
-	.ofdata_to_platdata = dw_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 1ecbd35..0e33a89 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -40,7 +40,7 @@
  * NS16550 Configuration
  */
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 #define CONFIG_SYS_NS16550
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index f5db4d3..ab584ac 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -46,7 +46,7 @@
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
 #ifdef CONFIG_DM_SERIAL
-# define CONFIG_DW_SERIAL
+# define CONFIG_NS16550_SERIAL
 #else
 # define CONFIG_SYS_NS16550_REG_SIZE	-4
 # define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index e3c41ef..44287d8 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (8 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 09/12] ns16550: unify serial_dw Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:22   ` Tom Rini
  2015-11-16 14:36 ` [U-Boot] [PATCH 11/12] ns16550: unify serial_omap Thomas Chou
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_tegra, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/Makefile        |  1 -
 drivers/serial/ns16550.c       | 10 ++++++++
 drivers/serial/serial_tegra.c  | 54 ------------------------------------------
 include/configs/tegra-common.h |  3 ++-
 4 files changed, 12 insertions(+), 56 deletions(-)
 delete mode 100644 drivers/serial/serial_tegra.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 2a83756..86ae50f 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
-obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index f0a9aac..1ce110f 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -440,6 +440,16 @@ static const struct udevice_id ns16550_serial_ids[] = {
 	{ .compatible = "ti,dra742-uart" },
 	{}
 };
+#elif CONFIG_IS_ENABLED(TEGRA)
+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
 
 U_BOOT_DRIVER(ns16550_serial) = {
diff --git a/drivers/serial/serial_tegra.c b/drivers/serial/serial_tegra.c
deleted file mode 100644
index 0c84f0b..0000000
--- a/drivers/serial/serial_tegra.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id tegra_serial_ids[] = {
-	{ .compatible = "nvidia,tegra20-uart" },
-	{ }
-};
-
-static int tegra_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = V_NS16550_CLK;
-
-	return 0;
-}
-#else
-struct ns16550_platdata tegra_serial = {
-	.base = CONFIG_SYS_NS16550_COM1,
-	.reg_shift = 2,
-	.clock = V_NS16550_CLK,
-};
-
-U_BOOT_DEVICE(ns16550_serial) = {
-	"serial_tegra20", &tegra_serial
-};
-#endif
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_tegra20",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = tegra_serial_ids,
-	.ofdata_to_platdata = tegra_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 32cc39b..ceda304 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,8 +39,9 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_TEGRA_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
  * Common HW configuration.
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 11/12] ns16550: unify serial_omap
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (9 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-16 18:23   ` Tom Rini
  2015-11-16 14:36 ` [U-Boot] [PATCH 12/12] nios2: 10m50: change to ns16550 uart Thomas Chou
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Unify serial_omap, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 board/isee/igep00x0/igep00x0.c      |  2 +-
 board/lge/sniper/sniper.c           |  2 +-
 board/logicpd/omap3som/omap3logic.c |  2 +-
 board/logicpd/zoom1/zoom1.c         |  2 +-
 board/overo/overo.c                 |  2 +-
 board/quipos/cairo/cairo.c          |  2 +-
 board/ti/beagle/beagle.c            |  2 +-
 board/timll/devkit8000/devkit8000.c |  2 +-
 drivers/serial/Makefile             |  1 -
 drivers/serial/serial_omap.c        | 54 -------------------------------------
 include/configs/am43xx_evm.h        |  4 +--
 include/configs/cm_t43.h            |  2 +-
 include/configs/omap3_pandora.h     |  3 ++-
 include/configs/sniper.h            |  4 +--
 include/configs/ti_am335x_common.h  |  2 +-
 include/configs/ti_omap3_common.h   |  4 +--
 include/configs/ti_omap4_common.h   |  4 +--
 include/configs/ti_omap5_common.h   |  4 +--
 18 files changed, 22 insertions(+), 76 deletions(-)
 delete mode 100644 drivers/serial/serial_omap.c

diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index 044c6d5..57b89e0 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -40,7 +40,7 @@ static const struct ns16550_platdata igep_serial = {
 };
 
 U_BOOT_DEVICE(igep_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&igep_serial
 };
 
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index 4eff01a..c818c9d 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -35,7 +35,7 @@ static const struct ns16550_platdata serial_omap_platdata = {
 };
 
 U_BOOT_DEVICE(sniper_serial) = {
-	.name = "serial_omap",
+	.name = "ns16550_serial",
 	.platdata = &serial_omap_platdata
 };
 
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index babb0dc..fb89921 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -43,7 +43,7 @@ static const struct ns16550_platdata omap3logic_serial = {
 };
 
 U_BOOT_DEVICE(omap3logic_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&omap3logic_serial
 };
 
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index 0a3b55b..4040114 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -50,7 +50,7 @@ static const struct ns16550_platdata zoom1_serial = {
 };
 
 U_BOOT_DEVICE(zoom1_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&zoom1_serial
 };
 
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 20cbec2..a38b959 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -74,7 +74,7 @@ static const struct ns16550_platdata overo_serial = {
 };
 
 U_BOOT_DEVICE(overo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&overo_serial
 };
 
diff --git a/board/quipos/cairo/cairo.c b/board/quipos/cairo/cairo.c
index b97a09a..21793e8 100644
--- a/board/quipos/cairo/cairo.c
+++ b/board/quipos/cairo/cairo.c
@@ -97,7 +97,7 @@ static const struct ns16550_platdata cairo_serial = {
 };
 
 U_BOOT_DEVICE(cairo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&cairo_serial
 };
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 56e3cfe..ff317ef 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -79,7 +79,7 @@ static const struct ns16550_platdata beagle_serial = {
 };
 
 U_BOOT_DEVICE(beagle_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&beagle_serial
 };
 
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index a61cc14..1a447c7 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -52,7 +52,7 @@ static const struct ns16550_platdata devkit8000_serial = {
 };
 
 U_BOOT_DEVICE(devkit8000_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&devkit8000_serial
 };
 
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 86ae50f..dd87147 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
-obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_omap.c b/drivers/serial/serial_omap.c
deleted file mode 100644
index 891cd7b..0000000
--- a/drivers/serial/serial_omap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#define DEFAULT_CLK_SPEED 48000000 /* 48Mhz */
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id omap_serial_ids[] = {
-	{ .compatible = "ti,omap2-uart" },
-	{ .compatible = "ti,omap3-uart" },
-	{ .compatible = "ti,omap4-uart" },
-	{ .compatible = "ti,am3352-uart" },
-	{ .compatible = "ti,am4372-uart" },
-	{ .compatible = "ti,dra742-uart" },
-	{ }
-};
-
-static int omap_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", DEFAULT_CLK_SPEED);
-	plat->reg_shift = 2;
-
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_omap_ns16550) = {
-	.name	= "serial_omap",
-	.id	= UCLASS_SERIAL,
-	.of_match = of_match_ptr(omap_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(omap_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index b02abd3..a962bf5 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -23,12 +23,12 @@
 
 /* NS16550 Configuration */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /* I2C Configuration */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index c4d3b94..e1019ff 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -18,7 +18,7 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 4e93705..c15c699 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -49,7 +49,8 @@
 /*
  * NS16550 Configuration
  */
-#undef CONFIG_OMAP_SERIAL
+#undef CONFIG_NS16550_SERIAL
+#undef CONFIG_SYS_NS16550_CLK
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index f168e8f..34f7f6e 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -197,14 +197,14 @@
 
 
 #ifndef CONFIG_SPL_BUILD
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #else
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 #define CONFIG_CONS_INDEX		3
 #define CONFIG_SERIAL3			3
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 9697431..32348ab 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -20,7 +20,7 @@
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 #include <asm/arch/omap.h>
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index e399a87..e749d5d 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -19,7 +19,7 @@
 #include <asm/arch/omap.h>
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 /* Common ARM Erratas */
@@ -37,10 +37,10 @@
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #ifdef CONFIG_SPL_BUILD
 # define CONFIG_SYS_NS16550_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-# define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 #define CONFIG_SYS_BAUDRATE_TABLE	{4800, 9600, 19200, 38400, 57600, \
 					115200}
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 741f71f..0a03cd5 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -58,13 +58,13 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_CONS_INDEX		3
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 5acbc92..be1f4c1 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -51,12 +51,12 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /*
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 12/12] nios2: 10m50: change to ns16550 uart
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (10 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 11/12] ns16550: unify serial_omap Thomas Chou
@ 2015-11-16 14:36 ` Thomas Chou
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  13 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-16 14:36 UTC (permalink / raw)
  To: u-boot

Change to ns16550 uart for 10m50 devboard based on a new
Altera release.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/nios2/dts/10m50_devboard.dts | 2 +-
 configs/10m50_defconfig           | 2 +-
 include/configs/10m50_devboard.h  | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/nios2/dts/10m50_devboard.dts b/arch/nios2/dts/10m50_devboard.dts
index e89dbb2..05eac30 100644
--- a/arch/nios2/dts/10m50_devboard.dts
+++ b/arch/nios2/dts/10m50_devboard.dts
@@ -262,6 +262,6 @@
 
 	chosen {
 		bootargs = "debug console=ttyS0,115200";
-		stdout-path = &uart_0;
+		stdout-path = &a_16550_uart_0;
 	};
 };
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index af2cef7..28bb353 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -21,6 +21,6 @@ CONFIG_MTD=y
 CONFIG_ALTERA_QSPI=y
 CONFIG_DM_ETH=y
 CONFIG_ALTERA_TSE=y
-CONFIG_ALTERA_UART=y
+CONFIG_NS16550_SERIAL=y
 CONFIG_TIMER=y
 CONFIG_ALTERA_TIMER=y
diff --git a/include/configs/10m50_devboard.h b/include/configs/10m50_devboard.h
index ab7dd08..dd6dcb6 100644
--- a/include/configs/10m50_devboard.h
+++ b/include/configs/10m50_devboard.h
@@ -20,6 +20,8 @@
  */
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_CONSOLE_INFO_QUIET	/* Suppress console info */
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Flash
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default
  2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  2015-11-18  0:51   ` Bin Meng
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:45PM +0800, Thomas Chou wrote:

> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/3b3371e9/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers
  2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  2015-11-18  1:03   ` Bin Meng
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:48PM +0800, Thomas Chou wrote:

> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
> 
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/75abe361/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 05/12] ns16550: unify serial_x86
  2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  2015-11-18  1:07   ` Bin Meng
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:49PM +0800, Thomas Chou wrote:

> Unify serial_x86, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/49db157b/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc
  2015-11-16 14:36 ` [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:50PM +0800, Thomas Chou wrote:

> Unify serial_ppc, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/e93b773d/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip
  2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  2015-11-17  0:35   ` Thomas Chou
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:51PM +0800, Thomas Chou wrote:

> Unify serial_rockchip, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/68268f63/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone
  2015-11-16 14:36 ` [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:52PM +0800, Thomas Chou wrote:

> Unify serial_keystone, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/e2d92777/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 09/12] ns16550: unify serial_dw
  2015-11-16 14:36 ` [U-Boot] [PATCH 09/12] ns16550: unify serial_dw Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:53PM +0800, Thomas Chou wrote:

> Unify serial_dw, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/5ebc7133/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra
  2015-11-16 14:36 ` [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra Thomas Chou
@ 2015-11-16 18:22   ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:22 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:54PM +0800, Thomas Chou wrote:

> Unify serial_tegra, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/520ff953/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 11/12] ns16550: unify serial_omap
  2015-11-16 14:36 ` [U-Boot] [PATCH 11/12] ns16550: unify serial_omap Thomas Chou
@ 2015-11-16 18:23   ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-16 18:23 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 16, 2015 at 10:36:55PM +0800, Thomas Chou wrote:

> Unify serial_omap, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151116/01341aab/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem
  2015-11-16 14:36 ` [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem Thomas Chou
@ 2015-11-16 21:08   ` Simon Glass
  2015-11-17  0:12     ` Thomas Chou
  0 siblings, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-16 21:08 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On 16 November 2015 at 07:36, Thomas Chou <thomas@wytron.com.tw> wrote:
> Change map_sysmem() to map_physmem(), because sandbox is the only
> arch which define map_sysmem() and it actually only calls
> map_physmem(). For some arch like nios2, the flag should be
> MAP_NOCACHE for port access.

Why change it to map_physmem()? Doesn't that make assumptions about
how sandbox is implemented?

>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  drivers/serial/ns16550.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 6433844..8d028de 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -8,7 +8,6 @@
>  #include <dm.h>
>  #include <errno.h>
>  #include <fdtdec.h>
> -#include <mapmem.h>
>  #include <ns16550.h>
>  #include <serial.h>
>  #include <watchdog.h>
> @@ -97,7 +96,7 @@ static void ns16550_writeb(NS16550_t port, int offset, int value)
>         unsigned char *addr;
>
>         offset *= 1 << plat->reg_shift;
> -       addr = map_sysmem(plat->base, 0) + offset;
> +       addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
>         /*
>          * As far as we know it doesn't make sense to support selection of
>          * these options at run-time, so use the existing CONFIG options.
> @@ -111,7 +110,7 @@ static int ns16550_readb(NS16550_t port, int offset)
>         unsigned char *addr;
>
>         offset *= 1 << plat->reg_shift;
> -       addr = map_sysmem(plat->base, 0) + offset;
> +       addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
>
>         return serial_in_shift(addr, plat->reg_shift);
>  }
> --
> 2.5.0
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem
  2015-11-16 21:08   ` Simon Glass
@ 2015-11-17  0:12     ` Thomas Chou
  0 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-17  0:12 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 2015?11?17? 05:08, Simon Glass wrote:
> Hi Thomas,
>
> On 16 November 2015 at 07:36, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Change map_sysmem() to map_physmem(), because sandbox is the only
>> arch which define map_sysmem() and it actually only calls
>> map_physmem(). For some arch like nios2, the flag should be
>> MAP_NOCACHE for port access.
>
> Why change it to map_physmem()? Doesn't that make assumptions about
> how sandbox is implemented?
>

The question might be asked from the other side, why does it use 
map_sysmem()?

In README,

- CONFIG_ARCH_MAP_SYSMEM
Generally U-Boot (and in particular the md command) uses
effective address. It is therefore not necessary to regard
U-Boot address as virtual addresses that need to be translated
to physical addresses. However, sandbox requires this, since
it maintains its own little RAM buffer which contains all
addressable memory. This option causes some memory accesses
to be mapped through map_sysmem() / unmap_sysmem().

The map_physmem() serves the same purpose to translate physical address 
to virtual address with the additional flag to take care of cache 
property. Many drivers use map_physmem() since ports access should be 
uncached. As ns16550 is a driver, it should use map_physmem() rather 
than map_sysmem().

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address
  2015-11-16 14:36 ` [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address Thomas Chou
@ 2015-11-17  0:18   ` Thomas Chou
  0 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-17  0:18 UTC (permalink / raw)
  To: u-boot



On 2015?11?16? 22:36, Thomas Chou wrote:
> Add mapping between physical and virtual address.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>   arch/arc/include/asm/io.h | 28 ++++++++++++++++++++++++++++
>   1 file changed, 28 insertions(+)
>

Drop this patch as it is taken cared by Alexey Brodkin.

- Thomas


> diff --git a/arch/arc/include/asm/io.h b/arch/arc/include/asm/io.h
> index 24b7337..273e9f9 100644
> --- a/arch/arc/include/asm/io.h
> +++ b/arch/arc/include/asm/io.h
> @@ -15,6 +15,34 @@ static inline void sync(void)
>   	/* Not yet implemented */
>   }
>
> +/*
> + * Given a physical address and a length, return a virtual address
> + * that can be used to access the memory range with the caching
> + * properties specified by "flags".
> + */
> +#define MAP_NOCACHE	(0)
> +#define MAP_WRCOMBINE	(0)
> +#define MAP_WRBACK	(0)
> +#define MAP_WRTHROUGH	(0)
> +
> +static inline void *map_physmem(phys_addr_t paddr, unsigned long len,
> +				unsigned long flags)
> +{
> +	return (void *)(uintptr_t)paddr;
> +}
> +
> +/*
> + * Take down a mapping set up by map_physmem().
> + */
> +static inline void unmap_physmem(void *vaddr, unsigned long flags)
> +{
> +}
> +
> +static inline phys_addr_t virt_to_phys(void *vaddr)
> +{
> +	return (phys_addr_t)(uintptr_t)vaddr;
> +}
> +
>   static inline u8 __raw_readb(const volatile void __iomem *addr)
>   {
>   	u8 b;
>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip
  2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
  2015-11-16 18:22   ` Tom Rini
@ 2015-11-17  0:35   ` Thomas Chou
  2015-11-18 14:05     ` Ariel D'Alessandro
  1 sibling, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-17  0:35 UTC (permalink / raw)
  To: u-boot

Hi Ariel,

On 2015?11?16? 22:36, Thomas Chou wrote:
> Unify serial_rockchip, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>   arch/arm/mach-rockchip/Kconfig   |  8 +++++++-
>   drivers/serial/Kconfig           |  9 ---------
>   drivers/serial/Makefile          |  1 -
>   drivers/serial/serial_rockchip.c | 43 ----------------------------------------
>   4 files changed, 7 insertions(+), 54 deletions(-)
>   delete mode 100644 drivers/serial/serial_rockchip.c
>

Please check this series. Though I run buildman, I don't have a rockchip 
board to test. Thanks.

Best regards,
Thomas

> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index ab50f4e..2afdcc5 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -33,9 +33,15 @@ config DM_I2C
>   config DM_GPIO
>   	default y
>
> -config ROCKCHIP_SERIAL
> +config NS16550_SERIAL
> +	depends on DM_SERIAL
>   	default y
>
> +config SYS_NS16550_CLK
> +	int
> +	depends on NS16550_SERIAL
> +	default 24000000
> +
>   source "arch/arm/mach-rockchip/rk3288/Kconfig"
>
>   endif
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index abcf2aa..353d26d 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -177,15 +177,6 @@ config ALTERA_UART
>   	  Select this to enable an UART for Altera devices. Please find
>   	  details on the "Embedded Peripherals IP User Guide" of Altera.
>
> -config ROCKCHIP_SERIAL
> -	bool "Rockchip on-chip UART support"
> -	depends on ARCH_ROCKCHIP && DM_SERIAL
> -	help
> -	  Select this to enable a debug UART for Rockchip devices. This uses
> -	  the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
> -	  your board config header. The clock input is automatically set to
> -	  use the oscillator (24MHz).
> -
>   config NS16550_SERIAL
>   	bool "NS16550 UART or compatible"
>   	depends on DM_SERIAL
> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
> index 9f61113..debc175 100644
> --- a/drivers/serial/Makefile
> +++ b/drivers/serial/Makefile
> @@ -40,7 +40,6 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
>   obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
>   obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
>   obj-$(CONFIG_MXS_AUART) += mxs_auart.o
> -obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
>   obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
>   obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
>   obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
> diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c
> deleted file mode 100644
> index 0e7bbfc..0000000
> --- a/drivers/serial/serial_rockchip.c
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -/*
> - * Copyright (c) 2015 Google, Inc
> - *
> - * SPDX-License-Identifier:	GPL-2.0+
> - */
> -
> -#include <common.h>
> -#include <dm.h>
> -#include <ns16550.h>
> -#include <serial.h>
> -#include <asm/arch/clock.h>
> -
> -static const struct udevice_id rockchip_serial_ids[] = {
> -	{ .compatible = "rockchip,rk3288-uart" },
> -	{ }
> -};
> -
> -static int rockchip_serial_ofdata_to_platdata(struct udevice *dev)
> -{
> -	struct ns16550_platdata *plat = dev_get_platdata(dev);
> -	int ret;
> -
> -	ret = ns16550_serial_ofdata_to_platdata(dev);
> -	if (ret)
> -		return ret;
> -
> -	/* Do all Rockchip parts use 24MHz? */
> -	plat->clock = 24 * 1000000;
> -
> -	return 0;
> -}
> -
> -U_BOOT_DRIVER(serial_ns16550) = {
> -	.name	= "serial_rockchip",
> -	.id	= UCLASS_SERIAL,
> -	.of_match = rockchip_serial_ids,
> -	.ofdata_to_platdata = rockchip_serial_ofdata_to_platdata,
> -	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> -	.priv_auto_alloc_size = sizeof(struct NS16550),
> -	.probe = ns16550_serial_probe,
> -	.ops	= &ns16550_serial_ops,
> -	.flags	= DM_FLAG_PRE_RELOC,
> -};
>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default
  2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-16 18:22   ` Tom Rini
@ 2015-11-18  0:51   ` Bin Meng
  2015-11-18  1:53     ` Thomas Chou
  1 sibling, 1 reply; 112+ messages in thread
From: Bin Meng @ 2015-11-18  0:51 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On Mon, Nov 16, 2015 at 10:36 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> ---
>  drivers/serial/Kconfig | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index d462244..9476a00 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -54,6 +54,13 @@ choice
>         prompt "Select which UART will provide the debug UART"
>         depends on DEBUG_UART
>
> +config DEBUG_UART_NS16550
> +       bool "ns16550"
> +       help
> +         Select this to enable a debug UART using the ns16550 driver. You
> +         will need to provide parameters to make this work. The driver will
> +         be available until the real driver model serial is running.

Can you please add a comment above this option saying that we should
keep DEBUG_UART_NS16550 the first one so that it shows as the default
in the kconfig? This is to give a hint to someone else in the future
who touches this file and avoid any further unwanted changes.

> +
>  config DEBUG_UART_ALTERA_JTAGUART
>         bool "Altera JTAG UART"
>         help
> @@ -68,13 +75,6 @@ config DEBUG_UART_ALTERA_UART
>           You will need to provide parameters to make this work. The driver will
>           be available until the real driver model serial is running.
>
> -config DEBUG_UART_NS16550
> -       bool "ns16550"
> -       help
> -         Select this to enable a debug UART using the ns16550 driver. You
> -         will need to provide parameters to make this work. The driver will
> -         be available until the real driver model serial is running.
> -
>  config DEBUG_EFI_CONSOLE
>         bool "EFI"
>         depends on EFI_APP
> --

Regards,
Bin

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers
  2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-16 18:22   ` Tom Rini
@ 2015-11-18  1:03   ` Bin Meng
  2015-11-18  1:59     ` Thomas Chou
  1 sibling, 1 reply; 112+ messages in thread
From: Bin Meng @ 2015-11-18  1:03 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On Mon, Nov 16, 2015 at 10:36 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
>
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  drivers/serial/Kconfig   | 11 +++++++++++
>  drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 55 insertions(+)
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 9476a00..1261356 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -186,6 +186,17 @@ config ROCKCHIP_SERIAL
>           your board config header. The clock input is automatically set to
>           use the oscillator (24MHz).
>
> +config NS16550_SERIAL
> +       bool "NS16550 UART or compatible"
> +       depends on DM_SERIAL
> +       help
> +         Support NS16550 UART or compatible with driver model. This can be
> +         enabled in the device tree with the correct input clock frequency.
> +         If the input clock frequency is not defined in the device tree,
> +         the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
> +         file will be used. It can be a constant or a function to get clock,
> +         eg, get_serial_clock().
> +
>  config SANDBOX_SERIAL
>         bool "Sandbox UART support"
>         depends on SANDBOX
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 8d028de..f0a9aac 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
>
>  #ifdef CONFIG_DM_SERIAL
>
> +#ifndef CONFIG_SYS_NS16550_CLK
> +#define CONFIG_SYS_NS16550_CLK  0
> +#endif
> +
>  static inline void serial_out_shift(void *addr, int shift, int value)
>  {
>  #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
> @@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>         plat->base = addr;
>         plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>                                          "reg-shift", 1);
> +#ifdef CONFIG_NS16550_SERIAL

Is this #ifdef necessary?

> +       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
> +                                    "clock-frequency",
> +                                    CONFIG_SYS_NS16550_CLK);
> +       if (!plat->clock) {
> +               debug("ns16550 clock not defined\n");
> +               return -EINVAL;
> +       }
> +#endif /* CONFIG_NS16550_SERIAL */
>
>         return 0;
>  }
> @@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
>         .getc = ns16550_serial_getc,
>         .setbrg = ns16550_serial_setbrg,
>  };
> +
> +#ifdef CONFIG_NS16550_SERIAL

Ditto.

> +#if CONFIG_IS_ENABLED(OF_CONTROL)

This line should be removed too?

> +static const struct udevice_id ns16550_serial_ids[] = {
> +       { .compatible = "ns16550" },
> +       { .compatible = "ns16550a" },
> +       { .compatible = "nvidia,tegra20-uart" },
> +       { .compatible = "snps,dw-apb-uart" },
> +       { .compatible = "ti,omap2-uart" },
> +       { .compatible = "ti,omap3-uart" },
> +       { .compatible = "ti,omap4-uart" },
> +       { .compatible = "ti,am3352-uart" },
> +       { .compatible = "ti,am4372-uart" },
> +       { .compatible = "ti,dra742-uart" },
> +       {}
> +};
> +#endif
> +
> +U_BOOT_DRIVER(ns16550_serial) = {
> +       .name   = "ns16550_serial",
> +       .id     = UCLASS_SERIAL,
> +#if CONFIG_IS_ENABLED(OF_CONTROL)
> +       .of_match = ns16550_serial_ids,
> +       .ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
> +       .platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> +#endif
> +       .priv_auto_alloc_size = sizeof(struct NS16550),
> +       .probe = ns16550_serial_probe,
> +       .ops    = &ns16550_serial_ops,
> +};
> +#endif /* CONFIG_NS16550_SERIAL */
>  #endif /* CONFIG_DM_SERIAL */
> --

Regards,
Bin

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 05/12] ns16550: unify serial_x86
  2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
  2015-11-16 18:22   ` Tom Rini
@ 2015-11-18  1:07   ` Bin Meng
  2015-11-18  2:02     ` Thomas Chou
  1 sibling, 1 reply; 112+ messages in thread
From: Bin Meng @ 2015-11-18  1:07 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On Mon, Nov 16, 2015 at 10:36 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_x86, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  arch/x86/Kconfig            |  4 ++++
>  arch/x86/dts/serial.dtsi    |  2 +-
>  configs/efi-x86_defconfig   |  2 +-
>  drivers/serial/Kconfig      | 10 ----------
>  drivers/serial/Makefile     |  1 -
>  drivers/serial/serial_x86.c | 44 --------------------------------------------
>  6 files changed, 6 insertions(+), 57 deletions(-)
>  delete mode 100644 drivers/serial/serial_x86.c
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f92082d..61011c9 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -422,4 +422,8 @@ config PCIE_ECAM_SIZE
>
>  source "arch/x86/lib/efi/Kconfig"
>
> +config NS16550_SERIAL
> +       depends on DM_SERIAL
> +       default y

I am not in favor of adding driver options to arch Kconfig. I would
suggest updating NS16550_SERIAL option in driver/serial/Kconfig, like
what was done in X86_SERIAL before:

config NS16550_SERIAL
        default y if X86

> +
>  endmenu
> diff --git a/arch/x86/dts/serial.dtsi b/arch/x86/dts/serial.dtsi
> index 6865eed..54c3faf 100644
> --- a/arch/x86/dts/serial.dtsi
> +++ b/arch/x86/dts/serial.dtsi
> @@ -1,6 +1,6 @@
>  / {
>         serial: serial {
> -               compatible = "x86-uart";
> +               compatible = "ns16550";
>                 reg = <0x3f8 8>;
>                 reg-shift = <0>;
>                 clock-frequency = <1843200>;
> diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
> index 43fb0c4..b1573df 100644
> --- a/configs/efi-x86_defconfig
> +++ b/configs/efi-x86_defconfig
> @@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
>  CONFIG_DEFAULT_DEVICE_TREE="efi"
>  CONFIG_TARGET_EFI=y
>  CONFIG_TSC_CALIBRATION_BYPASS=y
> +# CONFIG_NS16550_SERIAL is not set
>  # CONFIG_CMD_BOOTM is not set
>  # CONFIG_CMD_NET is not set
>  CONFIG_OF_CONTROL=y
> @@ -12,5 +13,4 @@ CONFIG_DEBUG_UART=y
>  CONFIG_DEBUG_EFI_CONSOLE=y
>  CONFIG_DEBUG_UART_BASE=0
>  CONFIG_DEBUG_UART_CLOCK=0
> -# CONFIG_X86_SERIAL is not set
>  CONFIG_EFI=y
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 1261356..abcf2aa 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -224,14 +224,4 @@ config UNIPHIER_SERIAL
>           If you have a UniPhier based board and want to use the on-chip
>           serial ports, say Y to this option. If unsure, say N.
>
> -config X86_SERIAL
> -       bool "Support for 16550 serial port on x86 machines"
> -       depends on X86
> -       default y
> -       help
> -         Most x86 machines have a ns16550 UART or compatible. This can be
> -         enabled in the device tree with the correct input clock frequency
> -         provided (default 1843200). Enable this to obtain serial console
> -         output.
> -
>  endmenu
> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
> index 1818c7c..9036a8e 100644
> --- a/drivers/serial/Makefile
> +++ b/drivers/serial/Makefile
> @@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
>  obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
>  obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
>  obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
> -obj-$(CONFIG_X86_SERIAL) += serial_x86.o
>  obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
>
>  ifndef CONFIG_SPL_BUILD
> diff --git a/drivers/serial/serial_x86.c b/drivers/serial/serial_x86.c
> deleted file mode 100644
> index 4bf6062..0000000
> --- a/drivers/serial/serial_x86.c
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/*
> - * Copyright (c) 2014 Google, Inc
> - *
> - * SPDX-License-Identifier:    GPL-2.0+
> - */
> -
> -#include <common.h>
> -#include <dm.h>
> -#include <fdtdec.h>
> -#include <ns16550.h>
> -#include <serial.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
> -
> -static const struct udevice_id x86_serial_ids[] = {
> -       { .compatible = "x86-uart" },
> -       { }
> -};
> -
> -static int x86_serial_ofdata_to_platdata(struct udevice *dev)
> -{
> -       struct ns16550_platdata *plat = dev_get_platdata(dev);
> -       int ret;
> -
> -       ret = ns16550_serial_ofdata_to_platdata(dev);
> -       if (ret)
> -               return ret;
> -
> -       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
> -                                    "clock-frequency", 1843200);
> -
> -       return 0;
> -}
> -
> -U_BOOT_DRIVER(serial_ns16550) = {
> -       .name   = "serial_x86",
> -       .id     = UCLASS_SERIAL,
> -       .of_match = x86_serial_ids,
> -       .ofdata_to_platdata = x86_serial_ofdata_to_platdata,
> -       .platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> -       .priv_auto_alloc_size = sizeof(struct NS16550),
> -       .probe = ns16550_serial_probe,
> -       .ops    = &ns16550_serial_ops,
> -};
> --

Regards,
Bin

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default
  2015-11-18  0:51   ` Bin Meng
@ 2015-11-18  1:53     ` Thomas Chou
  0 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18  1:53 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On 2015?11?18? 08:51, Bin Meng wrote:
>> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
>> index d462244..9476a00 100644
>> --- a/drivers/serial/Kconfig
>> +++ b/drivers/serial/Kconfig
>> @@ -54,6 +54,13 @@ choice
>>          prompt "Select which UART will provide the debug UART"
>>          depends on DEBUG_UART
>>
>> +config DEBUG_UART_NS16550
>> +       bool "ns16550"
>> +       help
>> +         Select this to enable a debug UART using the ns16550 driver. You
>> +         will need to provide parameters to make this work. The driver will
>> +         be available until the real driver model serial is running.
>
> Can you please add a comment above this option saying that we should
> keep DEBUG_UART_NS16550 the first one so that it shows as the default
> in the kconfig? This is to give a hint to someone else in the future
> who touches this file and avoid any further unwanted changes.
>

OK. Thanks for the suggestion.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers
  2015-11-18  1:03   ` Bin Meng
@ 2015-11-18  1:59     ` Thomas Chou
  0 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18  1:59 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On 2015?11?18? 09:03, Bin Meng wrote:
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index 8d028de..f0a9aac 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
>>
>>   #ifdef CONFIG_DM_SERIAL
>>
>> +#ifndef CONFIG_SYS_NS16550_CLK
>> +#define CONFIG_SYS_NS16550_CLK  0
>> +#endif
>> +
>>   static inline void serial_out_shift(void *addr, int shift, int value)
>>   {
>>   #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
>> @@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>>          plat->base = addr;
>>          plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>>                                           "reg-shift", 1);
>> +#ifdef CONFIG_NS16550_SERIAL
>
> Is this #ifdef necessary?
>
>> +       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>> +                                    "clock-frequency",
>> +                                    CONFIG_SYS_NS16550_CLK);
>> +       if (!plat->clock) {
>> +               debug("ns16550 clock not defined\n");
>> +               return -EINVAL;
>> +       }
>> +#endif /* CONFIG_NS16550_SERIAL */
>>
>>          return 0;
>>   }
>> @@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
>>          .getc = ns16550_serial_getc,
>>          .setbrg = ns16550_serial_setbrg,
>>   };
>> +
>> +#ifdef CONFIG_NS16550_SERIAL
>
> Ditto.

These #ifdef is needed during the transition. They will be removed as a 
follow-up of this series.

>
>> +#if CONFIG_IS_ENABLED(OF_CONTROL)
>
> This line should be removed too?
>

Some spl build with DM platdata but not of_control. So this is needed.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 05/12] ns16550: unify serial_x86
  2015-11-18  1:07   ` Bin Meng
@ 2015-11-18  2:02     ` Thomas Chou
  0 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18  2:02 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On 2015?11?18? 09:07, Bin Meng wrote:
> Hi Thomas,
>
> On Mon, Nov 16, 2015 at 10:36 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Unify serial_x86, and use the generic binding.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> ---
>>   arch/x86/Kconfig            |  4 ++++
>>   arch/x86/dts/serial.dtsi    |  2 +-
>>   configs/efi-x86_defconfig   |  2 +-
>>   drivers/serial/Kconfig      | 10 ----------
>>   drivers/serial/Makefile     |  1 -
>>   drivers/serial/serial_x86.c | 44 --------------------------------------------
>>   6 files changed, 6 insertions(+), 57 deletions(-)
>>   delete mode 100644 drivers/serial/serial_x86.c
>>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index f92082d..61011c9 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -422,4 +422,8 @@ config PCIE_ECAM_SIZE
>>
>>   source "arch/x86/lib/efi/Kconfig"
>>
>> +config NS16550_SERIAL
>> +       depends on DM_SERIAL
>> +       default y
>
> I am not in favor of adding driver options to arch Kconfig. I would
> suggest updating NS16550_SERIAL option in driver/serial/Kconfig, like
> what was done in X86_SERIAL before:
>
> config NS16550_SERIAL
>          default y if X86
>

Thanks for reminding. I was trying to recall how to use this "if". :)

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (11 preceding siblings ...)
  2015-11-16 14:36 ` [U-Boot] [PATCH 12/12] nios2: 10m50: change to ns16550 uart Thomas Chou
@ 2015-11-18 13:44 ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
                     ` (12 more replies)
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  13 siblings, 13 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

v2
  use default in driver Kconfig as suggested by Bin Meng.
  remove extra #ifdef CONFIG_NS16550_SERIAL.
  zap CONFIG_NS16550_SERIAL.
  move CONFIG_SYS_NS16550 to Kconfig.

Thomas Chou (13):
  debug_uart: restore ns16550 as default
  ns16550: change map_sysmem to map_physmem
  ns16550: add generic binding to unify the drivers
  ns16550: unify serial_x86
  ns16550: unify serial_ppc
  ns16550: unify serial_rockchip
  ns16550: unify serial_keystone
  ns16550: unify serial_dw
  ns16550: unify serial_tegra
  ns16550: unify serial_omap
  ns16550: zap CONFIG_NS16550_SERIAL
  ns16550: move CONFIG_SYS_NS16550 to Kconfig
  nios2: 10m50: change to ns16550 uart

 arch/arm/dts/rk3288.dtsi                           |  5 ++
 arch/arm/include/asm/arch-lpc32xx/config.h         |  1 -
 arch/arm/mach-rockchip/Kconfig                     |  3 --
 arch/arm/mach-tegra/board.c                        | 14 ++++++
 arch/nios2/dts/10m50_devboard.dts                  |  2 +-
 arch/powerpc/include/asm/config.h                  |  4 ++
 arch/x86/dts/serial.dtsi                           |  2 +-
 board/isee/igep00x0/igep00x0.c                     |  2 +-
 board/lge/sniper/sniper.c                          |  2 +-
 board/logicpd/omap3som/omap3logic.c                |  2 +-
 board/logicpd/zoom1/zoom1.c                        |  2 +-
 board/overo/overo.c                                |  2 +-
 board/quipos/cairo/cairo.c                         |  2 +-
 board/ti/beagle/beagle.c                           |  2 +-
 board/timll/devkit8000/devkit8000.c                |  2 +-
 configs/10m50_defconfig                            |  2 +-
 configs/A10-OLinuXino-Lime_defconfig               |  1 +
 configs/A10s-OLinuXino-M_defconfig                 |  3 +-
 configs/A13-OLinuXinoM_defconfig                   |  3 +-
 configs/A13-OLinuXino_defconfig                    |  4 +-
 configs/A20-OLinuXino-Lime2_defconfig              |  1 +
 configs/A20-OLinuXino-Lime_defconfig               |  1 +
 configs/A20-OLinuXino_MICRO_defconfig              |  1 +
 configs/A20-Olimex-SOM-EVB_defconfig               |  1 +
 configs/Ainol_AW1_defconfig                        |  1 +
 configs/Ampe_A76_defconfig                         |  1 +
 configs/Auxtek-T003_defconfig                      |  3 +-
 configs/Auxtek-T004_defconfig                      |  3 +-
 configs/B4420QDS_NAND_defconfig                    |  1 +
 configs/B4420QDS_SPIFLASH_defconfig                |  1 +
 configs/B4420QDS_defconfig                         |  1 +
 configs/B4860QDS_NAND_defconfig                    |  1 +
 configs/B4860QDS_SECURE_BOOT_defconfig             |  1 +
 configs/B4860QDS_SPIFLASH_defconfig                |  1 +
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/B4860QDS_defconfig                         |  1 +
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig        |  1 +
 configs/BSC9131RDB_NAND_defconfig                  |  1 +
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig    |  1 +
 configs/BSC9131RDB_SPIFLASH_defconfig              |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig        |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig        |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig  |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig         |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig  |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig         |  1 +
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig      |  1 +
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig      |  1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig    |  1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig    |  1 +
 configs/Bananapi_defconfig                         |  1 +
 configs/Bananapro_defconfig                        |  1 +
 configs/C29XPCIE_NAND_defconfig                    |  1 +
 configs/C29XPCIE_NOR_SECBOOT_defconfig             |  1 +
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig        |  1 +
 configs/C29XPCIE_SPIFLASH_defconfig                |  1 +
 configs/C29XPCIE_defconfig                         |  1 +
 configs/CHIP_defconfig                             |  1 +
 configs/CPCI2DP_defconfig                          |  1 +
 configs/CPCI4052_defconfig                         |  1 +
 configs/CSQ_CS908_defconfig                        |  3 +-
 configs/Chuwi_V7_CW0825_defconfig                  |  1 +
 configs/Colombus_defconfig                         |  1 +
 configs/Cubieboard2_defconfig                      |  1 +
 configs/Cubieboard_defconfig                       |  1 +
 configs/Cubietruck_defconfig                       |  8 ++--
 configs/Cyrus_P5020_defconfig                      |  3 +-
 configs/Cyrus_P5040_defconfig                      |  3 +-
 configs/Hummingbird_A31_defconfig                  |  1 +
 configs/Hyundai_A7HD_defconfig                     |  1 +
 configs/Linksprite_pcDuino3_Nano_defconfig         |  1 +
 configs/Linksprite_pcDuino3_defconfig              |  1 +
 configs/Linksprite_pcDuino_defconfig               |  1 +
 configs/MIP405T_defconfig                          |  1 +
 configs/MIP405_defconfig                           |  1 +
 configs/MK808C_defconfig                           |  1 +
 configs/MPC8308RDB_defconfig                       |  1 +
 configs/MPC8313ERDB_33_defconfig                   |  1 +
 configs/MPC8313ERDB_66_defconfig                   |  1 +
 configs/MPC8313ERDB_NAND_33_defconfig              |  1 +
 configs/MPC8313ERDB_NAND_66_defconfig              |  1 +
 configs/MPC8315ERDB_defconfig                      |  1 +
 configs/MPC8323ERDB_defconfig                      |  1 +
 configs/MPC832XEMDS_ATM_defconfig                  |  1 +
 configs/MPC832XEMDS_HOST_33_defconfig              |  1 +
 configs/MPC832XEMDS_HOST_66_defconfig              |  1 +
 configs/MPC832XEMDS_SLAVE_defconfig                |  1 +
 configs/MPC832XEMDS_defconfig                      |  1 +
 configs/MPC8349EMDS_defconfig                      |  1 +
 configs/MPC8349ITXGP_defconfig                     |  1 +
 configs/MPC8349ITX_LOWBOOT_defconfig               |  1 +
 configs/MPC8349ITX_defconfig                       |  1 +
 configs/MPC837XEMDS_HOST_defconfig                 |  1 +
 configs/MPC837XEMDS_defconfig                      |  1 +
 configs/MPC837XERDB_defconfig                      |  1 +
 configs/MPC8536DS_36BIT_defconfig                  |  1 +
 configs/MPC8536DS_SDCARD_defconfig                 |  1 +
 configs/MPC8536DS_SPIFLASH_defconfig               |  1 +
 configs/MPC8536DS_defconfig                        |  1 +
 configs/MPC8540ADS_defconfig                       |  1 +
 configs/MPC8541CDS_defconfig                       |  1 +
 configs/MPC8541CDS_legacy_defconfig                |  1 +
 configs/MPC8544DS_defconfig                        |  1 +
 configs/MPC8548CDS_36BIT_defconfig                 |  1 +
 configs/MPC8548CDS_defconfig                       |  1 +
 configs/MPC8548CDS_legacy_defconfig                |  1 +
 configs/MPC8555CDS_defconfig                       |  1 +
 configs/MPC8555CDS_legacy_defconfig                |  1 +
 configs/MPC8568MDS_defconfig                       |  1 +
 configs/MPC8569MDS_ATM_defconfig                   |  1 +
 configs/MPC8569MDS_defconfig                       |  1 +
 configs/MPC8572DS_36BIT_defconfig                  |  1 +
 configs/MPC8572DS_defconfig                        |  1 +
 configs/MPC8610HPCD_defconfig                      |  1 +
 configs/MPC8641HPCN_36BIT_defconfig                |  1 +
 configs/MPC8641HPCN_defconfig                      |  1 +
 configs/MSI_Primo73_defconfig                      |  1 +
 configs/MSI_Primo81_defconfig                      |  1 +
 configs/Marsboard_A10_defconfig                    |  1 +
 configs/Mele_A1000G_quad_defconfig                 |  3 +-
 configs/Mele_A1000_defconfig                       |  1 +
 configs/Mele_I7_defconfig                          |  3 +-
 configs/Mele_M3_defconfig                          |  1 +
 configs/Mele_M5_defconfig                          |  1 +
 configs/Mele_M9_defconfig                          |  3 +-
 configs/Merrii_A80_Optimus_defconfig               |  1 +
 configs/Mini-X_defconfig                           |  1 +
 configs/Orangepi_defconfig                         |  1 +
 configs/Orangepi_mini_defconfig                    |  1 +
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig           |  1 +
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig    |  1 +
 configs/P1010RDB-PA_36BIT_NOR_defconfig            |  1 +
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig         |  1 +
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PA_NAND_defconfig                 |  1 +
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig          |  1 +
 configs/P1010RDB-PA_NOR_defconfig                  |  1 +
 configs/P1010RDB-PA_SDCARD_defconfig               |  1 +
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig     |  1 +
 configs/P1010RDB-PA_SPIFLASH_defconfig             |  1 +
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig           |  1 +
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig    |  1 +
 configs/P1010RDB-PB_36BIT_NOR_defconfig            |  1 +
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig         |  1 +
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PB_NAND_defconfig                 |  1 +
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig          |  1 +
 configs/P1010RDB-PB_NOR_defconfig                  |  1 +
 configs/P1010RDB-PB_SDCARD_defconfig               |  1 +
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig     |  1 +
 configs/P1010RDB-PB_SPIFLASH_defconfig             |  1 +
 configs/P1020MBG-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020MBG-PC_36BIT_defconfig                |  1 +
 configs/P1020MBG-PC_SDCARD_defconfig               |  1 +
 configs/P1020MBG-PC_defconfig                      |  1 +
 configs/P1020RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1020RDB-PC_36BIT_defconfig                |  1 +
 configs/P1020RDB-PC_NAND_defconfig                 |  1 +
 configs/P1020RDB-PC_SDCARD_defconfig               |  1 +
 configs/P1020RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P1020RDB-PC_defconfig                      |  1 +
 configs/P1020RDB-PD_NAND_defconfig                 |  1 +
 configs/P1020RDB-PD_SDCARD_defconfig               |  1 +
 configs/P1020RDB-PD_SPIFLASH_defconfig             |  1 +
 configs/P1020RDB-PD_defconfig                      |  1 +
 configs/P1020UTM-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020UTM-PC_36BIT_defconfig                |  1 +
 configs/P1020UTM-PC_SDCARD_defconfig               |  1 +
 configs/P1020UTM-PC_defconfig                      |  1 +
 configs/P1021RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1021RDB-PC_36BIT_defconfig                |  1 +
 configs/P1021RDB-PC_NAND_defconfig                 |  1 +
 configs/P1021RDB-PC_SDCARD_defconfig               |  1 +
 configs/P1021RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P1021RDB-PC_defconfig                      |  1 +
 configs/P1022DS_36BIT_NAND_defconfig               |  1 +
 configs/P1022DS_36BIT_SDCARD_defconfig             |  1 +
 configs/P1022DS_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1022DS_36BIT_defconfig                    |  1 +
 configs/P1022DS_NAND_defconfig                     |  1 +
 configs/P1022DS_SDCARD_defconfig                   |  1 +
 configs/P1022DS_SPIFLASH_defconfig                 |  1 +
 configs/P1022DS_defconfig                          |  1 +
 configs/P1023RDB_defconfig                         |  1 +
 configs/P1024RDB_36BIT_defconfig                   |  1 +
 configs/P1024RDB_NAND_defconfig                    |  1 +
 configs/P1024RDB_SDCARD_defconfig                  |  1 +
 configs/P1024RDB_SPIFLASH_defconfig                |  1 +
 configs/P1024RDB_defconfig                         |  1 +
 configs/P1025RDB_36BIT_defconfig                   |  1 +
 configs/P1025RDB_NAND_defconfig                    |  1 +
 configs/P1025RDB_SDCARD_defconfig                  |  1 +
 configs/P1025RDB_SPIFLASH_defconfig                |  1 +
 configs/P1025RDB_defconfig                         |  1 +
 configs/P2020RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P2020RDB-PC_36BIT_defconfig                |  1 +
 configs/P2020RDB-PC_NAND_defconfig                 |  1 +
 configs/P2020RDB-PC_SDCARD_defconfig               |  1 +
 configs/P2020RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P2020RDB-PC_defconfig                      |  1 +
 configs/P2041RDB_NAND_defconfig                    |  1 +
 configs/P2041RDB_SDCARD_defconfig                  |  1 +
 configs/P2041RDB_SECURE_BOOT_defconfig             |  1 +
 configs/P2041RDB_SPIFLASH_defconfig                |  1 +
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/P2041RDB_defconfig                         |  1 +
 configs/P3041DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P3041DS_NAND_defconfig                     |  1 +
 configs/P3041DS_SDCARD_defconfig                   |  1 +
 configs/P3041DS_SECURE_BOOT_defconfig              |  1 +
 configs/P3041DS_SPIFLASH_defconfig                 |  1 +
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P3041DS_defconfig                          |  1 +
 configs/P4080DS_SDCARD_defconfig                   |  1 +
 configs/P4080DS_SECURE_BOOT_defconfig              |  1 +
 configs/P4080DS_SPIFLASH_defconfig                 |  1 +
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P4080DS_defconfig                          |  1 +
 configs/P5020DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P5020DS_NAND_defconfig                     |  1 +
 configs/P5020DS_SDCARD_defconfig                   |  1 +
 configs/P5020DS_SECURE_BOOT_defconfig              |  1 +
 configs/P5020DS_SPIFLASH_defconfig                 |  1 +
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P5020DS_defconfig                          |  1 +
 configs/P5040DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P5040DS_NAND_defconfig                     |  1 +
 configs/P5040DS_SDCARD_defconfig                   |  1 +
 configs/P5040DS_SECURE_BOOT_defconfig              |  1 +
 configs/P5040DS_SPIFLASH_defconfig                 |  1 +
 configs/P5040DS_defconfig                          |  1 +
 configs/PIP405_defconfig                           |  1 +
 configs/PLU405_defconfig                           |  1 +
 configs/PMC405DE_defconfig                         |  1 +
 configs/PMC440_defconfig                           |  1 +
 configs/Sinlinx_SinA33_defconfig                   |  1 +
 configs/Sinovoip_BPI_M2_defconfig                  |  3 +-
 configs/T1023RDB_NAND_defconfig                    |  1 +
 configs/T1023RDB_SDCARD_defconfig                  |  1 +
 configs/T1023RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1023RDB_SPIFLASH_defconfig                |  1 +
 configs/T1023RDB_defconfig                         |  1 +
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig        |  1 +
 configs/T1024QDS_DDR4_defconfig                    |  1 +
 configs/T1024QDS_NAND_defconfig                    |  1 +
 configs/T1024QDS_SDCARD_defconfig                  |  1 +
 configs/T1024QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T1024QDS_SPIFLASH_defconfig                |  1 +
 configs/T1024QDS_defconfig                         |  1 +
 configs/T1024RDB_NAND_defconfig                    |  1 +
 configs/T1024RDB_SDCARD_defconfig                  |  1 +
 configs/T1024RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1024RDB_SPIFLASH_defconfig                |  1 +
 configs/T1024RDB_defconfig                         |  1 +
 configs/T1040D4RDB_NAND_defconfig                  |  1 +
 configs/T1040D4RDB_SDCARD_defconfig                |  1 +
 configs/T1040D4RDB_SECURE_BOOT_defconfig           |  1 +
 configs/T1040D4RDB_SPIFLASH_defconfig              |  1 +
 configs/T1040D4RDB_defconfig                       |  1 +
 configs/T1040QDS_DDR4_defconfig                    |  1 +
 configs/T1040QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T1040QDS_defconfig                         |  1 +
 configs/T1040RDB_NAND_defconfig                    |  1 +
 configs/T1040RDB_SDCARD_defconfig                  |  1 +
 configs/T1040RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1040RDB_SPIFLASH_defconfig                |  1 +
 configs/T1040RDB_defconfig                         |  1 +
 configs/T1042D4RDB_NAND_defconfig                  |  1 +
 configs/T1042D4RDB_SDCARD_defconfig                |  1 +
 configs/T1042D4RDB_SECURE_BOOT_defconfig           |  1 +
 configs/T1042D4RDB_SPIFLASH_defconfig              |  1 +
 configs/T1042D4RDB_defconfig                       |  1 +
 configs/T1042RDB_PI_NAND_defconfig                 |  1 +
 configs/T1042RDB_PI_SDCARD_defconfig               |  1 +
 configs/T1042RDB_PI_SPIFLASH_defconfig             |  1 +
 configs/T1042RDB_PI_defconfig                      |  1 +
 configs/T1042RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1042RDB_defconfig                         |  1 +
 configs/T2080QDS_NAND_defconfig                    |  1 +
 configs/T2080QDS_SDCARD_defconfig                  |  1 +
 configs/T2080QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T2080QDS_SPIFLASH_defconfig                |  1 +
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2080QDS_defconfig                         |  1 +
 configs/T2080RDB_NAND_defconfig                    |  1 +
 configs/T2080RDB_SDCARD_defconfig                  |  1 +
 configs/T2080RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T2080RDB_SPIFLASH_defconfig                |  1 +
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2080RDB_defconfig                         |  1 +
 configs/T2081QDS_NAND_defconfig                    |  1 +
 configs/T2081QDS_SDCARD_defconfig                  |  1 +
 configs/T2081QDS_SPIFLASH_defconfig                |  1 +
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2081QDS_defconfig                         |  1 +
 configs/T4160QDS_NAND_defconfig                    |  1 +
 configs/T4160QDS_SDCARD_defconfig                  |  1 +
 configs/T4160QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T4160QDS_defconfig                         |  1 +
 configs/T4160RDB_defconfig                         |  1 +
 configs/T4240QDS_NAND_defconfig                    |  1 +
 configs/T4240QDS_SDCARD_defconfig                  |  1 +
 configs/T4240QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T4240QDS_defconfig                         |  1 +
 configs/T4240RDB_SDCARD_defconfig                  |  1 +
 configs/T4240RDB_defconfig                         |  1 +
 configs/TQM834x_defconfig                          |  1 +
 configs/TWR-P1025_defconfig                        |  1 +
 configs/UCP1020_SPIFLASH_defconfig                 |  1 +
 configs/UCP1020_defconfig                          |  1 +
 configs/UTOO_P66_defconfig                         |  1 +
 configs/VOM405_defconfig                           |  1 +
 configs/Wexler_TAB7200_defconfig                   |  1 +
 configs/Wits_Pro_A20_DKT_defconfig                 |  1 +
 configs/Wobo_i5_defconfig                          |  1 +
 configs/Yones_Toptech_BD1078_defconfig             |  1 +
 configs/acadia_defconfig                           |  1 +
 configs/adp-ag101p_defconfig                       |  1 +
 configs/am335x_baltos_defconfig                    |  3 +-
 configs/am335x_boneblack_defconfig                 |  3 +-
 configs/am335x_boneblack_vboot_defconfig           |  5 +-
 configs/am335x_evm_defconfig                       |  3 +-
 configs/am335x_evm_nor_defconfig                   |  3 +-
 configs/am335x_evm_norboot_defconfig               |  1 +
 configs/am335x_evm_spiboot_defconfig               |  3 +-
 configs/am335x_evm_usbspl_defconfig                |  3 +-
 configs/am335x_gp_evm_defconfig                    |  7 +--
 configs/am335x_igep0033_defconfig                  |  3 +-
 configs/am335x_sl50_defconfig                      |  3 +-
 configs/am3517_crane_defconfig                     |  1 +
 configs/am3517_evm_defconfig                       |  1 +
 configs/am437x_gp_evm_defconfig                    | 10 ++--
 configs/am437x_sk_evm_defconfig                    | 10 ++--
 configs/am43xx_evm_defconfig                       |  1 +
 configs/am43xx_evm_ethboot_defconfig               |  1 +
 configs/am43xx_evm_qspiboot_defconfig              |  1 +
 configs/am43xx_evm_usbhost_boot_defconfig          |  1 +
 configs/am57xx_evm_defconfig                       |  9 ++--
 configs/apalis_t30_defconfig                       |  1 +
 configs/arches_defconfig                           |  1 +
 configs/aspenite_defconfig                         |  1 +
 configs/axs101_defconfig                           |  1 +
 configs/axs103_defconfig                           |  1 +
 configs/ba10_tv_box_defconfig                      |  1 +
 configs/bamboo_defconfig                           |  1 +
 configs/bayleybay_defconfig                        |  1 +
 configs/bcm11130_defconfig                         |  1 +
 configs/bcm11130_nand_defconfig                    |  1 +
 configs/bcm28155_ap_defconfig                      |  1 +
 configs/bcm28155_w1d_defconfig                     |  1 +
 configs/bcm911360_entphn-ns_defconfig              |  1 +
 configs/bcm911360_entphn_defconfig                 |  1 +
 configs/bcm911360k_defconfig                       |  1 +
 configs/bcm958300k-ns_defconfig                    |  1 +
 configs/bcm958300k_defconfig                       |  1 +
 configs/bcm958305k_defconfig                       |  1 +
 configs/bcm958622hr_defconfig                      |  1 +
 configs/beagle_x15_defconfig                       |  1 +
 configs/beaver_defconfig                           |  1 +
 configs/bf527-ezkit_defconfig                      |  2 +-
 configs/birdland_bav335a_defconfig                 |  1 +
 configs/birdland_bav335b_defconfig                 |  1 +
 configs/bubinga_defconfig                          |  1 +
 configs/caddy2_defconfig                           |  1 +
 configs/cairo_defconfig                            |  1 +
 configs/calimain_defconfig                         |  1 +
 configs/canyonlands_defconfig                      |  1 +
 configs/cardhu_defconfig                           |  1 +
 configs/chromebook_jerry_defconfig                 |  3 +-
 configs/chromebook_link_defconfig                  |  3 +-
 configs/chromebox_panther_defconfig                |  2 +-
 configs/cm_t335_defconfig                          |  1 +
 configs/cm_t3517_defconfig                         |  1 +
 configs/cm_t35_defconfig                           |  1 +
 configs/cm_t43_defconfig                           |  1 +
 configs/cm_t54_defconfig                           |  1 +
 configs/colibri_t20_defconfig                      |  1 +
 configs/colibri_t30_defconfig                      |  1 +
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |  5 +-
 configs/controlcenterd_36BIT_SDCARD_defconfig      |  5 +-
 .../controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |  3 +-
 configs/controlcenterd_TRAILBLAZER_defconfig       |  3 +-
 configs/coreboot-x86_defconfig                     |  2 +-
 configs/crownbay_defconfig                         |  1 +
 configs/d2net_v2_defconfig                         |  1 +
 configs/da850_am18xxevm_defconfig                  |  1 +
 configs/da850evm_defconfig                         |  1 +
 configs/da850evm_direct_nor_defconfig              |  1 +
 configs/dalmore_defconfig                          |  1 +
 configs/db-88f6820-gp_defconfig                    |  1 +
 configs/db-mv784mp-gp_defconfig                    |  1 +
 configs/devconcenter_defconfig                     |  1 +
 configs/devkit3250_defconfig                       |  1 +
 configs/devkit8000_defconfig                       |  1 +
 configs/dlvision-10g_defconfig                     |  1 +
 configs/dlvision_defconfig                         |  1 +
 configs/dns325_defconfig                           |  1 +
 configs/dockstar_defconfig                         |  1 +
 configs/dra72_evm_defconfig                        |  1 +
 configs/dra74_evm_defconfig                        |  6 +--
 configs/dra7xx_evm_defconfig                       |  3 +-
 configs/dra7xx_evm_qspiboot_defconfig              |  3 +-
 configs/dra7xx_evm_uart3_defconfig                 |  3 +-
 configs/draco_defconfig                            |  1 +
 configs/dreamplug_defconfig                        |  9 ++--
 configs/duovero_defconfig                          |  1 +
 configs/e2220-1170_defconfig                       |  1 +
 configs/ea20_defconfig                             |  1 +
 configs/eco5pk_defconfig                           |  1 +
 configs/edminiv2_defconfig                         |  1 +
 configs/efi-x86_defconfig                          |  1 -
 configs/firefly-rk3288_defconfig                   |  3 +-
 configs/fx12mm_defconfig                           |  1 +
 configs/fx12mm_flash_defconfig                     |  1 +
 configs/ga10h_v1_1_defconfig                       |  1 +
 configs/galileo_defconfig                          |  1 +
 configs/gdppc440etx_defconfig                      |  1 +
 configs/glacier_defconfig                          |  1 +
 configs/glacier_ramboot_defconfig                  |  1 +
 configs/goflexhome_defconfig                       |  1 +
 configs/gplugd_defconfig                           |  1 +
 configs/gr_xc3s_1500_defconfig                     |  2 +-
 configs/gt90h_v4_defconfig                         |  1 +
 configs/guruplug_defconfig                         |  7 +--
 configs/gwventana_defconfig                        |  2 +-
 configs/haleakala_defconfig                        |  1 +
 configs/harmony_defconfig                          |  1 +
 configs/hrcon_defconfig                            |  1 +
 configs/hrcon_dh_defconfig                         |  4 +-
 configs/i12-tvbox_defconfig                        |  1 +
 configs/iNet_3F_defconfig                          |  1 +
 configs/iNet_3W_defconfig                          |  1 +
 configs/iNet_86VS_defconfig                        |  1 +
 configs/ib62x0_defconfig                           |  7 +--
 configs/icon_defconfig                             |  1 +
 configs/iconnect_defconfig                         |  1 +
 configs/ids8313_defconfig                          |  1 +
 configs/igep0020_defconfig                         |  1 +
 configs/igep0020_nand_defconfig                    |  1 +
 configs/igep0030_defconfig                         |  1 +
 configs/igep0030_nand_defconfig                    |  1 +
 configs/igep0032_defconfig                         |  1 +
 configs/inet1_defconfig                            |  1 +
 configs/inet97fv2_defconfig                        |  1 +
 configs/inet98v_rev2_defconfig                     |  1 +
 configs/inet9f_rev03_defconfig                     |  1 +
 configs/inetspace_v2_defconfig                     |  1 +
 configs/intip_defconfig                            |  1 +
 configs/io64_defconfig                             |  1 +
 configs/io_defconfig                               |  1 +
 configs/iocon_defconfig                            |  1 +
 configs/ipam390_defconfig                          |  1 +
 configs/jesurun_q5_defconfig                       |  1 +
 configs/jetson-tk1_defconfig                       |  1 +
 configs/k2e_evm_defconfig                          |  1 +
 configs/k2g_evm_defconfig                          |  7 ++-
 configs/k2hk_evm_defconfig                         |  1 +
 configs/k2l_evm_defconfig                          |  1 +
 configs/katmai_defconfig                           |  1 +
 configs/kilauea_defconfig                          |  1 +
 configs/km_kirkwood_128m16_defconfig               |  1 +
 configs/km_kirkwood_defconfig                      |  1 +
 configs/km_kirkwood_pci_defconfig                  |  1 +
 configs/kmcoge4_defconfig                          |  1 +
 configs/kmcoge5ne_defconfig                        |  1 +
 configs/kmcoge5un_defconfig                        |  1 +
 configs/kmeter1_defconfig                          |  1 +
 configs/kmlion1_defconfig                          |  1 +
 configs/kmnusa_defconfig                           |  1 +
 configs/kmopti2_defconfig                          |  1 +
 configs/kmsugp1_defconfig                          |  1 +
 configs/kmsupx5_defconfig                          |  1 +
 configs/kmsuv31_defconfig                          |  1 +
 configs/kmvect1_defconfig                          |  1 +
 configs/kwb_defconfig                              |  1 +
 configs/ls1021aqds_ddr4_nor_defconfig              |  1 +
 configs/ls1021aqds_nand_defconfig                  |  1 +
 configs/ls1021aqds_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021aqds_nor_defconfig                   |  1 +
 configs/ls1021aqds_qspi_defconfig                  |  1 +
 configs/ls1021aqds_sdcard_defconfig                |  1 +
 configs/ls1021atwr_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021atwr_nor_defconfig                   |  1 +
 configs/ls1021atwr_qspi_defconfig                  |  1 +
 configs/ls1021atwr_sdcard_ifc_defconfig            |  1 +
 configs/ls1021atwr_sdcard_qspi_defconfig           |  5 +-
 configs/ls1043ardb_defconfig                       |  4 +-
 configs/ls1043ardb_nand_defconfig                  |  5 +-
 configs/ls1043ardb_sdcard_defconfig                |  5 +-
 configs/ls2085a_emu_defconfig                      |  1 +
 configs/ls2085a_simu_defconfig                     |  1 +
 configs/ls2085aqds_defconfig                       |  1 +
 configs/ls2085aqds_nand_defconfig                  |  1 +
 configs/ls2085ardb_defconfig                       |  1 +
 configs/ls2085ardb_nand_defconfig                  |  1 +
 configs/lschlv2_defconfig                          |  1 +
 configs/lsxhl_defconfig                            |  1 +
 configs/luan_defconfig                             |  1 +
 configs/lwmon5_defconfig                           |  1 +
 configs/makalu_defconfig                           |  1 +
 configs/malta_defconfig                            |  1 +
 configs/maltael_defconfig                          |  1 +
 configs/maxbcm_defconfig                           |  1 +
 configs/mcx_defconfig                              |  1 +
 configs/medcom-wide_defconfig                      |  1 +
 configs/mgcoge3un_defconfig                        |  1 +
 configs/minnowmax_defconfig                        |  2 +-
 configs/mixtile_loftq_defconfig                    |  1 +
 configs/mk802_a10s_defconfig                       |  3 +-
 configs/mk802_defconfig                            |  3 +-
 configs/mk802ii_defconfig                          |  1 +
 configs/mpc8308_p1m_defconfig                      |  1 +
 configs/mt_ventoux_defconfig                       |  1 +
 configs/nas220_defconfig                           |  1 +
 configs/neo_defconfig                              |  1 +
 configs/net2big_v2_defconfig                       |  1 +
 configs/netspace_lite_v2_defconfig                 |  1 +
 configs/netspace_max_v2_defconfig                  |  1 +
 configs/netspace_mini_v2_defconfig                 |  1 +
 configs/netspace_v2_defconfig                      |  1 +
 configs/nokia_rx51_defconfig                       |  1 +
 configs/nyan-big_defconfig                         |  2 +-
 configs/odroid-xu3_defconfig                       | 10 ++--
 configs/omap3_beagle_defconfig                     |  1 +
 configs/omap3_evm_defconfig                        |  1 +
 configs/omap3_evm_quick_mmc_defconfig              |  1 +
 configs/omap3_evm_quick_nand_defconfig             |  1 +
 configs/omap3_ha_defconfig                         |  1 +
 configs/omap3_logic_defconfig                      |  1 +
 configs/omap3_overo_defconfig                      |  1 +
 configs/omap3_pandora_defconfig                    |  1 +
 configs/omap3_zoom1_defconfig                      |  1 +
 configs/omap4_panda_defconfig                      |  1 +
 configs/omap4_sdp4430_defconfig                    |  1 +
 configs/omap5_uevm_defconfig                       |  1 +
 configs/omapl138_lcdk_defconfig                    |  1 +
 configs/openrd_base_defconfig                      |  1 +
 configs/openrd_client_defconfig                    |  1 +
 configs/openrd_ultimate_defconfig                  |  1 +
 configs/openrisc-generic_defconfig                 |  1 +
 configs/p2371-0000_defconfig                       |  1 +
 configs/p2371-2180_defconfig                       |  1 +
 configs/p2571_defconfig                            |  1 +
 configs/paz00_defconfig                            |  1 +
 configs/pcm051_rev1_defconfig                      |  1 +
 configs/pcm051_rev3_defconfig                      |  1 +
 configs/pcm052_defconfig                           |  1 -
 configs/peach-pi_defconfig                         |  1 -
 configs/peach-pit_defconfig                        |  1 -
 configs/pengwyn_defconfig                          |  1 +
 configs/pepper_defconfig                           |  1 +
 configs/plutux_defconfig                           |  1 +
 configs/pogo_e02_defconfig                         |  1 +
 configs/portl2_defconfig                           |  1 +
 configs/pov_protab2_ips9_defconfig                 |  1 +
 configs/pxm2_defconfig                             |  1 +
 configs/q8_a13_tablet_defconfig                    |  1 +
 configs/q8_a23_tablet_800x480_defconfig            |  1 +
 configs/q8_a33_tablet_1024x600_defconfig           |  1 +
 configs/q8_a33_tablet_800x480_defconfig            |  1 +
 configs/qemu-ppce500_defconfig                     |  1 +
 configs/qemu-x86_defconfig                         |  1 +
 configs/qemu_mips64_defconfig                      |  1 +
 configs/qemu_mips64el_defconfig                    |  1 +
 configs/qemu_mips_defconfig                        |  1 +
 configs/qemu_mipsel_defconfig                      |  1 +
 configs/r7-tv-dongle_defconfig                     |  3 +-
 configs/rainier_defconfig                          |  1 +
 configs/rainier_ramboot_defconfig                  |  1 +
 configs/rastaban_defconfig                         |  1 +
 configs/redwood_defconfig                          |  1 +
 configs/rut_defconfig                              |  1 +
 configs/sandbox_defconfig                          |  9 ++--
 configs/sbc8349_PCI_33_defconfig                   |  1 +
 configs/sbc8349_PCI_66_defconfig                   |  1 +
 configs/sbc8349_defconfig                          |  1 +
 configs/sbc8548_PCI_33_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_33_defconfig                   |  1 +
 configs/sbc8548_PCI_66_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_66_defconfig                   |  1 +
 configs/sbc8548_defconfig                          |  1 +
 configs/sbc8641d_defconfig                         |  1 +
 configs/seaboard_defconfig                         |  1 +
 configs/sequoia_defconfig                          |  1 +
 configs/sequoia_ramboot_defconfig                  |  1 +
 configs/sheevaplug_defconfig                       |  7 +--
 configs/sniper_defconfig                           |  1 +
 configs/snow_defconfig                             |  1 -
 configs/socfpga_arria5_defconfig                   |  3 +-
 configs/socfpga_cyclone5_defconfig                 |  3 +-
 configs/socfpga_de0_nano_soc_defconfig             |  3 +-
 configs/socfpga_mcvevk_defconfig                   |  3 +-
 configs/socfpga_sockit_defconfig                   |  3 +-
 configs/socfpga_socrates_defconfig                 |  3 +-
 configs/socrates_defconfig                         |  1 +
 configs/spring_defconfig                           |  1 -
 configs/strider_con_defconfig                      |  3 +-
 configs/strider_cpu_defconfig                      |  3 +-
 configs/sunxi_Gemei_G9_defconfig                   |  1 +
 configs/suvd3_defconfig                            |  1 +
 configs/sycamore_defconfig                         |  1 +
 configs/t3corp_defconfig                           |  1 +
 configs/tao3530_defconfig                          |  1 +
 configs/tb100_defconfig                            |  1 +
 configs/tec-ng_defconfig                           |  1 +
 configs/tec_defconfig                              |  1 +
 configs/thuban_defconfig                           |  1 +
 configs/ti814x_evm_defconfig                       |  1 +
 configs/ti816x_evm_defconfig                       |  1 +
 configs/tricorder_defconfig                        |  1 +
 configs/tricorder_flash_defconfig                  |  1 +
 configs/trimslice_defconfig                        |  1 +
 configs/tseries_mmc_defconfig                      |  1 +
 configs/tseries_nand_defconfig                     |  1 +
 configs/tseries_spi_defconfig                      |  1 +
 configs/tuge1_defconfig                            |  1 +
 configs/tuxx1_defconfig                            |  1 +
 configs/twister_defconfig                          |  1 +
 configs/vct_platinum_defconfig                     |  1 +
 configs/vct_platinum_onenand_defconfig             |  1 +
 configs/vct_platinum_onenand_small_defconfig       |  1 +
 configs/vct_platinum_small_defconfig               |  1 +
 configs/vct_platinumavc_defconfig                  |  1 +
 configs/vct_platinumavc_onenand_defconfig          |  1 +
 configs/vct_platinumavc_onenand_small_defconfig    |  1 +
 configs/vct_platinumavc_small_defconfig            |  1 +
 configs/vct_premium_defconfig                      |  1 +
 configs/vct_premium_onenand_defconfig              |  1 +
 configs/vct_premium_onenand_small_defconfig        |  1 +
 configs/vct_premium_small_defconfig                |  1 +
 configs/ve8313_defconfig                           |  1 +
 configs/venice2_defconfig                          |  1 +
 configs/ventana_defconfig                          |  1 +
 configs/vexpress_aemv8a_dram_defconfig             |  4 +-
 configs/vme8349_defconfig                          |  1 +
 configs/walnut_defconfig                           |  1 +
 configs/whistler_defconfig                         |  1 +
 configs/work_92105_defconfig                       |  1 +
 configs/xpedite1000_defconfig                      |  1 +
 configs/xpedite517x_defconfig                      |  1 +
 configs/xpedite520x_defconfig                      |  1 +
 configs/xpedite537x_defconfig                      |  1 +
 configs/xpedite550x_defconfig                      |  1 +
 configs/yellowstone_defconfig                      |  1 +
 configs/yosemite_defconfig                         |  1 +
 configs/yucca_defconfig                            |  1 +
 configs/zynq_microzed_defconfig                    |  1 -
 configs/zynq_picozed_defconfig                     |  1 -
 configs/zynq_zc702_defconfig                       |  1 -
 configs/zynq_zc706_defconfig                       |  1 -
 configs/zynq_zc770_xm010_defconfig                 |  1 -
 configs/zynq_zc770_xm011_defconfig                 |  1 -
 configs/zynq_zc770_xm012_defconfig                 |  1 -
 configs/zynq_zc770_xm013_defconfig                 |  1 -
 configs/zynq_zed_defconfig                         |  1 -
 configs/zynq_zybo_defconfig                        |  1 -
 drivers/serial/Kconfig                             | 26 ++++-------
 drivers/serial/Makefile                            |  7 ---
 drivers/serial/ns16550.c                           | 45 ++++++++++++++++--
 drivers/serial/serial_dw.c                         | 39 ----------------
 drivers/serial/serial_keystone.c                   | 48 -------------------
 drivers/serial/serial_omap.c                       | 54 ----------------------
 drivers/serial/serial_ppc.c                        | 40 ----------------
 drivers/serial/serial_rockchip.c                   | 43 -----------------
 drivers/serial/serial_tegra.c                      | 54 ----------------------
 drivers/serial/serial_x86.c                        | 44 ------------------
 include/configs/10m50_devboard.h                   |  1 +
 include/configs/B4860QDS.h                         |  1 -
 include/configs/BSC9131RDB.h                       |  1 -
 include/configs/BSC9132QDS.h                       |  1 -
 include/configs/C29XPCIE.h                         |  1 -
 include/configs/CPCI2DP.h                          |  1 -
 include/configs/CPCI4052.h                         |  1 -
 include/configs/MIP405.h                           |  1 -
 include/configs/MPC8308RDB.h                       |  1 -
 include/configs/MPC8313ERDB.h                      |  1 -
 include/configs/MPC8315ERDB.h                      |  1 -
 include/configs/MPC8323ERDB.h                      |  1 -
 include/configs/MPC832XEMDS.h                      |  1 -
 include/configs/MPC8349EMDS.h                      |  1 -
 include/configs/MPC8349ITX.h                       |  1 -
 include/configs/MPC837XEMDS.h                      |  1 -
 include/configs/MPC837XERDB.h                      |  1 -
 include/configs/MPC8536DS.h                        |  1 -
 include/configs/MPC8540ADS.h                       |  1 -
 include/configs/MPC8541CDS.h                       |  1 -
 include/configs/MPC8544DS.h                        |  1 -
 include/configs/MPC8548CDS.h                       |  1 -
 include/configs/MPC8555CDS.h                       |  1 -
 include/configs/MPC8568MDS.h                       |  1 -
 include/configs/MPC8569MDS.h                       |  1 -
 include/configs/MPC8572DS.h                        |  1 -
 include/configs/MPC8610HPCD.h                      |  1 -
 include/configs/MPC8641HPCN.h                      |  1 -
 include/configs/P1010RDB.h                         |  1 -
 include/configs/P1022DS.h                          |  1 -
 include/configs/P1023RDB.h                         |  1 -
 include/configs/P2041RDB.h                         |  1 -
 include/configs/PIP405.h                           |  1 -
 include/configs/PLU405.h                           |  1 -
 include/configs/PMC405DE.h                         |  1 -
 include/configs/PMC440.h                           |  1 -
 include/configs/T102xQDS.h                         |  1 -
 include/configs/T102xRDB.h                         |  1 -
 include/configs/T1040QDS.h                         |  1 -
 include/configs/T104xRDB.h                         |  1 -
 include/configs/T208xQDS.h                         |  1 -
 include/configs/T208xRDB.h                         |  1 -
 include/configs/T4240RDB.h                         |  1 -
 include/configs/TQM834x.h                          |  1 -
 include/configs/UCP1020.h                          |  1 -
 include/configs/VOM405.h                           |  1 -
 include/configs/adp-ag101p.h                       |  1 -
 include/configs/am3517_crane.h                     |  1 -
 include/configs/am3517_evm.h                       |  1 -
 include/configs/am43xx_evm.h                       |  5 +-
 include/configs/amcc-common.h                      |  1 -
 include/configs/axs101.h                           |  1 -
 include/configs/bcm28155_ap.h                      |  1 -
 include/configs/bcm_ep_board.h                     |  1 -
 include/configs/bur_am335x_common.h                |  1 -
 include/configs/calimain.h                         |  1 -
 include/configs/cm_t35.h                           |  1 -
 include/configs/cm_t3517.h                         |  1 -
 include/configs/cm_t43.h                           |  2 -
 include/configs/controlcenterd.h                   |  1 -
 include/configs/corenet_ds.h                       |  1 -
 include/configs/cyrus.h                            |  1 -
 include/configs/da850evm.h                         |  1 -
 include/configs/ea20.h                             |  1 -
 include/configs/edminiv2.h                         |  1 -
 include/configs/efi-x86.h                          |  1 -
 include/configs/gdppc440etx.h                      |  1 -
 include/configs/hrcon.h                            |  1 -
 include/configs/ids8313.h                          |  1 -
 include/configs/ipam390.h                          |  1 -
 include/configs/km/km83xx-common.h                 |  1 -
 include/configs/km/km_arm.h                        |  1 -
 include/configs/km/kmp204x-common.h                |  1 -
 include/configs/ls1021aqds.h                       |  1 -
 include/configs/ls1021atwr.h                       |  1 -
 include/configs/ls1043a_common.h                   |  1 -
 include/configs/ls2085a_common.h                   |  1 -
 include/configs/lwmon5.h                           |  1 -
 include/configs/malta.h                            |  1 -
 include/configs/mcx.h                              |  1 -
 include/configs/microblaze-generic.h               |  1 -
 include/configs/mpc8308_p1m.h                      |  1 -
 include/configs/mv-common.h                        |  5 --
 include/configs/neo.h                              |  1 -
 include/configs/nokia_rx51.h                       |  1 -
 include/configs/omap3_evm_common.h                 |  1 -
 include/configs/omap3_pandora.h                    |  2 +-
 include/configs/omapl138_lcdk.h                    |  1 -
 include/configs/openrisc-generic.h                 |  1 -
 include/configs/p1_p2_rdb_pc.h                     |  1 -
 include/configs/p1_twr.h                           |  1 -
 include/configs/qemu-mips.h                        |  1 -
 include/configs/qemu-mips64.h                      |  1 -
 include/configs/qemu-ppce500.h                     |  1 -
 include/configs/rk3288_common.h                    |  1 -
 include/configs/sbc8349.h                          |  1 -
 include/configs/sbc8548.h                          |  1 -
 include/configs/sbc8641d.h                         |  1 -
 include/configs/siemens-am33x-common.h             |  1 -
 include/configs/sniper.h                           |  7 +--
 include/configs/socfpga_common.h                   |  1 -
 include/configs/socrates.h                         |  1 -
 include/configs/strider.h                          |  1 -
 include/configs/sunxi-common.h                     |  5 +-
 include/configs/t4qds.h                            |  1 -
 include/configs/tam3517-common.h                   |  1 -
 include/configs/tao3530.h                          |  1 -
 include/configs/tb100.h                            |  2 -
 include/configs/tegra-common.h                     |  3 +-
 include/configs/ti814x_evm.h                       |  1 -
 include/configs/ti816x_evm.h                       |  1 -
 include/configs/ti_am335x_common.h                 |  5 --
 include/configs/ti_armv7_keystone2.h               |  3 --
 include/configs/ti_omap3_common.h                  |  7 +--
 include/configs/ti_omap4_common.h                  |  5 +-
 include/configs/ti_omap5_common.h                  |  5 +-
 include/configs/tricorder.h                        |  1 -
 include/configs/uniphier.h                         |  1 -
 include/configs/vct.h                              |  1 -
 include/configs/ve8313.h                           |  1 -
 include/configs/vme8349.h                          |  1 -
 include/configs/x86-common.h                       |  1 -
 include/configs/xilinx-ppc.h                       |  1 -
 include/configs/xpedite1000.h                      |  1 -
 include/configs/xpedite517x.h                      |  1 -
 include/configs/xpedite520x.h                      |  1 -
 include/configs/xpedite537x.h                      |  1 -
 include/configs/xpedite550x.h                      |  1 -
 813 files changed, 829 insertions(+), 662 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c
 delete mode 100644 drivers/serial/serial_keystone.c
 delete mode 100644 drivers/serial/serial_omap.c
 delete mode 100644 drivers/serial/serial_ppc.c
 delete mode 100644 drivers/serial/serial_rockchip.c
 delete mode 100644 drivers/serial/serial_tegra.c
 delete mode 100644 drivers/serial/serial_x86.c

-- 
2.5.0

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:51     ` Bin Meng
  2015-11-19  6:38     ` Heiko Schocher
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
                     ` (11 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
driver model"), the default debug uart was changed. Most people
use ns16550 UART, so restore it as default.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 drivers/serial/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index eba96f4..2a50771 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -53,6 +53,7 @@ config DEBUG_UART
 choice
 	prompt "Select which UART will provide the debug UART"
 	depends on DEBUG_UART
+	default DEBUG_UART_NS16550
 
 config DEBUG_UART_ALTERA_JTAGUART
 	bool "Altera JTAG UART"
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 02/13] ns16550: change map_sysmem to map_physmem
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (10 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Change map_sysmem() to map_physmem(), because sandbox is the only
arch which define map_sysmem() and it actually only calls
map_physmem(). For some arch like nios2, the flag should be
MAP_NOCACHE for port access.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/ns16550.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 6433844..8d028de 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -8,7 +8,6 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 #include <ns16550.h>
 #include <serial.h>
 #include <watchdog.h>
@@ -97,7 +96,7 @@ static void ns16550_writeb(NS16550_t port, int offset, int value)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 	/*
 	 * As far as we know it doesn't make sense to support selection of
 	 * these options at run-time, so use the existing CONFIG options.
@@ -111,7 +110,7 @@ static int ns16550_readb(NS16550_t port, int offset)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 
 	return serial_in_shift(addr, plat->reg_shift);
 }
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:55     ` Bin Meng
  2015-11-19  6:39     ` Heiko Schocher
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86 Thomas Chou
                     ` (9 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 drivers/serial/Kconfig   | 11 +++++++++++
 drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 2a50771..0f0e92d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -195,6 +195,17 @@ config ROCKCHIP_SERIAL
 	  your board config header. The clock input is automatically set to
 	  use the oscillator (24MHz).
 
+config NS16550_SERIAL
+	bool "NS16550 UART or compatible"
+	depends on DM_SERIAL
+	help
+	  Support NS16550 UART or compatible with driver model. This can be
+	  enabled in the device tree with the correct input clock frequency.
+	  If the input clock frequency is not defined in the device tree,
+	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
+	  file will be used. It can be a constant or a function to get clock,
+	  eg, get_serial_clock().
+
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 8d028de..f0a9aac 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_DM_SERIAL
 
+#ifndef CONFIG_SYS_NS16550_CLK
+#define CONFIG_SYS_NS16550_CLK  0
+#endif
+
 static inline void serial_out_shift(void *addr, int shift, int value)
 {
 #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
@@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 					 "reg-shift", 1);
+#ifdef CONFIG_NS16550_SERIAL
+	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+				     "clock-frequency",
+				     CONFIG_SYS_NS16550_CLK);
+	if (!plat->clock) {
+		debug("ns16550 clock not defined\n");
+		return -EINVAL;
+	}
+#endif /* CONFIG_NS16550_SERIAL */
 
 	return 0;
 }
@@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
 	.getc = ns16550_serial_getc,
 	.setbrg = ns16550_serial_setbrg,
 };
+
+#ifdef CONFIG_NS16550_SERIAL
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+static const struct udevice_id ns16550_serial_ids[] = {
+	{ .compatible = "ns16550" },
+	{ .compatible = "ns16550a" },
+	{ .compatible = "nvidia,tegra20-uart" },
+	{ .compatible = "snps,dw-apb-uart" },
+	{ .compatible = "ti,omap2-uart" },
+	{ .compatible = "ti,omap3-uart" },
+	{ .compatible = "ti,omap4-uart" },
+	{ .compatible = "ti,am3352-uart" },
+	{ .compatible = "ti,am4372-uart" },
+	{ .compatible = "ti,dra742-uart" },
+	{}
+};
+#endif
+
+U_BOOT_DRIVER(ns16550_serial) = {
+	.name	= "ns16550_serial",
+	.id	= UCLASS_SERIAL,
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+	.of_match = ns16550_serial_ids,
+	.ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
+	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
+#endif
+	.priv_auto_alloc_size = sizeof(struct NS16550),
+	.probe = ns16550_serial_probe,
+	.ops	= &ns16550_serial_ops,
+};
+#endif /* CONFIG_NS16550_SERIAL */
 #endif /* CONFIG_DM_SERIAL */
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (2 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:56     ` Bin Meng
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc Thomas Chou
                     ` (8 subsequent siblings)
  12 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_x86, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/x86/dts/serial.dtsi    |  2 +-
 configs/efi-x86_defconfig   |  2 +-
 drivers/serial/Kconfig      | 11 +----------
 drivers/serial/Makefile     |  1 -
 drivers/serial/serial_x86.c | 44 --------------------------------------------
 5 files changed, 3 insertions(+), 57 deletions(-)
 delete mode 100644 drivers/serial/serial_x86.c

diff --git a/arch/x86/dts/serial.dtsi b/arch/x86/dts/serial.dtsi
index 6865eed..54c3faf 100644
--- a/arch/x86/dts/serial.dtsi
+++ b/arch/x86/dts/serial.dtsi
@@ -1,6 +1,6 @@
 / {
 	serial: serial {
-		compatible = "x86-uart";
+		compatible = "ns16550";
 		reg = <0x3f8 8>;
 		reg-shift = <0>;
 		clock-frequency = <1843200>;
diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index 43fb0c4..b1573df 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
 CONFIG_DEFAULT_DEVICE_TREE="efi"
 CONFIG_TARGET_EFI=y
 CONFIG_TSC_CALIBRATION_BYPASS=y
+# CONFIG_NS16550_SERIAL is not set
 # CONFIG_CMD_BOOTM is not set
 # CONFIG_CMD_NET is not set
 CONFIG_OF_CONTROL=y
@@ -12,5 +13,4 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_EFI_CONSOLE=y
 CONFIG_DEBUG_UART_BASE=0
 CONFIG_DEBUG_UART_CLOCK=0
-# CONFIG_X86_SERIAL is not set
 CONFIG_EFI=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 0f0e92d..93faa4c 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -198,6 +198,7 @@ config ROCKCHIP_SERIAL
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
+	default y if X86
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
@@ -233,14 +234,4 @@ config UNIPHIER_SERIAL
 	  If you have a UniPhier based board and want to use the on-chip
 	  serial ports, say Y to this option. If unsure, say N.
 
-config X86_SERIAL
-	bool "Support for 16550 serial port on x86 machines"
-	depends on X86
-	default y
-	help
-	  Most x86 machines have a ns16550 UART or compatible. This can be
-	  enabled in the device tree with the correct input clock frequency
-	  provided (default 1843200). Enable this to obtain serial console
-	  output.
-
 endmenu
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1818c7c..9036a8e 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
-obj-$(CONFIG_X86_SERIAL) += serial_x86.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_x86.c b/drivers/serial/serial_x86.c
deleted file mode 100644
index 4bf6062..0000000
--- a/drivers/serial/serial_x86.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static const struct udevice_id x86_serial_ids[] = {
-	{ .compatible = "x86-uart" },
-	{ }
-};
-
-static int x86_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", 1843200);
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_x86",
-	.id	= UCLASS_SERIAL,
-	.of_match = x86_serial_ids,
-	.ofdata_to_platdata = x86_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (3 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 06/13] ns16550: unify serial_rockchip Thomas Chou
                     ` (7 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_ppc, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/powerpc/include/asm/config.h |  4 ++++
 drivers/serial/Kconfig            |  2 +-
 drivers/serial/Makefile           |  1 -
 drivers/serial/serial_ppc.c       | 40 ---------------------------------------
 4 files changed, 5 insertions(+), 42 deletions(-)
 delete mode 100644 drivers/serial/serial_ppc.c

diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
index 65496d0..7391066 100644
--- a/arch/powerpc/include/asm/config.h
+++ b/arch/powerpc/include/asm/config.h
@@ -104,4 +104,8 @@
 /* All PPC boards must swap IDE bytes */
 #define CONFIG_IDE_SWAP_IO
 
+#if defined(CONFIG_DM_SERIAL)
+#define CONFIG_SYS_NS16550_CLK		get_serial_clock()
+#endif
+
 #endif /* _ASM_CONFIG_H_ */
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 93faa4c..b41f508 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
-	default y if X86
+	default y if X86 || PPC
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9036a8e..9f61113 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -8,7 +8,6 @@
 ifdef CONFIG_DM_SERIAL
 obj-y += serial-uclass.o
 obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
-obj-$(CONFIG_PPC) += serial_ppc.o
 else
 obj-y += serial.o
 obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
deleted file mode 100644
index 47141c6..0000000
--- a/drivers/serial/serial_ppc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id ppc_serial_ids[] = {
-	{ .compatible = "ns16550" },
-	{ }
-};
-
-static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = get_serial_clock();
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_ppc",
-	.id	= UCLASS_SERIAL,
-	.of_match = ppc_serial_ids,
-	.ofdata_to_platdata = ppc_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 06/13] ns16550: unify serial_rockchip
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (4 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 07/13] ns16550: unify serial_keystone Thomas Chou
                     ` (6 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_rockchip, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/arm/dts/rk3288.dtsi         |  5 +++++
 arch/arm/mach-rockchip/Kconfig   |  3 ---
 drivers/serial/Kconfig           | 11 +---------
 drivers/serial/Makefile          |  1 -
 drivers/serial/serial_rockchip.c | 43 ----------------------------------------
 5 files changed, 6 insertions(+), 57 deletions(-)
 delete mode 100644 drivers/serial/serial_rockchip.c

diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi
index 0f49709..ac367f8 100644
--- a/arch/arm/dts/rk3288.dtsi
+++ b/arch/arm/dts/rk3288.dtsi
@@ -324,6 +324,7 @@
 		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -337,6 +338,7 @@
 		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -350,6 +352,7 @@
 		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -362,6 +365,7 @@
 		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -375,6 +379,7 @@
 		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index ab50f4e..3f7dc8e 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -33,9 +33,6 @@ config DM_I2C
 config DM_GPIO
 	default y
 
-config ROCKCHIP_SERIAL
-	default y
-
 source "arch/arm/mach-rockchip/rk3288/Kconfig"
 
 endif
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index b41f508..1239416 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,19 +186,10 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
-config ROCKCHIP_SERIAL
-	bool "Rockchip on-chip UART support"
-	depends on ARCH_ROCKCHIP && DM_SERIAL
-	help
-	  Select this to enable a debug UART for Rockchip devices. This uses
-	  the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
-	  your board config header. The clock input is automatically set to
-	  use the oscillator (24MHz).
-
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
-	default y if X86 || PPC
+	default y if X86 || PPC || ARCH_ROCKCHIP
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9f61113..debc175 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
 obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
-obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c
deleted file mode 100644
index 0e7bbfc..0000000
--- a/drivers/serial/serial_rockchip.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2015 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-static const struct udevice_id rockchip_serial_ids[] = {
-	{ .compatible = "rockchip,rk3288-uart" },
-	{ }
-};
-
-static int rockchip_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	/* Do all Rockchip parts use 24MHz? */
-	plat->clock = 24 * 1000000;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_rockchip",
-	.id	= UCLASS_SERIAL,
-	.of_match = rockchip_serial_ids,
-	.ofdata_to_platdata = rockchip_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 07/13] ns16550: unify serial_keystone
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (5 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 06/13] ns16550: unify serial_rockchip Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 08/13] ns16550: unify serial_dw Thomas Chou
                     ` (5 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_keystone, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 configs/k2g_evm_defconfig            |  1 -
 drivers/serial/Makefile              |  1 -
 drivers/serial/serial_keystone.c     | 48 ------------------------------------
 include/configs/ti_armv7_keystone2.h |  2 +-
 4 files changed, 1 insertion(+), 51 deletions(-)
 delete mode 100644 drivers/serial/serial_keystone.c

diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index 59020af..c6efe80 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -11,4 +11,3 @@ CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM=y
 CONFIG_DM_SERIAL=y
-CONFIG_KEYSTONE_SERIAL=y
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index debc175..1663ca2 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -24,7 +24,6 @@ obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
 obj-$(CONFIG_OPENCORES_YANU) += opencores_yanu.o
-obj-$(CONFIG_KEYSTONE_SERIAL) += serial_keystone.o
 obj-$(CONFIG_SYS_NS16550) += ns16550.o
 obj-$(CONFIG_S5P) += serial_s5p.o
 obj-$(CONFIG_IMX_SERIAL) += serial_imx.o
diff --git a/drivers/serial/serial_keystone.c b/drivers/serial/serial_keystone.c
deleted file mode 100644
index 7b5ab6c..0000000
--- a/drivers/serial/serial_keystone.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015 Texas Instruments, <www.ti.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id keystone_serial_ids[] = {
-	{ .compatible = "ti,keystone-uart" },
-	{ .compatible = "ns16550a" },
-	{ }
-};
-
-static int keystone_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_keystone_ns16550) = {
-	.name	= "serial_keystone",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = of_match_ptr(keystone_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(keystone_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index ed86561..5ab9b6e 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -64,7 +64,7 @@
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #else
-#define CONFIG_KEYSTONE_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_SYS_NS16550_COM1		KS2_UART0_BASE
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 08/13] ns16550: unify serial_dw
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (6 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 07/13] ns16550: unify serial_keystone Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 09/13] ns16550: unify serial_tegra Thomas Chou
                     ` (4 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_dw, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 drivers/serial/Makefile        |  1 -
 drivers/serial/serial_dw.c     | 39 ---------------------------------------
 include/configs/mv-common.h    |  2 +-
 include/configs/sunxi-common.h |  2 +-
 include/configs/tb100.h        |  2 +-
 5 files changed, 3 insertions(+), 43 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1663ca2..2a83756 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_ALTERA_UART) += altera_uart.o
 obj-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
 obj-$(CONFIG_ARM_DCC) += arm_dcc.o
 obj-$(CONFIG_ATMEL_USART) += atmel_usart.o
-obj-$(CONFIG_DW_SERIAL) += serial_dw.o
 obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
diff --git a/drivers/serial/serial_dw.c b/drivers/serial/serial_dw.c
deleted file mode 100644
index a348f29..0000000
--- a/drivers/serial/serial_dw.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id dw_serial_ids[] = {
-	{ .compatible = "snps,dw-apb-uart" },
-	{ }
-};
-
-static int dw_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_dw",
-	.id	= UCLASS_SERIAL,
-	.of_match = dw_serial_ids,
-	.ofdata_to_platdata = dw_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 1ecbd35..0e33a89 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -40,7 +40,7 @@
  * NS16550 Configuration
  */
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 #define CONFIG_SYS_NS16550
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index f5db4d3..ab584ac 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -46,7 +46,7 @@
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
 #ifdef CONFIG_DM_SERIAL
-# define CONFIG_DW_SERIAL
+# define CONFIG_NS16550_SERIAL
 #else
 # define CONFIG_SYS_NS16550_REG_SIZE	-4
 # define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index e3c41ef..44287d8 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 09/13] ns16550: unify serial_tegra
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (7 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 08/13] ns16550: unify serial_dw Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 10/13] ns16550: unify serial_omap Thomas Chou
                     ` (3 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_tegra, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/arm/mach-tegra/board.c    | 14 +++++++++++
 drivers/serial/Makefile        |  1 -
 drivers/serial/serial_tegra.c  | 54 ------------------------------------------
 include/configs/tegra-common.h |  3 ++-
 4 files changed, 16 insertions(+), 56 deletions(-)
 delete mode 100644 drivers/serial/serial_tegra.c

diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index b00e4b5..8c8927d 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -6,6 +6,8 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <ns16550.h>
 #include <spl.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
@@ -212,6 +214,18 @@ void board_init_uart_f(void)
 	setup_uarts(uart_ids);
 }
 
+#if CONFIG_IS_ENABLED(DM_SERIAL) && !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/drivers/serial/Makefile b/drivers/serial/Makefile
index 2a83756..86ae50f 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
-obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
diff --git a/drivers/serial/serial_tegra.c b/drivers/serial/serial_tegra.c
deleted file mode 100644
index 0c84f0b..0000000
--- a/drivers/serial/serial_tegra.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id tegra_serial_ids[] = {
-	{ .compatible = "nvidia,tegra20-uart" },
-	{ }
-};
-
-static int tegra_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = V_NS16550_CLK;
-
-	return 0;
-}
-#else
-struct ns16550_platdata tegra_serial = {
-	.base = CONFIG_SYS_NS16550_COM1,
-	.reg_shift = 2,
-	.clock = V_NS16550_CLK,
-};
-
-U_BOOT_DEVICE(ns16550_serial) = {
-	"serial_tegra20", &tegra_serial
-};
-#endif
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_tegra20",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = tegra_serial_ids,
-	.ofdata_to_platdata = tegra_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 32cc39b..ceda304 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,8 +39,9 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_TEGRA_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
  * Common HW configuration.
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 10/13] ns16550: unify serial_omap
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (8 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 09/13] ns16550: unify serial_tegra Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
                     ` (2 subsequent siblings)
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Unify serial_omap, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 board/isee/igep00x0/igep00x0.c      |  2 +-
 board/lge/sniper/sniper.c           |  2 +-
 board/logicpd/omap3som/omap3logic.c |  2 +-
 board/logicpd/zoom1/zoom1.c         |  2 +-
 board/overo/overo.c                 |  2 +-
 board/quipos/cairo/cairo.c          |  2 +-
 board/ti/beagle/beagle.c            |  2 +-
 board/timll/devkit8000/devkit8000.c |  2 +-
 drivers/serial/Makefile             |  1 -
 drivers/serial/serial_omap.c        | 54 -------------------------------------
 include/configs/am43xx_evm.h        |  4 +--
 include/configs/cm_t43.h            |  2 +-
 include/configs/omap3_pandora.h     |  3 ++-
 include/configs/sniper.h            |  4 +--
 include/configs/ti_am335x_common.h  |  2 +-
 include/configs/ti_omap3_common.h   |  4 +--
 include/configs/ti_omap4_common.h   |  4 +--
 include/configs/ti_omap5_common.h   |  4 +--
 18 files changed, 22 insertions(+), 76 deletions(-)
 delete mode 100644 drivers/serial/serial_omap.c

diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index 044c6d5..57b89e0 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -40,7 +40,7 @@ static const struct ns16550_platdata igep_serial = {
 };
 
 U_BOOT_DEVICE(igep_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&igep_serial
 };
 
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index 4eff01a..c818c9d 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -35,7 +35,7 @@ static const struct ns16550_platdata serial_omap_platdata = {
 };
 
 U_BOOT_DEVICE(sniper_serial) = {
-	.name = "serial_omap",
+	.name = "ns16550_serial",
 	.platdata = &serial_omap_platdata
 };
 
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index babb0dc..fb89921 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -43,7 +43,7 @@ static const struct ns16550_platdata omap3logic_serial = {
 };
 
 U_BOOT_DEVICE(omap3logic_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&omap3logic_serial
 };
 
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index 0a3b55b..4040114 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -50,7 +50,7 @@ static const struct ns16550_platdata zoom1_serial = {
 };
 
 U_BOOT_DEVICE(zoom1_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&zoom1_serial
 };
 
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 20cbec2..a38b959 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -74,7 +74,7 @@ static const struct ns16550_platdata overo_serial = {
 };
 
 U_BOOT_DEVICE(overo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&overo_serial
 };
 
diff --git a/board/quipos/cairo/cairo.c b/board/quipos/cairo/cairo.c
index b97a09a..21793e8 100644
--- a/board/quipos/cairo/cairo.c
+++ b/board/quipos/cairo/cairo.c
@@ -97,7 +97,7 @@ static const struct ns16550_platdata cairo_serial = {
 };
 
 U_BOOT_DEVICE(cairo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&cairo_serial
 };
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 56e3cfe..ff317ef 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -79,7 +79,7 @@ static const struct ns16550_platdata beagle_serial = {
 };
 
 U_BOOT_DEVICE(beagle_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&beagle_serial
 };
 
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index a61cc14..1a447c7 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -52,7 +52,7 @@ static const struct ns16550_platdata devkit8000_serial = {
 };
 
 U_BOOT_DEVICE(devkit8000_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&devkit8000_serial
 };
 
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 86ae50f..dd87147 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
-obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_omap.c b/drivers/serial/serial_omap.c
deleted file mode 100644
index 891cd7b..0000000
--- a/drivers/serial/serial_omap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#define DEFAULT_CLK_SPEED 48000000 /* 48Mhz */
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id omap_serial_ids[] = {
-	{ .compatible = "ti,omap2-uart" },
-	{ .compatible = "ti,omap3-uart" },
-	{ .compatible = "ti,omap4-uart" },
-	{ .compatible = "ti,am3352-uart" },
-	{ .compatible = "ti,am4372-uart" },
-	{ .compatible = "ti,dra742-uart" },
-	{ }
-};
-
-static int omap_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", DEFAULT_CLK_SPEED);
-	plat->reg_shift = 2;
-
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_omap_ns16550) = {
-	.name	= "serial_omap",
-	.id	= UCLASS_SERIAL,
-	.of_match = of_match_ptr(omap_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(omap_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index b02abd3..a962bf5 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -23,12 +23,12 @@
 
 /* NS16550 Configuration */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /* I2C Configuration */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index c4d3b94..e1019ff 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -18,7 +18,7 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 4e93705..c15c699 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -49,7 +49,8 @@
 /*
  * NS16550 Configuration
  */
-#undef CONFIG_OMAP_SERIAL
+#undef CONFIG_NS16550_SERIAL
+#undef CONFIG_SYS_NS16550_CLK
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index f168e8f..34f7f6e 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -197,14 +197,14 @@
 
 
 #ifndef CONFIG_SPL_BUILD
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #else
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 #define CONFIG_CONS_INDEX		3
 #define CONFIG_SERIAL3			3
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 9697431..32348ab 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -20,7 +20,7 @@
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 #include <asm/arch/omap.h>
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index e399a87..e749d5d 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -19,7 +19,7 @@
 #include <asm/arch/omap.h>
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 /* Common ARM Erratas */
@@ -37,10 +37,10 @@
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #ifdef CONFIG_SPL_BUILD
 # define CONFIG_SYS_NS16550_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-# define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 #define CONFIG_SYS_BAUDRATE_TABLE	{4800, 9600, 19200, 38400, 57600, \
 					115200}
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 741f71f..0a03cd5 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -58,13 +58,13 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_CONS_INDEX		3
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 5acbc92..be1f4c1 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -51,12 +51,12 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /*
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (9 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 10/13] ns16550: unify serial_omap Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 14:09     ` Bin Meng
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
  12 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
is completed.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 configs/efi-x86_defconfig            |  1 -
 drivers/serial/Kconfig               | 12 ------------
 drivers/serial/ns16550.c             |  4 ----
 include/configs/am43xx_evm.h         |  2 --
 include/configs/cm_t43.h             |  1 -
 include/configs/mv-common.h          |  4 ----
 include/configs/omap3_pandora.h      |  1 -
 include/configs/sniper.h             |  4 +---
 include/configs/sunxi-common.h       |  4 +---
 include/configs/tb100.h              |  1 -
 include/configs/tegra-common.h       |  1 -
 include/configs/ti_am335x_common.h   |  4 ----
 include/configs/ti_armv7_keystone2.h |  2 --
 include/configs/ti_omap3_common.h    |  4 ----
 include/configs/ti_omap4_common.h    |  2 --
 include/configs/ti_omap5_common.h    |  2 --
 16 files changed, 2 insertions(+), 47 deletions(-)

diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index b1573df..904b564 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -3,7 +3,6 @@ CONFIG_VENDOR_EFI=y
 CONFIG_DEFAULT_DEVICE_TREE="efi"
 CONFIG_TARGET_EFI=y
 CONFIG_TSC_CALIBRATION_BYPASS=y
-# CONFIG_NS16550_SERIAL is not set
 # CONFIG_CMD_BOOTM is not set
 # CONFIG_CMD_NET is not set
 CONFIG_OF_CONTROL=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 1239416..fe407b7 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,18 +186,6 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
-config NS16550_SERIAL
-	bool "NS16550 UART or compatible"
-	depends on DM_SERIAL
-	default y if X86 || PPC || ARCH_ROCKCHIP
-	help
-	  Support NS16550 UART or compatible with driver model. This can be
-	  enabled in the device tree with the correct input clock frequency.
-	  If the input clock frequency is not defined in the device tree,
-	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
-	  file will be used. It can be a constant or a function to get clock,
-	  eg, get_serial_clock().
-
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index f0a9aac..d5bcbc3 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -404,7 +404,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 					 "reg-shift", 1);
-#ifdef CONFIG_NS16550_SERIAL
 	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 				     "clock-frequency",
 				     CONFIG_SYS_NS16550_CLK);
@@ -412,7 +411,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 		debug("ns16550 clock not defined\n");
 		return -EINVAL;
 	}
-#endif /* CONFIG_NS16550_SERIAL */
 
 	return 0;
 }
@@ -425,7 +423,6 @@ const struct dm_serial_ops ns16550_serial_ops = {
 	.setbrg = ns16550_serial_setbrg,
 };
 
-#ifdef CONFIG_NS16550_SERIAL
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 static const struct udevice_id ns16550_serial_ids[] = {
 	{ .compatible = "ns16550" },
@@ -454,5 +451,4 @@ U_BOOT_DRIVER(ns16550_serial) = {
 	.probe = ns16550_serial_probe,
 	.ops	= &ns16550_serial_ops,
 };
-#endif /* CONFIG_NS16550_SERIAL */
 #endif /* CONFIG_DM_SERIAL */
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index a962bf5..75b8f53 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -27,8 +27,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 
 /* I2C Configuration */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index e1019ff..f8c39bf 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -18,7 +18,6 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 0e33a89..575e53e 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,10 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
-#define CONFIG_NS16550_SERIAL
-#endif
-
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index c15c699..803f4b8 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -49,7 +49,6 @@
 /*
  * NS16550 Configuration
  */
-#undef CONFIG_NS16550_SERIAL
 #undef CONFIG_SYS_NS16550_CLK
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 34f7f6e..559311f 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -196,9 +196,7 @@
  */
 
 
-#ifndef CONFIG_SPL_BUILD
-#define CONFIG_NS16550_SERIAL
-#else
+#ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #endif
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index ab584ac..394fdb2 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -45,9 +45,7 @@
 #define CONFIG_SYS_NS16550_SERIAL
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
-#ifdef CONFIG_DM_SERIAL
-# define CONFIG_NS16550_SERIAL
-#else
+#ifndef CONFIG_DM_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	-4
 # define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
 # define CONFIG_SYS_NS16550_COM2		SUNXI_UART1_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 44287d8..0b9ad1c 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,6 @@
 /*
  * UART configuration
  */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index ceda304..cd84fd8 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 32348ab..3beb9db 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -19,10 +19,6 @@
 #define CONFIG_SYS_TIMERBASE		0x48040000	/* Use Timer2 */
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
-#ifndef CONFIG_SPL_BUILD
-# define CONFIG_NS16550_SERIAL
-#endif
-
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 5ab9b6e..0d36e87 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -63,8 +63,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_SYS_NS16550_COM1		KS2_UART0_BASE
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index e749d5d..4d53b4c 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -18,10 +18,6 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/omap.h>
 
-#ifndef CONFIG_SPL_BUILD
-# define CONFIG_NS16550_SERIAL
-#endif
-
 /* Common ARM Erratas */
 #define CONFIG_ARM_ERRATA_454179
 #define CONFIG_ARM_ERRATA_430973
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 0a03cd5..4b7b493 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -63,8 +63,6 @@
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_CONS_INDEX		3
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index be1f4c1..94d6ef0 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -55,8 +55,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 
 /*
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (10 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
 configs/A10-OLinuXino-Lime_defconfig                   |  1 +
 configs/A10s-OLinuXino-M_defconfig                     |  3 ++-
 configs/A13-OLinuXinoM_defconfig                       |  3 ++-
 configs/A13-OLinuXino_defconfig                        |  4 ++--
 configs/A20-OLinuXino-Lime2_defconfig                  |  1 +
 configs/A20-OLinuXino-Lime_defconfig                   |  1 +
 configs/A20-OLinuXino_MICRO_defconfig                  |  1 +
 configs/A20-Olimex-SOM-EVB_defconfig                   |  1 +
 configs/Ainol_AW1_defconfig                            |  1 +
 configs/Ampe_A76_defconfig                             |  1 +
 configs/Auxtek-T003_defconfig                          |  3 ++-
 configs/Auxtek-T004_defconfig                          |  3 ++-
 configs/B4420QDS_NAND_defconfig                        |  1 +
 configs/B4420QDS_SPIFLASH_defconfig                    |  1 +
 configs/B4420QDS_defconfig                             |  1 +
 configs/B4860QDS_NAND_defconfig                        |  1 +
 configs/B4860QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/B4860QDS_SPIFLASH_defconfig                    |  1 +
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/B4860QDS_defconfig                             |  1 +
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig            |  1 +
 configs/BSC9131RDB_NAND_defconfig                      |  1 +
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig        |  1 +
 configs/BSC9131RDB_SPIFLASH_defconfig                  |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig     |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig            |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig     |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig            |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig      |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig             |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig      |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig             |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig          |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig          |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig        |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig        |  1 +
 configs/Bananapi_defconfig                             |  1 +
 configs/Bananapro_defconfig                            |  1 +
 configs/C29XPCIE_NAND_defconfig                        |  1 +
 configs/C29XPCIE_NOR_SECBOOT_defconfig                 |  1 +
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig            |  1 +
 configs/C29XPCIE_SPIFLASH_defconfig                    |  1 +
 configs/C29XPCIE_defconfig                             |  1 +
 configs/CHIP_defconfig                                 |  1 +
 configs/CPCI2DP_defconfig                              |  1 +
 configs/CPCI4052_defconfig                             |  1 +
 configs/CSQ_CS908_defconfig                            |  3 ++-
 configs/Chuwi_V7_CW0825_defconfig                      |  1 +
 configs/Colombus_defconfig                             |  1 +
 configs/Cubieboard2_defconfig                          |  1 +
 configs/Cubieboard_defconfig                           |  1 +
 configs/Cubietruck_defconfig                           |  8 ++++----
 configs/Cyrus_P5020_defconfig                          |  3 ++-
 configs/Cyrus_P5040_defconfig                          |  3 ++-
 configs/Hummingbird_A31_defconfig                      |  1 +
 configs/Hyundai_A7HD_defconfig                         |  1 +
 configs/Linksprite_pcDuino3_Nano_defconfig             |  1 +
 configs/Linksprite_pcDuino3_defconfig                  |  1 +
 configs/Linksprite_pcDuino_defconfig                   |  1 +
 configs/MIP405T_defconfig                              |  1 +
 configs/MIP405_defconfig                               |  1 +
 configs/MK808C_defconfig                               |  1 +
 configs/MPC8308RDB_defconfig                           |  1 +
 configs/MPC8313ERDB_33_defconfig                       |  1 +
 configs/MPC8313ERDB_66_defconfig                       |  1 +
 configs/MPC8313ERDB_NAND_33_defconfig                  |  1 +
 configs/MPC8313ERDB_NAND_66_defconfig                  |  1 +
 configs/MPC8315ERDB_defconfig                          |  1 +
 configs/MPC8323ERDB_defconfig                          |  1 +
 configs/MPC832XEMDS_ATM_defconfig                      |  1 +
 configs/MPC832XEMDS_HOST_33_defconfig                  |  1 +
 configs/MPC832XEMDS_HOST_66_defconfig                  |  1 +
 configs/MPC832XEMDS_SLAVE_defconfig                    |  1 +
 configs/MPC832XEMDS_defconfig                          |  1 +
 configs/MPC8349EMDS_defconfig                          |  1 +
 configs/MPC8349ITXGP_defconfig                         |  1 +
 configs/MPC8349ITX_LOWBOOT_defconfig                   |  1 +
 configs/MPC8349ITX_defconfig                           |  1 +
 configs/MPC837XEMDS_HOST_defconfig                     |  1 +
 configs/MPC837XEMDS_defconfig                          |  1 +
 configs/MPC837XERDB_defconfig                          |  1 +
 configs/MPC8536DS_36BIT_defconfig                      |  1 +
 configs/MPC8536DS_SDCARD_defconfig                     |  1 +
 configs/MPC8536DS_SPIFLASH_defconfig                   |  1 +
 configs/MPC8536DS_defconfig                            |  1 +
 configs/MPC8540ADS_defconfig                           |  1 +
 configs/MPC8541CDS_defconfig                           |  1 +
 configs/MPC8541CDS_legacy_defconfig                    |  1 +
 configs/MPC8544DS_defconfig                            |  1 +
 configs/MPC8548CDS_36BIT_defconfig                     |  1 +
 configs/MPC8548CDS_defconfig                           |  1 +
 configs/MPC8548CDS_legacy_defconfig                    |  1 +
 configs/MPC8555CDS_defconfig                           |  1 +
 configs/MPC8555CDS_legacy_defconfig                    |  1 +
 configs/MPC8568MDS_defconfig                           |  1 +
 configs/MPC8569MDS_ATM_defconfig                       |  1 +
 configs/MPC8569MDS_defconfig                           |  1 +
 configs/MPC8572DS_36BIT_defconfig                      |  1 +
 configs/MPC8572DS_defconfig                            |  1 +
 configs/MPC8610HPCD_defconfig                          |  1 +
 configs/MPC8641HPCN_36BIT_defconfig                    |  1 +
 configs/MPC8641HPCN_defconfig                          |  1 +
 configs/MSI_Primo73_defconfig                          |  1 +
 configs/MSI_Primo81_defconfig                          |  1 +
 configs/Marsboard_A10_defconfig                        |  1 +
 configs/Mele_A1000G_quad_defconfig                     |  3 ++-
 configs/Mele_A1000_defconfig                           |  1 +
 configs/Mele_I7_defconfig                              |  3 ++-
 configs/Mele_M3_defconfig                              |  1 +
 configs/Mele_M5_defconfig                              |  1 +
 configs/Mele_M9_defconfig                              |  3 ++-
 configs/Merrii_A80_Optimus_defconfig                   |  1 +
 configs/Mini-X_defconfig                               |  1 +
 configs/Orangepi_defconfig                             |  1 +
 configs/Orangepi_mini_defconfig                        |  1 +
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig       |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig               |  1 +
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig        |  1 +
 configs/P1010RDB-PA_36BIT_NOR_defconfig                |  1 +
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig             |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig             |  1 +
 configs/P1010RDB-PA_NAND_defconfig                     |  1 +
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig              |  1 +
 configs/P1010RDB-PA_NOR_defconfig                      |  1 +
 configs/P1010RDB-PA_SDCARD_defconfig                   |  1 +
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PA_SPIFLASH_defconfig                 |  1 +
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig       |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig               |  1 +
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig        |  1 +
 configs/P1010RDB-PB_36BIT_NOR_defconfig                |  1 +
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig             |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig             |  1 +
 configs/P1010RDB-PB_NAND_defconfig                     |  1 +
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig              |  1 +
 configs/P1010RDB-PB_NOR_defconfig                      |  1 +
 configs/P1010RDB-PB_SDCARD_defconfig                   |  1 +
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PB_SPIFLASH_defconfig                 |  1 +
 configs/P1020MBG-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020MBG-PC_36BIT_defconfig                    |  1 +
 configs/P1020MBG-PC_SDCARD_defconfig                   |  1 +
 configs/P1020MBG-PC_defconfig                          |  1 +
 configs/P1020RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1020RDB-PC_36BIT_defconfig                    |  1 +
 configs/P1020RDB-PC_NAND_defconfig                     |  1 +
 configs/P1020RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P1020RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P1020RDB-PC_defconfig                          |  1 +
 configs/P1020RDB-PD_NAND_defconfig                     |  1 +
 configs/P1020RDB-PD_SDCARD_defconfig                   |  1 +
 configs/P1020RDB-PD_SPIFLASH_defconfig                 |  1 +
 configs/P1020RDB-PD_defconfig                          |  1 +
 configs/P1020UTM-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020UTM-PC_36BIT_defconfig                    |  1 +
 configs/P1020UTM-PC_SDCARD_defconfig                   |  1 +
 configs/P1020UTM-PC_defconfig                          |  1 +
 configs/P1021RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1021RDB-PC_36BIT_defconfig                    |  1 +
 configs/P1021RDB-PC_NAND_defconfig                     |  1 +
 configs/P1021RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P1021RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P1021RDB-PC_defconfig                          |  1 +
 configs/P1022DS_36BIT_NAND_defconfig                   |  1 +
 configs/P1022DS_36BIT_SDCARD_defconfig                 |  1 +
 configs/P1022DS_36BIT_SPIFLASH_defconfig               |  1 +
 configs/P1022DS_36BIT_defconfig                        |  1 +
 configs/P1022DS_NAND_defconfig                         |  1 +
 configs/P1022DS_SDCARD_defconfig                       |  1 +
 configs/P1022DS_SPIFLASH_defconfig                     |  1 +
 configs/P1022DS_defconfig                              |  1 +
 configs/P1023RDB_defconfig                             |  1 +
 configs/P1024RDB_36BIT_defconfig                       |  1 +
 configs/P1024RDB_NAND_defconfig                        |  1 +
 configs/P1024RDB_SDCARD_defconfig                      |  1 +
 configs/P1024RDB_SPIFLASH_defconfig                    |  1 +
 configs/P1024RDB_defconfig                             |  1 +
 configs/P1025RDB_36BIT_defconfig                       |  1 +
 configs/P1025RDB_NAND_defconfig                        |  1 +
 configs/P1025RDB_SDCARD_defconfig                      |  1 +
 configs/P1025RDB_SPIFLASH_defconfig                    |  1 +
 configs/P1025RDB_defconfig                             |  1 +
 configs/P2020RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P2020RDB-PC_36BIT_defconfig                    |  1 +
 configs/P2020RDB-PC_NAND_defconfig                     |  1 +
 configs/P2020RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P2020RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P2020RDB-PC_defconfig                          |  1 +
 configs/P2041RDB_NAND_defconfig                        |  1 +
 configs/P2041RDB_SDCARD_defconfig                      |  1 +
 configs/P2041RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/P2041RDB_SPIFLASH_defconfig                    |  1 +
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/P2041RDB_defconfig                             |  1 +
 configs/P3041DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P3041DS_NAND_defconfig                         |  1 +
 configs/P3041DS_SDCARD_defconfig                       |  1 +
 configs/P3041DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P3041DS_SPIFLASH_defconfig                     |  1 +
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P3041DS_defconfig                              |  1 +
 configs/P4080DS_SDCARD_defconfig                       |  1 +
 configs/P4080DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P4080DS_SPIFLASH_defconfig                     |  1 +
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P4080DS_defconfig                              |  1 +
 configs/P5020DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P5020DS_NAND_defconfig                         |  1 +
 configs/P5020DS_SDCARD_defconfig                       |  1 +
 configs/P5020DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P5020DS_SPIFLASH_defconfig                     |  1 +
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P5020DS_defconfig                              |  1 +
 configs/P5040DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P5040DS_NAND_defconfig                         |  1 +
 configs/P5040DS_SDCARD_defconfig                       |  1 +
 configs/P5040DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P5040DS_SPIFLASH_defconfig                     |  1 +
 configs/P5040DS_defconfig                              |  1 +
 configs/PIP405_defconfig                               |  1 +
 configs/PLU405_defconfig                               |  1 +
 configs/PMC405DE_defconfig                             |  1 +
 configs/PMC440_defconfig                               |  1 +
 configs/Sinlinx_SinA33_defconfig                       |  1 +
 configs/Sinovoip_BPI_M2_defconfig                      |  3 ++-
 configs/T1023RDB_NAND_defconfig                        |  1 +
 configs/T1023RDB_SDCARD_defconfig                      |  1 +
 configs/T1023RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1023RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1023RDB_defconfig                             |  1 +
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig            |  1 +
 configs/T1024QDS_DDR4_defconfig                        |  1 +
 configs/T1024QDS_NAND_defconfig                        |  1 +
 configs/T1024QDS_SDCARD_defconfig                      |  1 +
 configs/T1024QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T1024QDS_SPIFLASH_defconfig                    |  1 +
 configs/T1024QDS_defconfig                             |  1 +
 configs/T1024RDB_NAND_defconfig                        |  1 +
 configs/T1024RDB_SDCARD_defconfig                      |  1 +
 configs/T1024RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1024RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1024RDB_defconfig                             |  1 +
 configs/T1040D4RDB_NAND_defconfig                      |  1 +
 configs/T1040D4RDB_SDCARD_defconfig                    |  1 +
 configs/T1040D4RDB_SECURE_BOOT_defconfig               |  1 +
 configs/T1040D4RDB_SPIFLASH_defconfig                  |  1 +
 configs/T1040D4RDB_defconfig                           |  1 +
 configs/T1040QDS_DDR4_defconfig                        |  1 +
 configs/T1040QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T1040QDS_defconfig                             |  1 +
 configs/T1040RDB_NAND_defconfig                        |  1 +
 configs/T1040RDB_SDCARD_defconfig                      |  1 +
 configs/T1040RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1040RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1040RDB_defconfig                             |  1 +
 configs/T1042D4RDB_NAND_defconfig                      |  1 +
 configs/T1042D4RDB_SDCARD_defconfig                    |  1 +
 configs/T1042D4RDB_SECURE_BOOT_defconfig               |  1 +
 configs/T1042D4RDB_SPIFLASH_defconfig                  |  1 +
 configs/T1042D4RDB_defconfig                           |  1 +
 configs/T1042RDB_PI_NAND_defconfig                     |  1 +
 configs/T1042RDB_PI_SDCARD_defconfig                   |  1 +
 configs/T1042RDB_PI_SPIFLASH_defconfig                 |  1 +
 configs/T1042RDB_PI_defconfig                          |  1 +
 configs/T1042RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1042RDB_defconfig                             |  1 +
 configs/T2080QDS_NAND_defconfig                        |  1 +
 configs/T2080QDS_SDCARD_defconfig                      |  1 +
 configs/T2080QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T2080QDS_SPIFLASH_defconfig                    |  1 +
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2080QDS_defconfig                             |  1 +
 configs/T2080RDB_NAND_defconfig                        |  1 +
 configs/T2080RDB_SDCARD_defconfig                      |  1 +
 configs/T2080RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T2080RDB_SPIFLASH_defconfig                    |  1 +
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2080RDB_defconfig                             |  1 +
 configs/T2081QDS_NAND_defconfig                        |  1 +
 configs/T2081QDS_SDCARD_defconfig                      |  1 +
 configs/T2081QDS_SPIFLASH_defconfig                    |  1 +
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2081QDS_defconfig                             |  1 +
 configs/T4160QDS_NAND_defconfig                        |  1 +
 configs/T4160QDS_SDCARD_defconfig                      |  1 +
 configs/T4160QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T4160QDS_defconfig                             |  1 +
 configs/T4160RDB_defconfig                             |  1 +
 configs/T4240QDS_NAND_defconfig                        |  1 +
 configs/T4240QDS_SDCARD_defconfig                      |  1 +
 configs/T4240QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T4240QDS_defconfig                             |  1 +
 configs/T4240RDB_SDCARD_defconfig                      |  1 +
 configs/T4240RDB_defconfig                             |  1 +
 configs/TQM834x_defconfig                              |  1 +
 configs/TWR-P1025_defconfig                            |  1 +
 configs/UCP1020_SPIFLASH_defconfig                     |  1 +
 configs/UCP1020_defconfig                              |  1 +
 configs/UTOO_P66_defconfig                             |  1 +
 configs/VOM405_defconfig                               |  1 +
 configs/Wexler_TAB7200_defconfig                       |  1 +
 configs/Wits_Pro_A20_DKT_defconfig                     |  1 +
 configs/Wobo_i5_defconfig                              |  1 +
 configs/Yones_Toptech_BD1078_defconfig                 |  1 +
 configs/acadia_defconfig                               |  1 +
 configs/adp-ag101p_defconfig                           |  1 +
 configs/am335x_baltos_defconfig                        |  3 ++-
 configs/am335x_boneblack_defconfig                     |  3 ++-
 configs/am335x_boneblack_vboot_defconfig               |  5 +++--
 configs/am335x_evm_defconfig                           |  3 ++-
 configs/am335x_evm_nor_defconfig                       |  3 ++-
 configs/am335x_evm_norboot_defconfig                   |  1 +
 configs/am335x_evm_spiboot_defconfig                   |  3 ++-
 configs/am335x_evm_usbspl_defconfig                    |  3 ++-
 configs/am335x_gp_evm_defconfig                        |  7 ++++---
 configs/am335x_igep0033_defconfig                      |  3 ++-
 configs/am335x_sl50_defconfig                          |  3 ++-
 configs/am3517_crane_defconfig                         |  1 +
 configs/am3517_evm_defconfig                           |  1 +
 configs/am437x_gp_evm_defconfig                        | 10 +++++-----
 configs/am437x_sk_evm_defconfig                        | 10 +++++-----
 configs/am43xx_evm_defconfig                           |  1 +
 configs/am43xx_evm_ethboot_defconfig                   |  1 +
 configs/am43xx_evm_qspiboot_defconfig                  |  1 +
 configs/am43xx_evm_usbhost_boot_defconfig              |  1 +
 configs/am57xx_evm_defconfig                           |  9 +++++----
 configs/apalis_t30_defconfig                           |  1 +
 configs/arches_defconfig                               |  1 +
 configs/aspenite_defconfig                             |  1 +
 configs/axs101_defconfig                               |  1 +
 configs/axs103_defconfig                               |  1 +
 configs/ba10_tv_box_defconfig                          |  1 +
 configs/bamboo_defconfig                               |  1 +
 configs/bayleybay_defconfig                            |  1 +
 configs/bcm11130_defconfig                             |  1 +
 configs/bcm11130_nand_defconfig                        |  1 +
 configs/bcm28155_ap_defconfig                          |  1 +
 configs/bcm28155_w1d_defconfig                         |  1 +
 configs/bcm911360_entphn-ns_defconfig                  |  1 +
 configs/bcm911360_entphn_defconfig                     |  1 +
 configs/bcm911360k_defconfig                           |  1 +
 configs/bcm958300k-ns_defconfig                        |  1 +
 configs/bcm958300k_defconfig                           |  1 +
 configs/bcm958305k_defconfig                           |  1 +
 configs/bcm958622hr_defconfig                          |  1 +
 configs/beagle_x15_defconfig                           |  1 +
 configs/beaver_defconfig                               |  1 +
 configs/bf527-ezkit_defconfig                          |  2 +-
 configs/birdland_bav335a_defconfig                     |  1 +
 configs/birdland_bav335b_defconfig                     |  1 +
 configs/bubinga_defconfig                              |  1 +
 configs/caddy2_defconfig                               |  1 +
 configs/cairo_defconfig                                |  1 +
 configs/calimain_defconfig                             |  1 +
 configs/canyonlands_defconfig                          |  1 +
 configs/cardhu_defconfig                               |  1 +
 configs/chromebook_jerry_defconfig                     |  3 ++-
 configs/chromebook_link_defconfig                      |  3 +--
 configs/chromebox_panther_defconfig                    |  2 +-
 configs/cm_t335_defconfig                              |  1 +
 configs/cm_t3517_defconfig                             |  1 +
 configs/cm_t35_defconfig                               |  1 +
 configs/cm_t43_defconfig                               |  1 +
 configs/cm_t54_defconfig                               |  1 +
 configs/colibri_t20_defconfig                          |  1 +
 configs/colibri_t30_defconfig                          |  1 +
 configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |  5 ++---
 configs/controlcenterd_36BIT_SDCARD_defconfig          |  5 ++---
 configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |  3 +--
 configs/controlcenterd_TRAILBLAZER_defconfig           |  3 +--
 configs/coreboot-x86_defconfig                         |  2 +-
 configs/crownbay_defconfig                             |  1 +
 configs/d2net_v2_defconfig                             |  1 +
 configs/da850_am18xxevm_defconfig                      |  1 +
 configs/da850evm_defconfig                             |  1 +
 configs/da850evm_direct_nor_defconfig                  |  1 +
 configs/dalmore_defconfig                              |  1 +
 configs/db-88f6820-gp_defconfig                        |  1 +
 configs/db-mv784mp-gp_defconfig                        |  1 +
 configs/devconcenter_defconfig                         |  1 +
 configs/devkit3250_defconfig                           |  1 +
 configs/devkit8000_defconfig                           |  1 +
 configs/dlvision-10g_defconfig                         |  1 +
 configs/dlvision_defconfig                             |  1 +
 configs/dns325_defconfig                               |  1 +
 configs/dockstar_defconfig                             |  1 +
 configs/dra72_evm_defconfig                            |  1 +
 configs/dra74_evm_defconfig                            |  6 +++---
 configs/dra7xx_evm_defconfig                           |  3 ++-
 configs/dra7xx_evm_qspiboot_defconfig                  |  3 ++-
 configs/dra7xx_evm_uart3_defconfig                     |  3 ++-
 configs/draco_defconfig                                |  1 +
 configs/dreamplug_defconfig                            |  9 +++++----
 configs/duovero_defconfig                              |  1 +
 configs/e2220-1170_defconfig                           |  1 +
 configs/ea20_defconfig                                 |  1 +
 configs/eco5pk_defconfig                               |  1 +
 configs/edminiv2_defconfig                             |  1 +
 configs/firefly-rk3288_defconfig                       |  3 ++-
 configs/fx12mm_defconfig                               |  1 +
 configs/fx12mm_flash_defconfig                         |  1 +
 configs/ga10h_v1_1_defconfig                           |  1 +
 configs/galileo_defconfig                              |  1 +
 configs/gdppc440etx_defconfig                          |  1 +
 configs/glacier_defconfig                              |  1 +
 configs/glacier_ramboot_defconfig                      |  1 +
 configs/goflexhome_defconfig                           |  1 +
 configs/gplugd_defconfig                               |  1 +
 configs/gr_xc3s_1500_defconfig                         |  2 +-
 configs/gt90h_v4_defconfig                             |  1 +
 configs/guruplug_defconfig                             |  7 ++++---
 configs/gwventana_defconfig                            |  2 +-
 configs/haleakala_defconfig                            |  1 +
 configs/harmony_defconfig                              |  1 +
 configs/hrcon_defconfig                                |  1 +
 configs/hrcon_dh_defconfig                             |  4 ++--
 configs/i12-tvbox_defconfig                            |  1 +
 configs/iNet_3F_defconfig                              |  1 +
 configs/iNet_3W_defconfig                              |  1 +
 configs/iNet_86VS_defconfig                            |  1 +
 configs/ib62x0_defconfig                               |  7 ++++---
 configs/icon_defconfig                                 |  1 +
 configs/iconnect_defconfig                             |  1 +
 configs/ids8313_defconfig                              |  1 +
 configs/igep0020_defconfig                             |  1 +
 configs/igep0020_nand_defconfig                        |  1 +
 configs/igep0030_defconfig                             |  1 +
 configs/igep0030_nand_defconfig                        |  1 +
 configs/igep0032_defconfig                             |  1 +
 configs/inet1_defconfig                                |  1 +
 configs/inet97fv2_defconfig                            |  1 +
 configs/inet98v_rev2_defconfig                         |  1 +
 configs/inet9f_rev03_defconfig                         |  1 +
 configs/inetspace_v2_defconfig                         |  1 +
 configs/intip_defconfig                                |  1 +
 configs/io64_defconfig                                 |  1 +
 configs/io_defconfig                                   |  1 +
 configs/iocon_defconfig                                |  1 +
 configs/ipam390_defconfig                              |  1 +
 configs/jesurun_q5_defconfig                           |  1 +
 configs/jetson-tk1_defconfig                           |  1 +
 configs/k2e_evm_defconfig                              |  1 +
 configs/k2g_evm_defconfig                              |  6 +++---
 configs/k2hk_evm_defconfig                             |  1 +
 configs/k2l_evm_defconfig                              |  1 +
 configs/katmai_defconfig                               |  1 +
 configs/kilauea_defconfig                              |  1 +
 configs/km_kirkwood_128m16_defconfig                   |  1 +
 configs/km_kirkwood_defconfig                          |  1 +
 configs/km_kirkwood_pci_defconfig                      |  1 +
 configs/kmcoge4_defconfig                              |  1 +
 configs/kmcoge5ne_defconfig                            |  1 +
 configs/kmcoge5un_defconfig                            |  1 +
 configs/kmeter1_defconfig                              |  1 +
 configs/kmlion1_defconfig                              |  1 +
 configs/kmnusa_defconfig                               |  1 +
 configs/kmopti2_defconfig                              |  1 +
 configs/kmsugp1_defconfig                              |  1 +
 configs/kmsupx5_defconfig                              |  1 +
 configs/kmsuv31_defconfig                              |  1 +
 configs/kmvect1_defconfig                              |  1 +
 configs/kwb_defconfig                                  |  1 +
 configs/ls1021aqds_ddr4_nor_defconfig                  |  1 +
 configs/ls1021aqds_nand_defconfig                      |  1 +
 configs/ls1021aqds_nor_SECURE_BOOT_defconfig           |  1 +
 configs/ls1021aqds_nor_defconfig                       |  1 +
 configs/ls1021aqds_qspi_defconfig                      |  1 +
 configs/ls1021aqds_sdcard_defconfig                    |  1 +
 configs/ls1021atwr_nor_SECURE_BOOT_defconfig           |  1 +
 configs/ls1021atwr_nor_defconfig                       |  1 +
 configs/ls1021atwr_qspi_defconfig                      |  1 +
 configs/ls1021atwr_sdcard_ifc_defconfig                |  1 +
 configs/ls1021atwr_sdcard_qspi_defconfig               |  5 +++--
 configs/ls1043ardb_defconfig                           |  4 ++--
 configs/ls1043ardb_nand_defconfig                      |  5 +++--
 configs/ls1043ardb_sdcard_defconfig                    |  5 +++--
 configs/ls2085a_emu_defconfig                          |  1 +
 configs/ls2085a_simu_defconfig                         |  1 +
 configs/ls2085aqds_defconfig                           |  1 +
 configs/ls2085aqds_nand_defconfig                      |  1 +
 configs/ls2085ardb_defconfig                           |  1 +
 configs/ls2085ardb_nand_defconfig                      |  1 +
 configs/lschlv2_defconfig                              |  1 +
 configs/lsxhl_defconfig                                |  1 +
 configs/luan_defconfig                                 |  1 +
 configs/lwmon5_defconfig                               |  1 +
 configs/makalu_defconfig                               |  1 +
 configs/malta_defconfig                                |  1 +
 configs/maltael_defconfig                              |  1 +
 configs/maxbcm_defconfig                               |  1 +
 configs/mcx_defconfig                                  |  1 +
 configs/medcom-wide_defconfig                          |  1 +
 configs/mgcoge3un_defconfig                            |  1 +
 configs/minnowmax_defconfig                            |  2 +-
 configs/mixtile_loftq_defconfig                        |  1 +
 configs/mk802_a10s_defconfig                           |  3 ++-
 configs/mk802_defconfig                                |  3 ++-
 configs/mk802ii_defconfig                              |  1 +
 configs/mpc8308_p1m_defconfig                          |  1 +
 configs/mt_ventoux_defconfig                           |  1 +
 configs/nas220_defconfig                               |  1 +
 configs/neo_defconfig                                  |  1 +
 configs/net2big_v2_defconfig                           |  1 +
 configs/netspace_lite_v2_defconfig                     |  1 +
 configs/netspace_max_v2_defconfig                      |  1 +
 configs/netspace_mini_v2_defconfig                     |  1 +
 configs/netspace_v2_defconfig                          |  1 +
 configs/nokia_rx51_defconfig                           |  1 +
 configs/nyan-big_defconfig                             |  2 +-
 configs/odroid-xu3_defconfig                           | 10 +++++-----
 configs/omap3_beagle_defconfig                         |  1 +
 configs/omap3_evm_defconfig                            |  1 +
 configs/omap3_evm_quick_mmc_defconfig                  |  1 +
 configs/omap3_evm_quick_nand_defconfig                 |  1 +
 configs/omap3_ha_defconfig                             |  1 +
 configs/omap3_logic_defconfig                          |  1 +
 configs/omap3_overo_defconfig                          |  1 +
 configs/omap3_pandora_defconfig                        |  1 +
 configs/omap3_zoom1_defconfig                          |  1 +
 configs/omap4_panda_defconfig                          |  1 +
 configs/omap4_sdp4430_defconfig                        |  1 +
 configs/omap5_uevm_defconfig                           |  1 +
 configs/omapl138_lcdk_defconfig                        |  1 +
 configs/openrd_base_defconfig                          |  1 +
 configs/openrd_client_defconfig                        |  1 +
 configs/openrd_ultimate_defconfig                      |  1 +
 configs/openrisc-generic_defconfig                     |  1 +
 configs/p2371-0000_defconfig                           |  1 +
 configs/p2371-2180_defconfig                           |  1 +
 configs/p2571_defconfig                                |  1 +
 configs/paz00_defconfig                                |  1 +
 configs/pcm051_rev1_defconfig                          |  1 +
 configs/pcm051_rev3_defconfig                          |  1 +
 configs/pcm052_defconfig                               |  1 -
 configs/peach-pi_defconfig                             |  1 -
 configs/peach-pit_defconfig                            |  1 -
 configs/pengwyn_defconfig                              |  1 +
 configs/pepper_defconfig                               |  1 +
 configs/plutux_defconfig                               |  1 +
 configs/pogo_e02_defconfig                             |  1 +
 configs/portl2_defconfig                               |  1 +
 configs/pov_protab2_ips9_defconfig                     |  1 +
 configs/pxm2_defconfig                                 |  1 +
 configs/q8_a13_tablet_defconfig                        |  1 +
 configs/q8_a23_tablet_800x480_defconfig                |  1 +
 configs/q8_a33_tablet_1024x600_defconfig               |  1 +
 configs/q8_a33_tablet_800x480_defconfig                |  1 +
 configs/qemu-ppce500_defconfig                         |  1 +
 configs/qemu-x86_defconfig                             |  1 +
 configs/qemu_mips64_defconfig                          |  1 +
 configs/qemu_mips64el_defconfig                        |  1 +
 configs/qemu_mips_defconfig                            |  1 +
 configs/qemu_mipsel_defconfig                          |  1 +
 configs/r7-tv-dongle_defconfig                         |  3 ++-
 configs/rainier_defconfig                              |  1 +
 configs/rainier_ramboot_defconfig                      |  1 +
 configs/rastaban_defconfig                             |  1 +
 configs/redwood_defconfig                              |  1 +
 configs/rut_defconfig                                  |  1 +
 configs/sandbox_defconfig                              |  9 ++++-----
 configs/sbc8349_PCI_33_defconfig                       |  1 +
 configs/sbc8349_PCI_66_defconfig                       |  1 +
 configs/sbc8349_defconfig                              |  1 +
 configs/sbc8548_PCI_33_PCIE_defconfig                  |  1 +
 configs/sbc8548_PCI_33_defconfig                       |  1 +
 configs/sbc8548_PCI_66_PCIE_defconfig                  |  1 +
 configs/sbc8548_PCI_66_defconfig                       |  1 +
 configs/sbc8548_defconfig                              |  1 +
 configs/sbc8641d_defconfig                             |  1 +
 configs/seaboard_defconfig                             |  1 +
 configs/sequoia_defconfig                              |  1 +
 configs/sequoia_ramboot_defconfig                      |  1 +
 configs/sheevaplug_defconfig                           |  7 ++++---
 configs/sniper_defconfig                               |  1 +
 configs/snow_defconfig                                 |  1 -
 configs/socfpga_arria5_defconfig                       |  3 ++-
 configs/socfpga_cyclone5_defconfig                     |  3 ++-
 configs/socfpga_de0_nano_soc_defconfig                 |  3 ++-
 configs/socfpga_mcvevk_defconfig                       |  3 ++-
 configs/socfpga_sockit_defconfig                       |  3 ++-
 configs/socfpga_socrates_defconfig                     |  3 ++-
 configs/socrates_defconfig                             |  1 +
 configs/spring_defconfig                               |  1 -
 configs/strider_con_defconfig                          |  3 ++-
 configs/strider_cpu_defconfig                          |  3 ++-
 configs/sunxi_Gemei_G9_defconfig                       |  1 +
 configs/suvd3_defconfig                                |  1 +
 configs/sycamore_defconfig                             |  1 +
 configs/t3corp_defconfig                               |  1 +
 configs/tao3530_defconfig                              |  1 +
 configs/tb100_defconfig                                |  1 +
 configs/tec-ng_defconfig                               |  1 +
 configs/tec_defconfig                                  |  1 +
 configs/thuban_defconfig                               |  1 +
 configs/ti814x_evm_defconfig                           |  1 +
 configs/ti816x_evm_defconfig                           |  1 +
 configs/tricorder_defconfig                            |  1 +
 configs/tricorder_flash_defconfig                      |  1 +
 configs/trimslice_defconfig                            |  1 +
 configs/tseries_mmc_defconfig                          |  1 +
 configs/tseries_nand_defconfig                         |  1 +
 configs/tseries_spi_defconfig                          |  1 +
 configs/tuge1_defconfig                                |  1 +
 configs/tuxx1_defconfig                                |  1 +
 configs/twister_defconfig                              |  1 +
 configs/vct_platinum_defconfig                         |  1 +
 configs/vct_platinum_onenand_defconfig                 |  1 +
 configs/vct_platinum_onenand_small_defconfig           |  1 +
 configs/vct_platinum_small_defconfig                   |  1 +
 configs/vct_platinumavc_defconfig                      |  1 +
 configs/vct_platinumavc_onenand_defconfig              |  1 +
 configs/vct_platinumavc_onenand_small_defconfig        |  1 +
 configs/vct_platinumavc_small_defconfig                |  1 +
 configs/vct_premium_defconfig                          |  1 +
 configs/vct_premium_onenand_defconfig                  |  1 +
 configs/vct_premium_onenand_small_defconfig            |  1 +
 configs/vct_premium_small_defconfig                    |  1 +
 configs/ve8313_defconfig                               |  1 +
 configs/venice2_defconfig                              |  1 +
 configs/ventana_defconfig                              |  1 +
 configs/vexpress_aemv8a_dram_defconfig                 |  4 ++--
 configs/vme8349_defconfig                              |  1 +
 configs/walnut_defconfig                               |  1 +
 configs/whistler_defconfig                             |  1 +
 configs/work_92105_defconfig                           |  1 +
 configs/xpedite1000_defconfig                          |  1 +
 configs/xpedite517x_defconfig                          |  1 +
 configs/xpedite520x_defconfig                          |  1 +
 configs/xpedite537x_defconfig                          |  1 +
 configs/xpedite550x_defconfig                          |  1 +
 configs/yellowstone_defconfig                          |  1 +
 configs/yosemite_defconfig                             |  1 +
 configs/yucca_defconfig                                |  1 +
 configs/zynq_microzed_defconfig                        |  1 -
 configs/zynq_picozed_defconfig                         |  1 -
 configs/zynq_zc702_defconfig                           |  1 -
 configs/zynq_zc706_defconfig                           |  1 -
 configs/zynq_zc770_xm010_defconfig                     |  1 -
 configs/zynq_zc770_xm011_defconfig                     |  1 -
 configs/zynq_zc770_xm012_defconfig                     |  1 -
 configs/zynq_zc770_xm013_defconfig                     |  1 -
 configs/zynq_zed_defconfig                             |  1 -
 configs/zynq_zybo_defconfig                            |  1 -
 drivers/serial/Kconfig                                 | 10 ++++++++++
 include/configs/B4860QDS.h                             |  1 -
 include/configs/BSC9131RDB.h                           |  1 -
 include/configs/BSC9132QDS.h                           |  1 -
 include/configs/C29XPCIE.h                             |  1 -
 include/configs/CPCI2DP.h                              |  1 -
 include/configs/CPCI4052.h                             |  1 -
 include/configs/MIP405.h                               |  1 -
 include/configs/MPC8308RDB.h                           |  1 -
 include/configs/MPC8313ERDB.h                          |  1 -
 include/configs/MPC8315ERDB.h                          |  1 -
 include/configs/MPC8323ERDB.h                          |  1 -
 include/configs/MPC832XEMDS.h                          |  1 -
 include/configs/MPC8349EMDS.h                          |  1 -
 include/configs/MPC8349ITX.h                           |  1 -
 include/configs/MPC837XEMDS.h                          |  1 -
 include/configs/MPC837XERDB.h                          |  1 -
 include/configs/MPC8536DS.h                            |  1 -
 include/configs/MPC8540ADS.h                           |  1 -
 include/configs/MPC8541CDS.h                           |  1 -
 include/configs/MPC8544DS.h                            |  1 -
 include/configs/MPC8548CDS.h                           |  1 -
 include/configs/MPC8555CDS.h                           |  1 -
 include/configs/MPC8568MDS.h                           |  1 -
 include/configs/MPC8569MDS.h                           |  1 -
 include/configs/MPC8572DS.h                            |  1 -
 include/configs/MPC8610HPCD.h                          |  1 -
 include/configs/MPC8641HPCN.h                          |  1 -
 include/configs/P1010RDB.h                             |  1 -
 include/configs/P1022DS.h                              |  1 -
 include/configs/P1023RDB.h                             |  1 -
 include/configs/P2041RDB.h                             |  1 -
 include/configs/PIP405.h                               |  1 -
 include/configs/PLU405.h                               |  1 -
 include/configs/PMC405DE.h                             |  1 -
 include/configs/PMC440.h                               |  1 -
 include/configs/T102xQDS.h                             |  1 -
 include/configs/T102xRDB.h                             |  1 -
 include/configs/T1040QDS.h                             |  1 -
 include/configs/T104xRDB.h                             |  1 -
 include/configs/T208xQDS.h                             |  1 -
 include/configs/T208xRDB.h                             |  1 -
 include/configs/T4240RDB.h                             |  1 -
 include/configs/TQM834x.h                              |  1 -
 include/configs/UCP1020.h                              |  1 -
 include/configs/VOM405.h                               |  1 -
 include/configs/adp-ag101p.h                           |  1 -
 include/configs/am3517_crane.h                         |  1 -
 include/configs/am3517_evm.h                           |  1 -
 include/configs/am43xx_evm.h                           |  1 -
 include/configs/amcc-common.h                          |  1 -
 include/configs/axs101.h                               |  1 -
 include/configs/bcm28155_ap.h                          |  1 -
 include/configs/bcm_ep_board.h                         |  1 -
 include/configs/bur_am335x_common.h                    |  1 -
 include/configs/calimain.h                             |  1 -
 include/configs/cm_t35.h                               |  1 -
 include/configs/cm_t3517.h                             |  1 -
 include/configs/cm_t43.h                               |  1 -
 include/configs/controlcenterd.h                       |  1 -
 include/configs/corenet_ds.h                           |  1 -
 include/configs/cyrus.h                                |  1 -
 include/configs/da850evm.h                             |  1 -
 include/configs/ea20.h                                 |  1 -
 include/configs/edminiv2.h                             |  1 -
 include/configs/efi-x86.h                              |  1 -
 include/configs/gdppc440etx.h                          |  1 -
 include/configs/hrcon.h                                |  1 -
 include/configs/ids8313.h                              |  1 -
 include/configs/ipam390.h                              |  1 -
 include/configs/km/km83xx-common.h                     |  1 -
 include/configs/km/km_arm.h                            |  1 -
 include/configs/km/kmp204x-common.h                    |  1 -
 include/configs/ls1021aqds.h                           |  1 -
 include/configs/ls1021atwr.h                           |  1 -
 include/configs/ls1043a_common.h                       |  1 -
 include/configs/ls2085a_common.h                       |  1 -
 include/configs/lwmon5.h                               |  1 -
 include/configs/malta.h                                |  1 -
 include/configs/mcx.h                                  |  1 -
 include/configs/microblaze-generic.h                   |  1 -
 include/configs/mpc8308_p1m.h                          |  1 -
 include/configs/mv-common.h                            |  1 -
 include/configs/neo.h                                  |  1 -
 include/configs/nokia_rx51.h                           |  1 -
 include/configs/omap3_evm_common.h                     |  1 -
 include/configs/omapl138_lcdk.h                        |  1 -
 include/configs/openrisc-generic.h                     |  1 -
 include/configs/p1_p2_rdb_pc.h                         |  1 -
 include/configs/p1_twr.h                               |  1 -
 include/configs/qemu-mips.h                            |  1 -
 include/configs/qemu-mips64.h                          |  1 -
 include/configs/qemu-ppce500.h                         |  1 -
 include/configs/rk3288_common.h                        |  1 -
 include/configs/sbc8349.h                              |  1 -
 include/configs/sbc8548.h                              |  1 -
 include/configs/sbc8641d.h                             |  1 -
 include/configs/siemens-am33x-common.h                 |  1 -
 include/configs/sniper.h                               |  1 -
 include/configs/socfpga_common.h                       |  1 -
 include/configs/socrates.h                             |  1 -
 include/configs/strider.h                              |  1 -
 include/configs/sunxi-common.h                         |  1 -
 include/configs/t4qds.h                                |  1 -
 include/configs/tam3517-common.h                       |  1 -
 include/configs/tao3530.h                              |  1 -
 include/configs/tb100.h                                |  1 -
 include/configs/tegra-common.h                         |  1 -
 include/configs/ti814x_evm.h                           |  1 -
 include/configs/ti816x_evm.h                           |  1 -
 include/configs/ti_am335x_common.h                     |  1 -
 include/configs/ti_armv7_keystone2.h                   |  1 -
 include/configs/ti_omap3_common.h                      |  1 -
 include/configs/ti_omap4_common.h                      |  1 -
 include/configs/ti_omap5_common.h                      |  1 -
 include/configs/tricorder.h                            |  1 -
 include/configs/uniphier.h                             |  1 -
 include/configs/vct.h                                  |  1 -
 include/configs/ve8313.h                               |  1 -
 include/configs/vme8349.h                              |  1 -
 include/configs/x86-common.h                           |  1 -
 include/configs/xilinx-ppc.h                           |  1 -
 include/configs/xpedite1000.h                          |  1 -
 include/configs/xpedite517x.h                          |  1 -
 include/configs/xpedite520x.h                          |  1 -
 include/configs/xpedite537x.h                          |  1 -
 include/configs/xpedite550x.h                          |  1 -
 786 files changed, 744 insertions(+), 262 deletions(-)

diff --git a/arch/arm/include/asm/arch-lpc32xx/config.h b/arch/arm/include/asm/arch-lpc32xx/config.h
index 845ba4f..d76514e 100644
--- a/arch/arm/include/asm/arch-lpc32xx/config.h
+++ b/arch/arm/include/asm/arch-lpc32xx/config.h
@@ -27,7 +27,6 @@
 #endif
 
 #if defined(CONFIG_SYS_NS16550_SERIAL)
-#define CONFIG_SYS_NS16550
 
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
index b22fdb3..e7c3ba4 100644
--- a/configs/A10-OLinuXino-Lime_defconfig
+++ b/configs/A10-OLinuXino-Lime_defconfig
@@ -12,4 +12,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A10s-OLinuXino-M_defconfig b/configs/A10s-OLinuXino-M_defconfig
index d9add78..03570a5 100644
--- a/configs/A10s-OLinuXino-M_defconfig
+++ b/configs/A10s-OLinuXino-M_defconfig
@@ -13,5 +13,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
index f438e50..1f34803 100644
--- a/configs/A13-OLinuXinoM_defconfig
+++ b/configs/A13-OLinuXinoM_defconfig
@@ -17,5 +17,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_SUNXI_NO_PMIC=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXino_defconfig b/configs/A13-OLinuXino_defconfig
index 390803a..aa30824 100644
--- a/configs/A13-OLinuXino_defconfig
+++ b/configs/A13-OLinuXino_defconfig
@@ -12,8 +12,6 @@ CONFIG_VIDEO_VGA_VIA_LCD=y
 CONFIG_VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH=y
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
-CONFIG_USB_MUSB_GADGET=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
@@ -21,4 +19,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig
index 678132c..a453691 100644
--- a/configs/A20-OLinuXino-Lime2_defconfig
+++ b/configs/A20-OLinuXino-Lime2_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino-Lime_defconfig b/configs/A20-OLinuXino-Lime_defconfig
index ffcdf29..ee2af45 100644
--- a/configs/A20-OLinuXino-Lime_defconfig
+++ b/configs/A20-OLinuXino-Lime_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig
index 9507b87..b2767d8 100644
--- a/configs/A20-OLinuXino_MICRO_defconfig
+++ b/configs/A20-OLinuXino_MICRO_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-Olimex-SOM-EVB_defconfig b/configs/A20-Olimex-SOM-EVB_defconfig
index 0b7ab62..a7a843c 100644
--- a/configs/A20-Olimex-SOM-EVB_defconfig
+++ b/configs/A20-Olimex-SOM-EVB_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Ainol_AW1_defconfig b/configs/Ainol_AW1_defconfig
index fc1be7d..fac5d6a 100644
--- a/configs/Ainol_AW1_defconfig
+++ b/configs/Ainol_AW1_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Ampe_A76_defconfig b/configs/Ampe_A76_defconfig
index 8262be5..1307896 100644
--- a/configs/Ampe_A76_defconfig
+++ b/configs/Ampe_A76_defconfig
@@ -19,4 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Auxtek-T003_defconfig b/configs/Auxtek-T003_defconfig
index 5dd9a16..053f94f 100644
--- a/configs/Auxtek-T003_defconfig
+++ b/configs/Auxtek-T003_defconfig
@@ -11,5 +11,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Auxtek-T004_defconfig b/configs/Auxtek-T004_defconfig
index c1a58d8..5d34bfc 100644
--- a/configs/Auxtek-T004_defconfig
+++ b/configs/Auxtek-T004_defconfig
@@ -9,5 +9,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/B4420QDS_NAND_defconfig b/configs/B4420QDS_NAND_defconfig
index 986eda6..b415324 100644
--- a/configs/B4420QDS_NAND_defconfig
+++ b/configs/B4420QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4420QDS_SPIFLASH_defconfig b/configs/B4420QDS_SPIFLASH_defconfig
index 5c6a319..c284b3f 100644
--- a/configs/B4420QDS_SPIFLASH_defconfig
+++ b/configs/B4420QDS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4420QDS_defconfig b/configs/B4420QDS_defconfig
index 8568f7d..bee5c18 100644
--- a/configs/B4420QDS_defconfig
+++ b/configs/B4420QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_NAND_defconfig b/configs/B4860QDS_NAND_defconfig
index a48ada4..89101fd 100644
--- a/configs/B4860QDS_NAND_defconfig
+++ b/configs/B4860QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SECURE_BOOT_defconfig b/configs/B4860QDS_SECURE_BOOT_defconfig
index 60ff218..0885531 100644
--- a/configs/B4860QDS_SECURE_BOOT_defconfig
+++ b/configs/B4860QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SPIFLASH_defconfig b/configs/B4860QDS_SPIFLASH_defconfig
index 7e8449e..8a8563d 100644
--- a/configs/B4860QDS_SPIFLASH_defconfig
+++ b/configs/B4860QDS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig b/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
index 5e3fd50..ac43c69 100644
--- a/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_defconfig b/configs/B4860QDS_defconfig
index d5c7545..82b04eb 100644
--- a/configs/B4860QDS_defconfig
+++ b/configs/B4860QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_NAND_SYSCLK100_defconfig b/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
index 90aa865..039cb1f 100644
--- a/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
+++ b/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND,SYS_CLK_100"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_NAND_defconfig b/configs/BSC9131RDB_NAND_defconfig
index 9cd68f0..cf81415 100644
--- a/configs/BSC9131RDB_NAND_defconfig
+++ b/configs/BSC9131RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig b/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
index d90d7a0..c8e51cc 100644
--- a/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
+++ b/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH,SYS_CLK_100"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_SPIFLASH_defconfig b/configs/BSC9131RDB_SPIFLASH_defconfig
index 4ba8d62..0b81532 100644
--- a/configs/BSC9131RDB_SPIFLASH_defconfig
+++ b/configs/BSC9131RDB_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
index b123f9e..a1c9f4b 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
index 0da87b3..8a26c77 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
index d8ad344..37eebc8 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
index 738c490..56eca29 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
index c468137..5025075 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
index 31a5223..77fc0a6 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
index 726c8ff..c68af3a 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
index ff4e4b4..9df6539 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
index 61725cd..5a9d230 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
index 484857a..d0ef3d6 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
index c4a772a..422f6ea 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
index fcada6d..54eaa9d 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
index 9282e0e..1bca772 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
index f6ad1e9..e629e08 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
index f3c5702..ded40c2 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
index 7f3554d..537a167 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig
index d9b1bd6..35bf709 100644
--- a/configs/Bananapi_defconfig
+++ b/configs/Bananapi_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_NETCONSOLE=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig
index 9226df5..7e4dbdd 100644
--- a/configs/Bananapro_defconfig
+++ b/configs/Bananapro_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_NETCONSOLE=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/C29XPCIE_NAND_defconfig b/configs/C29XPCIE_NAND_defconfig
index fd26cea..54dc0fa 100644
--- a/configs/C29XPCIE_NAND_defconfig
+++ b/configs/C29XPCIE_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_NOR_SECBOOT_defconfig b/configs/C29XPCIE_NOR_SECBOOT_defconfig
index bcc2701..be4baad 100644
--- a/configs/C29XPCIE_NOR_SECBOOT_defconfig
+++ b/configs/C29XPCIE_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig b/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
index 2f151fa..310d7be 100644
--- a/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
+++ b/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_SPIFLASH_defconfig b/configs/C29XPCIE_SPIFLASH_defconfig
index 8057f9c..13ec51c 100644
--- a/configs/C29XPCIE_SPIFLASH_defconfig
+++ b/configs/C29XPCIE_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_defconfig b/configs/C29XPCIE_defconfig
index 11610d5..f80cd36 100644
--- a/configs/C29XPCIE_defconfig
+++ b/configs/C29XPCIE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/CHIP_defconfig b/configs/CHIP_defconfig
index c4e8079..015f4f3 100644
--- a/configs/CHIP_defconfig
+++ b/configs/CHIP_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 CONFIG_AXP_DCDC2_VOLT=1300
 CONFIG_AXP_ALDO3_VOLT=3300
 CONFIG_AXP_ALDO4_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/CPCI2DP_defconfig b/configs/CPCI2DP_defconfig
index 9f98014..1c821ba 100644
--- a/configs/CPCI2DP_defconfig
+++ b/configs/CPCI2DP_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_CPCI2DP=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/CPCI4052_defconfig b/configs/CPCI4052_defconfig
index c4fac41..ba4a13e 100644
--- a/configs/CPCI4052_defconfig
+++ b/configs/CPCI4052_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/CSQ_CS908_defconfig b/configs/CSQ_CS908_defconfig
index 3ffd34e..c81737a 100644
--- a/configs/CSQ_CS908_defconfig
+++ b/configs/CSQ_CS908_defconfig
@@ -12,7 +12,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Chuwi_V7_CW0825_defconfig b/configs/Chuwi_V7_CW0825_defconfig
index 3257aae..71545f6 100644
--- a/configs/Chuwi_V7_CW0825_defconfig
+++ b/configs/Chuwi_V7_CW0825_defconfig
@@ -17,6 +17,7 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
 CONFIG_VIDEO_LCD_SPI_CS="PA0"
 CONFIG_VIDEO_LCD_SPI_SCLK="PA1"
diff --git a/configs/Colombus_defconfig b/configs/Colombus_defconfig
index 2ce8cb1..c5d4c2f 100644
--- a/configs/Colombus_defconfig
+++ b/configs/Colombus_defconfig
@@ -23,4 +23,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig
index 4b9d722..34e93d3 100644
--- a/configs/Cubieboard2_defconfig
+++ b/configs/Cubieboard2_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig
index c884115..f29515e 100644
--- a/configs/Cubieboard_defconfig
+++ b/configs/Cubieboard_defconfig
@@ -10,4 +10,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig
index bb9c42a..ae4c757 100644
--- a/configs/Cubietruck_defconfig
+++ b/configs/Cubietruck_defconfig
@@ -3,6 +3,9 @@ CONFIG_ARCH_SUNXI=y
 CONFIG_MACH_SUN7I=y
 CONFIG_DRAM_CLK=432
 CONFIG_MMC0_CD_PIN="PH1"
+CONFIG_USB0_VBUS_PIN="PH17"
+CONFIG_USB0_VBUS_DET="PH22"
+CONFIG_USB0_ID_DET="PH19"
 CONFIG_VIDEO_VGA=y
 CONFIG_GMAC_TX_DELAY=1
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
@@ -13,9 +16,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB0_ID_DET="PH19"
-CONFIG_USB0_VBUS_DET="PH22"
-CONFIG_USB0_VBUS_PIN="PH17"
-CONFIG_USB_MUSB_SUNXI=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/Cyrus_P5020_defconfig b/configs/Cyrus_P5020_defconfig
index d9bee34..f1439a2 100644
--- a/configs/Cyrus_P5020_defconfig
+++ b/configs/Cyrus_P5020_defconfig
@@ -1,9 +1,10 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CYRUS=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5020"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Cyrus_P5040_defconfig b/configs/Cyrus_P5040_defconfig
index c66238a..6a3b049 100644
--- a/configs/Cyrus_P5040_defconfig
+++ b/configs/Cyrus_P5040_defconfig
@@ -1,9 +1,10 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CYRUS=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5040"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Hummingbird_A31_defconfig b/configs/Hummingbird_A31_defconfig
index 02bcdbf..bdaa68e 100644
--- a/configs/Hummingbird_A31_defconfig
+++ b/configs/Hummingbird_A31_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Hyundai_A7HD_defconfig b/configs/Hyundai_A7HD_defconfig
index fef3685..cdd61ff 100644
--- a/configs/Hyundai_A7HD_defconfig
+++ b/configs/Hyundai_A7HD_defconfig
@@ -18,4 +18,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Linksprite_pcDuino3_Nano_defconfig b/configs/Linksprite_pcDuino3_Nano_defconfig
index 378abce..37be753 100644
--- a/configs/Linksprite_pcDuino3_Nano_defconfig
+++ b/configs/Linksprite_pcDuino3_Nano_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig
index c3f0421..454a6fd 100644
--- a/configs/Linksprite_pcDuino3_defconfig
+++ b/configs/Linksprite_pcDuino3_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino_defconfig b/configs/Linksprite_pcDuino_defconfig
index 9d8d325..0215373 100644
--- a/configs/Linksprite_pcDuino_defconfig
+++ b/configs/Linksprite_pcDuino_defconfig
@@ -10,4 +10,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MIP405T_defconfig b/configs/MIP405T_defconfig
index 22b82b1..799a1b6 100644
--- a/configs/MIP405T_defconfig
+++ b/configs/MIP405T_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_MIP405=y
 CONFIG_SYS_EXTRA_OPTIONS="MIP405T"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MIP405_defconfig b/configs/MIP405_defconfig
index f25cf51..3a012e7 100644
--- a/configs/MIP405_defconfig
+++ b/configs/MIP405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_MIP405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MK808C_defconfig b/configs/MK808C_defconfig
index 49bb26a..63abc81 100644
--- a/configs/MK808C_defconfig
+++ b/configs/MK808C_defconfig
@@ -8,4 +8,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MPC8308RDB_defconfig b/configs/MPC8308RDB_defconfig
index cb98324..2aec6d9 100644
--- a/configs/MPC8308RDB_defconfig
+++ b/configs/MPC8308RDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8308RDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_33_defconfig b/configs/MPC8313ERDB_33_defconfig
index a984c48..55e0861 100644
--- a/configs/MPC8313ERDB_33_defconfig
+++ b/configs/MPC8313ERDB_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_66_defconfig b/configs/MPC8313ERDB_66_defconfig
index 5b1ee7c..f1f78d5 100644
--- a/configs/MPC8313ERDB_66_defconfig
+++ b/configs/MPC8313ERDB_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_NAND_33_defconfig b/configs/MPC8313ERDB_NAND_33_defconfig
index b1052ef..8f08099 100644
--- a/configs/MPC8313ERDB_NAND_33_defconfig
+++ b/configs/MPC8313ERDB_NAND_33_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ,NAND"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_NAND_66_defconfig b/configs/MPC8313ERDB_NAND_66_defconfig
index fe59fe8..3e35d19 100644
--- a/configs/MPC8313ERDB_NAND_66_defconfig
+++ b/configs/MPC8313ERDB_NAND_66_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ,NAND"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig
index e618381..3d9dede 100644
--- a/configs/MPC8315ERDB_defconfig
+++ b/configs/MPC8315ERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8315ERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8323ERDB_defconfig b/configs/MPC8323ERDB_defconfig
index 762ad5b..337a0dd 100644
--- a/configs/MPC8323ERDB_defconfig
+++ b/configs/MPC8323ERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8323ERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_ATM_defconfig b/configs/MPC832XEMDS_ATM_defconfig
index b4b3724..cd29b89 100644
--- a/configs/MPC832XEMDS_ATM_defconfig
+++ b/configs/MPC832XEMDS_ATM_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_HOST_33_defconfig b/configs/MPC832XEMDS_HOST_33_defconfig
index 9a2f338..071fe08 100644
--- a/configs/MPC832XEMDS_HOST_33_defconfig
+++ b/configs/MPC832XEMDS_HOST_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M,PQ_MDS_PIB=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_HOST_66_defconfig b/configs/MPC832XEMDS_HOST_66_defconfig
index 66e4269..789c8b1 100644
--- a/configs/MPC832XEMDS_HOST_66_defconfig
+++ b/configs/MPC832XEMDS_HOST_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M,PQ_MDS_PIB=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_SLAVE_defconfig b/configs/MPC832XEMDS_SLAVE_defconfig
index 467f220..7f5c55a 100644
--- a/configs/MPC832XEMDS_SLAVE_defconfig
+++ b/configs/MPC832XEMDS_SLAVE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCISLAVE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_defconfig b/configs/MPC832XEMDS_defconfig
index 3e24ab1..2ea5868 100644
--- a/configs/MPC832XEMDS_defconfig
+++ b/configs/MPC832XEMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349EMDS_defconfig b/configs/MPC8349EMDS_defconfig
index 6a907cf..f4d1d45 100644
--- a/configs/MPC8349EMDS_defconfig
+++ b/configs/MPC8349EMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349EMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITXGP_defconfig b/configs/MPC8349ITXGP_defconfig
index 1a85eea..445beb6 100644
--- a/configs/MPC8349ITXGP_defconfig
+++ b/configs/MPC8349ITXGP_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
 CONFIG_SYS_PROMPT="MPC8349E-mITX-GP> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITX_LOWBOOT_defconfig b/configs/MPC8349ITX_LOWBOOT_defconfig
index 9aabd6a..c260a46 100644
--- a/configs/MPC8349ITX_LOWBOOT_defconfig
+++ b/configs/MPC8349ITX_LOWBOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITX_defconfig b/configs/MPC8349ITX_defconfig
index a5309de..5b234c6 100644
--- a/configs/MPC8349ITX_defconfig
+++ b/configs/MPC8349ITX_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX"
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XEMDS_HOST_defconfig b/configs/MPC837XEMDS_HOST_defconfig
index 2e472a7..972e0f8 100644
--- a/configs/MPC837XEMDS_HOST_defconfig
+++ b/configs/MPC837XEMDS_HOST_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XEMDS_defconfig b/configs/MPC837XEMDS_defconfig
index 21b4506..9ddddde 100644
--- a/configs/MPC837XEMDS_defconfig
+++ b/configs/MPC837XEMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XERDB_defconfig b/configs/MPC837XERDB_defconfig
index 126d0d2..c77fe0c 100644
--- a/configs/MPC837XERDB_defconfig
+++ b/configs/MPC837XERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_36BIT_defconfig b/configs/MPC8536DS_36BIT_defconfig
index 6604004..8614166 100644
--- a/configs/MPC8536DS_36BIT_defconfig
+++ b/configs/MPC8536DS_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_SDCARD_defconfig b/configs/MPC8536DS_SDCARD_defconfig
index d1bad84..125e07c 100644
--- a/configs/MPC8536DS_SDCARD_defconfig
+++ b/configs/MPC8536DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_SPIFLASH_defconfig b/configs/MPC8536DS_SPIFLASH_defconfig
index ad0ae69..a6a14ad 100644
--- a/configs/MPC8536DS_SPIFLASH_defconfig
+++ b/configs/MPC8536DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_defconfig b/configs/MPC8536DS_defconfig
index 2e9ae63..7d9b3a6 100644
--- a/configs/MPC8536DS_defconfig
+++ b/configs/MPC8536DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8536DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8540ADS_defconfig b/configs/MPC8540ADS_defconfig
index 41af349..1239ba8 100644
--- a/configs/MPC8540ADS_defconfig
+++ b/configs/MPC8540ADS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8540ADS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8541CDS_defconfig b/configs/MPC8541CDS_defconfig
index bc9c246..0c5cc13 100644
--- a/configs/MPC8541CDS_defconfig
+++ b/configs/MPC8541CDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8541CDS_legacy_defconfig b/configs/MPC8541CDS_legacy_defconfig
index 55478ab..3ae3a3d 100644
--- a/configs/MPC8541CDS_legacy_defconfig
+++ b/configs/MPC8541CDS_legacy_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8544DS_defconfig b/configs/MPC8544DS_defconfig
index ab0c79b..e4e2f9c 100644
--- a/configs/MPC8544DS_defconfig
+++ b/configs/MPC8544DS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8544DS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_36BIT_defconfig b/configs/MPC8548CDS_36BIT_defconfig
index 11d67ef..5e635e0 100644
--- a/configs/MPC8548CDS_36BIT_defconfig
+++ b/configs/MPC8548CDS_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_defconfig b/configs/MPC8548CDS_defconfig
index 6a9ce6a..ac2c090 100644
--- a/configs/MPC8548CDS_defconfig
+++ b/configs/MPC8548CDS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8548CDS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_legacy_defconfig b/configs/MPC8548CDS_legacy_defconfig
index 381947f..3e1ecd7 100644
--- a/configs/MPC8548CDS_legacy_defconfig
+++ b/configs/MPC8548CDS_legacy_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8555CDS_defconfig b/configs/MPC8555CDS_defconfig
index 3bdbb0c..9a7c16e 100644
--- a/configs/MPC8555CDS_defconfig
+++ b/configs/MPC8555CDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8555CDS_legacy_defconfig b/configs/MPC8555CDS_legacy_defconfig
index 8e53ee0..eb6382c 100644
--- a/configs/MPC8555CDS_legacy_defconfig
+++ b/configs/MPC8555CDS_legacy_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8568MDS_defconfig b/configs/MPC8568MDS_defconfig
index ac0ec8c..36b5c3b 100644
--- a/configs/MPC8568MDS_defconfig
+++ b/configs/MPC8568MDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8568MDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8569MDS_ATM_defconfig b/configs/MPC8569MDS_ATM_defconfig
index 719ca84..186126b 100644
--- a/configs/MPC8569MDS_ATM_defconfig
+++ b/configs/MPC8569MDS_ATM_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8569MDS=y
 CONFIG_SYS_EXTRA_OPTIONS="ATM"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8569MDS_defconfig b/configs/MPC8569MDS_defconfig
index bb1a4fb..bfb51d2 100644
--- a/configs/MPC8569MDS_defconfig
+++ b/configs/MPC8569MDS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8569MDS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8572DS_36BIT_defconfig b/configs/MPC8572DS_36BIT_defconfig
index 5c76524..878404b 100644
--- a/configs/MPC8572DS_36BIT_defconfig
+++ b/configs/MPC8572DS_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8572DS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8572DS_defconfig b/configs/MPC8572DS_defconfig
index 2f69b14..8b42ea3 100644
--- a/configs/MPC8572DS_defconfig
+++ b/configs/MPC8572DS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8572DS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8610HPCD_defconfig b/configs/MPC8610HPCD_defconfig
index f0e1370..bdde5d0 100644
--- a/configs/MPC8610HPCD_defconfig
+++ b/configs/MPC8610HPCD_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8610HPCD=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8641HPCN_36BIT_defconfig b/configs/MPC8641HPCN_36BIT_defconfig
index 0aee7ea..46f8077 100644
--- a/configs/MPC8641HPCN_36BIT_defconfig
+++ b/configs/MPC8641HPCN_36BIT_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
 CONFIG_SYS_EXTRA_OPTIONS="PHYS_64BIT"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8641HPCN_defconfig b/configs/MPC8641HPCN_defconfig
index 2bee038..25056d6 100644
--- a/configs/MPC8641HPCN_defconfig
+++ b/configs/MPC8641HPCN_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MSI_Primo73_defconfig b/configs/MSI_Primo73_defconfig
index 5559444..2fa91f4 100644
--- a/configs/MSI_Primo73_defconfig
+++ b/configs/MSI_Primo73_defconfig
@@ -13,3 +13,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MSI_Primo81_defconfig b/configs/MSI_Primo81_defconfig
index 3d71bf5..1d2f583 100644
--- a/configs/MSI_Primo81_defconfig
+++ b/configs/MSI_Primo81_defconfig
@@ -17,6 +17,7 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
 CONFIG_VIDEO_LCD_SSD2828_TX_CLK=27
 CONFIG_VIDEO_LCD_SSD2828_RESET="PA26"
diff --git a/configs/Marsboard_A10_defconfig b/configs/Marsboard_A10_defconfig
index 4933659..63837c7 100644
--- a/configs/Marsboard_A10_defconfig
+++ b/configs/Marsboard_A10_defconfig
@@ -8,4 +8,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_A1000G_quad_defconfig b/configs/Mele_A1000G_quad_defconfig
index e81e6b6..146f76c 100644
--- a/configs/Mele_A1000G_quad_defconfig
+++ b/configs/Mele_A1000G_quad_defconfig
@@ -13,8 +13,9 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_DCDC1_VOLT=3300
+CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
-CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
index f076e30..2af690a 100644
--- a/configs/Mele_A1000_defconfig
+++ b/configs/Mele_A1000_defconfig
@@ -10,4 +10,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_I7_defconfig b/configs/Mele_I7_defconfig
index 38cd845..03c7184 100644
--- a/configs/Mele_I7_defconfig
+++ b/configs/Mele_I7_defconfig
@@ -13,7 +13,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_DCDC1_VOLT=3300
+CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
-CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M3_defconfig b/configs/Mele_M3_defconfig
index d72dcc0..f213043 100644
--- a/configs/Mele_M3_defconfig
+++ b/configs/Mele_M3_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M5_defconfig b/configs/Mele_M5_defconfig
index 0d1ba15..66b3e8a 100644
--- a/configs/Mele_M5_defconfig
+++ b/configs/Mele_M5_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M9_defconfig b/configs/Mele_M9_defconfig
index 93a28a6..8f39036 100644
--- a/configs/Mele_M9_defconfig
+++ b/configs/Mele_M9_defconfig
@@ -13,7 +13,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_DCDC1_VOLT=3300
+CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
-CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Merrii_A80_Optimus_defconfig b/configs/Merrii_A80_Optimus_defconfig
index 53e023a..59a197e 100644
--- a/configs/Merrii_A80_Optimus_defconfig
+++ b/configs/Merrii_A80_Optimus_defconfig
@@ -11,3 +11,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun9i-a80-optimus"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Mini-X_defconfig b/configs/Mini-X_defconfig
index 53f9bfe..2ed37a5 100644
--- a/configs/Mini-X_defconfig
+++ b/configs/Mini-X_defconfig
@@ -9,5 +9,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig
index 00c671b..e140911 100644
--- a/configs/Orangepi_defconfig
+++ b/configs/Orangepi_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig
index a865255..d702ce2 100644
--- a/configs/Orangepi_mini_defconfig
+++ b/configs/Orangepi_mini_defconfig
@@ -17,4 +17,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
index 407f0fb..1c1077d 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
index 737921c..3d82d83 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
index a34436e..3fbc00e 100644
--- a/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_defconfig b/configs/P1010RDB-PA_36BIT_NOR_defconfig
index c6cc9b5..3ce8d6f 100644
--- a/configs/P1010RDB-PA_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
index d32ca80..85193ce 100644
--- a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
index 56cc3c6..1b6012f 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
index da56dfb..5869d58 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
index fec2697..15cb7fb 100644
--- a/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
index e45a541..dc1efe3 100644
--- a/configs/P1010RDB-PA_NAND_defconfig
+++ b/configs/P1010RDB-PA_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
index 64ed63a..1f6ae2c 100644
--- a/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NOR_defconfig b/configs/P1010RDB-PA_NOR_defconfig
index fe4c8b5..6ff93b1 100644
--- a/configs/P1010RDB-PA_NOR_defconfig
+++ b/configs/P1010RDB-PA_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SDCARD_defconfig b/configs/P1010RDB-PA_SDCARD_defconfig
index 3d41cb0..c81b720 100644
--- a/configs/P1010RDB-PA_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
index 6afce00..7f0a31c 100644
--- a/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_defconfig b/configs/P1010RDB-PA_SPIFLASH_defconfig
index faab1ac..bc7d2d2 100644
--- a/configs/P1010RDB-PA_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
index a76affd..a828d2c 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
index 64963b6..60a0f1c 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
index ea68ffb..23c9e7e 100644
--- a/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_defconfig b/configs/P1010RDB-PB_36BIT_NOR_defconfig
index 0a5403d..cb65b64 100644
--- a/configs/P1010RDB-PB_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
index f7e9050..5ddc700 100644
--- a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
index b92c3f3..4b454fb 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
index ae9309a..27c8925 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
index 9b9a8a2..1bb4cc1 100644
--- a/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
index 60b3417..ef374bc 100644
--- a/configs/P1010RDB-PB_NAND_defconfig
+++ b/configs/P1010RDB-PB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
index 17b9941..511e909 100644
--- a/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NOR_defconfig b/configs/P1010RDB-PB_NOR_defconfig
index f3b3b22..4a5d5a6 100644
--- a/configs/P1010RDB-PB_NOR_defconfig
+++ b/configs/P1010RDB-PB_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SDCARD_defconfig b/configs/P1010RDB-PB_SDCARD_defconfig
index 5d9607c..49c3302 100644
--- a/configs/P1010RDB-PB_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
index c88b433..4ca0198 100644
--- a/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_defconfig b/configs/P1010RDB-PB_SPIFLASH_defconfig
index b390406..8f7ab80 100644
--- a/configs/P1010RDB-PB_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_36BIT_SDCARD_defconfig b/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
index 7714ac6..a9aeed3 100644
--- a/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_36BIT_defconfig b/configs/P1020MBG-PC_36BIT_defconfig
index 29a520b..05bf49f 100644
--- a/configs/P1020MBG-PC_36BIT_defconfig
+++ b/configs/P1020MBG-PC_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_SDCARD_defconfig b/configs/P1020MBG-PC_SDCARD_defconfig
index c0a0745..fa15eda 100644
--- a/configs/P1020MBG-PC_SDCARD_defconfig
+++ b/configs/P1020MBG-PC_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_defconfig b/configs/P1020MBG-PC_defconfig
index bc408b7..5b49f3b 100644
--- a/configs/P1020MBG-PC_defconfig
+++ b/configs/P1020MBG-PC_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
index b7d1d2e..60aa739 100644
--- a/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
index 6b55479..36d138a 100644
--- a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
index 78db491..d66e57f 100644
--- a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_defconfig b/configs/P1020RDB-PC_36BIT_defconfig
index df9dbc9..bfd5ab8 100644
--- a/configs/P1020RDB-PC_36BIT_defconfig
+++ b/configs/P1020RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
index c54b31a..b3ebdd0 100644
--- a/configs/P1020RDB-PC_NAND_defconfig
+++ b/configs/P1020RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_SDCARD_defconfig b/configs/P1020RDB-PC_SDCARD_defconfig
index 3c08d4f..2ec6279 100644
--- a/configs/P1020RDB-PC_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_SPIFLASH_defconfig b/configs/P1020RDB-PC_SPIFLASH_defconfig
index 708d5c4..5980497 100644
--- a/configs/P1020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_defconfig b/configs/P1020RDB-PC_defconfig
index b7c624f..e4d700a 100644
--- a/configs/P1020RDB-PC_defconfig
+++ b/configs/P1020RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
index 82492c0..e237e51 100644
--- a/configs/P1020RDB-PD_NAND_defconfig
+++ b/configs/P1020RDB-PD_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_SDCARD_defconfig b/configs/P1020RDB-PD_SDCARD_defconfig
index e694d5b..12c802f 100644
--- a/configs/P1020RDB-PD_SDCARD_defconfig
+++ b/configs/P1020RDB-PD_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_SPIFLASH_defconfig b/configs/P1020RDB-PD_SPIFLASH_defconfig
index 3cf0b8a..b3ecca7 100644
--- a/configs/P1020RDB-PD_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_defconfig b/configs/P1020RDB-PD_defconfig
index 6ddf70c..3a47640 100644
--- a/configs/P1020RDB-PD_defconfig
+++ b/configs/P1020RDB-PD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_36BIT_SDCARD_defconfig b/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
index b29fcc4..7dfc807 100644
--- a/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_36BIT_defconfig b/configs/P1020UTM-PC_36BIT_defconfig
index 63b6471..43d1c3c 100644
--- a/configs/P1020UTM-PC_36BIT_defconfig
+++ b/configs/P1020UTM-PC_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_SDCARD_defconfig b/configs/P1020UTM-PC_SDCARD_defconfig
index 650ffe5..1906da7 100644
--- a/configs/P1020UTM-PC_SDCARD_defconfig
+++ b/configs/P1020UTM-PC_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_defconfig b/configs/P1020UTM-PC_defconfig
index 56ca99c..a5f9659 100644
--- a/configs/P1020UTM-PC_defconfig
+++ b/configs/P1020UTM-PC_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_NAND_defconfig b/configs/P1021RDB-PC_36BIT_NAND_defconfig
index d246c7b..d3817ad 100644
--- a/configs/P1021RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1021RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_SDCARD_defconfig b/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
index 1bf813f..5d1628b 100644
--- a/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
index d5c8bd2..a19d490 100644
--- a/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_defconfig b/configs/P1021RDB-PC_36BIT_defconfig
index a9510dc..0184c0a 100644
--- a/configs/P1021RDB-PC_36BIT_defconfig
+++ b/configs/P1021RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_NAND_defconfig b/configs/P1021RDB-PC_NAND_defconfig
index a7de239..a81e2b6 100644
--- a/configs/P1021RDB-PC_NAND_defconfig
+++ b/configs/P1021RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_SDCARD_defconfig b/configs/P1021RDB-PC_SDCARD_defconfig
index faf36fe..187ad0c 100644
--- a/configs/P1021RDB-PC_SDCARD_defconfig
+++ b/configs/P1021RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_SPIFLASH_defconfig b/configs/P1021RDB-PC_SPIFLASH_defconfig
index cc9320f..27a6891 100644
--- a/configs/P1021RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1021RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_defconfig b/configs/P1021RDB-PC_defconfig
index 9ac36f7..b8bca7e 100644
--- a/configs/P1021RDB-PC_defconfig
+++ b/configs/P1021RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_NAND_defconfig b/configs/P1022DS_36BIT_NAND_defconfig
index c093ccf..aff2fda 100644
--- a/configs/P1022DS_36BIT_NAND_defconfig
+++ b/configs/P1022DS_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_SDCARD_defconfig b/configs/P1022DS_36BIT_SDCARD_defconfig
index 342870d..674f3d5 100644
--- a/configs/P1022DS_36BIT_SDCARD_defconfig
+++ b/configs/P1022DS_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_SPIFLASH_defconfig b/configs/P1022DS_36BIT_SPIFLASH_defconfig
index 40db7b5..2cd5daf 100644
--- a/configs/P1022DS_36BIT_SPIFLASH_defconfig
+++ b/configs/P1022DS_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_defconfig b/configs/P1022DS_36BIT_defconfig
index d6f2ee4..156832c 100644
--- a/configs/P1022DS_36BIT_defconfig
+++ b/configs/P1022DS_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_NAND_defconfig b/configs/P1022DS_NAND_defconfig
index 22e354c..b1d5a33 100644
--- a/configs/P1022DS_NAND_defconfig
+++ b/configs/P1022DS_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_SDCARD_defconfig b/configs/P1022DS_SDCARD_defconfig
index 25ec334..890ac77 100644
--- a/configs/P1022DS_SDCARD_defconfig
+++ b/configs/P1022DS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_SPIFLASH_defconfig b/configs/P1022DS_SPIFLASH_defconfig
index 0227f35..596d800 100644
--- a/configs/P1022DS_SPIFLASH_defconfig
+++ b/configs/P1022DS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_defconfig b/configs/P1022DS_defconfig
index 427c64b..b3c0378 100644
--- a/configs/P1022DS_defconfig
+++ b/configs/P1022DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1022DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1023RDB_defconfig b/configs/P1023RDB_defconfig
index ab8f6bb..2478f30 100644
--- a/configs/P1023RDB_defconfig
+++ b/configs/P1023RDB_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1023RDB=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_36BIT_defconfig b/configs/P1024RDB_36BIT_defconfig
index ab32765..2881d7d 100644
--- a/configs/P1024RDB_36BIT_defconfig
+++ b/configs/P1024RDB_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_NAND_defconfig b/configs/P1024RDB_NAND_defconfig
index 1b4f31c..0dde028 100644
--- a/configs/P1024RDB_NAND_defconfig
+++ b/configs/P1024RDB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_SDCARD_defconfig b/configs/P1024RDB_SDCARD_defconfig
index d647f8a..247ae6f 100644
--- a/configs/P1024RDB_SDCARD_defconfig
+++ b/configs/P1024RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_SPIFLASH_defconfig b/configs/P1024RDB_SPIFLASH_defconfig
index b5790e1..bae40fa 100644
--- a/configs/P1024RDB_SPIFLASH_defconfig
+++ b/configs/P1024RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_defconfig b/configs/P1024RDB_defconfig
index 5dd1cbc..c5d0250 100644
--- a/configs/P1024RDB_defconfig
+++ b/configs/P1024RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_36BIT_defconfig b/configs/P1025RDB_36BIT_defconfig
index 509f116..12ddcab 100644
--- a/configs/P1025RDB_36BIT_defconfig
+++ b/configs/P1025RDB_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_NAND_defconfig b/configs/P1025RDB_NAND_defconfig
index 6369e39..c881469 100644
--- a/configs/P1025RDB_NAND_defconfig
+++ b/configs/P1025RDB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_SDCARD_defconfig b/configs/P1025RDB_SDCARD_defconfig
index a3cc80a..84ca6cc 100644
--- a/configs/P1025RDB_SDCARD_defconfig
+++ b/configs/P1025RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_SPIFLASH_defconfig b/configs/P1025RDB_SPIFLASH_defconfig
index b5d56f7..b195aba 100644
--- a/configs/P1025RDB_SPIFLASH_defconfig
+++ b/configs/P1025RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_defconfig b/configs/P1025RDB_defconfig
index 05c347e..f6bf41c 100644
--- a/configs/P1025RDB_defconfig
+++ b/configs/P1025RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
index e86ff8c..d517b0a 100644
--- a/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
index d97c6bc..c891631 100644
--- a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
index 8c15726..47f96d6 100644
--- a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_defconfig b/configs/P2020RDB-PC_36BIT_defconfig
index b93ce08..b013fa1 100644
--- a/configs/P2020RDB-PC_36BIT_defconfig
+++ b/configs/P2020RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
index 3184f5e..8f27f15 100644
--- a/configs/P2020RDB-PC_NAND_defconfig
+++ b/configs/P2020RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_SDCARD_defconfig b/configs/P2020RDB-PC_SDCARD_defconfig
index 4328967..0c19f9c 100644
--- a/configs/P2020RDB-PC_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_SPIFLASH_defconfig b/configs/P2020RDB-PC_SPIFLASH_defconfig
index 55cb86c..a3a3d07 100644
--- a/configs/P2020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_defconfig b/configs/P2020RDB-PC_defconfig
index b5496fc..4d53398 100644
--- a/configs/P2020RDB-PC_defconfig
+++ b/configs/P2020RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_NAND_defconfig b/configs/P2041RDB_NAND_defconfig
index a3e8f9c..0cb684b 100644
--- a/configs/P2041RDB_NAND_defconfig
+++ b/configs/P2041RDB_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SDCARD_defconfig b/configs/P2041RDB_SDCARD_defconfig
index dc022a1..5d131ed 100644
--- a/configs/P2041RDB_SDCARD_defconfig
+++ b/configs/P2041RDB_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SECURE_BOOT_defconfig b/configs/P2041RDB_SECURE_BOOT_defconfig
index 3fccb2b..d7262f5 100644
--- a/configs/P2041RDB_SECURE_BOOT_defconfig
+++ b/configs/P2041RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SPIFLASH_defconfig b/configs/P2041RDB_SPIFLASH_defconfig
index f748ba3..a038036 100644
--- a/configs/P2041RDB_SPIFLASH_defconfig
+++ b/configs/P2041RDB_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig b/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
index 4d62252..5551a51 100644
--- a/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_defconfig b/configs/P2041RDB_defconfig
index 9dba9a6..c9cc6ee 100644
--- a/configs/P2041RDB_defconfig
+++ b/configs/P2041RDB_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P2041RDB=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_NAND_SECURE_BOOT_defconfig b/configs/P3041DS_NAND_SECURE_BOOT_defconfig
index 6e4b88e..391c4eb 100644
--- a/configs/P3041DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P3041DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_NAND_defconfig b/configs/P3041DS_NAND_defconfig
index d075e8f..5e4e93a 100644
--- a/configs/P3041DS_NAND_defconfig
+++ b/configs/P3041DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SDCARD_defconfig b/configs/P3041DS_SDCARD_defconfig
index 5f1c198..f173072 100644
--- a/configs/P3041DS_SDCARD_defconfig
+++ b/configs/P3041DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SECURE_BOOT_defconfig b/configs/P3041DS_SECURE_BOOT_defconfig
index 307f6d7..388a9c4 100644
--- a/configs/P3041DS_SECURE_BOOT_defconfig
+++ b/configs/P3041DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SPIFLASH_defconfig b/configs/P3041DS_SPIFLASH_defconfig
index 6112639..7bd9049 100644
--- a/configs/P3041DS_SPIFLASH_defconfig
+++ b/configs/P3041DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SRIO_PCIE_BOOT_defconfig b/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
index 24a79ce..6537d33 100644
--- a/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_defconfig b/configs/P3041DS_defconfig
index 0fed50f..1d1ee5f 100644
--- a/configs/P3041DS_defconfig
+++ b/configs/P3041DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P3041DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SDCARD_defconfig b/configs/P4080DS_SDCARD_defconfig
index 74a1452..c70d4a3 100644
--- a/configs/P4080DS_SDCARD_defconfig
+++ b/configs/P4080DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SECURE_BOOT_defconfig b/configs/P4080DS_SECURE_BOOT_defconfig
index 0dd1f32..837af54 100644
--- a/configs/P4080DS_SECURE_BOOT_defconfig
+++ b/configs/P4080DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SPIFLASH_defconfig b/configs/P4080DS_SPIFLASH_defconfig
index b7bfc38..df8d0e1 100644
--- a/configs/P4080DS_SPIFLASH_defconfig
+++ b/configs/P4080DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SRIO_PCIE_BOOT_defconfig b/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
index 766db5e..17d9f9e 100644
--- a/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_defconfig b/configs/P4080DS_defconfig
index b0a6bdf..abccf20 100644
--- a/configs/P4080DS_defconfig
+++ b/configs/P4080DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P4080DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_NAND_SECURE_BOOT_defconfig b/configs/P5020DS_NAND_SECURE_BOOT_defconfig
index c89ec85..73282b4 100644
--- a/configs/P5020DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P5020DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_NAND_defconfig b/configs/P5020DS_NAND_defconfig
index 64ba6e9..486cd8b 100644
--- a/configs/P5020DS_NAND_defconfig
+++ b/configs/P5020DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SDCARD_defconfig b/configs/P5020DS_SDCARD_defconfig
index 796e9a1..5c16ea6 100644
--- a/configs/P5020DS_SDCARD_defconfig
+++ b/configs/P5020DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SECURE_BOOT_defconfig b/configs/P5020DS_SECURE_BOOT_defconfig
index 27ae488..6853aea 100644
--- a/configs/P5020DS_SECURE_BOOT_defconfig
+++ b/configs/P5020DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SPIFLASH_defconfig b/configs/P5020DS_SPIFLASH_defconfig
index 65cc600..cf8f5f0 100644
--- a/configs/P5020DS_SPIFLASH_defconfig
+++ b/configs/P5020DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SRIO_PCIE_BOOT_defconfig b/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
index 65e9d2f..7c509c8 100644
--- a/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_defconfig b/configs/P5020DS_defconfig
index bd06987..4c9a90a 100644
--- a/configs/P5020DS_defconfig
+++ b/configs/P5020DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P5020DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_NAND_SECURE_BOOT_defconfig b/configs/P5040DS_NAND_SECURE_BOOT_defconfig
index 3027031..9790351 100644
--- a/configs/P5040DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P5040DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_NAND_defconfig b/configs/P5040DS_NAND_defconfig
index b2f5cda..b0ef12d 100644
--- a/configs/P5040DS_NAND_defconfig
+++ b/configs/P5040DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SDCARD_defconfig b/configs/P5040DS_SDCARD_defconfig
index 950df55..b8923ae 100644
--- a/configs/P5040DS_SDCARD_defconfig
+++ b/configs/P5040DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SECURE_BOOT_defconfig b/configs/P5040DS_SECURE_BOOT_defconfig
index d0bc383..8731974 100644
--- a/configs/P5040DS_SECURE_BOOT_defconfig
+++ b/configs/P5040DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SPIFLASH_defconfig b/configs/P5040DS_SPIFLASH_defconfig
index 0dbc3eb..a4b7aaa 100644
--- a/configs/P5040DS_SPIFLASH_defconfig
+++ b/configs/P5040DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_defconfig b/configs/P5040DS_defconfig
index 5da5a3c..6c73693 100644
--- a/configs/P5040DS_defconfig
+++ b/configs/P5040DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P5040DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/PIP405_defconfig b/configs/PIP405_defconfig
index ced7d1a..046a5d8 100644
--- a/configs/PIP405_defconfig
+++ b/configs/PIP405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_PIP405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PLU405_defconfig b/configs/PLU405_defconfig
index a691e24..546376f 100644
--- a/configs/PLU405_defconfig
+++ b/configs/PLU405_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PMC405DE_defconfig b/configs/PMC405DE_defconfig
index 37b2d23..53fccf5 100644
--- a/configs/PMC405DE_defconfig
+++ b/configs/PMC405DE_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PMC440_defconfig b/configs/PMC440_defconfig
index 96ff54c..984497a 100644
--- a/configs/PMC440_defconfig
+++ b/configs/PMC440_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig
index 013c35e..049f2f2 100644
--- a/configs/Sinlinx_SinA33_defconfig
+++ b/configs/Sinlinx_SinA33_defconfig
@@ -9,3 +9,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Sinovoip_BPI_M2_defconfig b/configs/Sinovoip_BPI_M2_defconfig
index 17c30a8..a3d7515 100644
--- a/configs/Sinovoip_BPI_M2_defconfig
+++ b/configs/Sinovoip_BPI_M2_defconfig
@@ -12,7 +12,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_AXP_DLDO1_VOLT=3000
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_ALDO2_VOLT=1800
+CONFIG_AXP_DLDO1_VOLT=3000
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/T1023RDB_NAND_defconfig b/configs/T1023RDB_NAND_defconfig
index 836bde4..634ab9e 100644
--- a/configs/T1023RDB_NAND_defconfig
+++ b/configs/T1023RDB_NAND_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SDCARD_defconfig b/configs/T1023RDB_SDCARD_defconfig
index 7bc7f54..2ececeb 100644
--- a/configs/T1023RDB_SDCARD_defconfig
+++ b/configs/T1023RDB_SDCARD_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SECURE_BOOT_defconfig b/configs/T1023RDB_SECURE_BOOT_defconfig
index 6a3ccca..d474b23 100644
--- a/configs/T1023RDB_SECURE_BOOT_defconfig
+++ b/configs/T1023RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SPIFLASH_defconfig b/configs/T1023RDB_SPIFLASH_defconfig
index 83b14a8..841456e 100644
--- a/configs/T1023RDB_SPIFLASH_defconfig
+++ b/configs/T1023RDB_SPIFLASH_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_defconfig b/configs/T1023RDB_defconfig
index c4b72d4..5c6e6eb 100644
--- a/configs/T1023RDB_defconfig
+++ b/configs/T1023RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig b/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
index f69c49d..8a71c58 100644
--- a/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
+++ b/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_DDR4_defconfig b/configs/T1024QDS_DDR4_defconfig
index 174fbca..c8dad93 100644
--- a/configs/T1024QDS_DDR4_defconfig
+++ b/configs/T1024QDS_DDR4_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_NAND_defconfig b/configs/T1024QDS_NAND_defconfig
index caedd39..b22a28b 100644
--- a/configs/T1024QDS_NAND_defconfig
+++ b/configs/T1024QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SDCARD_defconfig b/configs/T1024QDS_SDCARD_defconfig
index 844d9a5..edb0d16 100644
--- a/configs/T1024QDS_SDCARD_defconfig
+++ b/configs/T1024QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SECURE_BOOT_defconfig b/configs/T1024QDS_SECURE_BOOT_defconfig
index 9f80de0..a0035bf 100644
--- a/configs/T1024QDS_SECURE_BOOT_defconfig
+++ b/configs/T1024QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SPIFLASH_defconfig b/configs/T1024QDS_SPIFLASH_defconfig
index dc5a460..5d28726 100644
--- a/configs/T1024QDS_SPIFLASH_defconfig
+++ b/configs/T1024QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_defconfig b/configs/T1024QDS_defconfig
index 74138c7..0373aef 100644
--- a/configs/T1024QDS_defconfig
+++ b/configs/T1024QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_NAND_defconfig b/configs/T1024RDB_NAND_defconfig
index 7ae0433..6f9dc18 100644
--- a/configs/T1024RDB_NAND_defconfig
+++ b/configs/T1024RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SDCARD_defconfig b/configs/T1024RDB_SDCARD_defconfig
index 3a664f8..c2656ca 100644
--- a/configs/T1024RDB_SDCARD_defconfig
+++ b/configs/T1024RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SECURE_BOOT_defconfig b/configs/T1024RDB_SECURE_BOOT_defconfig
index 8f4378b..638388d 100644
--- a/configs/T1024RDB_SECURE_BOOT_defconfig
+++ b/configs/T1024RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SPIFLASH_defconfig b/configs/T1024RDB_SPIFLASH_defconfig
index 36f2208..b64d694 100644
--- a/configs/T1024RDB_SPIFLASH_defconfig
+++ b/configs/T1024RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_defconfig b/configs/T1024RDB_defconfig
index fba47c2..55981da 100644
--- a/configs/T1024RDB_defconfig
+++ b/configs/T1024RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_NAND_defconfig b/configs/T1040D4RDB_NAND_defconfig
index 0af8c8d..6bad226 100644
--- a/configs/T1040D4RDB_NAND_defconfig
+++ b/configs/T1040D4RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SDCARD_defconfig b/configs/T1040D4RDB_SDCARD_defconfig
index dc9ee34..b0167ec 100644
--- a/configs/T1040D4RDB_SDCARD_defconfig
+++ b/configs/T1040D4RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T1
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SECURE_BOOT_defconfig b/configs/T1040D4RDB_SECURE_BOOT_defconfig
index 6a891a6..bfdeab0 100644
--- a/configs/T1040D4RDB_SECURE_BOOT_defconfig
+++ b/configs/T1040D4RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SPIFLASH_defconfig b/configs/T1040D4RDB_SPIFLASH_defconfig
index 4628576..13b35fb 100644
--- a/configs/T1040D4RDB_SPIFLASH_defconfig
+++ b/configs/T1040D4RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_defconfig b/configs/T1040D4RDB_defconfig
index 6adc196..534a2c4 100644
--- a/configs/T1040D4RDB_defconfig
+++ b/configs/T1040D4RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_DDR4_defconfig b/configs/T1040QDS_DDR4_defconfig
index 8c4320b..093158d 100644
--- a/configs/T1040QDS_DDR4_defconfig
+++ b/configs/T1040QDS_DDR4_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_SECURE_BOOT_defconfig b/configs/T1040QDS_SECURE_BOOT_defconfig
index 607c280..1639569 100644
--- a/configs/T1040QDS_SECURE_BOOT_defconfig
+++ b/configs/T1040QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_defconfig b/configs/T1040QDS_defconfig
index 1f200f9..80a09d9 100644
--- a/configs/T1040QDS_defconfig
+++ b/configs/T1040QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_NAND_defconfig b/configs/T1040RDB_NAND_defconfig
index 146448d..aad125a 100644
--- a/configs/T1040RDB_NAND_defconfig
+++ b/configs/T1040RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SDCARD_defconfig b/configs/T1040RDB_SDCARD_defconfig
index f363067..0128b8a 100644
--- a/configs/T1040RDB_SDCARD_defconfig
+++ b/configs/T1040RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SECURE_BOOT_defconfig b/configs/T1040RDB_SECURE_BOOT_defconfig
index 55d2a5e..9511de1 100644
--- a/configs/T1040RDB_SECURE_BOOT_defconfig
+++ b/configs/T1040RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT,T1040RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SPIFLASH_defconfig b/configs/T1040RDB_SPIFLASH_defconfig
index c6fd93a..71ab8fc 100644
--- a/configs/T1040RDB_SPIFLASH_defconfig
+++ b/configs/T1040RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_defconfig b/configs/T1040RDB_defconfig
index 810d1d8..7d8f692 100644
--- a/configs/T1040RDB_defconfig
+++ b/configs/T1040RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_NAND_defconfig b/configs/T1042D4RDB_NAND_defconfig
index c06e335..d32f9da 100644
--- a/configs/T1042D4RDB_NAND_defconfig
+++ b/configs/T1042D4RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SDCARD_defconfig b/configs/T1042D4RDB_SDCARD_defconfig
index b86554a..da87143 100644
--- a/configs/T1042D4RDB_SDCARD_defconfig
+++ b/configs/T1042D4RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T1
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SECURE_BOOT_defconfig b/configs/T1042D4RDB_SECURE_BOOT_defconfig
index 8130f7c..2cc1fd2 100644
--- a/configs/T1042D4RDB_SECURE_BOOT_defconfig
+++ b/configs/T1042D4RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SPIFLASH_defconfig b/configs/T1042D4RDB_SPIFLASH_defconfig
index ca7243a..24e535c 100644
--- a/configs/T1042D4RDB_SPIFLASH_defconfig
+++ b/configs/T1042D4RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_defconfig b/configs/T1042D4RDB_defconfig
index 4e44c89..12e2d5e 100644
--- a/configs/T1042D4RDB_defconfig
+++ b/configs/T1042D4RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_NAND_defconfig b/configs/T1042RDB_PI_NAND_defconfig
index ff0052a..8fbf3f1 100644
--- a/configs/T1042RDB_PI_NAND_defconfig
+++ b/configs/T1042RDB_PI_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_SDCARD_defconfig b/configs/T1042RDB_PI_SDCARD_defconfig
index c19bd8b..bf8106a 100644
--- a/configs/T1042RDB_PI_SDCARD_defconfig
+++ b/configs/T1042RDB_PI_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_SPIFLASH_defconfig b/configs/T1042RDB_PI_SPIFLASH_defconfig
index fbce984..1e5f1bb 100644
--- a/configs/T1042RDB_PI_SPIFLASH_defconfig
+++ b/configs/T1042RDB_PI_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_defconfig b/configs/T1042RDB_PI_defconfig
index 6353543..6f25deb 100644
--- a/configs/T1042RDB_PI_defconfig
+++ b/configs/T1042RDB_PI_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_SECURE_BOOT_defconfig b/configs/T1042RDB_SECURE_BOOT_defconfig
index 39121ca..7b417d8 100644
--- a/configs/T1042RDB_SECURE_BOOT_defconfig
+++ b/configs/T1042RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,SECURE_BOOT,T1042RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_defconfig b/configs/T1042RDB_defconfig
index e5888e3..8f16bfc 100644
--- a/configs/T1042RDB_defconfig
+++ b/configs/T1042RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
index 3610370..4aabab5 100644
--- a/configs/T2080QDS_NAND_defconfig
+++ b/configs/T2080QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
index 37cb6b7..96187fc 100644
--- a/configs/T2080QDS_SDCARD_defconfig
+++ b/configs/T2080QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SECURE_BOOT_defconfig b/configs/T2080QDS_SECURE_BOOT_defconfig
index 0f27b07..859ab2b 100644
--- a/configs/T2080QDS_SECURE_BOOT_defconfig
+++ b/configs/T2080QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
index 85a3689..6249df3 100644
--- a/configs/T2080QDS_SPIFLASH_defconfig
+++ b/configs/T2080QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
index 8f276fa..d85430f 100644
--- a/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
index c681528..bbefaac 100644
--- a/configs/T2080QDS_defconfig
+++ b/configs/T2080QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_NAND_defconfig b/configs/T2080RDB_NAND_defconfig
index ab4a7be..31b822f 100644
--- a/configs/T2080RDB_NAND_defconfig
+++ b/configs/T2080RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SDCARD_defconfig b/configs/T2080RDB_SDCARD_defconfig
index 5d0f43a..180fd23 100644
--- a/configs/T2080RDB_SDCARD_defconfig
+++ b/configs/T2080RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SECURE_BOOT_defconfig b/configs/T2080RDB_SECURE_BOOT_defconfig
index 43a76bc..62ac62c 100644
--- a/configs/T2080RDB_SECURE_BOOT_defconfig
+++ b/configs/T2080RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SPIFLASH_defconfig b/configs/T2080RDB_SPIFLASH_defconfig
index 1b230b1..d948827 100644
--- a/configs/T2080RDB_SPIFLASH_defconfig
+++ b/configs/T2080RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig b/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
index af1a232..1add06a 100644
--- a/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_defconfig b/configs/T2080RDB_defconfig
index cbd1220..86ae17b 100644
--- a/configs/T2080RDB_defconfig
+++ b/configs/T2080RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_NAND_defconfig b/configs/T2081QDS_NAND_defconfig
index 9ef946b..35b2a5e 100644
--- a/configs/T2081QDS_NAND_defconfig
+++ b/configs/T2081QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SDCARD_defconfig b/configs/T2081QDS_SDCARD_defconfig
index 8728f2d..a6718de 100644
--- a/configs/T2081QDS_SDCARD_defconfig
+++ b/configs/T2081QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SPIFLASH_defconfig b/configs/T2081QDS_SPIFLASH_defconfig
index 95c37dc..74562a5 100644
--- a/configs/T2081QDS_SPIFLASH_defconfig
+++ b/configs/T2081QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
index 1b0ac47..fb35506 100644
--- a/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_defconfig b/configs/T2081QDS_defconfig
index 8f3bcf6..4273e7d 100644
--- a/configs/T2081QDS_defconfig
+++ b/configs/T2081QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_NAND_defconfig b/configs/T4160QDS_NAND_defconfig
index 3a35060..5d61b50 100644
--- a/configs/T4160QDS_NAND_defconfig
+++ b/configs/T4160QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_SDCARD_defconfig b/configs/T4160QDS_SDCARD_defconfig
index ef7135e..2117ec7 100644
--- a/configs/T4160QDS_SDCARD_defconfig
+++ b/configs/T4160QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_SECURE_BOOT_defconfig b/configs/T4160QDS_SECURE_BOOT_defconfig
index d08f98c..ccb4f5d 100644
--- a/configs/T4160QDS_SECURE_BOOT_defconfig
+++ b/configs/T4160QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_defconfig b/configs/T4160QDS_defconfig
index e44af1e..76b776a 100644
--- a/configs/T4160QDS_defconfig
+++ b/configs/T4160QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160RDB_defconfig b/configs/T4160RDB_defconfig
index 1cc929f..7136a30 100644
--- a/configs/T4160RDB_defconfig
+++ b/configs/T4160RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_NAND_defconfig b/configs/T4240QDS_NAND_defconfig
index 31e1f53..084c55a 100644
--- a/configs/T4240QDS_NAND_defconfig
+++ b/configs/T4240QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SDCARD_defconfig b/configs/T4240QDS_SDCARD_defconfig
index a464136..9952624 100644
--- a/configs/T4240QDS_SDCARD_defconfig
+++ b/configs/T4240QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SECURE_BOOT_defconfig b/configs/T4240QDS_SECURE_BOOT_defconfig
index 094f305..ff06aaf 100644
--- a/configs/T4240QDS_SECURE_BOOT_defconfig
+++ b/configs/T4240QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig b/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
index 60afd9e..2c02ba0 100644
--- a/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_defconfig b/configs/T4240QDS_defconfig
index 7fe54bf..8488462 100644
--- a/configs/T4240QDS_defconfig
+++ b/configs/T4240QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240RDB_SDCARD_defconfig b/configs/T4240RDB_SDCARD_defconfig
index 0d0d26c..b9b65cb 100644
--- a/configs/T4240RDB_SDCARD_defconfig
+++ b/configs/T4240RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240RDB_defconfig b/configs/T4240RDB_defconfig
index 01221b0..852ccd9 100644
--- a/configs/T4240RDB_defconfig
+++ b/configs/T4240RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/TQM834x_defconfig b/configs/TQM834x_defconfig
index c980d95..f88beef 100644
--- a/configs/TQM834x_defconfig
+++ b/configs/TQM834x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TQM834X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/TWR-P1025_defconfig b/configs/TWR-P1025_defconfig
index e6d34e8..e9970df 100644
--- a/configs/TWR-P1025_defconfig
+++ b/configs/TWR-P1025_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_TWR=y
 CONFIG_SYS_EXTRA_OPTIONS="TWR_P1025"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UCP1020_SPIFLASH_defconfig b/configs/UCP1020_SPIFLASH_defconfig
index 267dc0f..7a6bdf5 100644
--- a/configs/UCP1020_SPIFLASH_defconfig
+++ b/configs/UCP1020_SPIFLASH_defconfig
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UCP1020_defconfig b/configs/UCP1020_defconfig
index fa54286..811e0c4 100644
--- a/configs/UCP1020_defconfig
+++ b/configs/UCP1020_defconfig
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UTOO_P66_defconfig b/configs/UTOO_P66_defconfig
index d36a5dc..6e6eb2a 100644
--- a/configs/UTOO_P66_defconfig
+++ b/configs/UTOO_P66_defconfig
@@ -24,4 +24,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/VOM405_defconfig b/configs/VOM405_defconfig
index ba3ade0..53ac1bf 100644
--- a/configs/VOM405_defconfig
+++ b/configs/VOM405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_VOM405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Wexler_TAB7200_defconfig b/configs/Wexler_TAB7200_defconfig
index 5f3d624..a01bd28 100644
--- a/configs/Wexler_TAB7200_defconfig
+++ b/configs/Wexler_TAB7200_defconfig
@@ -16,5 +16,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Wits_Pro_A20_DKT_defconfig b/configs/Wits_Pro_A20_DKT_defconfig
index bfc8cba..b24eda0 100644
--- a/configs/Wits_Pro_A20_DKT_defconfig
+++ b/configs/Wits_Pro_A20_DKT_defconfig
@@ -16,4 +16,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Wobo_i5_defconfig b/configs/Wobo_i5_defconfig
index fc43cc5..6f683dd 100644
--- a/configs/Wobo_i5_defconfig
+++ b/configs/Wobo_i5_defconfig
@@ -10,4 +10,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Yones_Toptech_BD1078_defconfig b/configs/Yones_Toptech_BD1078_defconfig
index 65c1d8e..4e14d8e 100644
--- a/configs/Yones_Toptech_BD1078_defconfig
+++ b/configs/Yones_Toptech_BD1078_defconfig
@@ -22,4 +22,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/acadia_defconfig b/configs/acadia_defconfig
index 26221ce..51efe06 100644
--- a/configs/acadia_defconfig
+++ b/configs/acadia_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_ACADIA=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/adp-ag101p_defconfig b/configs/adp-ag101p_defconfig
index 4216cd7..87be263 100644
--- a/configs/adp-ag101p_defconfig
+++ b/configs/adp-ag101p_defconfig
@@ -2,3 +2,4 @@ CONFIG_NDS32=y
 CONFIG_TARGET_ADP_AG101P=y
 CONFIG_SYS_PROMPT="NDS32 # "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_baltos_defconfig b/configs/am335x_baltos_defconfig
index 8e8a897..a52327b 100644
--- a/configs/am335x_baltos_defconfig
+++ b/configs/am335x_baltos_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_BALTOS=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
index 6b1a554..48e36f6 100644
--- a/configs/am335x_boneblack_defconfig
+++ b/configs/am335x_boneblack_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DFU_TFTP=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
index 011239b..1620628 100644
--- a/configs/am335x_boneblack_vboot_defconfig
+++ b/configs/am335x_boneblack_vboot_defconfig
@@ -1,9 +1,9 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_SIGNATURE=y
@@ -12,6 +12,7 @@ CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT,ENABLE_VBOOT"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
+CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
-CONFIG_DM_MMC=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 96599c6..c4e232b 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -1,10 +1,11 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
index 6a39041..31e6b9a 100644
--- a/configs/am335x_evm_nor_defconfig
+++ b/configs/am335x_evm_nor_defconfig
@@ -1,10 +1,11 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_NOR=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig
index 9fdffca..fea5913 100644
--- a/configs/am335x_evm_norboot_defconfig
+++ b/configs/am335x_evm_norboot_defconfig
@@ -5,3 +5,4 @@ CONFIG_NOR_BOOT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
index bbeb3c9..ed25f88 100644
--- a/configs/am335x_evm_spiboot_defconfig
+++ b/configs/am335x_evm_spiboot_defconfig
@@ -1,10 +1,11 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="SPI_BOOT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
index c6109f1..0fd9ae9 100644
--- a/configs/am335x_evm_usbspl_defconfig
+++ b/configs/am335x_evm_usbspl_defconfig
@@ -1,10 +1,11 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="NAND,SPL_USBETH_SUPPORT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_gp_evm_defconfig b/configs/am335x_gp_evm_defconfig
index 03c558c..4c39e5a 100644
--- a/configs/am335x_gp_evm_defconfig
+++ b/configs/am335x_gp_evm_defconfig
@@ -1,15 +1,16 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
+CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
-CONFIG_RSA=y
 CONFIG_DM_ETH=y
-CONFIG_DM_MMC=y
+CONFIG_SYS_NS16550=y
+CONFIG_RSA=y
diff --git a/configs/am335x_igep0033_defconfig b/configs/am335x_igep0033_defconfig
index a31982a..7982039 100644
--- a/configs/am335x_igep0033_defconfig
+++ b/configs/am335x_igep0033_defconfig
@@ -1,8 +1,9 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_IGEP0033=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index 608804c..df7af17 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -1,9 +1,10 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_SL50=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am3517_crane_defconfig b/configs/am3517_crane_defconfig
index 48a184f..72172cf 100644
--- a/configs/am3517_crane_defconfig
+++ b/configs/am3517_crane_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_PROMPT="AM3517_CRANE # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am3517_evm_defconfig b/configs/am3517_evm_defconfig
index 8857b9f..cde84fe 100644
--- a/configs/am3517_evm_defconfig
+++ b/configs/am3517_evm_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="AM3517_EVM # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am437x_gp_evm_defconfig b/configs/am437x_gp_evm_defconfig
index 53fb0bf..5e19818 100644
--- a/configs/am437x_gp_evm_defconfig
+++ b/configs/am437x_gp_evm_defconfig
@@ -1,17 +1,17 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM43XX_EVM=y
+CONFIG_DM_SERIAL=y
+CONFIG_DM_GPIO=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am437x-gp-evm"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
-CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DM=y
-CONFIG_SPI_FLASH=y
-CONFIG_DM_GPIO=y
-CONFIG_DM_SERIAL=y
 CONFIG_DM_MMC=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am437x_sk_evm_defconfig b/configs/am437x_sk_evm_defconfig
index 02485f8..dc2a094 100644
--- a/configs/am437x_sk_evm_defconfig
+++ b/configs/am437x_sk_evm_defconfig
@@ -1,17 +1,17 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM43XX_EVM=y
+CONFIG_DM_SERIAL=y
+CONFIG_DM_GPIO=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am437x-sk-evm"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
-CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DM=y
-CONFIG_SPI_FLASH=y
-CONFIG_DM_GPIO=y
-CONFIG_DM_SERIAL=y
 CONFIG_DM_MMC=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index f84f57d..c054d6f 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_ethboot_defconfig b/configs/am43xx_evm_ethboot_defconfig
index 2d1a301..2821bbb 100644
--- a/configs/am43xx_evm_ethboot_defconfig
+++ b/configs/am43xx_evm_ethboot_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_ETH_SUPPORT"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_qspiboot_defconfig b/configs/am43xx_evm_qspiboot_defconfig
index ff0109f..7d1e3e6 100644
--- a/configs/am43xx_evm_qspiboot_defconfig
+++ b/configs/am43xx_evm_qspiboot_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
index 2a6c3dc..9ad2f83 100644
--- a/configs/am43xx_evm_usbhost_boot_defconfig
+++ b/configs/am43xx_evm_usbhost_boot_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_USB_HOST_SUPPORT"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index f6566bf..9f342e9 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -1,10 +1,12 @@
 CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_BEAGLE_X15=y
+CONFIG_DM_SERIAL=y
+CONFIG_DM_GPIO=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
@@ -12,8 +14,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3"
 # CONFIG_CMD_NFS is not set
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
+CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
-CONFIG_DM_GPIO=y
-CONFIG_DM_SERIAL=y
-CONFIG_DM_MMC=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index 8971d29..8983e49 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Apalis T30 # "
 # CONFIG_CMD_NFS is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/arches_defconfig b/configs/arches_defconfig
index 9084a3a..245e6fa 100644
--- a/configs/arches_defconfig
+++ b/configs/arches_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_CANYONLANDS=y
 CONFIG_ARCHES=y
 CONFIG_DEFAULT_DEVICE_TREE="arches"
 CONFIG_OF_CONTROL=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/aspenite_defconfig b/configs/aspenite_defconfig
index c606244..812122f 100644
--- a/configs/aspenite_defconfig
+++ b/configs/aspenite_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_ASPENITE=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/axs101_defconfig b/configs/axs101_defconfig
index 8e5d2e5..52d5e2f 100644
--- a/configs/axs101_defconfig
+++ b/configs/axs101_defconfig
@@ -18,4 +18,5 @@ CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/axs103_defconfig b/configs/axs103_defconfig
index cbd63fe..a7f3c38 100644
--- a/configs/axs103_defconfig
+++ b/configs/axs103_defconfig
@@ -17,4 +17,5 @@ CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/ba10_tv_box_defconfig b/configs/ba10_tv_box_defconfig
index 1cfb380..a17eff6 100644
--- a/configs/ba10_tv_box_defconfig
+++ b/configs/ba10_tv_box_defconfig
@@ -13,5 +13,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/bamboo_defconfig b/configs/bamboo_defconfig
index 1d66807..6ecdbcc 100644
--- a/configs/bamboo_defconfig
+++ b/configs/bamboo_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_BAMBOO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig
index fc40da8..42fe61c 100644
--- a/configs/bayleybay_defconfig
+++ b/configs/bayleybay_defconfig
@@ -24,6 +24,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig
index e7a9aa6..f623db3 100644
--- a/configs/bcm11130_defconfig
+++ b/configs/bcm11130_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_MMC_ENV_DEV=0"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig
index f50ffea..6125b85 100644
--- a/configs/bcm11130_nand_defconfig
+++ b/configs/bcm11130_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig
index c82383e..84d8527 100644
--- a/configs/bcm28155_ap_defconfig
+++ b/configs/bcm28155_ap_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_BCM28155_AP=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig
index bc0d8d2..1f9c34a 100644
--- a/configs/bcm28155_w1d_defconfig
+++ b/configs/bcm28155_w1d_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BCM_SF2_ETH,BCM_SF2_ETH_GMAC"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360_entphn-ns_defconfig b/configs/bcm911360_entphn-ns_defconfig
index 4a7e1bc..58c0ff6 100644
--- a/configs/bcm911360_entphn-ns_defconfig
+++ b/configs/bcm911360_entphn-ns_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000,ARMV7_NONSEC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360_entphn_defconfig b/configs/bcm911360_entphn_defconfig
index a0d291c..2589cb1 100644
--- a/configs/bcm911360_entphn_defconfig
+++ b/configs/bcm911360_entphn_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360k_defconfig b/configs/bcm911360k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm911360k_defconfig
+++ b/configs/bcm911360k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958300k-ns_defconfig b/configs/bcm958300k-ns_defconfig
index d9105a6..14db5a1 100644
--- a/configs/bcm958300k-ns_defconfig
+++ b/configs/bcm958300k-ns_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000,ARMV7_NONSEC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958300k_defconfig b/configs/bcm958300k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm958300k_defconfig
+++ b/configs/bcm958300k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958305k_defconfig b/configs/bcm958305k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm958305k_defconfig
+++ b/configs/bcm958305k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig
index 2272462..3bf0b0e 100644
--- a/configs/bcm958622hr_defconfig
+++ b/configs/bcm958622hr_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x01000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/beagle_x15_defconfig b/configs/beagle_x15_defconfig
index 3b3c027..453cff4 100644
--- a/configs/beagle_x15_defconfig
+++ b/configs/beagle_x15_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index 4a6f6e4..348bba9 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra30 (Beaver) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/bf527-ezkit_defconfig b/configs/bf527-ezkit_defconfig
index 8752267..7638550 100644
--- a/configs/bf527-ezkit_defconfig
+++ b/configs/bf527-ezkit_defconfig
@@ -2,5 +2,5 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_EZKIT=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
+# CONFIG_NET_TFTP_VARS is not set
 CONFIG_SPI_FLASH=y
-CONFIG_NET_TFTP_VARS=n
diff --git a/configs/birdland_bav335a_defconfig b/configs/birdland_bav335a_defconfig
index 244c770..0e3f0b7 100644
--- a/configs/birdland_bav335a_defconfig
+++ b/configs/birdland_bav335a_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/birdland_bav335b_defconfig b/configs/birdland_bav335b_defconfig
index a86b203..fe14cd5 100644
--- a/configs/birdland_bav335b_defconfig
+++ b/configs/birdland_bav335b_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/bubinga_defconfig b/configs/bubinga_defconfig
index 65ea4d1..1423dc5 100644
--- a/configs/bubinga_defconfig
+++ b/configs/bubinga_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_BUBINGA=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/caddy2_defconfig b/configs/caddy2_defconfig
index 343432c..a353aa1 100644
--- a/configs/caddy2_defconfig
+++ b/configs/caddy2_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CADDY2"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cairo_defconfig b/configs/cairo_defconfig
index b1df103..1a79d2b 100644
--- a/configs/cairo_defconfig
+++ b/configs/cairo_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="Cairo # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_NET is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig
index 271b556..2ca9c70 100644
--- a/configs/calimain_defconfig
+++ b/configs/calimain_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="Calimain > "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR="\x0b"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/canyonlands_defconfig b/configs/canyonlands_defconfig
index 44d4fbd..ad7e927 100644
--- a/configs/canyonlands_defconfig
+++ b/configs/canyonlands_defconfig
@@ -5,3 +5,4 @@ CONFIG_CANYONLANDS=y
 CONFIG_DEFAULT_DEVICE_TREE="canyonlands"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
index 722bbeb..ce3d779 100644
--- a/configs/cardhu_defconfig
+++ b/configs/cardhu_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra30 (Cardhu) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index 3ded392..ffe30a1 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -3,9 +3,9 @@ CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ROCKCHIP_RK3288=y
 CONFIG_TARGET_CHROMEBOOK_JERRY=y
+CONFIG_SPL_STACK_R_ADDR=0x80000
 CONFIG_DEFAULT_DEVICE_TREE="rk3288-jerry"
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x80000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_PMIC=y
@@ -36,6 +36,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART_BASE=0xff690000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index 0b75781..6bac486 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -23,11 +23,10 @@ CONFIG_SPI_FLASH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART=y
-CONFIG_DEBUG_UART_NS16550=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
 CONFIG_DEBUG_UART_BOARD_INIT=y
-CONFIG_DM_TPM=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_VIDEO_VESA=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index 663aab0..c2dc472 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -21,7 +21,7 @@ CONFIG_CROS_EC_LPC=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
-CONFIG_DM_TPM=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_VIDEO_VESA=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig
index 7288484..ddd0605 100644
--- a/configs/cm_t335_defconfig
+++ b/configs/cm_t335_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="CM-T335 # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t3517_defconfig b/configs/cm_t3517_defconfig
index d224b20..95cd40f 100644
--- a/configs/cm_t3517_defconfig
+++ b/configs/cm_t3517_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="CM-T3517 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index 57ab275..a2fbbe3 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="CM-T3x # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig
index c0cdb48..3da784a 100644
--- a/configs/cm_t43_defconfig
+++ b/configs/cm_t43_defconfig
@@ -8,3 +8,4 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t54_defconfig b/configs/cm_t54_defconfig
index f81aac4..c6107e1 100644
--- a/configs/cm_t54_defconfig
+++ b/configs/cm_t54_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="CM-T54 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index 5104e95..2c94dc1 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="Colibri T20 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index 738b041..dce5db5 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="Colibri T30 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
index 58566c1..fd45728 100644
--- a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
@@ -5,9 +5,8 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD,DEVELOP"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_TPM=y
-CONFIG_SPI_FLASH=y
 CONFIG_DM=y
-CONFIG_DM_TPM=y
-CONFIG_TPM_ATMEL_TWI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_defconfig b/configs/controlcenterd_36BIT_SDCARD_defconfig
index 56a4910..30e3cde 100644
--- a/configs/controlcenterd_36BIT_SDCARD_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_defconfig
@@ -5,9 +5,8 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_TPM=y
-CONFIG_SPI_FLASH=y
 CONFIG_DM=y
-CONFIG_DM_TPM=y
-CONFIG_TPM_ATMEL_TWI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig b/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
index cbf43ef..59072cc 100644
--- a/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
+++ b/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
@@ -8,7 +8,6 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH,DEVELOP"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
-CONFIG_DM_TPM=y
-CONFIG_TPM_ATMEL_TWI=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_TRAILBLAZER_defconfig b/configs/controlcenterd_TRAILBLAZER_defconfig
index e897422..b1e3a80 100644
--- a/configs/controlcenterd_TRAILBLAZER_defconfig
+++ b/configs/controlcenterd_TRAILBLAZER_defconfig
@@ -8,7 +8,6 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
-CONFIG_DM_TPM=y
-CONFIG_TPM_ATMEL_TWI=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/coreboot-x86_defconfig b/configs/coreboot-x86_defconfig
index 438e43b..05ced31 100644
--- a/configs/coreboot-x86_defconfig
+++ b/configs/coreboot-x86_defconfig
@@ -17,7 +17,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
-CONFIG_DM_TPM=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig
index d036c05..86f6793 100644
--- a/configs/crownbay_defconfig
+++ b/configs/crownbay_defconfig
@@ -23,6 +23,7 @@ CONFIG_E1000=y
 CONFIG_PCH_GBE=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/d2net_v2_defconfig b/configs/d2net_v2_defconfig
index d5f783f..c46e33d 100644
--- a/configs/d2net_v2_defconfig
+++ b/configs/d2net_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="D2NET_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850_am18xxevm_defconfig b/configs/da850_am18xxevm_defconfig
index ffdabab..59b9f32 100644
--- a/configs/da850_am18xxevm_defconfig
+++ b/configs/da850_am18xxevm_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
index 3f2c3c8..b703517 100644
--- a/configs/da850evm_defconfig
+++ b/configs/da850evm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850evm_direct_nor_defconfig b/configs/da850evm_direct_nor_defconfig
index 6b0bde2..53746c9 100644
--- a/configs/da850evm_direct_nor_defconfig
+++ b/configs/da850evm_direct_nor_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT"
 CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index e63a5c1..9765511 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra114 (Dalmore) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig
index 6f612d9..03c2a9c 100644
--- a/configs/db-88f6820-gp_defconfig
+++ b/configs/db-88f6820-gp_defconfig
@@ -8,6 +8,7 @@ CONFIG_SPL=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig
index 258e4d6..054c71d 100644
--- a/configs/db-mv784mp-gp_defconfig
+++ b/configs/db-mv784mp-gp_defconfig
@@ -9,6 +9,7 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NAND_PXA3XX=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/devconcenter_defconfig b/configs/devconcenter_defconfig
index ecf766e..f75bb62 100644
--- a/configs/devconcenter_defconfig
+++ b/configs/devconcenter_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_INTIP=y
 CONFIG_SYS_EXTRA_OPTIONS="DEVCONCENTER"
+CONFIG_SYS_NS16550=y
diff --git a/configs/devkit3250_defconfig b/configs/devkit3250_defconfig
index 6465299..a704cd9 100644
--- a/configs/devkit3250_defconfig
+++ b/configs/devkit3250_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index 60ead72..d782f45 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dlvision-10g_defconfig b/configs/dlvision-10g_defconfig
index 04037ba..fe15a4a 100644
--- a/configs/dlvision-10g_defconfig
+++ b/configs/dlvision-10g_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dlvision_defconfig b/configs/dlvision_defconfig
index 97bdd51..b011cb1 100644
--- a/configs/dlvision_defconfig
+++ b/configs/dlvision_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_DLVISION=y
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig
index c56dc5b..1c4e502 100644
--- a/configs/dns325_defconfig
+++ b/configs/dns325_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_DNS325=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dockstar_defconfig b/configs/dockstar_defconfig
index 819cf1f..43e6423 100644
--- a/configs/dockstar_defconfig
+++ b/configs/dockstar_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="DockStar> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra72_evm_defconfig b/configs/dra72_evm_defconfig
index cce3255..eb6b6e5 100644
--- a/configs/dra72_evm_defconfig
+++ b/configs/dra72_evm_defconfig
@@ -16,3 +16,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra74_evm_defconfig b/configs/dra74_evm_defconfig
index a57cd7f..7df3bb7 100644
--- a/configs/dra74_evm_defconfig
+++ b/configs/dra74_evm_defconfig
@@ -1,17 +1,17 @@
 CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_DM_GPIO=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="dra7-evm"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_OF_CONTROL=y
-CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
-CONFIG_DM_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index f98e7b7..f063706 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_qspiboot_defconfig b/configs/dra7xx_evm_qspiboot_defconfig
index f14fa62..4ab1a6a 100644
--- a/configs/dra7xx_evm_qspiboot_defconfig
+++ b/configs/dra7xx_evm_qspiboot_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="QSPI_BOOT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_uart3_defconfig b/configs/dra7xx_evm_uart3_defconfig
index 8882260..f2fc614 100644
--- a/configs/dra7xx_evm_uart3_defconfig
+++ b/configs/dra7xx_evm_uart3_defconfig
@@ -2,12 +2,13 @@ CONFIG_ARM=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
 CONFIG_CONS_INDEX=3
+CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SYS_EXTRA_OPTIONS="SPL_YMODEM_SUPPORT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
index b5f0a50..71a8b35 100644
--- a/configs/draco_defconfig
+++ b/configs/draco_defconfig
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dreamplug_defconfig b/configs/dreamplug_defconfig
index ec2a749..0bb5f3a 100644
--- a/configs/dreamplug_defconfig
+++ b/configs/dreamplug_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_DREAMPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_SPI_FLASH=y
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_SF=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/duovero_defconfig b/configs/duovero_defconfig
index cc0e9a3..273e482 100644
--- a/configs/duovero_defconfig
+++ b/configs/duovero_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="duovero # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/e2220-1170_defconfig b/configs/e2220-1170_defconfig
index a60ba97..b084a86 100644
--- a/configs/e2220-1170_defconfig
+++ b/configs/e2220-1170_defconfig
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="Tegra210 (E2220-1170) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/ea20_defconfig b/configs/ea20_defconfig
index 3d5a1c4..8a86228 100644
--- a/configs/ea20_defconfig
+++ b/configs/ea20_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="ea20 > "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/eco5pk_defconfig b/configs/eco5pk_defconfig
index 759e7e9..01812d6 100644
--- a/configs/eco5pk_defconfig
+++ b/configs/eco5pk_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="ECO5-PK # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/edminiv2_defconfig b/configs/edminiv2_defconfig
index d2c3f22..6ed785f 100644
--- a/configs/edminiv2_defconfig
+++ b/configs/edminiv2_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_EDMINIV2=y
 CONFIG_SPL=y
 CONFIG_SYS_PROMPT="EDMiniV2> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig
index edb2db2..c11bde4 100644
--- a/configs/firefly-rk3288_defconfig
+++ b/configs/firefly-rk3288_defconfig
@@ -3,9 +3,9 @@ CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ROCKCHIP_RK3288=y
 CONFIG_TARGET_FIREFLY_RK3288=y
+CONFIG_SPL_STACK_R_ADDR=0x80000
 CONFIG_DEFAULT_DEVICE_TREE="rk3288-firefly"
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x80000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_PMIC=y
@@ -37,6 +37,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART_BASE=0xff690000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/fx12mm_defconfig b/configs/fx12mm_defconfig
index da5df04..c714d0d 100644
--- a/configs/fx12mm_defconfig
+++ b/configs/fx12mm_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="FX12MM:/# "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/fx12mm_flash_defconfig b/configs/fx12mm_flash_defconfig
index 60eee67..ac38412 100644
--- a/configs/fx12mm_flash_defconfig
+++ b/configs/fx12mm_flash_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFF
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ga10h_v1_1_defconfig b/configs/ga10h_v1_1_defconfig
index 34e74af..d7c8f1a 100644
--- a/configs/ga10h_v1_1_defconfig
+++ b/configs/ga10h_v1_1_defconfig
@@ -22,5 +22,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig
index 1e1ce95..09dec28 100644
--- a/configs/galileo_defconfig
+++ b/configs/galileo_defconfig
@@ -18,6 +18,7 @@ CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/gdppc440etx_defconfig b/configs/gdppc440etx_defconfig
index 2dfebbb..9b06cb6 100644
--- a/configs/gdppc440etx_defconfig
+++ b/configs/gdppc440etx_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_GDPPC440ETX=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/glacier_defconfig b/configs/glacier_defconfig
index d318f82..61444ff 100644
--- a/configs/glacier_defconfig
+++ b/configs/glacier_defconfig
@@ -5,3 +5,4 @@ CONFIG_GLACIER=y
 CONFIG_DEFAULT_DEVICE_TREE="glacier"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/glacier_ramboot_defconfig b/configs/glacier_ramboot_defconfig
index 98bcaf4..11d7da2 100644
--- a/configs/glacier_ramboot_defconfig
+++ b/configs/glacier_ramboot_defconfig
@@ -6,3 +6,4 @@ CONFIG_DEFAULT_DEVICE_TREE="glacier"
 CONFIG_SYS_EXTRA_OPTIONS="SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/canyonlands/u-boot-ram.lds"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
index 3f4cd1d..779daf6 100644
--- a/configs/goflexhome_defconfig
+++ b/configs/goflexhome_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="GoFlexHome> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/gplugd_defconfig b/configs/gplugd_defconfig
index ab3f760..1ab51ce 100644
--- a/configs/gplugd_defconfig
+++ b/configs/gplugd_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_GPLUGD=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/gr_xc3s_1500_defconfig b/configs/gr_xc3s_1500_defconfig
index a05b709..543cba5 100644
--- a/configs/gr_xc3s_1500_defconfig
+++ b/configs/gr_xc3s_1500_defconfig
@@ -1,5 +1,5 @@
 CONFIG_SPARC=y
 CONFIG_TARGET_GR_XC3S_1500=y
 CONFIG_SYS_TEXT_BASE=0x00000000
-# CONFIG_CMD_ELF is not sets
+# CONFIG_CMD_ELF is not set
 # CONFIG_CMD_SETEXPR is not set
diff --git a/configs/gt90h_v4_defconfig b/configs/gt90h_v4_defconfig
index a14de0d..ad37e19 100644
--- a/configs/gt90h_v4_defconfig
+++ b/configs/gt90h_v4_defconfig
@@ -21,4 +21,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
index b7f79a3..7e20dbb 100644
--- a/configs/guruplug_defconfig
+++ b/configs/guruplug_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_GURUPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/gwventana_defconfig b/configs/gwventana_defconfig
index 5bb371c..f7e01e5 100644
--- a/configs/gwventana_defconfig
+++ b/configs/gwventana_defconfig
@@ -2,9 +2,9 @@ CONFIG_ARM=y
 CONFIG_ARCH_MX6=y
 CONFIG_TARGET_GW_VENTANA=y
 CONFIG_DM_SERIAL=y
+CONFIG_SPL_STACK_R_ADDR=0x18000000
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x18000000
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
 CONFIG_SYS_PROMPT="Ventana > "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/haleakala_defconfig b/configs/haleakala_defconfig
index 81e3398..234bbea 100644
--- a/configs/haleakala_defconfig
+++ b/configs/haleakala_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KILAUEA=y
 CONFIG_SYS_EXTRA_OPTIONS="HALEAKALA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
index 79e91e0..e44f59d 100644
--- a/configs/harmony_defconfig
+++ b/configs/harmony_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/hrcon_defconfig b/configs/hrcon_defconfig
index 6b2b5d3..f6c531f 100644
--- a/configs/hrcon_defconfig
+++ b/configs/hrcon_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_HRCON=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/hrcon_dh_defconfig b/configs/hrcon_dh_defconfig
index a059dd9..aad015a 100644
--- a/configs/hrcon_dh_defconfig
+++ b/configs/hrcon_dh_defconfig
@@ -1,5 +1,5 @@
-CONFIG_SYS_EXTRA_OPTIONS="HRCON_DH"
-
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_HRCON=y
+CONFIG_SYS_EXTRA_OPTIONS="HRCON_DH"
+CONFIG_SYS_NS16550=y
diff --git a/configs/i12-tvbox_defconfig b/configs/i12-tvbox_defconfig
index 54fa819..dd28930 100644
--- a/configs/i12-tvbox_defconfig
+++ b/configs/i12-tvbox_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/iNet_3F_defconfig b/configs/iNet_3F_defconfig
index 7ec54a7..f98368a 100644
--- a/configs/iNet_3F_defconfig
+++ b/configs/iNet_3F_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/iNet_3W_defconfig b/configs/iNet_3W_defconfig
index 5e68769..45fabe1 100644
--- a/configs/iNet_3W_defconfig
+++ b/configs/iNet_3W_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/iNet_86VS_defconfig b/configs/iNet_86VS_defconfig
index 3dea793..330bd7e 100644
--- a/configs/iNet_86VS_defconfig
+++ b/configs/iNet_86VS_defconfig
@@ -16,4 +16,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig
index 19cbfd5..a229f46 100644
--- a/configs/ib62x0_defconfig
+++ b/configs/ib62x0_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_IB62X0=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ib62x0 => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/icon_defconfig b/configs/icon_defconfig
index 771a093..36fd884 100644
--- a/configs/icon_defconfig
+++ b/configs/icon_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_ICON=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/iconnect_defconfig b/configs/iconnect_defconfig
index af1c1fc..3b4d37e 100644
--- a/configs/iconnect_defconfig
+++ b/configs/iconnect_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="iconnect => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig
index 821c6fa..deafa38 100644
--- a/configs/ids8313_defconfig
+++ b/configs/ids8313_defconfig
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter password - autoboot in %d seconds...\n"
 CONFIG_AUTOBOOT_DELAY_STR="ids"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0020_defconfig b/configs/igep0020_defconfig
index e45e83c..91ff0df 100644
--- a/configs/igep0020_defconfig
+++ b/configs/igep0020_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0020_nand_defconfig b/configs/igep0020_nand_defconfig
index 75fabef..323178e 100644
--- a/configs/igep0020_nand_defconfig
+++ b/configs/igep0020_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
index 1bb7a6f..4dde5ab 100644
--- a/configs/igep0030_defconfig
+++ b/configs/igep0030_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0030_nand_defconfig b/configs/igep0030_nand_defconfig
index ed01766..6f981ff 100644
--- a/configs/igep0030_nand_defconfig
+++ b/configs/igep0030_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0032_defconfig b/configs/igep0032_defconfig
index bfa15d7..6097575 100644
--- a/configs/igep0032_defconfig
+++ b/configs/igep0032_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/inet1_defconfig b/configs/inet1_defconfig
index a8b32cb..754ea33 100644
--- a/configs/inet1_defconfig
+++ b/configs/inet1_defconfig
@@ -17,5 +17,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet97fv2_defconfig b/configs/inet97fv2_defconfig
index 0b03e16..8c6015c 100644
--- a/configs/inet97fv2_defconfig
+++ b/configs/inet97fv2_defconfig
@@ -16,4 +16,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet98v_rev2_defconfig b/configs/inet98v_rev2_defconfig
index 27b5019..83d70f3 100644
--- a/configs/inet98v_rev2_defconfig
+++ b/configs/inet98v_rev2_defconfig
@@ -19,4 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet9f_rev03_defconfig b/configs/inet9f_rev03_defconfig
index 153450f..dc9dfc1 100644
--- a/configs/inet9f_rev03_defconfig
+++ b/configs/inet9f_rev03_defconfig
@@ -16,4 +16,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inetspace_v2_defconfig b/configs/inetspace_v2_defconfig
index f314059..0629396 100644
--- a/configs/inetspace_v2_defconfig
+++ b/configs/inetspace_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="INETSPACE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/intip_defconfig b/configs/intip_defconfig
index 898f544..7893f64 100644
--- a/configs/intip_defconfig
+++ b/configs/intip_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_INTIP=y
 CONFIG_SYS_EXTRA_OPTIONS="INTIB"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/io64_defconfig b/configs/io64_defconfig
index 52829da..b433cdd 100644
--- a/configs/io64_defconfig
+++ b/configs/io64_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_IO64=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/io_defconfig b/configs/io_defconfig
index 7b71805..17c9c9d 100644
--- a/configs/io_defconfig
+++ b/configs/io_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/iocon_defconfig b/configs/iocon_defconfig
index 63f0c37..bc5e026 100644
--- a/configs/iocon_defconfig
+++ b/configs/iocon_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ipam390_defconfig b/configs/ipam390_defconfig
index a353beb..b02b496 100644
--- a/configs/ipam390_defconfig
+++ b/configs/ipam390_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/jesurun_q5_defconfig b/configs/jesurun_q5_defconfig
index 9cb8b1d..1c8f1a7 100644
--- a/configs/jesurun_q5_defconfig
+++ b/configs/jesurun_q5_defconfig
@@ -11,5 +11,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index 6df5c7e..a393fe1 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra124 (Jetson TK1) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
index c0d8210..66690ba 100644
--- a/configs/k2e_evm_defconfig
+++ b/configs/k2e_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2E EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index c6efe80..236ebc5 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -1,13 +1,13 @@
 CONFIG_ARM=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_TARGET_K2G_EVM=y
+CONFIG_DM_SERIAL=y
 CONFIG_DEFAULT_DEVICE_TREE="k2g-evm"
 CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_OF_CONTROL=y
-CONFIG_SPL_DISABLE_OF_CONTROL=y
-CONFIG_SPI_FLASH=y
 CONFIG_DM=y
-CONFIG_DM_SERIAL=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
index d5a4ef2..b84d507 100644
--- a/configs/k2hk_evm_defconfig
+++ b/configs/k2hk_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2HK EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig
index 47fcad3..6ecb409 100644
--- a/configs/k2l_evm_defconfig
+++ b/configs/k2l_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2L EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/katmai_defconfig b/configs/katmai_defconfig
index 8492314..a2c4294 100644
--- a/configs/katmai_defconfig
+++ b/configs/katmai_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KATMAI=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kilauea_defconfig b/configs/kilauea_defconfig
index 0054cc6..5c77b0c 100644
--- a/configs/kilauea_defconfig
+++ b/configs/kilauea_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KILAUEA=y
 CONFIG_SYS_EXTRA_OPTIONS="KILAUEA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_128m16_defconfig b/configs/km_kirkwood_128m16_defconfig
index b903f6e..8354c8b 100644
--- a/configs/km_kirkwood_128m16_defconfig
+++ b/configs/km_kirkwood_128m16_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_128M16"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_defconfig b/configs/km_kirkwood_defconfig
index 7fc1112..9b2ea23 100644
--- a/configs/km_kirkwood_defconfig
+++ b/configs/km_kirkwood_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_pci_defconfig b/configs/km_kirkwood_pci_defconfig
index a310fb7..463fd4e 100644
--- a/configs/km_kirkwood_pci_defconfig
+++ b/configs/km_kirkwood_pci_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig
index 519b39d..47a3e38 100644
--- a/configs/kmcoge4_defconfig
+++ b/configs/kmcoge4_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KMCOGE4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig
index a8b5275..6623162 100644
--- a/configs/kmcoge5ne_defconfig
+++ b/configs/kmcoge5ne_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_KM8360=y
 CONFIG_SYS_EXTRA_OPTIONS="KMCOGE5NE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge5un_defconfig b/configs/kmcoge5un_defconfig
index 95c61f1..4faff30 100644
--- a/configs/kmcoge5un_defconfig
+++ b/configs/kmcoge5un_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_COGE5UN"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig
index 3374ab0..98c4cc9 100644
--- a/configs/kmeter1_defconfig
+++ b/configs/kmeter1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_KM8360=y
 CONFIG_SYS_EXTRA_OPTIONS="KMETER1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig
index f948b2b..d402e25 100644
--- a/configs/kmlion1_defconfig
+++ b/configs/kmlion1_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KMLION1"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmnusa_defconfig b/configs/kmnusa_defconfig
index 158fe39..d66b1c3 100644
--- a/configs/kmnusa_defconfig
+++ b/configs/kmnusa_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_NUSA"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig
index 11c53b5..6d7896e 100644
--- a/configs/kmopti2_defconfig
+++ b/configs/kmopti2_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="KMOPTI2"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsugp1_defconfig b/configs/kmsugp1_defconfig
index d754ac0..fed4722 100644
--- a/configs/kmsugp1_defconfig
+++ b/configs/kmsugp1_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_SUGP1"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig
index fd4bb9a..6cc721b 100644
--- a/configs/kmsupx5_defconfig
+++ b/configs/kmsupx5_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="KMSUPX5"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsuv31_defconfig b/configs/kmsuv31_defconfig
index 5f56925..66dff14 100644
--- a/configs/kmsuv31_defconfig
+++ b/configs/kmsuv31_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_SUV31"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
index 512d12c..c2ee6be 100644
--- a/configs/kmvect1_defconfig
+++ b/configs/kmvect1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_SYS_EXTRA_OPTIONS="KMVECT1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kwb_defconfig b/configs/kwb_defconfig
index 0bbe0a7..e25b2a3 100644
--- a/configs/kwb_defconfig
+++ b/configs/kwb_defconfig
@@ -18,3 +18,4 @@ CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_ddr4_nor_defconfig b/configs/ls1021aqds_ddr4_nor_defconfig
index 940da92..2f16339 100644
--- a/configs/ls1021aqds_ddr4_nor_defconfig
+++ b/configs/ls1021aqds_ddr4_nor_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nand_defconfig b/configs/ls1021aqds_nand_defconfig
index 613fc28..fe84419 100644
--- a/configs/ls1021aqds_nand_defconfig
+++ b/configs/ls1021aqds_nand_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nor_SECURE_BOOT_defconfig b/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
index 97d08f1..025a8f2 100644
--- a/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
+++ b/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nor_defconfig b/configs/ls1021aqds_nor_defconfig
index af76fa0..6878df4 100644
--- a/configs/ls1021aqds_nor_defconfig
+++ b/configs/ls1021aqds_nor_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_LS1021AQDS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_qspi_defconfig b/configs/ls1021aqds_qspi_defconfig
index 44c7f50..4beab8e 100644
--- a/configs/ls1021aqds_qspi_defconfig
+++ b/configs/ls1021aqds_qspi_defconfig
@@ -10,3 +10,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_sdcard_defconfig b/configs/ls1021aqds_sdcard_defconfig
index 0fb637e..3249b48 100644
--- a/configs/ls1021aqds_sdcard_defconfig
+++ b/configs/ls1021aqds_sdcard_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_nor_SECURE_BOOT_defconfig b/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
index 0d2c9a0..bf19c33 100644
--- a/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
+++ b/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_nor_defconfig b/configs/ls1021atwr_nor_defconfig
index 0a4b3ea..aa874fd 100644
--- a/configs/ls1021atwr_nor_defconfig
+++ b/configs/ls1021atwr_nor_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_LS1021ATWR=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_qspi_defconfig b/configs/ls1021atwr_qspi_defconfig
index 5bb52bb..9ca0ea7 100644
--- a/configs/ls1021atwr_qspi_defconfig
+++ b/configs/ls1021atwr_qspi_defconfig
@@ -10,3 +10,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_sdcard_ifc_defconfig b/configs/ls1021atwr_sdcard_ifc_defconfig
index 2136ab2..f6d4b4a 100644
--- a/configs/ls1021atwr_sdcard_ifc_defconfig
+++ b/configs/ls1021atwr_sdcard_ifc_defconfig
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_sdcard_qspi_defconfig b/configs/ls1021atwr_sdcard_qspi_defconfig
index 458578b..3d80fde 100644
--- a/configs/ls1021atwr_sdcard_qspi_defconfig
+++ b/configs/ls1021atwr_sdcard_qspi_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_TARGET_LS1021ATWR=y
+CONFIG_DM_SPI=y
+CONFIG_DEFAULT_DEVICE_TREE="ls1021a-twr"
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT,SD_BOOT_QSPI"
-CONFIG_DEFAULT_DEVICE_TREE="ls1021a-twr"
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
-CONFIG_DM_SPI=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_defconfig b/configs/ls1043ardb_defconfig
index ae84d2e..3feac91 100644
--- a/configs/ls1043ardb_defconfig
+++ b/configs/ls1043ardb_defconfig
@@ -1,4 +1,4 @@
-CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4"
 CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
-CONFIG_FSL_LAYERSCAPE=y
+CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_nand_defconfig b/configs/ls1043ardb_nand_defconfig
index fffaca0..605dbc0 100644
--- a/configs/ls1043ardb_nand_defconfig
+++ b/configs/ls1043ardb_nand_defconfig
@@ -1,4 +1,5 @@
-CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT,SYS_FSL_DDR4"
 CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT,SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_sdcard_defconfig b/configs/ls1043ardb_sdcard_defconfig
index 5fe0470..ea925c3 100644
--- a/configs/ls1043ardb_sdcard_defconfig
+++ b/configs/ls1043ardb_sdcard_defconfig
@@ -1,4 +1,5 @@
-CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT,SYS_FSL_DDR4"
 CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT,SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085a_emu_defconfig b/configs/ls2085a_emu_defconfig
index 9c82e17..0505d09 100644
--- a/configs/ls2085a_emu_defconfig
+++ b/configs/ls2085a_emu_defconfig
@@ -12,3 +12,4 @@ CONFIG_SYS_EXTRA_OPTIONS="EMU,SYS_FSL_DDR4"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085a_simu_defconfig b/configs/ls2085a_simu_defconfig
index 9d04218..220a65a 100644
--- a/configs/ls2085a_simu_defconfig
+++ b/configs/ls2085a_simu_defconfig
@@ -13,3 +13,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SIMU"
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085aqds_defconfig b/configs/ls2085aqds_defconfig
index 78b121d..5b4f7eb 100644
--- a/configs/ls2085aqds_defconfig
+++ b/configs/ls2085aqds_defconfig
@@ -11,4 +11,5 @@ CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_FSL_DSPI=y
diff --git a/configs/ls2085aqds_nand_defconfig b/configs/ls2085aqds_nand_defconfig
index ce2a81c..c010e58 100644
--- a/configs/ls2085aqds_nand_defconfig
+++ b/configs/ls2085aqds_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,NAND"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085ardb_defconfig b/configs/ls2085ardb_defconfig
index d0f16f2..764e48f 100644
--- a/configs/ls2085ardb_defconfig
+++ b/configs/ls2085ardb_defconfig
@@ -11,4 +11,5 @@ CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_FSL_DSPI=y
diff --git a/configs/ls2085ardb_nand_defconfig b/configs/ls2085ardb_nand_defconfig
index 25a6f71..76d4d34 100644
--- a/configs/ls2085ardb_nand_defconfig
+++ b/configs/ls2085ardb_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,NAND"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
index a086de8..9fd89a6 100644
--- a/configs/lschlv2_defconfig
+++ b/configs/lschlv2_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="LSCHLV2"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
index 7d48abd..03d2ad5 100644
--- a/configs/lsxhl_defconfig
+++ b/configs/lsxhl_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="LSXHL"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/luan_defconfig b/configs/luan_defconfig
index d42b4a9..7babe26 100644
--- a/configs/luan_defconfig
+++ b/configs/luan_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_LUAN=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lwmon5_defconfig b/configs/lwmon5_defconfig
index 0a6da68..5cbca3b 100644
--- a/configs/lwmon5_defconfig
+++ b/configs/lwmon5_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_LWMON5=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/makalu_defconfig b/configs/makalu_defconfig
index ed9b82d..1b71638 100644
--- a/configs/makalu_defconfig
+++ b/configs/makalu_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_MAKALU=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index 3056c48..2ebd58b 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -5,4 +5,5 @@ CONFIG_TARGET_MALTA=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index 858a852..d24d217 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig
index d49def1..42b2084 100644
--- a/configs/maxbcm_defconfig
+++ b/configs/maxbcm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/mcx_defconfig b/configs/mcx_defconfig
index fe80d6c..0c3d86b 100644
--- a/configs/mcx_defconfig
+++ b/configs/mcx_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="mcx # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
index df9560e..5d2d504 100644
--- a/configs/medcom-wide_defconfig
+++ b/configs/medcom-wide_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Medcom-Wide) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/mgcoge3un_defconfig b/configs/mgcoge3un_defconfig
index cd5f358..2355c70 100644
--- a/configs/mgcoge3un_defconfig
+++ b/configs/mgcoge3un_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_MGCOGE3UN"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig
index 0f500e6..4d527ff 100644
--- a/configs/minnowmax_defconfig
+++ b/configs/minnowmax_defconfig
@@ -23,9 +23,9 @@ CONFIG_DM_ETH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART=y
-CONFIG_DEBUG_UART_NS16550=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/mixtile_loftq_defconfig b/configs/mixtile_loftq_defconfig
index ce81309..fcf6f8b 100644
--- a/configs/mixtile_loftq_defconfig
+++ b/configs/mixtile_loftq_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_a10s_defconfig b/configs/mk802_a10s_defconfig
index aff8dfc..54d947b 100644
--- a/configs/mk802_a10s_defconfig
+++ b/configs/mk802_a10s_defconfig
@@ -10,5 +10,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_defconfig b/configs/mk802_defconfig
index bed8f23..bc131bb 100644
--- a/configs/mk802_defconfig
+++ b/configs/mk802_defconfig
@@ -9,5 +9,6 @@ CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_SUNXI_NO_PMIC=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802ii_defconfig b/configs/mk802ii_defconfig
index de1b73f..23e1591 100644
--- a/configs/mk802ii_defconfig
+++ b/configs/mk802ii_defconfig
@@ -7,4 +7,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mpc8308_p1m_defconfig b/configs/mpc8308_p1m_defconfig
index 8c67eab..c31d948 100644
--- a/configs/mpc8308_p1m_defconfig
+++ b/configs/mpc8308_p1m_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8308_P1M=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/mt_ventoux_defconfig b/configs/mt_ventoux_defconfig
index 27f2ecd..7cd14ea 100644
--- a/configs/mt_ventoux_defconfig
+++ b/configs/mt_ventoux_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="mt_ventoux => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig
index 6748a6e..eae74a0 100644
--- a/configs/nas220_defconfig
+++ b/configs/nas220_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="nas220> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/neo_defconfig b/configs/neo_defconfig
index 1ef57ad..a500b5f 100644
--- a/configs/neo_defconfig
+++ b/configs/neo_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_NEO=y
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/net2big_v2_defconfig b/configs/net2big_v2_defconfig
index 09df520..9f52638 100644
--- a/configs/net2big_v2_defconfig
+++ b/configs/net2big_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NET2BIG_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_lite_v2_defconfig b/configs/netspace_lite_v2_defconfig
index 862a9ae..6cfc593 100644
--- a/configs/netspace_lite_v2_defconfig
+++ b/configs/netspace_lite_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_LITE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_max_v2_defconfig b/configs/netspace_max_v2_defconfig
index 1829995..967261e 100644
--- a/configs/netspace_max_v2_defconfig
+++ b/configs/netspace_max_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MAX_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_mini_v2_defconfig b/configs/netspace_mini_v2_defconfig
index 35cb154..d06b12e 100644
--- a/configs/netspace_mini_v2_defconfig
+++ b/configs/netspace_mini_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MINI_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_v2_defconfig b/configs/netspace_v2_defconfig
index a13452b..ad4fd36 100644
--- a/configs/netspace_v2_defconfig
+++ b/configs/netspace_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index b3d9682..67918f7 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -11,3 +11,4 @@ CONFIG_AUTOBOOT_KEYED=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index 4f31c1c..423cfb6 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -18,8 +18,8 @@ CONFIG_CMD_CROS_EC=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
index 4ab91fa..362e6c6 100644
--- a/configs/odroid-xu3_defconfig
+++ b/configs/odroid-xu3_defconfig
@@ -7,14 +7,14 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3"
 CONFIG_SYS_PROMPT="ODROID-XU3 # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_PMIC=y
+CONFIG_ADC=y
+CONFIG_ADC_EXYNOS=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_DM_PMIC=y
-CONFIG_CMD_PMIC=y
-CONFIG_ERRNO_STR=y
-CONFIG_DM_REGULATOR=y
 CONFIG_PMIC_S2MPS11=y
+CONFIG_DM_REGULATOR=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_BRIDGE=y
-CONFIG_ADC=y
-CONFIG_ADC_EXYNOS=y
+CONFIG_ERRNO_STR=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index dde076a..27b4f67 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_defconfig b/configs/omap3_evm_defconfig
index 168b9a8..89fdf80 100644
--- a/configs/omap3_evm_defconfig
+++ b/configs/omap3_evm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_quick_mmc_defconfig b/configs/omap3_evm_quick_mmc_defconfig
index 1b6aa7c..1af2b45 100644
--- a/configs/omap3_evm_quick_mmc_defconfig
+++ b/configs/omap3_evm_quick_mmc_defconfig
@@ -24,3 +24,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_quick_nand_defconfig b/configs/omap3_evm_quick_nand_defconfig
index 48c2bb1..b53a9c2 100644
--- a/configs/omap3_evm_quick_nand_defconfig
+++ b/configs/omap3_evm_quick_nand_defconfig
@@ -24,3 +24,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
index f22b50e..04b3215 100644
--- a/configs/omap3_ha_defconfig
+++ b/configs/omap3_ha_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_BOARD_OMAP3_HA"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
index 3f8a154..a343a3d 100644
--- a/configs/omap3_logic_defconfig
+++ b/configs/omap3_logic_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="OMAP Logic # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_overo_defconfig b/configs/omap3_overo_defconfig
index 3350212..299e2d6 100644
--- a/configs/omap3_overo_defconfig
+++ b/configs/omap3_overo_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="Overo # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
index e165145..1b7d81e 100644
--- a/configs/omap3_pandora_defconfig
+++ b/configs/omap3_pandora_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="Pandora # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_zoom1_defconfig b/configs/omap3_zoom1_defconfig
index 9efd6de..d45119b 100644
--- a/configs/omap3_zoom1_defconfig
+++ b/configs/omap3_zoom1_defconfig
@@ -6,3 +6,4 @@ CONFIG_TARGET_OMAP3_ZOOM1=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig
index 1be285d..1bc284d 100644
--- a/configs/omap4_panda_defconfig
+++ b/configs/omap4_panda_defconfig
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap4_sdp4430_defconfig b/configs/omap4_sdp4430_defconfig
index b369d1d..60abc77 100644
--- a/configs/omap4_sdp4430_defconfig
+++ b/configs/omap4_sdp4430_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap5_uevm_defconfig b/configs/omap5_uevm_defconfig
index 15221ad..a9982d4 100644
--- a/configs/omap5_uevm_defconfig
+++ b/configs/omap5_uevm_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
index 8aa410d..582badf 100644
--- a/configs/omapl138_lcdk_defconfig
+++ b/configs/omapl138_lcdk_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
index 1686139..ea7861d 100644
--- a/configs/openrd_base_defconfig
+++ b/configs/openrd_base_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_BASE"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
index c342315..886698b 100644
--- a/configs/openrd_client_defconfig
+++ b/configs/openrd_client_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_CLIENT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
index 530ba4d..4989319 100644
--- a/configs/openrd_ultimate_defconfig
+++ b/configs/openrd_ultimate_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_ULTIMATE"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrisc-generic_defconfig b/configs/openrisc-generic_defconfig
index 54cd832..47ed8df 100644
--- a/configs/openrisc-generic_defconfig
+++ b/configs/openrisc-generic_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_OPENRISC_GENERIC=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
index 136f6c5..5d05315 100644
--- a/configs/p2371-0000_defconfig
+++ b/configs/p2371-0000_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra210 (P2371-0000) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
index 8cd2fcc..0d51d41 100644
--- a/configs/p2371-2180_defconfig
+++ b/configs/p2371-2180_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra210 (P2371-2180) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
index 5a592e9..e482ff2 100644
--- a/configs/p2571_defconfig
+++ b/configs/p2571_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra210 (P2571) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
index 5d076f7..c704b67 100644
--- a/configs/paz00_defconfig
+++ b/configs/paz00_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Paz00) MOD # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/pcm051_rev1_defconfig b/configs/pcm051_rev1_defconfig
index 2f1022c..9c7e08c 100644
--- a/configs/pcm051_rev1_defconfig
+++ b/configs/pcm051_rev1_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="REV1"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig
index 61d94b8..af3f134 100644
--- a/configs/pcm051_rev3_defconfig
+++ b/configs/pcm051_rev3_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="REV3"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pcm052_defconfig b/configs/pcm052_defconfig
index e8dc402..9125645 100644
--- a/configs/pcm052_defconfig
+++ b/configs/pcm052_defconfig
@@ -3,4 +3,3 @@ CONFIG_TARGET_PCM052=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/phytec/pcm052/imximage.cfg,ENV_IS_IN_NAND"
 CONFIG_NAND_VF610_NFC=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
-CONFIG_SYS_NAND_VF610_NFC_45_ECC_BYTES=y
diff --git a/configs/peach-pi_defconfig b/configs/peach-pi_defconfig
index 6eff072..411ef1a 100644
--- a/configs/peach-pi_defconfig
+++ b/configs/peach-pi_defconfig
@@ -29,7 +29,6 @@ CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
 CONFIG_SOUND_WM8994=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig
index 24bc161..5c34c31 100644
--- a/configs/peach-pit_defconfig
+++ b/configs/peach-pit_defconfig
@@ -29,7 +29,6 @@ CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
 CONFIG_SOUND_WM8994=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig
index 38add54..1900cf4 100644
--- a/configs/pengwyn_defconfig
+++ b/configs/pengwyn_defconfig
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/pepper_defconfig b/configs/pepper_defconfig
index f86b1b7..bd7db24 100644
--- a/configs/pepper_defconfig
+++ b/configs/pepper_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="pepper# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
index b6b07d8..96615d9 100644
--- a/configs/plutux_defconfig
+++ b/configs/plutux_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Plutux) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/pogo_e02_defconfig b/configs/pogo_e02_defconfig
index 234833b..1a31256 100644
--- a/configs/pogo_e02_defconfig
+++ b/configs/pogo_e02_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="PogoE02> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/portl2_defconfig b/configs/portl2_defconfig
index 3ff9ebb..6291730 100644
--- a/configs/portl2_defconfig
+++ b/configs/portl2_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_PORTL2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pov_protab2_ips9_defconfig b/configs/pov_protab2_ips9_defconfig
index 9aa5280..0a2660e 100644
--- a/configs/pov_protab2_ips9_defconfig
+++ b/configs/pov_protab2_ips9_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index b1b709f..b06fe69 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/q8_a13_tablet_defconfig b/configs/q8_a13_tablet_defconfig
index b467b62..8fd3924 100644
--- a/configs/q8_a13_tablet_defconfig
+++ b/configs/q8_a13_tablet_defconfig
@@ -19,4 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a23_tablet_800x480_defconfig b/configs/q8_a23_tablet_800x480_defconfig
index 7391464..6b7823f 100644
--- a/configs/q8_a23_tablet_800x480_defconfig
+++ b/configs/q8_a23_tablet_800x480_defconfig
@@ -21,4 +21,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a33_tablet_1024x600_defconfig b/configs/q8_a33_tablet_1024x600_defconfig
index 16f8600..7b1f61a 100644
--- a/configs/q8_a33_tablet_1024x600_defconfig
+++ b/configs/q8_a33_tablet_1024x600_defconfig
@@ -21,4 +21,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
index 6378918..60d2d13 100644
--- a/configs/q8_a33_tablet_800x480_defconfig
+++ b/configs/q8_a33_tablet_800x480_defconfig
@@ -21,4 +21,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig
index b05c722..d28532c 100644
--- a/configs/qemu-ppce500_defconfig
+++ b/configs/qemu-ppce500_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_QEMU_PPCE500=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 366ccc4..92e79de 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -19,6 +19,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/qemu_mips64_defconfig b/configs/qemu_mips64_defconfig
index 4187430..2bc92a5 100644
--- a/configs/qemu_mips64_defconfig
+++ b/configs/qemu_mips64_defconfig
@@ -4,4 +4,5 @@ CONFIG_CPU_MIPS64_R1=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mips64el_defconfig b/configs/qemu_mips64el_defconfig
index c8bcbb7..d8a9c71 100644
--- a/configs/qemu_mips64el_defconfig
+++ b/configs/qemu_mips64el_defconfig
@@ -5,4 +5,5 @@ CONFIG_CPU_MIPS64_R1=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mips_defconfig b/configs/qemu_mips_defconfig
index 337ecea..e855906 100644
--- a/configs/qemu_mips_defconfig
+++ b/configs/qemu_mips_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_QEMU_MIPS=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mipsel_defconfig b/configs/qemu_mipsel_defconfig
index bfb3bcc..d851075 100644
--- a/configs/qemu_mipsel_defconfig
+++ b/configs/qemu_mipsel_defconfig
@@ -4,4 +4,5 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/r7-tv-dongle_defconfig b/configs/r7-tv-dongle_defconfig
index fcc681f..6e6a1b0 100644
--- a/configs/r7-tv-dongle_defconfig
+++ b/configs/r7-tv-dongle_defconfig
@@ -9,5 +9,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/rainier_defconfig b/configs/rainier_defconfig
index 1713592..cffc355 100644
--- a/configs/rainier_defconfig
+++ b/configs/rainier_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="RAINIER"
+CONFIG_SYS_NS16550=y
diff --git a/configs/rainier_ramboot_defconfig b/configs/rainier_ramboot_defconfig
index ba22d9d..9766835 100644
--- a/configs/rainier_ramboot_defconfig
+++ b/configs/rainier_ramboot_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_SYS_NS16550=y
diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
index 1d8064a..d34efca 100644
--- a/configs/rastaban_defconfig
+++ b/configs/rastaban_defconfig
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/redwood_defconfig b/configs/redwood_defconfig
index ad87d0e..3b7cebb 100644
--- a/configs/redwood_defconfig
+++ b/configs/redwood_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_REDWOOD=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index 8bb8d88..15cd854 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 94c8e68..6acddf0 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -6,6 +6,7 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_REMOTEPROC=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_SOUND=y
 CONFIG_BOOTSTAGE=y
@@ -19,6 +20,8 @@ CONFIG_OF_HOSTFILE=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_DEVRES=y
+CONFIG_ADC=y
+CONFIG_ADC_SANDBOX=y
 CONFIG_CLK=y
 CONFIG_SANDBOX_GPIO=y
 CONFIG_SYS_I2C_SANDBOX=y
@@ -43,12 +46,12 @@ CONFIG_DM_PMIC_SANDBOX=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_SANDBOX=y
 CONFIG_RAM=y
+CONFIG_REMOTEPROC_SANDBOX=y
 CONFIG_DM_RTC=y
 CONFIG_SANDBOX_SERIAL=y
 CONFIG_SOUND=y
 CONFIG_SOUND_SANDBOX=y
 CONFIG_SANDBOX_SPI=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_SANDBOX=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
@@ -63,7 +66,3 @@ CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
 CONFIG_UT_DM=y
 CONFIG_UT_ENV=y
-CONFIG_REMOTEPROC_SANDBOX=y
-CONFIG_CMD_REMOTEPROC=y
-CONFIG_ADC=y
-CONFIG_ADC_SANDBOX=y
diff --git a/configs/sbc8349_PCI_33_defconfig b/configs/sbc8349_PCI_33_defconfig
index c03a807..068b1b6 100644
--- a/configs/sbc8349_PCI_33_defconfig
+++ b/configs/sbc8349_PCI_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8349_PCI_66_defconfig b/configs/sbc8349_PCI_66_defconfig
index 030c2d6..9939155 100644
--- a/configs/sbc8349_PCI_66_defconfig
+++ b/configs/sbc8349_PCI_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8349_defconfig b/configs/sbc8349_defconfig
index 01392aa..f1e356d 100644
--- a/configs/sbc8349_defconfig
+++ b/configs/sbc8349_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_33_PCIE_defconfig b/configs/sbc8548_PCI_33_PCIE_defconfig
index b6e8766..bf1f0a5 100644
--- a/configs/sbc8548_PCI_33_PCIE_defconfig
+++ b/configs/sbc8548_PCI_33_PCIE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,33,PCIE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_33_defconfig b/configs/sbc8548_PCI_33_defconfig
index f3c4ced..789333e 100644
--- a/configs/sbc8548_PCI_33_defconfig
+++ b/configs/sbc8548_PCI_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,33"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_66_PCIE_defconfig b/configs/sbc8548_PCI_66_PCIE_defconfig
index bb0ad95..e0f3752 100644
--- a/configs/sbc8548_PCI_66_PCIE_defconfig
+++ b/configs/sbc8548_PCI_66_PCIE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,66,PCIE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_66_defconfig b/configs/sbc8548_PCI_66_defconfig
index d601416..132e66d 100644
--- a/configs/sbc8548_PCI_66_defconfig
+++ b/configs/sbc8548_PCI_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,66"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_defconfig b/configs/sbc8548_defconfig
index 3e3b507..b8d9d5a 100644
--- a/configs/sbc8548_defconfig
+++ b/configs/sbc8548_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8641d_defconfig b/configs/sbc8641d_defconfig
index b67c7c0..a37b18e 100644
--- a/configs/sbc8641d_defconfig
+++ b/configs/sbc8641d_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_SBC8641D=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
index a5023c9..828d898 100644
--- a/configs/seaboard_defconfig
+++ b/configs/seaboard_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/sequoia_defconfig b/configs/sequoia_defconfig
index bbaec61..39190a3 100644
--- a/configs/sequoia_defconfig
+++ b/configs/sequoia_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sequoia_ramboot_defconfig b/configs/sequoia_ramboot_defconfig
index 5b2c6f4..b86b230 100644
--- a/configs/sequoia_ramboot_defconfig
+++ b/configs/sequoia_ramboot_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
index 5a37eea..9b41460 100644
--- a/configs/sheevaplug_defconfig
+++ b/configs/sheevaplug_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_SHEEVAPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
index 7afaa49..0474deb 100644
--- a/configs/sniper_defconfig
+++ b/configs/sniper_defconfig
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="Sniper # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/snow_defconfig b/configs/snow_defconfig
index 0c9ca8b..3721ece 100644
--- a/configs/snow_defconfig
+++ b/configs/snow_defconfig
@@ -38,7 +38,6 @@ CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
 CONFIG_SOUND_WM8994=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index afdf237..8913a64 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -4,13 +4,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_ARRIA5_SOCDK=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_arria5_socdk"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index fcd12d9..a465f88 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -4,13 +4,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_CYCLONE5_SOCDK=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_socdk"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 5dc74b7..567edd3 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -4,13 +4,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_TERASIC_DE0_NANO=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_de0_nano_soc"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPL_SIMPLE_BUS=y
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index b90bce7..844aadb 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -4,13 +4,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_DENX_MCVEVK=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_mcvevk"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPL_SIMPLE_BUS=y
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 11a4786..086b04d 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -4,10 +4,10 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_TERASIC_SOCKIT=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_sockit"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPL_SIMPLE_BUS=y
@@ -16,3 +16,4 @@ CONFIG_SPI_FLASH=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index 04bacd0..e92a373 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -4,13 +4,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SPL_DM=y
 CONFIG_DM_GPIO=y
 CONFIG_TARGET_SOCFPGA_CYCLONE5_SOCDK=y
+CONFIG_SPL_STACK_R_ADDR=0x00800000
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_socrates"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
-CONFIG_SPL_STACK_R_ADDR=0x00800000
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socrates_defconfig b/configs/socrates_defconfig
index 37af82e..19cc388 100644
--- a/configs/socrates_defconfig
+++ b/configs/socrates_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SOCRATES=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/spring_defconfig b/configs/spring_defconfig
index 47bc643..2495322 100644
--- a/configs/spring_defconfig
+++ b/configs/spring_defconfig
@@ -38,7 +38,6 @@ CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
 CONFIG_SOUND_WM8994=y
-CONFIG_DM_TPM=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/strider_con_defconfig b/configs/strider_con_defconfig
index 74ef69e..59fdc7b 100644
--- a/configs/strider_con_defconfig
+++ b/configs/strider_con_defconfig
@@ -1,7 +1,8 @@
-CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CON"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_STRIDER=y
+CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CON"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/strider_cpu_defconfig b/configs/strider_cpu_defconfig
index fc0a823..a0584b8 100644
--- a/configs/strider_cpu_defconfig
+++ b/configs/strider_cpu_defconfig
@@ -1,7 +1,8 @@
-CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CPU"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_STRIDER=y
+CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CPU"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sunxi_Gemei_G9_defconfig b/configs/sunxi_Gemei_G9_defconfig
index 6d39dec..0ae18b0 100644
--- a/configs/sunxi_Gemei_G9_defconfig
+++ b/configs/sunxi_Gemei_G9_defconfig
@@ -14,4 +14,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig
index e477b0e..b0b8390 100644
--- a/configs/suvd3_defconfig
+++ b/configs/suvd3_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_SYS_EXTRA_OPTIONS="SUVD3"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sycamore_defconfig b/configs/sycamore_defconfig
index 844e67f..29b3d2b 100644
--- a/configs/sycamore_defconfig
+++ b/configs/sycamore_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_WALNUT=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/t3corp_defconfig b/configs/t3corp_defconfig
index c61508a..75eeda6 100644
--- a/configs/t3corp_defconfig
+++ b/configs/t3corp_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_T3CORP=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
index b2977f3..af4292b 100644
--- a/configs/tao3530_defconfig
+++ b/configs/tao3530_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="TAO-3530 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tb100_defconfig b/configs/tb100_defconfig
index ca34bbb..27ea43f 100644
--- a/configs/tb100_defconfig
+++ b/configs/tb100_defconfig
@@ -14,4 +14,5 @@ CONFIG_OF_EMBED=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
index de74dc9..4f526e1 100644
--- a/configs/tec-ng_defconfig
+++ b/configs/tec-ng_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra30 (TEC-NG) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
index 2163ec8..787d961 100644
--- a/configs/tec_defconfig
+++ b/configs/tec_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (TEC) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
index 6b8e6b1..78b1536 100644
--- a/configs/thuban_defconfig
+++ b/configs/thuban_defconfig
@@ -9,3 +9,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ti814x_evm_defconfig b/configs/ti814x_evm_defconfig
index 781e270..0c9a9d1 100644
--- a/configs/ti814x_evm_defconfig
+++ b/configs/ti814x_evm_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="U-Boot# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ti816x_evm_defconfig b/configs/ti816x_evm_defconfig
index 294d775..78f11f5 100644
--- a/configs/ti816x_evm_defconfig
+++ b/configs/ti816x_evm_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="u-boot/ti816x# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index bc30837..c32ef86 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_PROMPT="OMAP3 Tricorder # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
index 4619fc9..1cf3928 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="FLASHCARD"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
index 18292e2..316ed0c 100644
--- a/configs/trimslice_defconfig
+++ b/configs/trimslice_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (TrimSlice) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tseries_mmc_defconfig b/configs/tseries_mmc_defconfig
index b4a4873..9286608 100644
--- a/configs/tseries_mmc_defconfig
+++ b/configs/tseries_mmc_defconfig
@@ -15,3 +15,4 @@ CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tseries_nand_defconfig b/configs/tseries_nand_defconfig
index 8177a51..d074586 100644
--- a/configs/tseries_nand_defconfig
+++ b/configs/tseries_nand_defconfig
@@ -15,3 +15,4 @@ CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tseries_spi_defconfig b/configs/tseries_spi_defconfig
index 1c2a0ba..d92c7ad 100644
--- a/configs/tseries_spi_defconfig
+++ b/configs/tseries_spi_defconfig
@@ -16,3 +16,4 @@ CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig
index d4a422c..1030dc7 100644
--- a/configs/tuge1_defconfig
+++ b/configs/tuge1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="TUGE1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig
index c8db21a..7675fb3 100644
--- a/configs/tuxx1_defconfig
+++ b/configs/tuxx1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="TUXX1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/twister_defconfig b/configs/twister_defconfig
index b817a55..9a1f151 100644
--- a/configs/twister_defconfig
+++ b/configs/twister_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="twister => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/vct_platinum_defconfig b/configs/vct_platinum_defconfig
index 0c30ae9..4b0b5b4 100644
--- a/configs/vct_platinum_defconfig
+++ b/configs/vct_platinum_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PLATINUM=y
 CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_onenand_defconfig b/configs/vct_platinum_onenand_defconfig
index e26c2f6..62d8878 100644
--- a/configs/vct_platinum_onenand_defconfig
+++ b/configs/vct_platinum_onenand_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_onenand_small_defconfig b/configs/vct_platinum_onenand_small_defconfig
index 47985cd..7b379be 100644
--- a/configs/vct_platinum_onenand_small_defconfig
+++ b/configs/vct_platinum_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_small_defconfig b/configs/vct_platinum_small_defconfig
index f85d3f7..78d215d 100644
--- a/configs/vct_platinum_small_defconfig
+++ b/configs/vct_platinum_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_defconfig b/configs/vct_platinumavc_defconfig
index 103434c..92a3027 100644
--- a/configs/vct_platinumavc_defconfig
+++ b/configs/vct_platinumavc_defconfig
@@ -5,4 +5,5 @@ CONFIG_SYS_PROMPT="VCT# "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_onenand_defconfig b/configs/vct_platinumavc_onenand_defconfig
index e387b82..87767bd 100644
--- a/configs/vct_platinumavc_onenand_defconfig
+++ b/configs/vct_platinumavc_onenand_defconfig
@@ -8,4 +8,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_onenand_small_defconfig b/configs/vct_platinumavc_onenand_small_defconfig
index 77dd414..be70588 100644
--- a/configs/vct_platinumavc_onenand_small_defconfig
+++ b/configs/vct_platinumavc_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_small_defconfig b/configs/vct_platinumavc_small_defconfig
index 8fe82fc..b7e0a78 100644
--- a/configs/vct_platinumavc_small_defconfig
+++ b/configs/vct_platinumavc_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_defconfig b/configs/vct_premium_defconfig
index 2ae4975..7ca6e34 100644
--- a/configs/vct_premium_defconfig
+++ b/configs/vct_premium_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PREMIUM=y
 CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_onenand_defconfig b/configs/vct_premium_onenand_defconfig
index 9768dbc..88555d9 100644
--- a/configs/vct_premium_onenand_defconfig
+++ b/configs/vct_premium_onenand_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_onenand_small_defconfig b/configs/vct_premium_onenand_small_defconfig
index ac6f422..a3a93b8 100644
--- a/configs/vct_premium_onenand_small_defconfig
+++ b/configs/vct_premium_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_small_defconfig b/configs/vct_premium_small_defconfig
index 3297434..fddc04d 100644
--- a/configs/vct_premium_small_defconfig
+++ b/configs/vct_premium_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/ve8313_defconfig b/configs/ve8313_defconfig
index 627bb3c..5a8ba8e 100644
--- a/configs/ve8313_defconfig
+++ b/configs/ve8313_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_VE8313=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index 263ec63..da76ee2 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra124 (Venice2) # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
index 79c125e..4694307 100644
--- a/configs/ventana_defconfig
+++ b/configs/ventana_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Ventana) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vexpress_aemv8a_dram_defconfig b/configs/vexpress_aemv8a_dram_defconfig
index e9fc870..72d405f 100644
--- a/configs/vexpress_aemv8a_dram_defconfig
+++ b/configs/vexpress_aemv8a_dram_defconfig
@@ -1,7 +1,9 @@
 CONFIG_ARM=y
 CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DM_SERIAL=y
 CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
+CONFIG_SYS_PROMPT="VExpress64# "
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_XIMG is not set
@@ -15,5 +17,3 @@ CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_DM=y
-CONFIG_DM_SERIAL=y
-CONFIG_SYS_PROMPT="VExpress64# "
diff --git a/configs/vme8349_defconfig b/configs/vme8349_defconfig
index 117a154..7a91da3 100644
--- a/configs/vme8349_defconfig
+++ b/configs/vme8349_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_VME8349=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/walnut_defconfig b/configs/walnut_defconfig
index 844e67f..29b3d2b 100644
--- a/configs/walnut_defconfig
+++ b/configs/walnut_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_WALNUT=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/whistler_defconfig b/configs/whistler_defconfig
index 969f73c..8ae8950 100644
--- a/configs/whistler_defconfig
+++ b/configs/whistler_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Whistler) # "
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/work_92105_defconfig b/configs/work_92105_defconfig
index 0169f30..a1c8b6f 100644
--- a/configs/work_92105_defconfig
+++ b/configs/work_92105_defconfig
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite1000_defconfig b/configs/xpedite1000_defconfig
index 73d5ff2..3bccacb 100644
--- a/configs/xpedite1000_defconfig
+++ b/configs/xpedite1000_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_XPEDITE1000=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite517x_defconfig b/configs/xpedite517x_defconfig
index 45d0ae1..07c4642 100644
--- a/configs/xpedite517x_defconfig
+++ b/configs/xpedite517x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_XPEDITE517X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite520x_defconfig b/configs/xpedite520x_defconfig
index 797c166..6a25b47 100644
--- a/configs/xpedite520x_defconfig
+++ b/configs/xpedite520x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE520X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite537x_defconfig b/configs/xpedite537x_defconfig
index 2db7f65..611f1b1 100644
--- a/configs/xpedite537x_defconfig
+++ b/configs/xpedite537x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE537X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite550x_defconfig b/configs/xpedite550x_defconfig
index 2740957..8f6b433 100644
--- a/configs/xpedite550x_defconfig
+++ b/configs/xpedite550x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE550X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/yellowstone_defconfig b/configs/yellowstone_defconfig
index 7b1a630..7f4144c 100644
--- a/configs/yellowstone_defconfig
+++ b/configs/yellowstone_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YOSEMITE=y
 CONFIG_SYS_EXTRA_OPTIONS="YELLOWSTONE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/yosemite_defconfig b/configs/yosemite_defconfig
index 00ec425..cd852c2 100644
--- a/configs/yosemite_defconfig
+++ b/configs/yosemite_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YOSEMITE=y
 CONFIG_SYS_EXTRA_OPTIONS="YOSEMITE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/yucca_defconfig b/configs/yucca_defconfig
index 6c8e20a..c3e7a7a 100644
--- a/configs/yucca_defconfig
+++ b/configs/yucca_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YUCCA=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
index 74ca3a9..650fc07 100644
--- a/configs/zynq_microzed_defconfig
+++ b/configs/zynq_microzed_defconfig
@@ -9,7 +9,6 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
 CONFIG_ZYNQ_QSPI=y
diff --git a/configs/zynq_picozed_defconfig b/configs/zynq_picozed_defconfig
index 3a42efb..a10bc85 100644
--- a/configs/zynq_picozed_defconfig
+++ b/configs/zynq_picozed_defconfig
@@ -6,5 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig
index 3e488be..66ddaa7 100644
--- a/configs/zynq_zc702_defconfig
+++ b/configs/zynq_zc702_defconfig
@@ -8,7 +8,6 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
 CONFIG_ZYNQ_QSPI=y
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
index edd3635..28ad34e 100644
--- a/configs/zynq_zc706_defconfig
+++ b/configs/zynq_zc706_defconfig
@@ -9,7 +9,6 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
 CONFIG_ZYNQ_QSPI=y
diff --git a/configs/zynq_zc770_xm010_defconfig b/configs/zynq_zc770_xm010_defconfig
index 69a0a9c..97c107b 100644
--- a/configs/zynq_zc770_xm010_defconfig
+++ b/configs/zynq_zc770_xm010_defconfig
@@ -10,7 +10,6 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM010"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
 CONFIG_ZYNQ_QSPI=y
diff --git a/configs/zynq_zc770_xm011_defconfig b/configs/zynq_zc770_xm011_defconfig
index 2a61fe3..accea08 100644
--- a/configs/zynq_zc770_xm011_defconfig
+++ b/configs/zynq_zc770_xm011_defconfig
@@ -10,5 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM011"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/zynq_zc770_xm012_defconfig b/configs/zynq_zc770_xm012_defconfig
index eb98a39..2155ca1 100644
--- a/configs/zynq_zc770_xm012_defconfig
+++ b/configs/zynq_zc770_xm012_defconfig
@@ -8,5 +8,4 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM012"
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/zynq_zc770_xm013_defconfig b/configs/zynq_zc770_xm013_defconfig
index 8d65c05..e25e327 100644
--- a/configs/zynq_zc770_xm013_defconfig
+++ b/configs/zynq_zc770_xm013_defconfig
@@ -10,5 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM013"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
index df5e25a..d78a6da 100644
--- a/configs/zynq_zed_defconfig
+++ b/configs/zynq_zed_defconfig
@@ -9,7 +9,6 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
 CONFIG_ZYNQ_QSPI=y
diff --git a/configs/zynq_zybo_defconfig b/configs/zynq_zybo_defconfig
index b7531d6..56fedcc 100644
--- a/configs/zynq_zybo_defconfig
+++ b/configs/zynq_zybo_defconfig
@@ -9,7 +9,6 @@ CONFIG_FIT_SIGNATURE=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_OF_SEPARATE=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART_ZYNQ=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index fe407b7..82ad90d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,6 +186,16 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
+config SYS_NS16550
+	bool "NS16550 UART or compatible"
+	help
+	  Support NS16550 UART or compatible. This can be enabled in the
+	  device tree with the correct input clock frequency. If the input
+	  clock frequency is not defined in the device tree, the macro
+	  CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
+	  be used. It can be a constant or a function to get clock, eg,
+	  get_serial_clock().
+
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index c83e5ce..50a5751 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -483,7 +483,6 @@ unsigned long get_board_ddr_clk(void);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index 2754016..7b34470 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -227,7 +227,6 @@ extern unsigned long get_sdram_size(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index 54dcf3b..a3a853d 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -408,7 +408,6 @@ combinations. this should be removed later
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 94f991b..9f86f1e 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -377,7 +377,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/CPCI2DP.h b/include/configs/CPCI2DP.h
index e00ab04..c3a7714 100644
--- a/include/configs/CPCI2DP.h
+++ b/include/configs/CPCI2DP.h
@@ -89,7 +89,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h
index 332a1df..1e5285c 100644
--- a/include/configs/CPCI4052.h
+++ b/include/configs/CPCI4052.h
@@ -113,7 +113,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h
index ec62c8a..b545c34 100644
--- a/include/configs/MIP405.h
+++ b/include/configs/MIP405.h
@@ -160,7 +160,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 1 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/MPC8308RDB.h b/include/configs/MPC8308RDB.h
index 551b72d..87afa31 100644
--- a/include/configs/MPC8308RDB.h
+++ b/include/configs/MPC8308RDB.h
@@ -315,7 +315,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 7db67c2..1510786 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -371,7 +371,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 
diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h
index eb50be6..ba952e3 100644
--- a/include/configs/MPC8315ERDB.h
+++ b/include/configs/MPC8315ERDB.h
@@ -292,7 +292,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(CONFIG_83XX_CLKIN * 2)
diff --git a/include/configs/MPC8323ERDB.h b/include/configs/MPC8323ERDB.h
index 59d5e56..a1d45d8 100644
--- a/include/configs/MPC8323ERDB.h
+++ b/include/configs/MPC8323ERDB.h
@@ -212,7 +212,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC832XEMDS.h b/include/configs/MPC832XEMDS.h
index 5ab7d5f..b3322ae 100644
--- a/include/configs/MPC832XEMDS.h
+++ b/include/configs/MPC832XEMDS.h
@@ -292,7 +292,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h
index 988a900..71dcc6c 100644
--- a/include/configs/MPC8349EMDS.h
+++ b/include/configs/MPC8349EMDS.h
@@ -318,7 +318,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h
index 091ca17..ded73b4 100644
--- a/include/configs/MPC8349ITX.h
+++ b/include/configs/MPC8349ITX.h
@@ -353,7 +353,6 @@ boards, we say we have two, but don't display a message if we find only one. */
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h
index 7d1262d..df47888 100644
--- a/include/configs/MPC837XEMDS.h
+++ b/include/configs/MPC837XEMDS.h
@@ -308,7 +308,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index ab68e63..e77848e 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -329,7 +329,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 29c27fa..954ba3f 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -368,7 +368,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
index 157ca69..921180f 100644
--- a/include/configs/MPC8540ADS.h
+++ b/include/configs/MPC8540ADS.h
@@ -221,7 +221,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h
index 68ea5d8..d5805c1 100644
--- a/include/configs/MPC8541CDS.h
+++ b/include/configs/MPC8541CDS.h
@@ -244,7 +244,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h
index 166fcda..47e530b 100644
--- a/include/configs/MPC8544DS.h
+++ b/include/configs/MPC8544DS.h
@@ -196,7 +196,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h
index 517b449..a84ebfd 100644
--- a/include/configs/MPC8548CDS.h
+++ b/include/configs/MPC8548CDS.h
@@ -321,7 +321,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h
index 184f514..84b8174 100644
--- a/include/configs/MPC8555CDS.h
+++ b/include/configs/MPC8555CDS.h
@@ -242,7 +242,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h
index f6e43ce..03ba806 100644
--- a/include/configs/MPC8568MDS.h
+++ b/include/configs/MPC8568MDS.h
@@ -227,7 +227,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h
index 6f614b0..f86d10f 100644
--- a/include/configs/MPC8569MDS.h
+++ b/include/configs/MPC8569MDS.h
@@ -235,7 +235,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index 19da477..e3a803e 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -364,7 +364,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index 4ce04a8..8160b28 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -225,7 +225,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index 6f1535e..71c4b8d 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -259,7 +259,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 81b0855..49105dc 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -604,7 +604,6 @@ extern unsigned long get_sdram_size(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index a9d825b..093f2e4 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -393,7 +393,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1023RDB.h b/include/configs/P1023RDB.h
index 4d87198..bc479f6 100644
--- a/include/configs/P1023RDB.h
+++ b/include/configs/P1023RDB.h
@@ -162,7 +162,6 @@ extern unsigned long get_clock_freq(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index 2c4c8b5..a145714 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -324,7 +324,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index 45eecc4..1426849 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -153,7 +153,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 1 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h
index d668a15..4eb5fe1 100644
--- a/include/configs/PLU405.h
+++ b/include/configs/PLU405.h
@@ -114,7 +114,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PMC405DE.h b/include/configs/PMC405DE.h
index 0fdd7e2..ce0c49f 100644
--- a/include/configs/PMC405DE.h
+++ b/include/configs/PMC405DE.h
@@ -88,7 +88,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x3000000 /* 1 ... 48 MB in DRAM */
 
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index 0227649..5488c68 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -84,7 +84,6 @@
  * Serial Port
  *----------------------------------------------------------------------*/
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h
index 52942ed..d3185fc 100644
--- a/include/configs/T102xQDS.h
+++ b/include/configs/T102xQDS.h
@@ -495,7 +495,6 @@ unsigned long get_board_ddr_clk(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index 39fa5e2..ed4ad9a 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -496,7 +496,6 @@ unsigned long get_board_ddr_clk(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h
index fc263df..b373ef7 100644
--- a/include/configs/T1040QDS.h
+++ b/include/configs/T1040QDS.h
@@ -398,7 +398,6 @@ unsigned long get_board_ddr_clk(void);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 840be04..da78b90 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -450,7 +450,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_rcw.cfg
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index a81f1e6..7aa916f 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -445,7 +445,6 @@ unsigned long get_board_ddr_clk(void);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index 8b76234..db581ae 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -405,7 +405,6 @@ unsigned long get_board_ddr_clk(void);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index 2e875d2..2cf1b4e 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -197,7 +197,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h
index 0b046d1..5221fbb 100644
--- a/include/configs/TQM834x.h
+++ b/include/configs/TQM834x.h
@@ -158,7 +158,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index 8611473..9d3d33c 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -329,7 +329,6 @@
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h
index 60f266c..6cbf1b7 100644
--- a/include/configs/VOM405.h
+++ b/include/configs/VOM405.h
@@ -99,7 +99,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/adp-ag101p.h b/include/configs/adp-ag101p.h
index 849b08e..2499b39 100644
--- a/include/configs/adp-ag101p.h
+++ b/include/configs/adp-ag101p.h
@@ -87,7 +87,6 @@
 /* FTUART is a high speed NS 16C550A compatible UART, addr: 0x99600000 */
 #define CONFIG_BAUDRATE			38400
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_COM1		CONFIG_FTUART010_02_BASE
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index 0bf0af7..4ed8e00 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -66,7 +66,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index 9aa14f4..23457d6 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -72,7 +72,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index 75b8f53..c1da750 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -22,7 +22,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h
index e87c0cb..78d8044 100644
--- a/include/configs/amcc-common.h
+++ b/include/configs/amcc-common.h
@@ -19,7 +19,6 @@
 /*
  * UART
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #ifndef CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
diff --git a/include/configs/axs101.h b/include/configs/axs101.h
index 9a7e0dc..9e90b69 100644
--- a/include/configs/axs101.h
+++ b/include/configs/axs101.h
@@ -52,7 +52,6 @@
  * UART configuration
  */
 #define CONFIG_DW_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		33333333
 #define CONFIG_SYS_NS16550_MEM32
diff --git a/include/configs/bcm28155_ap.h b/include/configs/bcm28155_ap.h
index 6ea6fb0..53c97d6 100644
--- a/include/configs/bcm28155_ap.h
+++ b/include/configs/bcm28155_ap.h
@@ -79,7 +79,6 @@
 #define CONFIG_SYS_INIT_SP_ADDR		CONFIG_SYS_TEXT_BASE
 
 /* Serial Info */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 /* Post pad 3 bytes after each reg addr */
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/bcm_ep_board.h b/include/configs/bcm_ep_board.h
index c3ebb4d..305864f 100644
--- a/include/configs/bcm_ep_board.h
+++ b/include/configs/bcm_ep_board.h
@@ -45,7 +45,6 @@
 #define CONFIG_ENV_OVERWRITE
 
 /* Serial Info */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 
 #define CONFIG_BAUDRATE			115200
diff --git a/include/configs/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index 1d96a2d..56492d1 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -46,7 +46,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index a5b2f9e..33715a5 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -151,7 +151,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index e951b2d..fc6f1b8 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -71,7 +71,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/cm_t3517.h b/include/configs/cm_t3517.h
index 8a10e9c..f5feeb8 100644
--- a/include/configs/cm_t3517.h
+++ b/include/configs/cm_t3517.h
@@ -77,7 +77,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000	/* 48MHz (APLL96/2) */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index f8c39bf..02a1a76 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -19,7 +19,6 @@
 
 /* Serial support */
 #define CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h
index 600bb83..6eb1b52 100644
--- a/include/configs/controlcenterd.h
+++ b/include/configs/controlcenterd.h
@@ -178,7 +178,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 9210216..12ada71 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -329,7 +329,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/cyrus.h b/include/configs/cyrus.h
index 5d25fb1..848cec4 100644
--- a/include/configs/cyrus.h
+++ b/include/configs/cyrus.h
@@ -215,7 +215,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 5aa643a..d90141c 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -133,7 +133,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/ea20.h b/include/configs/ea20.h
index b230d9c..6a2ff16 100644
--- a/include/configs/ea20.h
+++ b/include/configs/ea20.h
@@ -58,7 +58,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART0_BASE /* Base address of UART0 */
diff --git a/include/configs/edminiv2.h b/include/configs/edminiv2.h
index 7fb1894..1dfa721 100644
--- a/include/configs/edminiv2.h
+++ b/include/configs/edminiv2.h
@@ -88,7 +88,6 @@
  * NS16550 Configuration
  */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86.h
index 1c955d9..258a83f 100644
--- a/include/configs/efi-x86.h
+++ b/include/configs/efi-x86.h
@@ -15,7 +15,6 @@
 
 #undef CONFIG_CMD_IMLS
 
-#undef CONFIG_SYS_NS16550
 #undef CONFIG_X86_SERIAL
 #undef CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_ENV_IS_NOWHERE
diff --git a/include/configs/gdppc440etx.h b/include/configs/gdppc440etx.h
index b514278..8d79ea8 100644
--- a/include/configs/gdppc440etx.h
+++ b/include/configs/gdppc440etx.h
@@ -66,7 +66,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/hrcon.h b/include/configs/hrcon.h
index 84d0928..801be68 100644
--- a/include/configs/hrcon.h
+++ b/include/configs/hrcon.h
@@ -304,7 +304,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h
index ecb7f10..0a5a9f1 100644
--- a/include/configs/ids8313.h
+++ b/include/configs/ids8313.h
@@ -323,7 +323,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 583f7b3..3c4a70c 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -133,7 +133,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART0_BASE /* Base address of UART0 */
diff --git a/include/configs/km/km83xx-common.h b/include/configs/km/km83xx-common.h
index cebe210..f3ab3c4 100644
--- a/include/configs/km/km83xx-common.h
+++ b/include/configs/km/km83xx-common.h
@@ -144,7 +144,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index b89af53..38e9350 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -93,7 +93,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/km/kmp204x-common.h b/include/configs/km/kmp204x-common.h
index 8a3c74e..8b75bb9 100644
--- a/include/configs/km/kmp204x-common.h
+++ b/include/configs/km/kmp204x-common.h
@@ -244,7 +244,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h
index 562e78f..bf0614c 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -375,7 +375,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_LPUART_32B_REG
 #else
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index fdbbfc1..a5d5a3b 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -270,7 +270,6 @@
 #define CONFIG_LPUART_32B_REG
 #else
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h
index 1f22dd3..6b9856a 100644
--- a/include/configs/ls1043a_common.h
+++ b/include/configs/ls1043a_common.h
@@ -55,7 +55,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0))
diff --git a/include/configs/ls2085a_common.h b/include/configs/ls2085a_common.h
index 0011e72..f9bca44 100644
--- a/include/configs/ls2085a_common.h
+++ b/include/configs/ls2085a_common.h
@@ -110,7 +110,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX       1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE     1
 #define CONFIG_SYS_NS16550_CLK          (get_bus_freq(0)/2)
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 66d9710..69172bb 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -102,7 +102,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/malta.h b/include/configs/malta.h
index 4d3751a..3faac37 100644
--- a/include/configs/malta.h
+++ b/include/configs/malta.h
@@ -80,7 +80,6 @@
  */
 #define CONFIG_BAUDRATE			115200
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(115200 * 16)
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 6240666..a33c54f 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -78,7 +78,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 8ce1c49..9e8bef8 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -39,7 +39,6 @@
 # define CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
 # define CONSOLE_ARG	"console=console=ttyUL0,115200\0"
 #elif XILINX_UART16550_BASEADDR
-# define CONFIG_SYS_NS16550		1
 # define CONFIG_SYS_NS16550_SERIAL
 # if defined(__MICROBLAZEEL__)
 #  define CONFIG_SYS_NS16550_REG_SIZE	-4
diff --git a/include/configs/mpc8308_p1m.h b/include/configs/mpc8308_p1m.h
index 1a627fc..a90083f 100644
--- a/include/configs/mpc8308_p1m.h
+++ b/include/configs/mpc8308_p1m.h
@@ -292,7 +292,6 @@
  */
 #define CONFIG_CONS_INDEX	1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 575e53e..2071cf5 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #if !defined(CONFIG_DM_SERIAL)
diff --git a/include/configs/neo.h b/include/configs/neo.h
index a60b3f7..bc01416 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -91,7 +91,6 @@
  * set Linux BASE_BAUD to 403200.
  */
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index 52369be..812b676 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -85,7 +85,6 @@
  */
 #define V_NS16550_CLK		48000000		/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 7e7f6f2..2004d14 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -72,7 +72,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 80d57f4..c1f26c0 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -93,7 +93,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/openrisc-generic.h b/include/configs/openrisc-generic.h
index d53e419..c854189 100644
--- a/include/configs/openrisc-generic.h
+++ b/include/configs/openrisc-generic.h
@@ -31,7 +31,6 @@
 /*
  * SERIAL
  */
-# define CONFIG_SYS_NS16550
 # define CONFIG_SYS_NS16550_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	1
 # define CONFIG_CONS_INDEX		1
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 433c409..381b176 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -649,7 +649,6 @@
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h
index d83daa0..d2af2a0 100644
--- a/include/configs/p1_twr.h
+++ b/include/configs/p1_twr.h
@@ -215,7 +215,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/qemu-mips.h b/include/configs/qemu-mips.h
index 9395bda..5a043d5 100644
--- a/include/configs/qemu-mips.h
+++ b/include/configs/qemu-mips.h
@@ -52,7 +52,6 @@
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE	0xb4000300
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		115200
diff --git a/include/configs/qemu-mips64.h b/include/configs/qemu-mips64.h
index 53ff802..070b5de 100644
--- a/include/configs/qemu-mips64.h
+++ b/include/configs/qemu-mips64.h
@@ -52,7 +52,6 @@
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE	0xffffffffb4000300
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		115200
diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h
index f45789f..2dfea33 100644
--- a/include/configs/qemu-ppce500.h
+++ b/include/configs/qemu-ppce500.h
@@ -103,7 +103,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
 #define CONFIG_SYS_MALLOC_LEN		(4 * 1024 * 1024)
 
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0))
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
index 36408b9..d56886d 100644
--- a/include/configs/rk3288_common.h
+++ b/include/configs/rk3288_common.h
@@ -29,7 +29,6 @@
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SPL_BOARD_INIT
 
diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h
index c8b14e9..25ec7bc 100644
--- a/include/configs/sbc8349.h
+++ b/include/configs/sbc8349.h
@@ -267,7 +267,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h
index 1c309a4..9783804 100644
--- a/include/configs/sbc8548.h
+++ b/include/configs/sbc8548.h
@@ -406,7 +406,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(400000000 / CONFIG_SYS_CLK_DIV)
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index 0b22ce0..f88d685 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -247,7 +247,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index 6c374eb..ccf4afb 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -113,7 +113,6 @@
 #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 559311f..08046b5 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -201,7 +201,6 @@
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #endif
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 #define CONFIG_CONS_INDEX		3
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 3374683..f6808b5 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -219,7 +219,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 /*
  * Serial Driver
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		SOCFPGA_UART0_ADDRESS
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index 019cf30..f8bddca 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -198,7 +198,6 @@
 /* Serial Port */
 
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/strider.h b/include/configs/strider.h
index fb7b7f9..8771cdc 100644
--- a/include/configs/strider.h
+++ b/include/configs/strider.h
@@ -308,7 +308,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 394fdb2..871e41b 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -41,7 +41,6 @@
 #endif
 
 /* Serial & console */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h
index 5754369..5788a70 100644
--- a/include/configs/t4qds.h
+++ b/include/configs/t4qds.h
@@ -141,7 +141,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index f993433..d59fd98 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -66,7 +66,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000	/* 48MHz (APLL96/2) */
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index 97fe796..c1bd179 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -66,7 +66,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 0b9ad1c..8660ed4 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,6 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
 #define CONFIG_BAUDRATE			115200
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index cd84fd8..19de0e2 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index 7fa35a1..e726040 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -145,7 +145,6 @@
 #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index 01d8233..ba652ca 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -108,7 +108,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE (-4)
 #define CONFIG_SYS_NS16550_CLK      (48000000)
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 3beb9db..edbd820 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -22,7 +22,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 0d36e87..98e9282 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -58,7 +58,6 @@
 #define CONFIG_SYS_SPI_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
 
 /* UART Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_MEM32
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index 4d53b4c..1c71cb6 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -32,7 +32,6 @@
 
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #ifdef CONFIG_SPL_BUILD
 # define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 4b7b493..08130eb 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -57,7 +57,6 @@
 /*
  * Hardware drivers
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 94d6ef0..2d492f8 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -50,7 +50,6 @@
 /*
  * Hardware drivers
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 0ab69e6..ca28e47 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -86,7 +86,6 @@
 #define STATUS_LED_PERIOD2		(CONFIG_SYS_HZ / 2)
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000 /* 48MHz (APLL96/2) */
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index 1e71703..0562598 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -13,7 +13,6 @@
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  10
 
 #ifdef CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_COM1		CONFIG_SUPPORT_CARD_UART_BASE
 #define CONFIG_SYS_NS16550_CLK		12288000
 #define CONFIG_SYS_NS16550_REG_SIZE	-2
diff --git a/include/configs/vct.h b/include/configs/vct.h
index 92726c8..872f2f0 100644
--- a/include/configs/vct.h
+++ b/include/configs/vct.h
@@ -54,7 +54,6 @@
 #endif
 
 #define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		UART_1_BASE
 #define CONFIG_CONS_INDEX		1
diff --git a/include/configs/ve8313.h b/include/configs/ve8313.h
index f5df4fb..bc2d441 100644
--- a/include/configs/ve8313.h
+++ b/include/configs/ve8313.h
@@ -251,7 +251,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/vme8349.h b/include/configs/vme8349.h
index 7f5f089..714ebee 100644
--- a/include/configs/vme8349.h
+++ b/include/configs/vme8349.h
@@ -200,7 +200,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index ab9fa0b..44c1317 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -59,7 +59,6 @@
 /*-----------------------------------------------------------------------
  * Serial Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_BAUDRATE_TABLE	{300, 600, 1200, 2400, 4800, \
 					 9600, 19200, 38400, 115200}
diff --git a/include/configs/xilinx-ppc.h b/include/configs/xilinx-ppc.h
index 1abd0ef..eb400d0 100644
--- a/include/configs/xilinx-ppc.h
+++ b/include/configs/xilinx-ppc.h
@@ -109,7 +109,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
 #else
 #ifdef XPAR_UARTNS550_0_BASEADDR
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	4
 #define CONFIG_CONS_INDEX		1
diff --git a/include/configs/xpedite1000.h b/include/configs/xpedite1000.h
index 005f149..5bc926f 100644
--- a/include/configs/xpedite1000.h
+++ b/include/configs/xpedite1000.h
@@ -97,7 +97,6 @@ extern void out32(unsigned int, unsigned long);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h
index 3e09635..96b357b 100644
--- a/include/configs/xpedite517x.h
+++ b/include/configs/xpedite517x.h
@@ -214,7 +214,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite520x.h b/include/configs/xpedite520x.h
index 39bdb88..b2d6a1e 100644
--- a/include/configs/xpedite520x.h
+++ b/include/configs/xpedite520x.h
@@ -177,7 +177,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h
index c687555..8b4d4d9 100644
--- a/include/configs/xpedite537x.h
+++ b/include/configs/xpedite537x.h
@@ -213,7 +213,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h
index f971f8b..c7e25d9 100644
--- a/include/configs/xpedite550x.h
+++ b/include/configs/xpedite550x.h
@@ -204,7 +204,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 13/13] nios2: 10m50: change to ns16550 uart
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (11 preceding siblings ...)
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
@ 2015-11-18 13:44   ` Thomas Chou
  12 siblings, 0 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 13:44 UTC (permalink / raw)
  To: u-boot

Change to ns16550 uart for 10m50 devboard based on a new
Altera release.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/nios2/dts/10m50_devboard.dts | 2 +-
 configs/10m50_defconfig           | 2 +-
 include/configs/10m50_devboard.h  | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/nios2/dts/10m50_devboard.dts b/arch/nios2/dts/10m50_devboard.dts
index e89dbb2..05eac30 100644
--- a/arch/nios2/dts/10m50_devboard.dts
+++ b/arch/nios2/dts/10m50_devboard.dts
@@ -262,6 +262,6 @@
 
 	chosen {
 		bootargs = "debug console=ttyS0,115200";
-		stdout-path = &uart_0;
+		stdout-path = &a_16550_uart_0;
 	};
 };
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index af2cef7..9e858bc 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -21,6 +21,6 @@ CONFIG_MTD=y
 CONFIG_ALTERA_QSPI=y
 CONFIG_DM_ETH=y
 CONFIG_ALTERA_TSE=y
-CONFIG_ALTERA_UART=y
+CONFIG_SYS_NS16550=y
 CONFIG_TIMER=y
 CONFIG_ALTERA_TIMER=y
diff --git a/include/configs/10m50_devboard.h b/include/configs/10m50_devboard.h
index ab7dd08..715b1b4 100644
--- a/include/configs/10m50_devboard.h
+++ b/include/configs/10m50_devboard.h
@@ -20,6 +20,7 @@
  */
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_CONSOLE_INFO_QUIET	/* Suppress console info */
+#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Flash
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-18 13:51     ` Bin Meng
  2015-11-19  6:38     ` Heiko Schocher
  1 sibling, 0 replies; 112+ messages in thread
From: Bin Meng @ 2015-11-18 13:51 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/serial/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index eba96f4..2a50771 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -53,6 +53,7 @@ config DEBUG_UART
>  choice
>         prompt "Select which UART will provide the debug UART"
>         depends on DEBUG_UART
> +       default DEBUG_UART_NS16550
>
>  config DEBUG_UART_ALTERA_JTAGUART
>         bool "Altera JTAG UART"
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-18 13:55     ` Bin Meng
  2015-11-19  6:39     ` Heiko Schocher
  1 sibling, 0 replies; 112+ messages in thread
From: Bin Meng @ 2015-11-18 13:55 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
>
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/serial/Kconfig   | 11 +++++++++++
>  drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 55 insertions(+)
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 2a50771..0f0e92d 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -195,6 +195,17 @@ config ROCKCHIP_SERIAL
>           your board config header. The clock input is automatically set to
>           use the oscillator (24MHz).
>
> +config NS16550_SERIAL
> +       bool "NS16550 UART or compatible"
> +       depends on DM_SERIAL
> +       help
> +         Support NS16550 UART or compatible with driver model. This can be
> +         enabled in the device tree with the correct input clock frequency.
> +         If the input clock frequency is not defined in the device tree,
> +         the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
> +         file will be used. It can be a constant or a function to get clock,
> +         eg, get_serial_clock().
> +
>  config SANDBOX_SERIAL
>         bool "Sandbox UART support"
>         depends on SANDBOX
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 8d028de..f0a9aac 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
>
>  #ifdef CONFIG_DM_SERIAL
>
> +#ifndef CONFIG_SYS_NS16550_CLK
> +#define CONFIG_SYS_NS16550_CLK  0
> +#endif
> +
>  static inline void serial_out_shift(void *addr, int shift, int value)
>  {
>  #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
> @@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>         plat->base = addr;
>         plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>                                          "reg-shift", 1);
> +#ifdef CONFIG_NS16550_SERIAL
> +       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
> +                                    "clock-frequency",
> +                                    CONFIG_SYS_NS16550_CLK);
> +       if (!plat->clock) {
> +               debug("ns16550 clock not defined\n");
> +               return -EINVAL;
> +       }
> +#endif /* CONFIG_NS16550_SERIAL */
>
>         return 0;
>  }
> @@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
>         .getc = ns16550_serial_getc,
>         .setbrg = ns16550_serial_setbrg,
>  };
> +
> +#ifdef CONFIG_NS16550_SERIAL
> +#if CONFIG_IS_ENABLED(OF_CONTROL)
> +static const struct udevice_id ns16550_serial_ids[] = {
> +       { .compatible = "ns16550" },
> +       { .compatible = "ns16550a" },
> +       { .compatible = "nvidia,tegra20-uart" },
> +       { .compatible = "snps,dw-apb-uart" },
> +       { .compatible = "ti,omap2-uart" },
> +       { .compatible = "ti,omap3-uart" },
> +       { .compatible = "ti,omap4-uart" },
> +       { .compatible = "ti,am3352-uart" },
> +       { .compatible = "ti,am4372-uart" },
> +       { .compatible = "ti,dra742-uart" },
> +       {}
> +};
> +#endif
> +
> +U_BOOT_DRIVER(ns16550_serial) = {
> +       .name   = "ns16550_serial",
> +       .id     = UCLASS_SERIAL,
> +#if CONFIG_IS_ENABLED(OF_CONTROL)
> +       .of_match = ns16550_serial_ids,
> +       .ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
> +       .platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> +#endif
> +       .priv_auto_alloc_size = sizeof(struct NS16550),
> +       .probe = ns16550_serial_probe,
> +       .ops    = &ns16550_serial_ops,
> +};
> +#endif /* CONFIG_NS16550_SERIAL */
>  #endif /* CONFIG_DM_SERIAL */
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-18 13:56     ` Bin Meng
  0 siblings, 0 replies; 112+ messages in thread
From: Bin Meng @ 2015-11-18 13:56 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_x86, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/x86/dts/serial.dtsi    |  2 +-
>  configs/efi-x86_defconfig   |  2 +-
>  drivers/serial/Kconfig      | 11 +----------
>  drivers/serial/Makefile     |  1 -
>  drivers/serial/serial_x86.c | 44 --------------------------------------------
>  5 files changed, 3 insertions(+), 57 deletions(-)
>  delete mode 100644 drivers/serial/serial_x86.c
>
> diff --git a/arch/x86/dts/serial.dtsi b/arch/x86/dts/serial.dtsi
> index 6865eed..54c3faf 100644
> --- a/arch/x86/dts/serial.dtsi
> +++ b/arch/x86/dts/serial.dtsi
> @@ -1,6 +1,6 @@
>  / {
>         serial: serial {
> -               compatible = "x86-uart";
> +               compatible = "ns16550";
>                 reg = <0x3f8 8>;
>                 reg-shift = <0>;
>                 clock-frequency = <1843200>;
> diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
> index 43fb0c4..b1573df 100644
> --- a/configs/efi-x86_defconfig
> +++ b/configs/efi-x86_defconfig
> @@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
>  CONFIG_DEFAULT_DEVICE_TREE="efi"
>  CONFIG_TARGET_EFI=y
>  CONFIG_TSC_CALIBRATION_BYPASS=y
> +# CONFIG_NS16550_SERIAL is not set
>  # CONFIG_CMD_BOOTM is not set
>  # CONFIG_CMD_NET is not set
>  CONFIG_OF_CONTROL=y
> @@ -12,5 +13,4 @@ CONFIG_DEBUG_UART=y
>  CONFIG_DEBUG_EFI_CONSOLE=y
>  CONFIG_DEBUG_UART_BASE=0
>  CONFIG_DEBUG_UART_CLOCK=0
> -# CONFIG_X86_SERIAL is not set
>  CONFIG_EFI=y
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 0f0e92d..93faa4c 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -198,6 +198,7 @@ config ROCKCHIP_SERIAL
>  config NS16550_SERIAL
>         bool "NS16550 UART or compatible"
>         depends on DM_SERIAL
> +       default y if X86
>         help
>           Support NS16550 UART or compatible with driver model. This can be
>           enabled in the device tree with the correct input clock frequency.
> @@ -233,14 +234,4 @@ config UNIPHIER_SERIAL
>           If you have a UniPhier based board and want to use the on-chip
>           serial ports, say Y to this option. If unsure, say N.
>
> -config X86_SERIAL
> -       bool "Support for 16550 serial port on x86 machines"
> -       depends on X86
> -       default y
> -       help
> -         Most x86 machines have a ns16550 UART or compatible. This can be
> -         enabled in the device tree with the correct input clock frequency
> -         provided (default 1843200). Enable this to obtain serial console
> -         output.
> -
>  endmenu
> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
> index 1818c7c..9036a8e 100644
> --- a/drivers/serial/Makefile
> +++ b/drivers/serial/Makefile
> @@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
>  obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
>  obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
>  obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
> -obj-$(CONFIG_X86_SERIAL) += serial_x86.o
>  obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
>
>  ifndef CONFIG_SPL_BUILD
> diff --git a/drivers/serial/serial_x86.c b/drivers/serial/serial_x86.c
> deleted file mode 100644
> index 4bf6062..0000000
> --- a/drivers/serial/serial_x86.c
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/*
> - * Copyright (c) 2014 Google, Inc
> - *
> - * SPDX-License-Identifier:    GPL-2.0+
> - */
> -
> -#include <common.h>
> -#include <dm.h>
> -#include <fdtdec.h>
> -#include <ns16550.h>
> -#include <serial.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
> -
> -static const struct udevice_id x86_serial_ids[] = {
> -       { .compatible = "x86-uart" },
> -       { }
> -};
> -
> -static int x86_serial_ofdata_to_platdata(struct udevice *dev)
> -{
> -       struct ns16550_platdata *plat = dev_get_platdata(dev);
> -       int ret;
> -
> -       ret = ns16550_serial_ofdata_to_platdata(dev);
> -       if (ret)
> -               return ret;
> -
> -       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
> -                                    "clock-frequency", 1843200);
> -
> -       return 0;
> -}
> -
> -U_BOOT_DRIVER(serial_ns16550) = {
> -       .name   = "serial_x86",
> -       .id     = UCLASS_SERIAL,
> -       .of_match = x86_serial_ids,
> -       .ofdata_to_platdata = x86_serial_ofdata_to_platdata,
> -       .platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> -       .priv_auto_alloc_size = sizeof(struct NS16550),
> -       .probe = ns16550_serial_probe,
> -       .ops    = &ns16550_serial_ops,
> -};
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip
  2015-11-17  0:35   ` Thomas Chou
@ 2015-11-18 14:05     ` Ariel D'Alessandro
  0 siblings, 0 replies; 112+ messages in thread
From: Ariel D'Alessandro @ 2015-11-18 14:05 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

El 16/11/15 a las 21:35, Thomas Chou escribi?:
> Hi Ariel,
> 
> On 2015?11?16? 22:36, Thomas Chou wrote:
>> Unify serial_rockchip, and use the generic binding.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> ---
>>   arch/arm/mach-rockchip/Kconfig   |  8 +++++++-
>>   drivers/serial/Kconfig           |  9 ---------
>>   drivers/serial/Makefile          |  1 -
>>   drivers/serial/serial_rockchip.c | 43
>> ----------------------------------------
>>   4 files changed, 7 insertions(+), 54 deletions(-)
>>   delete mode 100644 drivers/serial/serial_rockchip.c
>>
> 
> Please check this series. Though I run buildman, I don't have a rockchip
> board to test. Thanks.

Successfully tested on a Firefly RK3288 board.

Tested-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>

-- 
Ariel D'Alessandro, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
@ 2015-11-18 14:09     ` Bin Meng
  2015-11-18 14:36       ` Thomas Chou
  0 siblings, 1 reply; 112+ messages in thread
From: Bin Meng @ 2015-11-18 14:09 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
> is completed.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  configs/efi-x86_defconfig            |  1 -
>  drivers/serial/Kconfig               | 12 ------------
>  drivers/serial/ns16550.c             |  4 ----
>  include/configs/am43xx_evm.h         |  2 --
>  include/configs/cm_t43.h             |  1 -
>  include/configs/mv-common.h          |  4 ----
>  include/configs/omap3_pandora.h      |  1 -
>  include/configs/sniper.h             |  4 +---
>  include/configs/sunxi-common.h       |  4 +---
>  include/configs/tb100.h              |  1 -
>  include/configs/tegra-common.h       |  1 -
>  include/configs/ti_am335x_common.h   |  4 ----
>  include/configs/ti_armv7_keystone2.h |  2 --
>  include/configs/ti_omap3_common.h    |  4 ----
>  include/configs/ti_omap4_common.h    |  2 --
>  include/configs/ti_omap5_common.h    |  2 --
>  16 files changed, 2 insertions(+), 47 deletions(-)
>
> diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
> index b1573df..904b564 100644
> --- a/configs/efi-x86_defconfig
> +++ b/configs/efi-x86_defconfig
> @@ -3,7 +3,6 @@ CONFIG_VENDOR_EFI=y
>  CONFIG_DEFAULT_DEVICE_TREE="efi"
>  CONFIG_TARGET_EFI=y
>  CONFIG_TSC_CALIBRATION_BYPASS=y
> -# CONFIG_NS16550_SERIAL is not set

This line should not be removed.

>  # CONFIG_CMD_BOOTM is not set
>  # CONFIG_CMD_NET is not set
>  CONFIG_OF_CONTROL=y
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 1239416..fe407b7 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -186,18 +186,6 @@ config ALTERA_UART
>           Select this to enable an UART for Altera devices. Please find
>           details on the "Embedded Peripherals IP User Guide" of Altera.
>
> -config NS16550_SERIAL
> -       bool "NS16550 UART or compatible"
> -       depends on DM_SERIAL
> -       default y if X86 || PPC || ARCH_ROCKCHIP
> -       help
> -         Support NS16550 UART or compatible with driver model. This can be
> -         enabled in the device tree with the correct input clock frequency.
> -         If the input clock frequency is not defined in the device tree,
> -         the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
> -         file will be used. It can be a constant or a function to get clock,
> -         eg, get_serial_clock().
> -
>  config SANDBOX_SERIAL
>         bool "Sandbox UART support"
>         depends on SANDBOX
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index f0a9aac..d5bcbc3 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -404,7 +404,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>         plat->base = addr;
>         plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>                                          "reg-shift", 1);
> -#ifdef CONFIG_NS16550_SERIAL
>         plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>                                      "clock-frequency",
>                                      CONFIG_SYS_NS16550_CLK);
> @@ -412,7 +411,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>                 debug("ns16550 clock not defined\n");
>                 return -EINVAL;
>         }
> -#endif /* CONFIG_NS16550_SERIAL */
>
>         return 0;
>  }
> @@ -425,7 +423,6 @@ const struct dm_serial_ops ns16550_serial_ops = {
>         .setbrg = ns16550_serial_setbrg,
>  };
>
> -#ifdef CONFIG_NS16550_SERIAL
>  #if CONFIG_IS_ENABLED(OF_CONTROL)
>  static const struct udevice_id ns16550_serial_ids[] = {
>         { .compatible = "ns16550" },
> @@ -454,5 +451,4 @@ U_BOOT_DRIVER(ns16550_serial) = {
>         .probe = ns16550_serial_probe,
>         .ops    = &ns16550_serial_ops,
>  };
> -#endif /* CONFIG_NS16550_SERIAL */
>  #endif /* CONFIG_DM_SERIAL */
> diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
> index a962bf5..75b8f53 100644
> --- a/include/configs/am43xx_evm.h
> +++ b/include/configs/am43xx_evm.h
> @@ -27,8 +27,6 @@
>  #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    (-4)
> -#else
> -#define CONFIG_NS16550_SERIAL
>  #endif
>
>  /* I2C Configuration */
> diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
> index e1019ff..f8c39bf 100644
> --- a/include/configs/cm_t43.h
> +++ b/include/configs/cm_t43.h
> @@ -18,7 +18,6 @@
>  #include <asm/arch/omap.h>
>
>  /* Serial support */
> -#define CONFIG_NS16550_SERIAL
>  #define CONFIG_DM_SERIAL
>  #define CONFIG_SYS_NS16550
>  #define CONFIG_SYS_NS16550_SERIAL
> diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
> index 0e33a89..575e53e 100644
> --- a/include/configs/mv-common.h
> +++ b/include/configs/mv-common.h
> @@ -39,10 +39,6 @@
>  /*
>   * NS16550 Configuration
>   */
> -#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
> -#define CONFIG_NS16550_SERIAL
> -#endif
> -
>  #define CONFIG_SYS_NS16550
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_CLK         CONFIG_SYS_TCLK
> diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
> index c15c699..803f4b8 100644
> --- a/include/configs/omap3_pandora.h
> +++ b/include/configs/omap3_pandora.h
> @@ -49,7 +49,6 @@
>  /*
>   * NS16550 Configuration
>   */
> -#undef CONFIG_NS16550_SERIAL
>  #undef CONFIG_SYS_NS16550_CLK
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    (-4)
> diff --git a/include/configs/sniper.h b/include/configs/sniper.h
> index 34f7f6e..559311f 100644
> --- a/include/configs/sniper.h
> +++ b/include/configs/sniper.h
> @@ -196,9 +196,7 @@
>   */
>
>
> -#ifndef CONFIG_SPL_BUILD
> -#define CONFIG_NS16550_SERIAL
> -#else
> +#ifdef CONFIG_SPL_BUILD
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    (-4)
>  #endif
> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
> index ab584ac..394fdb2 100644
> --- a/include/configs/sunxi-common.h
> +++ b/include/configs/sunxi-common.h
> @@ -45,9 +45,7 @@
>  #define CONFIG_SYS_NS16550_SERIAL
>  /* ns16550 reg in the low bits of cpu reg */
>  #define CONFIG_SYS_NS16550_CLK         24000000
> -#ifdef CONFIG_DM_SERIAL
> -# define CONFIG_NS16550_SERIAL
> -#else
> +#ifndef CONFIG_DM_SERIAL
>  # define CONFIG_SYS_NS16550_REG_SIZE   -4
>  # define CONFIG_SYS_NS16550_COM1               SUNXI_UART0_BASE
>  # define CONFIG_SYS_NS16550_COM2               SUNXI_UART1_BASE
> diff --git a/include/configs/tb100.h b/include/configs/tb100.h
> index 44287d8..0b9ad1c 100644
> --- a/include/configs/tb100.h
> +++ b/include/configs/tb100.h
> @@ -35,7 +35,6 @@
>  /*
>   * UART configuration
>   */
> -#define CONFIG_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_CLK         166666666
> diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
> index ceda304..cd84fd8 100644
> --- a/include/configs/tegra-common.h
> +++ b/include/configs/tegra-common.h
> @@ -39,7 +39,6 @@
>  /*
>   * NS16550 Configuration
>   */
> -#define CONFIG_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550
>  #define CONFIG_SYS_NS16550_CLK         V_NS16550_CLK
>
> diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
> index 32348ab..3beb9db 100644
> --- a/include/configs/ti_am335x_common.h
> +++ b/include/configs/ti_am335x_common.h
> @@ -19,10 +19,6 @@
>  #define CONFIG_SYS_TIMERBASE           0x48040000      /* Use Timer2 */
>  #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
>
> -#ifndef CONFIG_SPL_BUILD
> -# define CONFIG_NS16550_SERIAL
> -#endif
> -
>  #include <asm/arch/omap.h>
>
>  /* NS16550 Configuration */
> diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
> index 5ab9b6e..0d36e87 100644
> --- a/include/configs/ti_armv7_keystone2.h
> +++ b/include/configs/ti_armv7_keystone2.h
> @@ -63,8 +63,6 @@
>  #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    -4
> -#else
> -#define CONFIG_NS16550_SERIAL
>  #endif
>  #define CONFIG_SYS_NS16550_COM1                KS2_UART0_BASE
>  #define CONFIG_SYS_NS16550_COM2                KS2_UART1_BASE
> diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
> index e749d5d..4d53b4c 100644
> --- a/include/configs/ti_omap3_common.h
> +++ b/include/configs/ti_omap3_common.h
> @@ -18,10 +18,6 @@
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/omap.h>
>
> -#ifndef CONFIG_SPL_BUILD
> -# define CONFIG_NS16550_SERIAL
> -#endif
> -
>  /* Common ARM Erratas */
>  #define CONFIG_ARM_ERRATA_454179
>  #define CONFIG_ARM_ERRATA_430973
> diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
> index 0a03cd5..4b7b493 100644
> --- a/include/configs/ti_omap4_common.h
> +++ b/include/configs/ti_omap4_common.h
> @@ -63,8 +63,6 @@
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    (-4)
>  #define CONFIG_SYS_NS16550_COM3                UART3_BASE
> -#else
> -#define CONFIG_NS16550_SERIAL
>  #endif
>  #define CONFIG_CONS_INDEX              3
>
> diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
> index be1f4c1..94d6ef0 100644
> --- a/include/configs/ti_omap5_common.h
> +++ b/include/configs/ti_omap5_common.h
> @@ -55,8 +55,6 @@
>  #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
>  #define CONFIG_SYS_NS16550_SERIAL
>  #define CONFIG_SYS_NS16550_REG_SIZE    (-4)
> -#else
> -#define CONFIG_NS16550_SERIAL
>  #endif
>
>  /*
> --

Other than that,

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Regards,
Bin

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-18 14:09     ` Bin Meng
@ 2015-11-18 14:36       ` Thomas Chou
  2015-11-19  7:17         ` Bin Meng
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-18 14:36 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On 2015?11?18? 22:09, Bin Meng wrote:
> Hi Thomas,
>
> On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
>> is completed.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> ---
>>   configs/efi-x86_defconfig            |  1 -
>>   drivers/serial/Kconfig               | 12 ------------
>>   drivers/serial/ns16550.c             |  4 ----
>>   include/configs/am43xx_evm.h         |  2 --
>>   include/configs/cm_t43.h             |  1 -
>>   include/configs/mv-common.h          |  4 ----
>>   include/configs/omap3_pandora.h      |  1 -
>>   include/configs/sniper.h             |  4 +---
>>   include/configs/sunxi-common.h       |  4 +---
>>   include/configs/tb100.h              |  1 -
>>   include/configs/tegra-common.h       |  1 -
>>   include/configs/ti_am335x_common.h   |  4 ----
>>   include/configs/ti_armv7_keystone2.h |  2 --
>>   include/configs/ti_omap3_common.h    |  4 ----
>>   include/configs/ti_omap4_common.h    |  2 --
>>   include/configs/ti_omap5_common.h    |  2 --
>>   16 files changed, 2 insertions(+), 47 deletions(-)
>>
>> diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
>> index b1573df..904b564 100644
>> --- a/configs/efi-x86_defconfig
>> +++ b/configs/efi-x86_defconfig
>> @@ -3,7 +3,6 @@ CONFIG_VENDOR_EFI=y
>>   CONFIG_DEFAULT_DEVICE_TREE="efi"
>>   CONFIG_TARGET_EFI=y
>>   CONFIG_TSC_CALIBRATION_BYPASS=y
>> -# CONFIG_NS16550_SERIAL is not set
>
> This line should not be removed.

The CONFIG_NS16550_SERIAL is used only during the transition and it is 
removed now. It does not need this for efi serial to work.

Thank you again for the review.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-18 13:51     ` Bin Meng
@ 2015-11-19  6:38     ` Heiko Schocher
  1 sibling, 0 replies; 112+ messages in thread
From: Heiko Schocher @ 2015-11-19  6:38 UTC (permalink / raw)
  To: u-boot

Hello Thomas,

Am 18.11.2015 um 14:44 schrieb Thomas Chou:
> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>   drivers/serial/Kconfig | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index eba96f4..2a50771 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -53,6 +53,7 @@ config DEBUG_UART
>   choice
>   	prompt "Select which UART will provide the debug UART"
>   	depends on DEBUG_UART
> +	default DEBUG_UART_NS16550
>
>   config DEBUG_UART_ALTERA_JTAGUART
>   	bool "Altera JTAG UART"
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers
  2015-11-18 13:44   ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-18 13:55     ` Bin Meng
@ 2015-11-19  6:39     ` Heiko Schocher
  1 sibling, 0 replies; 112+ messages in thread
From: Heiko Schocher @ 2015-11-19  6:39 UTC (permalink / raw)
  To: u-boot

Hello Thomas,

Am 18.11.2015 um 14:44 schrieb Thomas Chou:
> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
>
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>   drivers/serial/Kconfig   | 11 +++++++++++
>   drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>   2 files changed, 55 insertions(+)

Reviewed-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 2a50771..0f0e92d 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -195,6 +195,17 @@ config ROCKCHIP_SERIAL
>   	  your board config header. The clock input is automatically set to
>   	  use the oscillator (24MHz).
>
> +config NS16550_SERIAL
> +	bool "NS16550 UART or compatible"
> +	depends on DM_SERIAL
> +	help
> +	  Support NS16550 UART or compatible with driver model. This can be
> +	  enabled in the device tree with the correct input clock frequency.
> +	  If the input clock frequency is not defined in the device tree,
> +	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
> +	  file will be used. It can be a constant or a function to get clock,
> +	  eg, get_serial_clock().
> +
>   config SANDBOX_SERIAL
>   	bool "Sandbox UART support"
>   	depends on SANDBOX
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 8d028de..f0a9aac 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
>
>   #ifdef CONFIG_DM_SERIAL
>
> +#ifndef CONFIG_SYS_NS16550_CLK
> +#define CONFIG_SYS_NS16550_CLK  0
> +#endif
> +
>   static inline void serial_out_shift(void *addr, int shift, int value)
>   {
>   #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
> @@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
>   	plat->base = addr;
>   	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
>   					 "reg-shift", 1);
> +#ifdef CONFIG_NS16550_SERIAL
> +	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
> +				     "clock-frequency",
> +				     CONFIG_SYS_NS16550_CLK);
> +	if (!plat->clock) {
> +		debug("ns16550 clock not defined\n");
> +		return -EINVAL;
> +	}
> +#endif /* CONFIG_NS16550_SERIAL */
>
>   	return 0;
>   }
> @@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
>   	.getc = ns16550_serial_getc,
>   	.setbrg = ns16550_serial_setbrg,
>   };
> +
> +#ifdef CONFIG_NS16550_SERIAL
> +#if CONFIG_IS_ENABLED(OF_CONTROL)
> +static const struct udevice_id ns16550_serial_ids[] = {
> +	{ .compatible = "ns16550" },
> +	{ .compatible = "ns16550a" },
> +	{ .compatible = "nvidia,tegra20-uart" },
> +	{ .compatible = "snps,dw-apb-uart" },
> +	{ .compatible = "ti,omap2-uart" },
> +	{ .compatible = "ti,omap3-uart" },
> +	{ .compatible = "ti,omap4-uart" },
> +	{ .compatible = "ti,am3352-uart" },
> +	{ .compatible = "ti,am4372-uart" },
> +	{ .compatible = "ti,dra742-uart" },
> +	{}
> +};
> +#endif
> +
> +U_BOOT_DRIVER(ns16550_serial) = {
> +	.name	= "ns16550_serial",
> +	.id	= UCLASS_SERIAL,
> +#if CONFIG_IS_ENABLED(OF_CONTROL)
> +	.of_match = ns16550_serial_ids,
> +	.ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
> +	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> +#endif
> +	.priv_auto_alloc_size = sizeof(struct NS16550),
> +	.probe = ns16550_serial_probe,
> +	.ops	= &ns16550_serial_ops,
> +};
> +#endif /* CONFIG_NS16550_SERIAL */
>   #endif /* CONFIG_DM_SERIAL */
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-18 14:36       ` Thomas Chou
@ 2015-11-19  7:17         ` Bin Meng
  0 siblings, 0 replies; 112+ messages in thread
From: Bin Meng @ 2015-11-19  7:17 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On Wed, Nov 18, 2015 at 10:36 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Hi Bin,
>
>
> On 2015?11?18? 22:09, Bin Meng wrote:
>>
>> Hi Thomas,
>>
>> On Wed, Nov 18, 2015 at 9:44 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
>>>
>>> Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
>>> is completed.
>>>
>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>> ---
>>>   configs/efi-x86_defconfig            |  1 -
>>>   drivers/serial/Kconfig               | 12 ------------
>>>   drivers/serial/ns16550.c             |  4 ----
>>>   include/configs/am43xx_evm.h         |  2 --
>>>   include/configs/cm_t43.h             |  1 -
>>>   include/configs/mv-common.h          |  4 ----
>>>   include/configs/omap3_pandora.h      |  1 -
>>>   include/configs/sniper.h             |  4 +---
>>>   include/configs/sunxi-common.h       |  4 +---
>>>   include/configs/tb100.h              |  1 -
>>>   include/configs/tegra-common.h       |  1 -
>>>   include/configs/ti_am335x_common.h   |  4 ----
>>>   include/configs/ti_armv7_keystone2.h |  2 --
>>>   include/configs/ti_omap3_common.h    |  4 ----
>>>   include/configs/ti_omap4_common.h    |  2 --
>>>   include/configs/ti_omap5_common.h    |  2 --
>>>   16 files changed, 2 insertions(+), 47 deletions(-)
>>>
>>> diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
>>> index b1573df..904b564 100644
>>> --- a/configs/efi-x86_defconfig
>>> +++ b/configs/efi-x86_defconfig
>>> @@ -3,7 +3,6 @@ CONFIG_VENDOR_EFI=y
>>>   CONFIG_DEFAULT_DEVICE_TREE="efi"
>>>   CONFIG_TARGET_EFI=y
>>>   CONFIG_TSC_CALIBRATION_BYPASS=y
>>> -# CONFIG_NS16550_SERIAL is not set
>>
>>
>> This line should not be removed.
>
>
> The CONFIG_NS16550_SERIAL is used only during the transition and it is
> removed now. It does not need this for efi serial to work.
>

Yes, I just checked patch#12 "ns16550: move CONFIG_SYS_NS16550 to
Kconfig" (a huge patchset) and found CONFIG_SYS_NS16550 is not on by
default for x86, so this line in efi-x86 can be removed. Previously I
was thinking the option is still on and if that's the case, this line
in efi-x86 should not be removed otherwise efi-x86 won't work.

> Thank you again for the review.
>
> Best regards,
> Thomas

Regards,
Bin

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers
  2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
                   ` (12 preceding siblings ...)
  2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-19 13:48 ` Thomas Chou
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
                     ` (12 more replies)
  13 siblings, 13 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

v2
  use default in driver Kconfig as suggested by Bin Meng.
  remove extra #ifdef CONFIG_NS16550_SERIAL.
  zap CONFIG_NS16550_SERIAL.
  move CONFIG_SYS_NS16550 to Kconfig.
v3
  rebase to u-boot master.
  change log message of "ns16550: change map_sysmem to map_physmem".

Thomas Chou (13):
  debug_uart: restore ns16550 as default
  ns16550: change map_sysmem to map_physmem
  ns16550: add generic binding to unify the drivers
  ns16550: unify serial_x86
  ns16550: unify serial_ppc
  ns16550: unify serial_rockchip
  ns16550: unify serial_keystone
  ns16550: unify serial_dw
  ns16550: unify serial_tegra
  ns16550: unify serial_omap
  ns16550: zap CONFIG_NS16550_SERIAL
  ns16550: move CONFIG_SYS_NS16550 to Kconfig
  nios2: 10m50: change to ns16550 uart

 arch/arm/dts/rk3288.dtsi                           |  5 ++
 arch/arm/include/asm/arch-lpc32xx/config.h         |  1 -
 arch/arm/mach-rockchip/Kconfig                     |  3 --
 arch/arm/mach-tegra/board.c                        | 14 ++++++
 arch/nios2/dts/10m50_devboard.dts                  |  2 +-
 arch/powerpc/include/asm/config.h                  |  4 ++
 arch/x86/dts/serial.dtsi                           |  2 +-
 board/isee/igep00x0/igep00x0.c                     |  2 +-
 board/lge/sniper/sniper.c                          |  2 +-
 board/logicpd/omap3som/omap3logic.c                |  2 +-
 board/logicpd/zoom1/zoom1.c                        |  2 +-
 board/overo/overo.c                                |  2 +-
 board/quipos/cairo/cairo.c                         |  2 +-
 board/ti/beagle/beagle.c                           |  2 +-
 board/timll/devkit8000/devkit8000.c                |  2 +-
 configs/10m50_defconfig                            |  2 +-
 configs/A10-OLinuXino-Lime_defconfig               |  1 +
 configs/A10s-OLinuXino-M_defconfig                 |  1 +
 configs/A13-OLinuXinoM_defconfig                   |  1 +
 configs/A13-OLinuXino_defconfig                    |  4 +-
 configs/A20-OLinuXino-Lime2_defconfig              |  1 +
 configs/A20-OLinuXino-Lime_defconfig               |  1 +
 configs/A20-OLinuXino_MICRO_defconfig              |  1 +
 configs/A20-Olimex-SOM-EVB_defconfig               |  1 +
 configs/Ainol_AW1_defconfig                        |  1 +
 configs/Ampe_A76_defconfig                         |  1 +
 configs/Auxtek-T003_defconfig                      |  1 +
 configs/Auxtek-T004_defconfig                      |  1 +
 configs/B4420QDS_NAND_defconfig                    |  1 +
 configs/B4420QDS_SPIFLASH_defconfig                |  1 +
 configs/B4420QDS_defconfig                         |  1 +
 configs/B4860QDS_NAND_defconfig                    |  1 +
 configs/B4860QDS_SECURE_BOOT_defconfig             |  1 +
 configs/B4860QDS_SPIFLASH_defconfig                |  1 +
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/B4860QDS_defconfig                         |  1 +
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig        |  1 +
 configs/BSC9131RDB_NAND_defconfig                  |  1 +
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig    |  1 +
 configs/BSC9131RDB_SPIFLASH_defconfig              |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig        |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig        |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig  |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig         |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig  |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig         |  1 +
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig      |  1 +
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig      |  1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig    |  1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig    |  1 +
 configs/Bananapi_defconfig                         |  1 +
 configs/Bananapro_defconfig                        |  1 +
 configs/C29XPCIE_NAND_defconfig                    |  1 +
 configs/C29XPCIE_NOR_SECBOOT_defconfig             |  1 +
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig        |  1 +
 configs/C29XPCIE_SPIFLASH_defconfig                |  1 +
 configs/C29XPCIE_defconfig                         |  1 +
 configs/CHIP_defconfig                             |  1 +
 configs/CPCI2DP_defconfig                          |  1 +
 configs/CPCI4052_defconfig                         |  1 +
 configs/CSQ_CS908_defconfig                        |  1 +
 configs/Chuwi_V7_CW0825_defconfig                  |  1 +
 configs/Colombus_defconfig                         |  1 +
 configs/Cubieboard2_defconfig                      |  1 +
 configs/Cubieboard_defconfig                       |  1 +
 configs/Cubietruck_defconfig                       |  8 ++--
 configs/Cyrus_P5020_defconfig                      |  1 +
 configs/Cyrus_P5040_defconfig                      |  1 +
 configs/Hummingbird_A31_defconfig                  |  1 +
 configs/Hyundai_A7HD_defconfig                     |  1 +
 configs/Linksprite_pcDuino3_Nano_defconfig         |  1 +
 configs/Linksprite_pcDuino3_defconfig              |  1 +
 configs/Linksprite_pcDuino_defconfig               |  1 +
 configs/MIP405T_defconfig                          |  1 +
 configs/MIP405_defconfig                           |  1 +
 configs/MK808C_defconfig                           |  1 +
 configs/MPC8308RDB_defconfig                       |  1 +
 configs/MPC8313ERDB_33_defconfig                   |  1 +
 configs/MPC8313ERDB_66_defconfig                   |  1 +
 configs/MPC8313ERDB_NAND_33_defconfig              |  1 +
 configs/MPC8313ERDB_NAND_66_defconfig              |  1 +
 configs/MPC8315ERDB_defconfig                      |  1 +
 configs/MPC8323ERDB_defconfig                      |  1 +
 configs/MPC832XEMDS_ATM_defconfig                  |  1 +
 configs/MPC832XEMDS_HOST_33_defconfig              |  1 +
 configs/MPC832XEMDS_HOST_66_defconfig              |  1 +
 configs/MPC832XEMDS_SLAVE_defconfig                |  1 +
 configs/MPC832XEMDS_defconfig                      |  1 +
 configs/MPC8349EMDS_defconfig                      |  1 +
 configs/MPC8349ITXGP_defconfig                     |  1 +
 configs/MPC8349ITX_LOWBOOT_defconfig               |  1 +
 configs/MPC8349ITX_defconfig                       |  1 +
 configs/MPC837XEMDS_HOST_defconfig                 |  1 +
 configs/MPC837XEMDS_defconfig                      |  1 +
 configs/MPC837XERDB_defconfig                      |  1 +
 configs/MPC8536DS_36BIT_defconfig                  |  1 +
 configs/MPC8536DS_SDCARD_defconfig                 |  1 +
 configs/MPC8536DS_SPIFLASH_defconfig               |  1 +
 configs/MPC8536DS_defconfig                        |  1 +
 configs/MPC8540ADS_defconfig                       |  1 +
 configs/MPC8541CDS_defconfig                       |  1 +
 configs/MPC8541CDS_legacy_defconfig                |  1 +
 configs/MPC8544DS_defconfig                        |  1 +
 configs/MPC8548CDS_36BIT_defconfig                 |  1 +
 configs/MPC8548CDS_defconfig                       |  1 +
 configs/MPC8548CDS_legacy_defconfig                |  1 +
 configs/MPC8555CDS_defconfig                       |  1 +
 configs/MPC8555CDS_legacy_defconfig                |  1 +
 configs/MPC8568MDS_defconfig                       |  1 +
 configs/MPC8569MDS_ATM_defconfig                   |  1 +
 configs/MPC8569MDS_defconfig                       |  1 +
 configs/MPC8572DS_36BIT_defconfig                  |  1 +
 configs/MPC8572DS_defconfig                        |  1 +
 configs/MPC8610HPCD_defconfig                      |  1 +
 configs/MPC8641HPCN_36BIT_defconfig                |  1 +
 configs/MPC8641HPCN_defconfig                      |  1 +
 configs/MSI_Primo73_defconfig                      |  1 +
 configs/MSI_Primo81_defconfig                      |  1 +
 configs/Marsboard_A10_defconfig                    |  1 +
 configs/Mele_A1000G_quad_defconfig                 |  1 +
 configs/Mele_A1000_defconfig                       |  1 +
 configs/Mele_I7_defconfig                          |  1 +
 configs/Mele_M3_defconfig                          |  1 +
 configs/Mele_M5_defconfig                          |  1 +
 configs/Mele_M9_defconfig                          |  1 +
 configs/Merrii_A80_Optimus_defconfig               |  1 +
 configs/Mini-X_defconfig                           |  1 +
 configs/Orangepi_defconfig                         |  1 +
 configs/Orangepi_mini_defconfig                    |  1 +
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig           |  1 +
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig    |  1 +
 configs/P1010RDB-PA_36BIT_NOR_defconfig            |  1 +
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig         |  1 +
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PA_NAND_defconfig                 |  1 +
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig          |  1 +
 configs/P1010RDB-PA_NOR_defconfig                  |  1 +
 configs/P1010RDB-PA_SDCARD_defconfig               |  1 +
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig     |  1 +
 configs/P1010RDB-PA_SPIFLASH_defconfig             |  1 +
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig           |  1 +
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig    |  1 +
 configs/P1010RDB-PB_36BIT_NOR_defconfig            |  1 +
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig         |  1 +
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PB_NAND_defconfig                 |  1 +
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig          |  1 +
 configs/P1010RDB-PB_NOR_defconfig                  |  1 +
 configs/P1010RDB-PB_SDCARD_defconfig               |  1 +
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig     |  1 +
 configs/P1010RDB-PB_SPIFLASH_defconfig             |  1 +
 configs/P1020MBG-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020MBG-PC_36BIT_defconfig                |  1 +
 configs/P1020MBG-PC_SDCARD_defconfig               |  1 +
 configs/P1020MBG-PC_defconfig                      |  1 +
 configs/P1020RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1020RDB-PC_36BIT_defconfig                |  1 +
 configs/P1020RDB-PC_NAND_defconfig                 |  1 +
 configs/P1020RDB-PC_SDCARD_defconfig               |  1 +
 configs/P1020RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P1020RDB-PC_defconfig                      |  1 +
 configs/P1020RDB-PD_NAND_defconfig                 |  1 +
 configs/P1020RDB-PD_SDCARD_defconfig               |  1 +
 configs/P1020RDB-PD_SPIFLASH_defconfig             |  1 +
 configs/P1020RDB-PD_defconfig                      |  1 +
 configs/P1020UTM-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1020UTM-PC_36BIT_defconfig                |  1 +
 configs/P1020UTM-PC_SDCARD_defconfig               |  1 +
 configs/P1020UTM-PC_defconfig                      |  1 +
 configs/P1021RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P1021RDB-PC_36BIT_defconfig                |  1 +
 configs/P1021RDB-PC_NAND_defconfig                 |  1 +
 configs/P1021RDB-PC_SDCARD_defconfig               |  1 +
 configs/P1021RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P1021RDB-PC_defconfig                      |  1 +
 configs/P1022DS_36BIT_NAND_defconfig               |  1 +
 configs/P1022DS_36BIT_SDCARD_defconfig             |  1 +
 configs/P1022DS_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1022DS_36BIT_defconfig                    |  1 +
 configs/P1022DS_NAND_defconfig                     |  1 +
 configs/P1022DS_SDCARD_defconfig                   |  1 +
 configs/P1022DS_SPIFLASH_defconfig                 |  1 +
 configs/P1022DS_defconfig                          |  1 +
 configs/P1023RDB_defconfig                         |  1 +
 configs/P1024RDB_36BIT_defconfig                   |  1 +
 configs/P1024RDB_NAND_defconfig                    |  1 +
 configs/P1024RDB_SDCARD_defconfig                  |  1 +
 configs/P1024RDB_SPIFLASH_defconfig                |  1 +
 configs/P1024RDB_defconfig                         |  1 +
 configs/P1025RDB_36BIT_defconfig                   |  1 +
 configs/P1025RDB_NAND_defconfig                    |  1 +
 configs/P1025RDB_SDCARD_defconfig                  |  1 +
 configs/P1025RDB_SPIFLASH_defconfig                |  1 +
 configs/P1025RDB_defconfig                         |  1 +
 configs/P2020RDB-PC_36BIT_NAND_defconfig           |  1 +
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig         |  1 +
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig       |  1 +
 configs/P2020RDB-PC_36BIT_defconfig                |  1 +
 configs/P2020RDB-PC_NAND_defconfig                 |  1 +
 configs/P2020RDB-PC_SDCARD_defconfig               |  1 +
 configs/P2020RDB-PC_SPIFLASH_defconfig             |  1 +
 configs/P2020RDB-PC_defconfig                      |  1 +
 configs/P2041RDB_NAND_defconfig                    |  1 +
 configs/P2041RDB_SDCARD_defconfig                  |  1 +
 configs/P2041RDB_SECURE_BOOT_defconfig             |  1 +
 configs/P2041RDB_SPIFLASH_defconfig                |  1 +
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/P2041RDB_defconfig                         |  1 +
 configs/P3041DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P3041DS_NAND_defconfig                     |  1 +
 configs/P3041DS_SDCARD_defconfig                   |  1 +
 configs/P3041DS_SECURE_BOOT_defconfig              |  1 +
 configs/P3041DS_SPIFLASH_defconfig                 |  1 +
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P3041DS_defconfig                          |  1 +
 configs/P4080DS_SDCARD_defconfig                   |  1 +
 configs/P4080DS_SECURE_BOOT_defconfig              |  1 +
 configs/P4080DS_SPIFLASH_defconfig                 |  1 +
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P4080DS_defconfig                          |  1 +
 configs/P5020DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P5020DS_NAND_defconfig                     |  1 +
 configs/P5020DS_SDCARD_defconfig                   |  1 +
 configs/P5020DS_SECURE_BOOT_defconfig              |  1 +
 configs/P5020DS_SPIFLASH_defconfig                 |  1 +
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig           |  1 +
 configs/P5020DS_defconfig                          |  1 +
 configs/P5040DS_NAND_SECURE_BOOT_defconfig         |  1 +
 configs/P5040DS_NAND_defconfig                     |  1 +
 configs/P5040DS_SDCARD_defconfig                   |  1 +
 configs/P5040DS_SECURE_BOOT_defconfig              |  1 +
 configs/P5040DS_SPIFLASH_defconfig                 |  1 +
 configs/P5040DS_defconfig                          |  1 +
 configs/PIP405_defconfig                           |  1 +
 configs/PLU405_defconfig                           |  1 +
 configs/PMC405DE_defconfig                         |  1 +
 configs/PMC440_defconfig                           |  1 +
 configs/Sinlinx_SinA33_defconfig                   |  1 +
 configs/Sinovoip_BPI_M2_defconfig                  |  1 +
 configs/T1023RDB_NAND_defconfig                    |  1 +
 configs/T1023RDB_SDCARD_defconfig                  |  1 +
 configs/T1023RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1023RDB_SPIFLASH_defconfig                |  1 +
 configs/T1023RDB_defconfig                         |  1 +
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig        |  1 +
 configs/T1024QDS_DDR4_defconfig                    |  1 +
 configs/T1024QDS_NAND_defconfig                    |  1 +
 configs/T1024QDS_SDCARD_defconfig                  |  1 +
 configs/T1024QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T1024QDS_SPIFLASH_defconfig                |  1 +
 configs/T1024QDS_defconfig                         |  1 +
 configs/T1024RDB_NAND_defconfig                    |  1 +
 configs/T1024RDB_SDCARD_defconfig                  |  1 +
 configs/T1024RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1024RDB_SPIFLASH_defconfig                |  1 +
 configs/T1024RDB_defconfig                         |  1 +
 configs/T1040D4RDB_NAND_defconfig                  |  1 +
 configs/T1040D4RDB_SDCARD_defconfig                |  1 +
 configs/T1040D4RDB_SECURE_BOOT_defconfig           |  1 +
 configs/T1040D4RDB_SPIFLASH_defconfig              |  1 +
 configs/T1040D4RDB_defconfig                       |  1 +
 configs/T1040QDS_DDR4_defconfig                    |  1 +
 configs/T1040QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T1040QDS_defconfig                         |  1 +
 configs/T1040RDB_NAND_defconfig                    |  1 +
 configs/T1040RDB_SDCARD_defconfig                  |  1 +
 configs/T1040RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1040RDB_SPIFLASH_defconfig                |  1 +
 configs/T1040RDB_defconfig                         |  1 +
 configs/T1042D4RDB_NAND_defconfig                  |  1 +
 configs/T1042D4RDB_SDCARD_defconfig                |  1 +
 configs/T1042D4RDB_SECURE_BOOT_defconfig           |  1 +
 configs/T1042D4RDB_SPIFLASH_defconfig              |  1 +
 configs/T1042D4RDB_defconfig                       |  1 +
 configs/T1042RDB_PI_NAND_defconfig                 |  1 +
 configs/T1042RDB_PI_SDCARD_defconfig               |  1 +
 configs/T1042RDB_PI_SPIFLASH_defconfig             |  1 +
 configs/T1042RDB_PI_defconfig                      |  1 +
 configs/T1042RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T1042RDB_defconfig                         |  1 +
 configs/T2080QDS_NAND_defconfig                    |  1 +
 configs/T2080QDS_SDCARD_defconfig                  |  1 +
 configs/T2080QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T2080QDS_SPIFLASH_defconfig                |  1 +
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2080QDS_defconfig                         |  1 +
 configs/T2080RDB_NAND_defconfig                    |  1 +
 configs/T2080RDB_SDCARD_defconfig                  |  1 +
 configs/T2080RDB_SECURE_BOOT_defconfig             |  1 +
 configs/T2080RDB_SPIFLASH_defconfig                |  1 +
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2080RDB_defconfig                         |  1 +
 configs/T2081QDS_NAND_defconfig                    |  1 +
 configs/T2081QDS_SDCARD_defconfig                  |  1 +
 configs/T2081QDS_SPIFLASH_defconfig                |  1 +
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T2081QDS_defconfig                         |  1 +
 configs/T4160QDS_NAND_defconfig                    |  1 +
 configs/T4160QDS_SDCARD_defconfig                  |  1 +
 configs/T4160QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T4160QDS_defconfig                         |  1 +
 configs/T4160RDB_defconfig                         |  1 +
 configs/T4240QDS_NAND_defconfig                    |  1 +
 configs/T4240QDS_SDCARD_defconfig                  |  1 +
 configs/T4240QDS_SECURE_BOOT_defconfig             |  1 +
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig          |  1 +
 configs/T4240QDS_defconfig                         |  1 +
 configs/T4240RDB_SDCARD_defconfig                  |  1 +
 configs/T4240RDB_defconfig                         |  1 +
 configs/TQM834x_defconfig                          |  1 +
 configs/TWR-P1025_defconfig                        |  1 +
 configs/UCP1020_SPIFLASH_defconfig                 |  1 +
 configs/UCP1020_defconfig                          |  1 +
 configs/UTOO_P66_defconfig                         |  1 +
 configs/VOM405_defconfig                           |  1 +
 configs/Wexler_TAB7200_defconfig                   |  1 +
 configs/Wits_Pro_A20_DKT_defconfig                 |  1 +
 configs/Wobo_i5_defconfig                          |  1 +
 configs/Yones_Toptech_BD1078_defconfig             |  1 +
 configs/acadia_defconfig                           |  1 +
 configs/adp-ag101p_defconfig                       |  1 +
 configs/am335x_baltos_defconfig                    |  1 +
 configs/am335x_boneblack_defconfig                 |  1 +
 configs/am335x_boneblack_vboot_defconfig           |  1 +
 configs/am335x_evm_defconfig                       |  1 +
 configs/am335x_evm_nor_defconfig                   |  1 +
 configs/am335x_evm_norboot_defconfig               |  1 +
 configs/am335x_evm_spiboot_defconfig               |  1 +
 configs/am335x_evm_usbspl_defconfig                |  1 +
 configs/am335x_gp_evm_defconfig                    |  1 +
 configs/am335x_igep0033_defconfig                  |  1 +
 configs/am335x_sl50_defconfig                      |  1 +
 configs/am3517_crane_defconfig                     |  1 +
 configs/am3517_evm_defconfig                       |  1 +
 configs/am437x_gp_evm_defconfig                    |  1 +
 configs/am437x_sk_evm_defconfig                    |  1 +
 configs/am43xx_evm_defconfig                       |  1 +
 configs/am43xx_evm_ethboot_defconfig               |  1 +
 configs/am43xx_evm_qspiboot_defconfig              |  1 +
 configs/am43xx_evm_usbhost_boot_defconfig          |  1 +
 configs/am57xx_evm_defconfig                       |  1 +
 configs/am57xx_evm_nodt_defconfig                  |  1 +
 configs/apalis_t30_defconfig                       |  1 +
 configs/arches_defconfig                           |  1 +
 configs/aspenite_defconfig                         |  1 +
 configs/axs101_defconfig                           |  1 +
 configs/axs103_defconfig                           |  1 +
 configs/ba10_tv_box_defconfig                      |  1 +
 configs/bamboo_defconfig                           |  1 +
 configs/bayleybay_defconfig                        |  1 +
 configs/bcm11130_defconfig                         |  1 +
 configs/bcm11130_nand_defconfig                    |  1 +
 configs/bcm28155_ap_defconfig                      |  1 +
 configs/bcm28155_w1d_defconfig                     |  1 +
 configs/bcm911360_entphn-ns_defconfig              |  1 +
 configs/bcm911360_entphn_defconfig                 |  1 +
 configs/bcm911360k_defconfig                       |  1 +
 configs/bcm958300k-ns_defconfig                    |  1 +
 configs/bcm958300k_defconfig                       |  1 +
 configs/bcm958305k_defconfig                       |  1 +
 configs/bcm958622hr_defconfig                      |  1 +
 configs/beaver_defconfig                           |  1 +
 configs/bf527-ezkit_defconfig                      |  2 +-
 configs/birdland_bav335a_defconfig                 |  1 +
 configs/birdland_bav335b_defconfig                 |  1 +
 configs/bubinga_defconfig                          |  1 +
 configs/caddy2_defconfig                           |  1 +
 configs/cairo_defconfig                            |  1 +
 configs/calimain_defconfig                         |  1 +
 configs/canyonlands_defconfig                      |  1 +
 configs/cardhu_defconfig                           |  1 +
 configs/chromebook_jerry_defconfig                 |  1 +
 configs/chromebook_link_defconfig                  |  2 +-
 configs/chromebox_panther_defconfig                |  1 +
 configs/cm_t335_defconfig                          |  1 +
 configs/cm_t3517_defconfig                         |  1 +
 configs/cm_t35_defconfig                           |  1 +
 configs/cm_t43_defconfig                           |  1 +
 configs/cm_t54_defconfig                           |  1 +
 configs/colibri_t20_defconfig                      |  1 +
 configs/colibri_t30_defconfig                      |  1 +
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |  1 +
 configs/controlcenterd_36BIT_SDCARD_defconfig      |  1 +
 .../controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |  1 +
 configs/controlcenterd_TRAILBLAZER_defconfig       |  1 +
 configs/coreboot-x86_defconfig                     |  1 +
 configs/crownbay_defconfig                         |  1 +
 configs/d2net_v2_defconfig                         |  1 +
 configs/da850_am18xxevm_defconfig                  |  1 +
 configs/da850evm_defconfig                         |  1 +
 configs/da850evm_direct_nor_defconfig              |  1 +
 configs/dalmore_defconfig                          |  1 +
 configs/db-88f6820-gp_defconfig                    |  1 +
 configs/db-mv784mp-gp_defconfig                    |  1 +
 configs/devconcenter_defconfig                     |  1 +
 configs/devkit3250_defconfig                       |  1 +
 configs/devkit8000_defconfig                       |  1 +
 configs/dlvision-10g_defconfig                     |  1 +
 configs/dlvision_defconfig                         |  1 +
 configs/dns325_defconfig                           |  1 +
 configs/dockstar_defconfig                         |  1 +
 configs/dra72_evm_defconfig                        |  1 +
 configs/dra74_evm_defconfig                        |  1 +
 configs/dra7xx_evm_defconfig                       |  1 +
 configs/dra7xx_evm_qspiboot_defconfig              |  1 +
 configs/dra7xx_evm_uart3_defconfig                 |  1 +
 configs/draco_defconfig                            |  1 +
 configs/dreamplug_defconfig                        |  9 ++--
 configs/duovero_defconfig                          |  1 +
 configs/e2220-1170_defconfig                       |  1 +
 configs/ea20_defconfig                             |  1 +
 configs/eco5pk_defconfig                           |  1 +
 configs/edminiv2_defconfig                         |  1 +
 configs/efi-x86_defconfig                          |  1 -
 configs/firefly-rk3288_defconfig                   |  1 +
 configs/fx12mm_defconfig                           |  1 +
 configs/fx12mm_flash_defconfig                     |  1 +
 configs/ga10h_v1_1_defconfig                       |  1 +
 configs/galileo_defconfig                          |  1 +
 configs/gdppc440etx_defconfig                      |  1 +
 configs/glacier_defconfig                          |  1 +
 configs/glacier_ramboot_defconfig                  |  1 +
 configs/goflexhome_defconfig                       |  1 +
 configs/gplugd_defconfig                           |  1 +
 configs/gt90h_v4_defconfig                         |  1 +
 configs/guruplug_defconfig                         |  7 +--
 configs/haleakala_defconfig                        |  1 +
 configs/harmony_defconfig                          |  1 +
 configs/hrcon_defconfig                            |  1 +
 configs/hrcon_dh_defconfig                         |  4 +-
 configs/i12-tvbox_defconfig                        |  1 +
 configs/iNet_3F_defconfig                          |  1 +
 configs/iNet_3W_defconfig                          |  1 +
 configs/iNet_86VS_defconfig                        |  1 +
 configs/ib62x0_defconfig                           |  7 +--
 configs/icon_defconfig                             |  1 +
 configs/iconnect_defconfig                         |  1 +
 configs/ids8313_defconfig                          |  1 +
 configs/igep0020_defconfig                         |  1 +
 configs/igep0020_nand_defconfig                    |  1 +
 configs/igep0030_defconfig                         |  1 +
 configs/igep0030_nand_defconfig                    |  1 +
 configs/igep0032_defconfig                         |  1 +
 configs/inet1_defconfig                            |  1 +
 configs/inet97fv2_defconfig                        |  1 +
 configs/inet98v_rev2_defconfig                     |  1 +
 configs/inet9f_rev03_defconfig                     |  1 +
 configs/inetspace_v2_defconfig                     |  1 +
 configs/intip_defconfig                            |  1 +
 configs/io64_defconfig                             |  1 +
 configs/io_defconfig                               |  1 +
 configs/iocon_defconfig                            |  1 +
 configs/ipam390_defconfig                          |  1 +
 configs/jesurun_q5_defconfig                       |  1 +
 configs/jetson-tk1_defconfig                       |  1 +
 configs/k2e_evm_defconfig                          |  1 +
 configs/k2g_evm_defconfig                          |  1 +
 configs/k2hk_evm_defconfig                         |  1 +
 configs/k2l_evm_defconfig                          |  1 +
 configs/katmai_defconfig                           |  1 +
 configs/kilauea_defconfig                          |  1 +
 configs/km_kirkwood_128m16_defconfig               |  1 +
 configs/km_kirkwood_defconfig                      |  1 +
 configs/km_kirkwood_pci_defconfig                  |  1 +
 configs/kmcoge4_defconfig                          |  1 +
 configs/kmcoge5ne_defconfig                        |  1 +
 configs/kmcoge5un_defconfig                        |  1 +
 configs/kmeter1_defconfig                          |  1 +
 configs/kmlion1_defconfig                          |  1 +
 configs/kmnusa_defconfig                           |  1 +
 configs/kmopti2_defconfig                          |  1 +
 configs/kmsugp1_defconfig                          |  1 +
 configs/kmsupx5_defconfig                          |  1 +
 configs/kmsuv31_defconfig                          |  1 +
 configs/kmtegr1_defconfig                          |  3 +-
 configs/kmtepr2_defconfig                          |  3 +-
 configs/kmvect1_defconfig                          |  1 +
 configs/kwb_defconfig                              |  1 +
 configs/ls1021aqds_ddr4_nor_defconfig              |  1 +
 configs/ls1021aqds_nand_defconfig                  |  1 +
 configs/ls1021aqds_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021aqds_nor_defconfig                   |  1 +
 configs/ls1021aqds_qspi_defconfig                  |  1 +
 configs/ls1021aqds_sdcard_defconfig                |  1 +
 configs/ls1021atwr_nor_SECURE_BOOT_defconfig       |  1 +
 configs/ls1021atwr_nor_defconfig                   |  1 +
 configs/ls1021atwr_qspi_defconfig                  |  1 +
 configs/ls1021atwr_sdcard_ifc_defconfig            |  1 +
 configs/ls1021atwr_sdcard_qspi_defconfig           |  1 +
 configs/ls1043ardb_defconfig                       |  1 +
 configs/ls1043ardb_nand_defconfig                  |  1 +
 configs/ls1043ardb_sdcard_defconfig                |  1 +
 configs/ls2085a_emu_defconfig                      |  1 +
 configs/ls2085a_simu_defconfig                     |  1 +
 configs/ls2085aqds_defconfig                       |  1 +
 configs/ls2085aqds_nand_defconfig                  |  1 +
 configs/ls2085ardb_defconfig                       |  1 +
 configs/ls2085ardb_nand_defconfig                  |  1 +
 configs/lschlv2_defconfig                          |  1 +
 configs/lsxhl_defconfig                            |  1 +
 configs/luan_defconfig                             |  1 +
 configs/lwmon5_defconfig                           |  1 +
 configs/makalu_defconfig                           |  1 +
 configs/malta_defconfig                            |  1 +
 configs/maltael_defconfig                          |  1 +
 configs/maxbcm_defconfig                           |  1 +
 configs/mcx_defconfig                              |  1 +
 configs/medcom-wide_defconfig                      |  1 +
 configs/mgcoge3un_defconfig                        |  1 +
 configs/minnowmax_defconfig                        |  2 +-
 configs/mixtile_loftq_defconfig                    |  1 +
 configs/mk802_a10s_defconfig                       |  1 +
 configs/mk802_defconfig                            |  1 +
 configs/mk802ii_defconfig                          |  1 +
 configs/mpc8308_p1m_defconfig                      |  1 +
 configs/mt_ventoux_defconfig                       |  1 +
 configs/nas220_defconfig                           |  1 +
 configs/neo_defconfig                              |  1 +
 configs/net2big_v2_defconfig                       |  1 +
 configs/netspace_lite_v2_defconfig                 |  1 +
 configs/netspace_max_v2_defconfig                  |  1 +
 configs/netspace_mini_v2_defconfig                 |  1 +
 configs/netspace_v2_defconfig                      |  1 +
 configs/nokia_rx51_defconfig                       |  1 +
 configs/nyan-big_defconfig                         |  1 +
 configs/omap3_beagle_defconfig                     |  1 +
 configs/omap3_evm_defconfig                        |  1 +
 configs/omap3_evm_quick_mmc_defconfig              |  1 +
 configs/omap3_evm_quick_nand_defconfig             |  1 +
 configs/omap3_ha_defconfig                         |  1 +
 configs/omap3_logic_defconfig                      |  1 +
 configs/omap3_overo_defconfig                      |  1 +
 configs/omap3_pandora_defconfig                    |  1 +
 configs/omap3_zoom1_defconfig                      |  1 +
 configs/omap4_panda_defconfig                      |  1 +
 configs/omap4_sdp4430_defconfig                    |  1 +
 configs/omap5_uevm_defconfig                       |  1 +
 configs/omapl138_lcdk_defconfig                    |  1 +
 configs/openrd_base_defconfig                      |  1 +
 configs/openrd_client_defconfig                    |  1 +
 configs/openrd_ultimate_defconfig                  |  1 +
 configs/openrisc-generic_defconfig                 |  1 +
 configs/p2371-0000_defconfig                       |  1 +
 configs/p2371-2180_defconfig                       |  1 +
 configs/p2571_defconfig                            |  1 +
 configs/paz00_defconfig                            |  1 +
 configs/pcm051_rev1_defconfig                      |  1 +
 configs/pcm051_rev3_defconfig                      |  1 +
 configs/pengwyn_defconfig                          |  1 +
 configs/pepper_defconfig                           |  1 +
 configs/plutux_defconfig                           |  1 +
 configs/pogo_e02_defconfig                         |  1 +
 configs/portl2_defconfig                           |  1 +
 configs/pov_protab2_ips9_defconfig                 |  1 +
 configs/pxm2_defconfig                             |  1 +
 configs/q8_a13_tablet_defconfig                    |  1 +
 configs/q8_a23_tablet_800x480_defconfig            |  1 +
 configs/q8_a33_tablet_1024x600_defconfig           |  1 +
 configs/q8_a33_tablet_800x480_defconfig            |  1 +
 configs/qemu-ppce500_defconfig                     |  1 +
 configs/qemu-x86_defconfig                         |  1 +
 configs/qemu_mips64_defconfig                      |  1 +
 configs/qemu_mips64el_defconfig                    |  1 +
 configs/qemu_mips_defconfig                        |  1 +
 configs/qemu_mipsel_defconfig                      |  1 +
 configs/r7-tv-dongle_defconfig                     |  1 +
 configs/rainier_defconfig                          |  1 +
 configs/rainier_ramboot_defconfig                  |  1 +
 configs/rastaban_defconfig                         |  1 +
 configs/redwood_defconfig                          |  1 +
 configs/rut_defconfig                              |  1 +
 configs/sbc8349_PCI_33_defconfig                   |  1 +
 configs/sbc8349_PCI_66_defconfig                   |  1 +
 configs/sbc8349_defconfig                          |  1 +
 configs/sbc8548_PCI_33_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_33_defconfig                   |  1 +
 configs/sbc8548_PCI_66_PCIE_defconfig              |  1 +
 configs/sbc8548_PCI_66_defconfig                   |  1 +
 configs/sbc8548_defconfig                          |  1 +
 configs/sbc8641d_defconfig                         |  1 +
 configs/seaboard_defconfig                         |  1 +
 configs/sequoia_defconfig                          |  1 +
 configs/sequoia_ramboot_defconfig                  |  1 +
 configs/sheevaplug_defconfig                       |  7 +--
 configs/sniper_defconfig                           |  1 +
 configs/socfpga_arria5_defconfig                   |  1 +
 configs/socfpga_cyclone5_defconfig                 |  1 +
 configs/socfpga_de0_nano_soc_defconfig             |  1 +
 configs/socfpga_mcvevk_defconfig                   |  1 +
 configs/socfpga_sockit_defconfig                   |  1 +
 configs/socfpga_socrates_defconfig                 |  1 +
 configs/socrates_defconfig                         |  1 +
 configs/strider_con_defconfig                      |  3 +-
 configs/strider_cpu_defconfig                      |  3 +-
 configs/sunxi_Gemei_G9_defconfig                   |  1 +
 configs/suvd3_defconfig                            |  1 +
 configs/sycamore_defconfig                         |  1 +
 configs/t3corp_defconfig                           |  1 +
 configs/tao3530_defconfig                          |  1 +
 configs/tb100_defconfig                            |  1 +
 configs/tec-ng_defconfig                           |  1 +
 configs/tec_defconfig                              |  1 +
 configs/thuban_defconfig                           |  1 +
 configs/ti814x_evm_defconfig                       |  1 +
 configs/ti816x_evm_defconfig                       |  1 +
 configs/tricorder_defconfig                        |  1 +
 configs/tricorder_flash_defconfig                  |  1 +
 configs/trimslice_defconfig                        |  1 +
 configs/tseries_mmc_defconfig                      |  1 +
 configs/tseries_nand_defconfig                     |  1 +
 configs/tseries_spi_defconfig                      |  1 +
 configs/tuge1_defconfig                            |  1 +
 configs/tuxx1_defconfig                            |  1 +
 configs/twister_defconfig                          |  1 +
 configs/vct_platinum_defconfig                     |  1 +
 configs/vct_platinum_onenand_defconfig             |  1 +
 configs/vct_platinum_onenand_small_defconfig       |  1 +
 configs/vct_platinum_small_defconfig               |  1 +
 configs/vct_platinumavc_defconfig                  |  1 +
 configs/vct_platinumavc_onenand_defconfig          |  1 +
 configs/vct_platinumavc_onenand_small_defconfig    |  1 +
 configs/vct_platinumavc_small_defconfig            |  1 +
 configs/vct_premium_defconfig                      |  1 +
 configs/vct_premium_onenand_defconfig              |  1 +
 configs/vct_premium_onenand_small_defconfig        |  1 +
 configs/vct_premium_small_defconfig                |  1 +
 configs/ve8313_defconfig                           |  1 +
 configs/venice2_defconfig                          |  1 +
 configs/ventana_defconfig                          |  1 +
 configs/vme8349_defconfig                          |  1 +
 configs/walnut_defconfig                           |  1 +
 configs/whistler_defconfig                         |  1 +
 configs/work_92105_defconfig                       |  1 +
 configs/xpedite1000_defconfig                      |  1 +
 configs/xpedite517x_defconfig                      |  1 +
 configs/xpedite520x_defconfig                      |  1 +
 configs/xpedite537x_defconfig                      |  1 +
 configs/xpedite550x_defconfig                      |  1 +
 configs/yellowstone_defconfig                      |  1 +
 configs/yosemite_defconfig                         |  1 +
 configs/yucca_defconfig                            |  1 +
 drivers/serial/Kconfig                             | 26 ++++-------
 drivers/serial/Makefile                            |  7 ---
 drivers/serial/ns16550.c                           | 45 ++++++++++++++++--
 drivers/serial/serial_dw.c                         | 39 ----------------
 drivers/serial/serial_keystone.c                   | 48 -------------------
 drivers/serial/serial_omap.c                       | 54 ----------------------
 drivers/serial/serial_ppc.c                        | 40 ----------------
 drivers/serial/serial_rockchip.c                   | 43 -----------------
 drivers/serial/serial_tegra.c                      | 54 ----------------------
 drivers/serial/serial_x86.c                        | 44 ------------------
 include/configs/10m50_devboard.h                   |  1 +
 include/configs/B4860QDS.h                         |  1 -
 include/configs/BSC9131RDB.h                       |  1 -
 include/configs/BSC9132QDS.h                       |  1 -
 include/configs/C29XPCIE.h                         |  1 -
 include/configs/CPCI2DP.h                          |  1 -
 include/configs/CPCI4052.h                         |  1 -
 include/configs/MIP405.h                           |  1 -
 include/configs/MPC8308RDB.h                       |  1 -
 include/configs/MPC8313ERDB.h                      |  1 -
 include/configs/MPC8315ERDB.h                      |  1 -
 include/configs/MPC8323ERDB.h                      |  1 -
 include/configs/MPC832XEMDS.h                      |  1 -
 include/configs/MPC8349EMDS.h                      |  1 -
 include/configs/MPC8349ITX.h                       |  1 -
 include/configs/MPC837XEMDS.h                      |  1 -
 include/configs/MPC837XERDB.h                      |  1 -
 include/configs/MPC8536DS.h                        |  1 -
 include/configs/MPC8540ADS.h                       |  1 -
 include/configs/MPC8541CDS.h                       |  1 -
 include/configs/MPC8544DS.h                        |  1 -
 include/configs/MPC8548CDS.h                       |  1 -
 include/configs/MPC8555CDS.h                       |  1 -
 include/configs/MPC8568MDS.h                       |  1 -
 include/configs/MPC8569MDS.h                       |  1 -
 include/configs/MPC8572DS.h                        |  1 -
 include/configs/MPC8610HPCD.h                      |  1 -
 include/configs/MPC8641HPCN.h                      |  1 -
 include/configs/P1010RDB.h                         |  1 -
 include/configs/P1022DS.h                          |  1 -
 include/configs/P1023RDB.h                         |  1 -
 include/configs/P2041RDB.h                         |  1 -
 include/configs/PIP405.h                           |  1 -
 include/configs/PLU405.h                           |  1 -
 include/configs/PMC405DE.h                         |  1 -
 include/configs/PMC440.h                           |  1 -
 include/configs/T102xQDS.h                         |  1 -
 include/configs/T102xRDB.h                         |  1 -
 include/configs/T1040QDS.h                         |  1 -
 include/configs/T104xRDB.h                         |  1 -
 include/configs/T208xQDS.h                         |  1 -
 include/configs/T208xRDB.h                         |  1 -
 include/configs/T4240RDB.h                         |  1 -
 include/configs/TQM834x.h                          |  1 -
 include/configs/UCP1020.h                          |  1 -
 include/configs/VOM405.h                           |  1 -
 include/configs/adp-ag101p.h                       |  1 -
 include/configs/am3517_crane.h                     |  1 -
 include/configs/am3517_evm.h                       |  1 -
 include/configs/am43xx_evm.h                       |  5 +-
 include/configs/amcc-common.h                      |  1 -
 include/configs/axs101.h                           |  1 -
 include/configs/bcm28155_ap.h                      |  1 -
 include/configs/bcm_ep_board.h                     |  1 -
 include/configs/bur_am335x_common.h                |  1 -
 include/configs/calimain.h                         |  1 -
 include/configs/cm_t35.h                           |  1 -
 include/configs/cm_t3517.h                         |  1 -
 include/configs/cm_t43.h                           |  2 -
 include/configs/controlcenterd.h                   |  1 -
 include/configs/corenet_ds.h                       |  1 -
 include/configs/cyrus.h                            |  1 -
 include/configs/da850evm.h                         |  1 -
 include/configs/ea20.h                             |  1 -
 include/configs/edminiv2.h                         |  1 -
 include/configs/efi-x86.h                          |  1 -
 include/configs/gdppc440etx.h                      |  1 -
 include/configs/hrcon.h                            |  1 -
 include/configs/ids8313.h                          |  1 -
 include/configs/ipam390.h                          |  1 -
 include/configs/km/km83xx-common.h                 |  1 -
 include/configs/km/km_arm.h                        |  1 -
 include/configs/km/kmp204x-common.h                |  1 -
 include/configs/ls1021aqds.h                       |  1 -
 include/configs/ls1021atwr.h                       |  1 -
 include/configs/ls1043a_common.h                   |  1 -
 include/configs/ls2085a_common.h                   |  1 -
 include/configs/lwmon5.h                           |  1 -
 include/configs/malta.h                            |  1 -
 include/configs/mcx.h                              |  1 -
 include/configs/microblaze-generic.h               |  1 -
 include/configs/mpc8308_p1m.h                      |  1 -
 include/configs/mv-common.h                        |  5 --
 include/configs/neo.h                              |  1 -
 include/configs/nokia_rx51.h                       |  1 -
 include/configs/omap3_evm_common.h                 |  1 -
 include/configs/omap3_pandora.h                    |  2 +-
 include/configs/omapl138_lcdk.h                    |  1 -
 include/configs/openrisc-generic.h                 |  1 -
 include/configs/p1_p2_rdb_pc.h                     |  1 -
 include/configs/p1_twr.h                           |  1 -
 include/configs/qemu-mips.h                        |  1 -
 include/configs/qemu-mips64.h                      |  1 -
 include/configs/qemu-ppce500.h                     |  1 -
 include/configs/rk3288_common.h                    |  1 -
 include/configs/sbc8349.h                          |  1 -
 include/configs/sbc8548.h                          |  1 -
 include/configs/sbc8641d.h                         |  1 -
 include/configs/siemens-am33x-common.h             |  1 -
 include/configs/sniper.h                           |  7 +--
 include/configs/socfpga_common.h                   |  1 -
 include/configs/socrates.h                         |  1 -
 include/configs/strider.h                          |  1 -
 include/configs/sunxi-common.h                     |  5 +-
 include/configs/t4qds.h                            |  1 -
 include/configs/tam3517-common.h                   |  1 -
 include/configs/tao3530.h                          |  1 -
 include/configs/tb100.h                            |  2 -
 include/configs/tegra-common.h                     |  3 +-
 include/configs/ti814x_evm.h                       |  1 -
 include/configs/ti816x_evm.h                       |  1 -
 include/configs/ti_am335x_common.h                 |  5 --
 include/configs/ti_armv7_keystone2.h               |  3 --
 include/configs/ti_omap3_common.h                  |  7 +--
 include/configs/ti_omap4_common.h                  |  5 +-
 include/configs/ti_omap5_common.h                  |  5 +-
 include/configs/tricorder.h                        |  1 -
 include/configs/uniphier.h                         |  1 -
 include/configs/vct.h                              |  1 -
 include/configs/ve8313.h                           |  1 -
 include/configs/vme8349.h                          |  1 -
 include/configs/x86-common.h                       |  1 -
 include/configs/xilinx-ppc.h                       |  1 -
 include/configs/xpedite1000.h                      |  1 -
 include/configs/xpedite517x.h                      |  1 -
 include/configs/xpedite520x.h                      |  1 -
 include/configs/xpedite537x.h                      |  1 -
 include/configs/xpedite550x.h                      |  1 -
 795 files changed, 757 insertions(+), 554 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c
 delete mode 100644 drivers/serial/serial_keystone.c
 delete mode 100644 drivers/serial/serial_omap.c
 delete mode 100644 drivers/serial/serial_ppc.c
 delete mode 100644 drivers/serial/serial_rockchip.c
 delete mode 100644 drivers/serial/serial_tegra.c
 delete mode 100644 drivers/serial/serial_x86.c

-- 
2.5.0

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-19 20:05     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
                     ` (11 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
driver model"), the default debug uart was changed. Most people
use ns16550 UART, so restore it as default.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
---
 drivers/serial/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index eba96f4..2a50771 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -53,6 +53,7 @@ config DEBUG_UART
 choice
 	prompt "Select which UART will provide the debug UART"
 	depends on DEBUG_UART
+	default DEBUG_UART_NS16550
 
 config DEBUG_UART_ALTERA_JTAGUART
 	bool "Altera JTAG UART"
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-19 20:05     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (10 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Change map_sysmem() to map_physmem(,,MAP_NOCACHE). Though map_sysmem()
can be used to map system memory, it might be wrong to use it for I/O
ports.  The map_physmem() serves the same purpose to translate physical
address to virtual address with the additional flag to take care of cache
property. Most drivers use map_physmem() since I/O ports access should be
uncached. As ns16550 is a driver, it should use map_physmem() rather
than map_sysmem().

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/serial/ns16550.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 6433844..8d028de 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -8,7 +8,6 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 #include <ns16550.h>
 #include <serial.h>
 #include <watchdog.h>
@@ -97,7 +96,7 @@ static void ns16550_writeb(NS16550_t port, int offset, int value)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 	/*
 	 * As far as we know it doesn't make sense to support selection of
 	 * these options at run-time, so use the existing CONFIG options.
@@ -111,7 +110,7 @@ static int ns16550_readb(NS16550_t port, int offset)
 	unsigned char *addr;
 
 	offset *= 1 << plat->reg_shift;
-	addr = map_sysmem(plat->base, 0) + offset;
+	addr = map_physmem(plat->base, 0, MAP_NOCACHE) + offset;
 
 	return serial_in_shift(addr, plat->reg_shift);
 }
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-19 20:34     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
                     ` (9 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Add generic binding to unify ns16550 drivers. There are
several drivers using almost the same code, such as serial_dw,
serial_keystone, serial_omap, serial_ppc, serial_rockchip,
serial_tegra.c, and serial_x86. But each is platform specific.

The key difference between these drivers is the way to get
input clock frequency. With this unified approach, fixed clock
frequency should be extracted from "clock-frequency" property of
device tree blob. If this property is not available, the macro
CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
function to get clock, eg, get_serial_clock().

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
---
 drivers/serial/Kconfig   | 11 +++++++++++
 drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 2a50771..0f0e92d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -195,6 +195,17 @@ config ROCKCHIP_SERIAL
 	  your board config header. The clock input is automatically set to
 	  use the oscillator (24MHz).
 
+config NS16550_SERIAL
+	bool "NS16550 UART or compatible"
+	depends on DM_SERIAL
+	help
+	  Support NS16550 UART or compatible with driver model. This can be
+	  enabled in the device tree with the correct input clock frequency.
+	  If the input clock frequency is not defined in the device tree,
+	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
+	  file will be used. It can be a constant or a function to get clock,
+	  eg, get_serial_clock().
+
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 8d028de..f0a9aac 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -56,6 +56,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_DM_SERIAL
 
+#ifndef CONFIG_SYS_NS16550_CLK
+#define CONFIG_SYS_NS16550_CLK  0
+#endif
+
 static inline void serial_out_shift(void *addr, int shift, int value)
 {
 #ifdef CONFIG_SYS_NS16550_PORT_MAPPED
@@ -400,6 +404,15 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 					 "reg-shift", 1);
+#ifdef CONFIG_NS16550_SERIAL
+	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+				     "clock-frequency",
+				     CONFIG_SYS_NS16550_CLK);
+	if (!plat->clock) {
+		debug("ns16550 clock not defined\n");
+		return -EINVAL;
+	}
+#endif /* CONFIG_NS16550_SERIAL */
 
 	return 0;
 }
@@ -411,4 +424,35 @@ const struct dm_serial_ops ns16550_serial_ops = {
 	.getc = ns16550_serial_getc,
 	.setbrg = ns16550_serial_setbrg,
 };
+
+#ifdef CONFIG_NS16550_SERIAL
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+static const struct udevice_id ns16550_serial_ids[] = {
+	{ .compatible = "ns16550" },
+	{ .compatible = "ns16550a" },
+	{ .compatible = "nvidia,tegra20-uart" },
+	{ .compatible = "snps,dw-apb-uart" },
+	{ .compatible = "ti,omap2-uart" },
+	{ .compatible = "ti,omap3-uart" },
+	{ .compatible = "ti,omap4-uart" },
+	{ .compatible = "ti,am3352-uart" },
+	{ .compatible = "ti,am4372-uart" },
+	{ .compatible = "ti,dra742-uart" },
+	{}
+};
+#endif
+
+U_BOOT_DRIVER(ns16550_serial) = {
+	.name	= "ns16550_serial",
+	.id	= UCLASS_SERIAL,
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+	.of_match = ns16550_serial_ids,
+	.ofdata_to_platdata = ns16550_serial_ofdata_to_platdata,
+	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
+#endif
+	.priv_auto_alloc_size = sizeof(struct NS16550),
+	.probe = ns16550_serial_probe,
+	.ops	= &ns16550_serial_ops,
+};
+#endif /* CONFIG_NS16550_SERIAL */
 #endif /* CONFIG_DM_SERIAL */
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (2 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,04/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
                     ` (8 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_x86, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 arch/x86/dts/serial.dtsi    |  2 +-
 configs/efi-x86_defconfig   |  2 +-
 drivers/serial/Kconfig      | 11 +----------
 drivers/serial/Makefile     |  1 -
 drivers/serial/serial_x86.c | 44 --------------------------------------------
 5 files changed, 3 insertions(+), 57 deletions(-)
 delete mode 100644 drivers/serial/serial_x86.c

diff --git a/arch/x86/dts/serial.dtsi b/arch/x86/dts/serial.dtsi
index 6865eed..54c3faf 100644
--- a/arch/x86/dts/serial.dtsi
+++ b/arch/x86/dts/serial.dtsi
@@ -1,6 +1,6 @@
 / {
 	serial: serial {
-		compatible = "x86-uart";
+		compatible = "ns16550";
 		reg = <0x3f8 8>;
 		reg-shift = <0>;
 		clock-frequency = <1843200>;
diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index fa53e4a..ffbb879 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
 CONFIG_DEFAULT_DEVICE_TREE="efi"
 CONFIG_TARGET_EFI=y
 CONFIG_TSC_CALIBRATION_BYPASS=y
+# CONFIG_NS16550_SERIAL is not set
 # CONFIG_CMD_BOOTM is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NET is not set
@@ -13,5 +14,4 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_EFI_CONSOLE=y
 CONFIG_DEBUG_UART_BASE=0
 CONFIG_DEBUG_UART_CLOCK=0
-# CONFIG_X86_SERIAL is not set
 CONFIG_EFI=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 0f0e92d..93faa4c 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -198,6 +198,7 @@ config ROCKCHIP_SERIAL
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
+	default y if X86
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
@@ -233,14 +234,4 @@ config UNIPHIER_SERIAL
 	  If you have a UniPhier based board and want to use the on-chip
 	  serial ports, say Y to this option. If unsure, say N.
 
-config X86_SERIAL
-	bool "Support for 16550 serial port on x86 machines"
-	depends on X86
-	default y
-	help
-	  Most x86 machines have a ns16550 UART or compatible. This can be
-	  enabled in the device tree with the correct input clock frequency
-	  provided (default 1843200). Enable this to obtain serial console
-	  output.
-
 endmenu
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1818c7c..9036a8e 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
-obj-$(CONFIG_X86_SERIAL) += serial_x86.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_x86.c b/drivers/serial/serial_x86.c
deleted file mode 100644
index 4bf6062..0000000
--- a/drivers/serial/serial_x86.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static const struct udevice_id x86_serial_ids[] = {
-	{ .compatible = "x86-uart" },
-	{ }
-};
-
-static int x86_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", 1843200);
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_x86",
-	.id	= UCLASS_SERIAL,
-	.of_match = x86_serial_ids,
-	.ofdata_to_platdata = x86_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (3 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,05/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
                     ` (7 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_ppc, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/powerpc/include/asm/config.h |  4 ++++
 drivers/serial/Kconfig            |  2 +-
 drivers/serial/Makefile           |  1 -
 drivers/serial/serial_ppc.c       | 40 ---------------------------------------
 4 files changed, 5 insertions(+), 42 deletions(-)
 delete mode 100644 drivers/serial/serial_ppc.c

diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
index 65496d0..7391066 100644
--- a/arch/powerpc/include/asm/config.h
+++ b/arch/powerpc/include/asm/config.h
@@ -104,4 +104,8 @@
 /* All PPC boards must swap IDE bytes */
 #define CONFIG_IDE_SWAP_IO
 
+#if defined(CONFIG_DM_SERIAL)
+#define CONFIG_SYS_NS16550_CLK		get_serial_clock()
+#endif
+
 #endif /* _ASM_CONFIG_H_ */
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 93faa4c..b41f508 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
-	default y if X86
+	default y if X86 || PPC
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9036a8e..9f61113 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -8,7 +8,6 @@
 ifdef CONFIG_DM_SERIAL
 obj-y += serial-uclass.o
 obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
-obj-$(CONFIG_PPC) += serial_ppc.o
 else
 obj-y += serial.o
 obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
deleted file mode 100644
index 47141c6..0000000
--- a/drivers/serial/serial_ppc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id ppc_serial_ids[] = {
-	{ .compatible = "ns16550" },
-	{ }
-};
-
-static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = get_serial_clock();
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_ppc",
-	.id	= UCLASS_SERIAL,
-	.of_match = ppc_serial_ids,
-	.ofdata_to_platdata = ppc_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (4 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,06/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
                     ` (6 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_rockchip, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tested-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
---
 arch/arm/dts/rk3288.dtsi         |  5 +++++
 arch/arm/mach-rockchip/Kconfig   |  3 ---
 drivers/serial/Kconfig           | 11 +---------
 drivers/serial/Makefile          |  1 -
 drivers/serial/serial_rockchip.c | 43 ----------------------------------------
 5 files changed, 6 insertions(+), 57 deletions(-)
 delete mode 100644 drivers/serial/serial_rockchip.c

diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi
index 0f49709..ac367f8 100644
--- a/arch/arm/dts/rk3288.dtsi
+++ b/arch/arm/dts/rk3288.dtsi
@@ -324,6 +324,7 @@
 		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -337,6 +338,7 @@
 		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -350,6 +352,7 @@
 		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -362,6 +365,7 @@
 		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
@@ -375,6 +379,7 @@
 		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 		reg-shift = <2>;
 		reg-io-width = <4>;
+		clock-frequency = <24000000>;
 		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
 		clock-names = "baudclk", "apb_pclk";
 		pinctrl-names = "default";
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index ab50f4e..3f7dc8e 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -33,9 +33,6 @@ config DM_I2C
 config DM_GPIO
 	default y
 
-config ROCKCHIP_SERIAL
-	default y
-
 source "arch/arm/mach-rockchip/rk3288/Kconfig"
 
 endif
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index b41f508..1239416 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,19 +186,10 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
-config ROCKCHIP_SERIAL
-	bool "Rockchip on-chip UART support"
-	depends on ARCH_ROCKCHIP && DM_SERIAL
-	help
-	  Select this to enable a debug UART for Rockchip devices. This uses
-	  the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
-	  your board config header. The clock input is automatically set to
-	  use the oscillator (24MHz).
-
 config NS16550_SERIAL
 	bool "NS16550 UART or compatible"
 	depends on DM_SERIAL
-	default y if X86 || PPC
+	default y if X86 || PPC || ARCH_ROCKCHIP
 	help
 	  Support NS16550 UART or compatible with driver model. This can be
 	  enabled in the device tree with the correct input clock frequency.
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 9f61113..debc175 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
 obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
-obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c
deleted file mode 100644
index 0e7bbfc..0000000
--- a/drivers/serial/serial_rockchip.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2015 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-static const struct udevice_id rockchip_serial_ids[] = {
-	{ .compatible = "rockchip,rk3288-uart" },
-	{ }
-};
-
-static int rockchip_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-
-	/* Do all Rockchip parts use 24MHz? */
-	plat->clock = 24 * 1000000;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_rockchip",
-	.id	= UCLASS_SERIAL,
-	.of_match = rockchip_serial_ids,
-	.ofdata_to_platdata = rockchip_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (5 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,07/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
                     ` (5 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_keystone, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 drivers/serial/Makefile              |  1 -
 drivers/serial/serial_keystone.c     | 48 ------------------------------------
 include/configs/ti_armv7_keystone2.h |  2 +-
 3 files changed, 1 insertion(+), 50 deletions(-)
 delete mode 100644 drivers/serial/serial_keystone.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index debc175..1663ca2 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -24,7 +24,6 @@ obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
 obj-$(CONFIG_OPENCORES_YANU) += opencores_yanu.o
-obj-$(CONFIG_KEYSTONE_SERIAL) += serial_keystone.o
 obj-$(CONFIG_SYS_NS16550) += ns16550.o
 obj-$(CONFIG_S5P) += serial_s5p.o
 obj-$(CONFIG_IMX_SERIAL) += serial_imx.o
diff --git a/drivers/serial/serial_keystone.c b/drivers/serial/serial_keystone.c
deleted file mode 100644
index 7b5ab6c..0000000
--- a/drivers/serial/serial_keystone.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015 Texas Instruments, <www.ti.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-#include <asm/arch/clock.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id keystone_serial_ids[] = {
-	{ .compatible = "ti,keystone-uart" },
-	{ .compatible = "ns16550a" },
-	{ }
-};
-
-static int keystone_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_keystone_ns16550) = {
-	.name	= "serial_keystone",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = of_match_ptr(keystone_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(keystone_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 2b2c060..2083ea2 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -64,7 +64,7 @@
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #else
-#define CONFIG_KEYSTONE_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_SYS_NS16550_COM1		KS2_UART0_BASE
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (6 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,08/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
                     ` (4 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_dw, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 drivers/serial/Makefile        |  1 -
 drivers/serial/serial_dw.c     | 39 ---------------------------------------
 include/configs/mv-common.h    |  2 +-
 include/configs/sunxi-common.h |  2 +-
 include/configs/tb100.h        |  2 +-
 5 files changed, 3 insertions(+), 43 deletions(-)
 delete mode 100644 drivers/serial/serial_dw.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1663ca2..2a83756 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_ALTERA_UART) += altera_uart.o
 obj-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
 obj-$(CONFIG_ARM_DCC) += arm_dcc.o
 obj-$(CONFIG_ATMEL_USART) += atmel_usart.o
-obj-$(CONFIG_DW_SERIAL) += serial_dw.o
 obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
diff --git a/drivers/serial/serial_dw.c b/drivers/serial/serial_dw.c
deleted file mode 100644
index a348f29..0000000
--- a/drivers/serial/serial_dw.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-static const struct udevice_id dw_serial_ids[] = {
-	{ .compatible = "snps,dw-apb-uart" },
-	{ }
-};
-
-static int dw_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = CONFIG_SYS_NS16550_CLK;
-
-	return 0;
-}
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_dw",
-	.id	= UCLASS_SERIAL,
-	.of_match = dw_serial_ids,
-	.ofdata_to_platdata = dw_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-};
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 1ecbd35..0e33a89 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -40,7 +40,7 @@
  * NS16550 Configuration
  */
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 #define CONFIG_SYS_NS16550
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index d7d5d25..f560219 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -46,7 +46,7 @@
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
 #ifdef CONFIG_DM_SERIAL
-# define CONFIG_DW_SERIAL
+# define CONFIG_NS16550_SERIAL
 #else
 # define CONFIG_SYS_NS16550_REG_SIZE	-4
 # define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index e3c41ef..44287d8 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_DW_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (7 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,09/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
                     ` (3 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_tegra, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/arm/mach-tegra/board.c    | 14 +++++++++++
 drivers/serial/Makefile        |  1 -
 drivers/serial/serial_tegra.c  | 54 ------------------------------------------
 include/configs/tegra-common.h |  3 ++-
 4 files changed, 16 insertions(+), 56 deletions(-)
 delete mode 100644 drivers/serial/serial_tegra.c

diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index b00e4b5..8c8927d 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -6,6 +6,8 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <ns16550.h>
 #include <spl.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
@@ -212,6 +214,18 @@ void board_init_uart_f(void)
 	setup_uarts(uart_ids);
 }
 
+#if CONFIG_IS_ENABLED(DM_SERIAL) && !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/drivers/serial/Makefile b/drivers/serial/Makefile
index 2a83756..86ae50f 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
 obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
-obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
 obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
diff --git a/drivers/serial/serial_tegra.c b/drivers/serial/serial_tegra.c
deleted file mode 100644
index 0c84f0b..0000000
--- a/drivers/serial/serial_tegra.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <ns16550.h>
-#include <serial.h>
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id tegra_serial_ids[] = {
-	{ .compatible = "nvidia,tegra20-uart" },
-	{ }
-};
-
-static int tegra_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = V_NS16550_CLK;
-
-	return 0;
-}
-#else
-struct ns16550_platdata tegra_serial = {
-	.base = CONFIG_SYS_NS16550_COM1,
-	.reg_shift = 2,
-	.clock = V_NS16550_CLK,
-};
-
-U_BOOT_DEVICE(ns16550_serial) = {
-	"serial_tegra20", &tegra_serial
-};
-#endif
-
-U_BOOT_DRIVER(serial_ns16550) = {
-	.name	= "serial_tegra20",
-	.id	= UCLASS_SERIAL,
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-	.of_match = tegra_serial_ids,
-	.ofdata_to_platdata = tegra_serial_ofdata_to_platdata,
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-#endif
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 5bb9e48..bcc35f7 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,8 +39,9 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_TEGRA_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
  * Common HW configuration.
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (8 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,10/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
                     ` (2 subsequent siblings)
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Unify serial_omap, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 board/isee/igep00x0/igep00x0.c      |  2 +-
 board/lge/sniper/sniper.c           |  2 +-
 board/logicpd/omap3som/omap3logic.c |  2 +-
 board/logicpd/zoom1/zoom1.c         |  2 +-
 board/overo/overo.c                 |  2 +-
 board/quipos/cairo/cairo.c          |  2 +-
 board/ti/beagle/beagle.c            |  2 +-
 board/timll/devkit8000/devkit8000.c |  2 +-
 drivers/serial/Makefile             |  1 -
 drivers/serial/serial_omap.c        | 54 -------------------------------------
 include/configs/am43xx_evm.h        |  4 +--
 include/configs/cm_t43.h            |  2 +-
 include/configs/omap3_pandora.h     |  3 ++-
 include/configs/sniper.h            |  4 +--
 include/configs/ti_am335x_common.h  |  2 +-
 include/configs/ti_omap3_common.h   |  4 +--
 include/configs/ti_omap4_common.h   |  4 +--
 include/configs/ti_omap5_common.h   |  4 +--
 18 files changed, 22 insertions(+), 76 deletions(-)
 delete mode 100644 drivers/serial/serial_omap.c

diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index 044c6d5..57b89e0 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -40,7 +40,7 @@ static const struct ns16550_platdata igep_serial = {
 };
 
 U_BOOT_DEVICE(igep_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&igep_serial
 };
 
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index 4eff01a..c818c9d 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -35,7 +35,7 @@ static const struct ns16550_platdata serial_omap_platdata = {
 };
 
 U_BOOT_DEVICE(sniper_serial) = {
-	.name = "serial_omap",
+	.name = "ns16550_serial",
 	.platdata = &serial_omap_platdata
 };
 
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index babb0dc..fb89921 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -43,7 +43,7 @@ static const struct ns16550_platdata omap3logic_serial = {
 };
 
 U_BOOT_DEVICE(omap3logic_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&omap3logic_serial
 };
 
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index 0a3b55b..4040114 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -50,7 +50,7 @@ static const struct ns16550_platdata zoom1_serial = {
 };
 
 U_BOOT_DEVICE(zoom1_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&zoom1_serial
 };
 
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 20cbec2..a38b959 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -74,7 +74,7 @@ static const struct ns16550_platdata overo_serial = {
 };
 
 U_BOOT_DEVICE(overo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&overo_serial
 };
 
diff --git a/board/quipos/cairo/cairo.c b/board/quipos/cairo/cairo.c
index b97a09a..21793e8 100644
--- a/board/quipos/cairo/cairo.c
+++ b/board/quipos/cairo/cairo.c
@@ -97,7 +97,7 @@ static const struct ns16550_platdata cairo_serial = {
 };
 
 U_BOOT_DEVICE(cairo_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&cairo_serial
 };
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 56e3cfe..ff317ef 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -79,7 +79,7 @@ static const struct ns16550_platdata beagle_serial = {
 };
 
 U_BOOT_DEVICE(beagle_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&beagle_serial
 };
 
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index a61cc14..1a447c7 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -52,7 +52,7 @@ static const struct ns16550_platdata devkit8000_serial = {
 };
 
 U_BOOT_DEVICE(devkit8000_uart) = {
-	"serial_omap",
+	"ns16550_serial",
 	&devkit8000_serial
 };
 
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 86ae50f..dd87147 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -40,7 +40,6 @@ obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
 obj-$(CONFIG_MXS_AUART) += mxs_auart.o
 obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
 obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
-obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
 obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
 
 ifndef CONFIG_SPL_BUILD
diff --git a/drivers/serial/serial_omap.c b/drivers/serial/serial_omap.c
deleted file mode 100644
index 891cd7b..0000000
--- a/drivers/serial/serial_omap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <dm.h>
-#include <fdtdec.h>
-#include <ns16550.h>
-#include <serial.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#define DEFAULT_CLK_SPEED 48000000 /* 48Mhz */
-
-#if CONFIG_IS_ENABLED(OF_CONTROL)
-static const struct udevice_id omap_serial_ids[] = {
-	{ .compatible = "ti,omap2-uart" },
-	{ .compatible = "ti,omap3-uart" },
-	{ .compatible = "ti,omap4-uart" },
-	{ .compatible = "ti,am3352-uart" },
-	{ .compatible = "ti,am4372-uart" },
-	{ .compatible = "ti,dra742-uart" },
-	{ }
-};
-
-static int omap_serial_ofdata_to_platdata(struct udevice *dev)
-{
-	struct ns16550_platdata *plat = dev_get_platdata(dev);
-	int ret;
-
-	ret = ns16550_serial_ofdata_to_platdata(dev);
-	if (ret)
-		return ret;
-	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
-				     "clock-frequency", DEFAULT_CLK_SPEED);
-	plat->reg_shift = 2;
-
-	return 0;
-}
-#endif
-
-U_BOOT_DRIVER(serial_omap_ns16550) = {
-	.name	= "serial_omap",
-	.id	= UCLASS_SERIAL,
-	.of_match = of_match_ptr(omap_serial_ids),
-	.ofdata_to_platdata = of_match_ptr(omap_serial_ofdata_to_platdata),
-	.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
-	.priv_auto_alloc_size = sizeof(struct NS16550),
-	.probe = ns16550_serial_probe,
-	.ops	= &ns16550_serial_ops,
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index b02abd3..a962bf5 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -23,12 +23,12 @@
 
 /* NS16550 Configuration */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /* I2C Configuration */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index c4d3b94..e1019ff 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -18,7 +18,7 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #define CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 4e93705..c15c699 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -49,7 +49,8 @@
 /*
  * NS16550 Configuration
  */
-#undef CONFIG_OMAP_SERIAL
+#undef CONFIG_NS16550_SERIAL
+#undef CONFIG_SYS_NS16550_CLK
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index f168e8f..34f7f6e 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -197,14 +197,14 @@
 
 
 #ifndef CONFIG_SPL_BUILD
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #else
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 #define CONFIG_CONS_INDEX		3
 #define CONFIG_SERIAL3			3
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 9697431..32348ab 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -20,7 +20,7 @@
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 #include <asm/arch/omap.h>
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index e399a87..e749d5d 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -19,7 +19,7 @@
 #include <asm/arch/omap.h>
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_OMAP_SERIAL
+# define CONFIG_NS16550_SERIAL
 #endif
 
 /* Common ARM Erratas */
@@ -37,10 +37,10 @@
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #ifdef CONFIG_SPL_BUILD
 # define CONFIG_SYS_NS16550_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-# define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #endif
 #define CONFIG_SYS_BAUDRATE_TABLE	{4800, 9600, 19200, 38400, 57600, \
 					115200}
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 741f71f..0a03cd5 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -58,13 +58,13 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_CONS_INDEX		3
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 5acbc92..be1f4c1 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -51,12 +51,12 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_CLK		48000000
 #else
-#define CONFIG_OMAP_SERIAL
+#define CONFIG_NS16550_SERIAL
 #endif
 
 /*
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (9 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,11/13] " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
is completed.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 configs/efi-x86_defconfig            |  1 -
 drivers/serial/Kconfig               | 12 ------------
 drivers/serial/ns16550.c             |  4 ----
 include/configs/am43xx_evm.h         |  2 --
 include/configs/cm_t43.h             |  1 -
 include/configs/mv-common.h          |  4 ----
 include/configs/omap3_pandora.h      |  1 -
 include/configs/sniper.h             |  4 +---
 include/configs/sunxi-common.h       |  4 +---
 include/configs/tb100.h              |  1 -
 include/configs/tegra-common.h       |  1 -
 include/configs/ti_am335x_common.h   |  4 ----
 include/configs/ti_armv7_keystone2.h |  2 --
 include/configs/ti_omap3_common.h    |  4 ----
 include/configs/ti_omap4_common.h    |  2 --
 include/configs/ti_omap5_common.h    |  2 --
 16 files changed, 2 insertions(+), 47 deletions(-)

diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index ffbb879..46801a9 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -3,7 +3,6 @@ CONFIG_VENDOR_EFI=y
 CONFIG_DEFAULT_DEVICE_TREE="efi"
 CONFIG_TARGET_EFI=y
 CONFIG_TSC_CALIBRATION_BYPASS=y
-# CONFIG_NS16550_SERIAL is not set
 # CONFIG_CMD_BOOTM is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NET is not set
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 1239416..fe407b7 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,18 +186,6 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
-config NS16550_SERIAL
-	bool "NS16550 UART or compatible"
-	depends on DM_SERIAL
-	default y if X86 || PPC || ARCH_ROCKCHIP
-	help
-	  Support NS16550 UART or compatible with driver model. This can be
-	  enabled in the device tree with the correct input clock frequency.
-	  If the input clock frequency is not defined in the device tree,
-	  the macro CONFIG_SYS_NS16550_CLK defined in a legacy board header
-	  file will be used. It can be a constant or a function to get clock,
-	  eg, get_serial_clock().
-
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index f0a9aac..d5bcbc3 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -404,7 +404,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 	plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 					 "reg-shift", 1);
-#ifdef CONFIG_NS16550_SERIAL
 	plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
 				     "clock-frequency",
 				     CONFIG_SYS_NS16550_CLK);
@@ -412,7 +411,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 		debug("ns16550 clock not defined\n");
 		return -EINVAL;
 	}
-#endif /* CONFIG_NS16550_SERIAL */
 
 	return 0;
 }
@@ -425,7 +423,6 @@ const struct dm_serial_ops ns16550_serial_ops = {
 	.setbrg = ns16550_serial_setbrg,
 };
 
-#ifdef CONFIG_NS16550_SERIAL
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 static const struct udevice_id ns16550_serial_ids[] = {
 	{ .compatible = "ns16550" },
@@ -454,5 +451,4 @@ U_BOOT_DRIVER(ns16550_serial) = {
 	.probe = ns16550_serial_probe,
 	.ops	= &ns16550_serial_ops,
 };
-#endif /* CONFIG_NS16550_SERIAL */
 #endif /* CONFIG_DM_SERIAL */
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index a962bf5..75b8f53 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -27,8 +27,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 
 /* I2C Configuration */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index e1019ff..f8c39bf 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -18,7 +18,6 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 0e33a89..575e53e 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,10 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
-#define CONFIG_NS16550_SERIAL
-#endif
-
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index c15c699..803f4b8 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -49,7 +49,6 @@
 /*
  * NS16550 Configuration
  */
-#undef CONFIG_NS16550_SERIAL
 #undef CONFIG_SYS_NS16550_CLK
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 34f7f6e..559311f 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -196,9 +196,7 @@
  */
 
 
-#ifndef CONFIG_SPL_BUILD
-#define CONFIG_NS16550_SERIAL
-#else
+#ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #endif
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index f560219..7a4853c 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -45,9 +45,7 @@
 #define CONFIG_SYS_NS16550_SERIAL
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
-#ifdef CONFIG_DM_SERIAL
-# define CONFIG_NS16550_SERIAL
-#else
+#ifndef CONFIG_DM_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	-4
 # define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
 # define CONFIG_SYS_NS16550_COM2		SUNXI_UART1_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 44287d8..0b9ad1c 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,6 @@
 /*
  * UART configuration
  */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index bcc35f7..64a12e6 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_NS16550_SERIAL
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 32348ab..3beb9db 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -19,10 +19,6 @@
 #define CONFIG_SYS_TIMERBASE		0x48040000	/* Use Timer2 */
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
-#ifndef CONFIG_SPL_BUILD
-# define CONFIG_NS16550_SERIAL
-#endif
-
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 2083ea2..c36353d 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -63,8 +63,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_SYS_NS16550_COM1		KS2_UART0_BASE
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index e749d5d..4d53b4c 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -18,10 +18,6 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/omap.h>
 
-#ifndef CONFIG_SPL_BUILD
-# define CONFIG_NS16550_SERIAL
-#endif
-
 /* Common ARM Erratas */
 #define CONFIG_ARM_ERRATA_454179
 #define CONFIG_ARM_ERRATA_430973
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 0a03cd5..4b7b493 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -63,8 +63,6 @@
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 #define CONFIG_CONS_INDEX		3
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index be1f4c1..94d6ef0 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -55,8 +55,6 @@
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#else
-#define CONFIG_NS16550_SERIAL
 #endif
 
 /*
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (10 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
 configs/A10-OLinuXino-Lime_defconfig                   |  1 +
 configs/A10s-OLinuXino-M_defconfig                     |  1 +
 configs/A13-OLinuXinoM_defconfig                       |  1 +
 configs/A13-OLinuXino_defconfig                        |  4 ++--
 configs/A20-OLinuXino-Lime2_defconfig                  |  1 +
 configs/A20-OLinuXino-Lime_defconfig                   |  1 +
 configs/A20-OLinuXino_MICRO_defconfig                  |  1 +
 configs/A20-Olimex-SOM-EVB_defconfig                   |  1 +
 configs/Ainol_AW1_defconfig                            |  1 +
 configs/Ampe_A76_defconfig                             |  1 +
 configs/Auxtek-T003_defconfig                          |  1 +
 configs/Auxtek-T004_defconfig                          |  1 +
 configs/B4420QDS_NAND_defconfig                        |  1 +
 configs/B4420QDS_SPIFLASH_defconfig                    |  1 +
 configs/B4420QDS_defconfig                             |  1 +
 configs/B4860QDS_NAND_defconfig                        |  1 +
 configs/B4860QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/B4860QDS_SPIFLASH_defconfig                    |  1 +
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/B4860QDS_defconfig                             |  1 +
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig            |  1 +
 configs/BSC9131RDB_NAND_defconfig                      |  1 +
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig        |  1 +
 configs/BSC9131RDB_SPIFLASH_defconfig                  |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig     |  1 +
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig            |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig     |  1 +
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig            |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig      |  1 +
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig             |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig      |  1 +
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig             |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig          |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |  1 +
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig          |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig        |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |  1 +
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig        |  1 +
 configs/Bananapi_defconfig                             |  1 +
 configs/Bananapro_defconfig                            |  1 +
 configs/C29XPCIE_NAND_defconfig                        |  1 +
 configs/C29XPCIE_NOR_SECBOOT_defconfig                 |  1 +
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig            |  1 +
 configs/C29XPCIE_SPIFLASH_defconfig                    |  1 +
 configs/C29XPCIE_defconfig                             |  1 +
 configs/CHIP_defconfig                                 |  1 +
 configs/CPCI2DP_defconfig                              |  1 +
 configs/CPCI4052_defconfig                             |  1 +
 configs/CSQ_CS908_defconfig                            |  1 +
 configs/Chuwi_V7_CW0825_defconfig                      |  1 +
 configs/Colombus_defconfig                             |  1 +
 configs/Cubieboard2_defconfig                          |  1 +
 configs/Cubieboard_defconfig                           |  1 +
 configs/Cubietruck_defconfig                           |  8 ++++----
 configs/Cyrus_P5020_defconfig                          |  1 +
 configs/Cyrus_P5040_defconfig                          |  1 +
 configs/Hummingbird_A31_defconfig                      |  1 +
 configs/Hyundai_A7HD_defconfig                         |  1 +
 configs/Linksprite_pcDuino3_Nano_defconfig             |  1 +
 configs/Linksprite_pcDuino3_defconfig                  |  1 +
 configs/Linksprite_pcDuino_defconfig                   |  1 +
 configs/MIP405T_defconfig                              |  1 +
 configs/MIP405_defconfig                               |  1 +
 configs/MK808C_defconfig                               |  1 +
 configs/MPC8308RDB_defconfig                           |  1 +
 configs/MPC8313ERDB_33_defconfig                       |  1 +
 configs/MPC8313ERDB_66_defconfig                       |  1 +
 configs/MPC8313ERDB_NAND_33_defconfig                  |  1 +
 configs/MPC8313ERDB_NAND_66_defconfig                  |  1 +
 configs/MPC8315ERDB_defconfig                          |  1 +
 configs/MPC8323ERDB_defconfig                          |  1 +
 configs/MPC832XEMDS_ATM_defconfig                      |  1 +
 configs/MPC832XEMDS_HOST_33_defconfig                  |  1 +
 configs/MPC832XEMDS_HOST_66_defconfig                  |  1 +
 configs/MPC832XEMDS_SLAVE_defconfig                    |  1 +
 configs/MPC832XEMDS_defconfig                          |  1 +
 configs/MPC8349EMDS_defconfig                          |  1 +
 configs/MPC8349ITXGP_defconfig                         |  1 +
 configs/MPC8349ITX_LOWBOOT_defconfig                   |  1 +
 configs/MPC8349ITX_defconfig                           |  1 +
 configs/MPC837XEMDS_HOST_defconfig                     |  1 +
 configs/MPC837XEMDS_defconfig                          |  1 +
 configs/MPC837XERDB_defconfig                          |  1 +
 configs/MPC8536DS_36BIT_defconfig                      |  1 +
 configs/MPC8536DS_SDCARD_defconfig                     |  1 +
 configs/MPC8536DS_SPIFLASH_defconfig                   |  1 +
 configs/MPC8536DS_defconfig                            |  1 +
 configs/MPC8540ADS_defconfig                           |  1 +
 configs/MPC8541CDS_defconfig                           |  1 +
 configs/MPC8541CDS_legacy_defconfig                    |  1 +
 configs/MPC8544DS_defconfig                            |  1 +
 configs/MPC8548CDS_36BIT_defconfig                     |  1 +
 configs/MPC8548CDS_defconfig                           |  1 +
 configs/MPC8548CDS_legacy_defconfig                    |  1 +
 configs/MPC8555CDS_defconfig                           |  1 +
 configs/MPC8555CDS_legacy_defconfig                    |  1 +
 configs/MPC8568MDS_defconfig                           |  1 +
 configs/MPC8569MDS_ATM_defconfig                       |  1 +
 configs/MPC8569MDS_defconfig                           |  1 +
 configs/MPC8572DS_36BIT_defconfig                      |  1 +
 configs/MPC8572DS_defconfig                            |  1 +
 configs/MPC8610HPCD_defconfig                          |  1 +
 configs/MPC8641HPCN_36BIT_defconfig                    |  1 +
 configs/MPC8641HPCN_defconfig                          |  1 +
 configs/MSI_Primo73_defconfig                          |  1 +
 configs/MSI_Primo81_defconfig                          |  1 +
 configs/Marsboard_A10_defconfig                        |  1 +
 configs/Mele_A1000G_quad_defconfig                     |  1 +
 configs/Mele_A1000_defconfig                           |  1 +
 configs/Mele_I7_defconfig                              |  1 +
 configs/Mele_M3_defconfig                              |  1 +
 configs/Mele_M5_defconfig                              |  1 +
 configs/Mele_M9_defconfig                              |  1 +
 configs/Merrii_A80_Optimus_defconfig                   |  1 +
 configs/Mini-X_defconfig                               |  1 +
 configs/Orangepi_defconfig                             |  1 +
 configs/Orangepi_mini_defconfig                        |  1 +
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig       |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig               |  1 +
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig        |  1 +
 configs/P1010RDB-PA_36BIT_NOR_defconfig                |  1 +
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig             |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig             |  1 +
 configs/P1010RDB-PA_NAND_defconfig                     |  1 +
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig              |  1 +
 configs/P1010RDB-PA_NOR_defconfig                      |  1 +
 configs/P1010RDB-PA_SDCARD_defconfig                   |  1 +
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PA_SPIFLASH_defconfig                 |  1 +
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig       |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig               |  1 +
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig        |  1 +
 configs/P1010RDB-PB_36BIT_NOR_defconfig                |  1 +
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig             |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig             |  1 +
 configs/P1010RDB-PB_NAND_defconfig                     |  1 +
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig              |  1 +
 configs/P1010RDB-PB_NOR_defconfig                      |  1 +
 configs/P1010RDB-PB_SDCARD_defconfig                   |  1 +
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig         |  1 +
 configs/P1010RDB-PB_SPIFLASH_defconfig                 |  1 +
 configs/P1020MBG-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020MBG-PC_36BIT_defconfig                    |  1 +
 configs/P1020MBG-PC_SDCARD_defconfig                   |  1 +
 configs/P1020MBG-PC_defconfig                          |  1 +
 configs/P1020RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1020RDB-PC_36BIT_defconfig                    |  1 +
 configs/P1020RDB-PC_NAND_defconfig                     |  1 +
 configs/P1020RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P1020RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P1020RDB-PC_defconfig                          |  1 +
 configs/P1020RDB-PD_NAND_defconfig                     |  1 +
 configs/P1020RDB-PD_SDCARD_defconfig                   |  1 +
 configs/P1020RDB-PD_SPIFLASH_defconfig                 |  1 +
 configs/P1020RDB-PD_defconfig                          |  1 +
 configs/P1020UTM-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1020UTM-PC_36BIT_defconfig                    |  1 +
 configs/P1020UTM-PC_SDCARD_defconfig                   |  1 +
 configs/P1020UTM-PC_defconfig                          |  1 +
 configs/P1021RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P1021RDB-PC_36BIT_defconfig                    |  1 +
 configs/P1021RDB-PC_NAND_defconfig                     |  1 +
 configs/P1021RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P1021RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P1021RDB-PC_defconfig                          |  1 +
 configs/P1022DS_36BIT_NAND_defconfig                   |  1 +
 configs/P1022DS_36BIT_SDCARD_defconfig                 |  1 +
 configs/P1022DS_36BIT_SPIFLASH_defconfig               |  1 +
 configs/P1022DS_36BIT_defconfig                        |  1 +
 configs/P1022DS_NAND_defconfig                         |  1 +
 configs/P1022DS_SDCARD_defconfig                       |  1 +
 configs/P1022DS_SPIFLASH_defconfig                     |  1 +
 configs/P1022DS_defconfig                              |  1 +
 configs/P1023RDB_defconfig                             |  1 +
 configs/P1024RDB_36BIT_defconfig                       |  1 +
 configs/P1024RDB_NAND_defconfig                        |  1 +
 configs/P1024RDB_SDCARD_defconfig                      |  1 +
 configs/P1024RDB_SPIFLASH_defconfig                    |  1 +
 configs/P1024RDB_defconfig                             |  1 +
 configs/P1025RDB_36BIT_defconfig                       |  1 +
 configs/P1025RDB_NAND_defconfig                        |  1 +
 configs/P1025RDB_SDCARD_defconfig                      |  1 +
 configs/P1025RDB_SPIFLASH_defconfig                    |  1 +
 configs/P1025RDB_defconfig                             |  1 +
 configs/P2020RDB-PC_36BIT_NAND_defconfig               |  1 +
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig             |  1 +
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig           |  1 +
 configs/P2020RDB-PC_36BIT_defconfig                    |  1 +
 configs/P2020RDB-PC_NAND_defconfig                     |  1 +
 configs/P2020RDB-PC_SDCARD_defconfig                   |  1 +
 configs/P2020RDB-PC_SPIFLASH_defconfig                 |  1 +
 configs/P2020RDB-PC_defconfig                          |  1 +
 configs/P2041RDB_NAND_defconfig                        |  1 +
 configs/P2041RDB_SDCARD_defconfig                      |  1 +
 configs/P2041RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/P2041RDB_SPIFLASH_defconfig                    |  1 +
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/P2041RDB_defconfig                             |  1 +
 configs/P3041DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P3041DS_NAND_defconfig                         |  1 +
 configs/P3041DS_SDCARD_defconfig                       |  1 +
 configs/P3041DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P3041DS_SPIFLASH_defconfig                     |  1 +
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P3041DS_defconfig                              |  1 +
 configs/P4080DS_SDCARD_defconfig                       |  1 +
 configs/P4080DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P4080DS_SPIFLASH_defconfig                     |  1 +
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P4080DS_defconfig                              |  1 +
 configs/P5020DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P5020DS_NAND_defconfig                         |  1 +
 configs/P5020DS_SDCARD_defconfig                       |  1 +
 configs/P5020DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P5020DS_SPIFLASH_defconfig                     |  1 +
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig               |  1 +
 configs/P5020DS_defconfig                              |  1 +
 configs/P5040DS_NAND_SECURE_BOOT_defconfig             |  1 +
 configs/P5040DS_NAND_defconfig                         |  1 +
 configs/P5040DS_SDCARD_defconfig                       |  1 +
 configs/P5040DS_SECURE_BOOT_defconfig                  |  1 +
 configs/P5040DS_SPIFLASH_defconfig                     |  1 +
 configs/P5040DS_defconfig                              |  1 +
 configs/PIP405_defconfig                               |  1 +
 configs/PLU405_defconfig                               |  1 +
 configs/PMC405DE_defconfig                             |  1 +
 configs/PMC440_defconfig                               |  1 +
 configs/Sinlinx_SinA33_defconfig                       |  1 +
 configs/Sinovoip_BPI_M2_defconfig                      |  1 +
 configs/T1023RDB_NAND_defconfig                        |  1 +
 configs/T1023RDB_SDCARD_defconfig                      |  1 +
 configs/T1023RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1023RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1023RDB_defconfig                             |  1 +
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig            |  1 +
 configs/T1024QDS_DDR4_defconfig                        |  1 +
 configs/T1024QDS_NAND_defconfig                        |  1 +
 configs/T1024QDS_SDCARD_defconfig                      |  1 +
 configs/T1024QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T1024QDS_SPIFLASH_defconfig                    |  1 +
 configs/T1024QDS_defconfig                             |  1 +
 configs/T1024RDB_NAND_defconfig                        |  1 +
 configs/T1024RDB_SDCARD_defconfig                      |  1 +
 configs/T1024RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1024RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1024RDB_defconfig                             |  1 +
 configs/T1040D4RDB_NAND_defconfig                      |  1 +
 configs/T1040D4RDB_SDCARD_defconfig                    |  1 +
 configs/T1040D4RDB_SECURE_BOOT_defconfig               |  1 +
 configs/T1040D4RDB_SPIFLASH_defconfig                  |  1 +
 configs/T1040D4RDB_defconfig                           |  1 +
 configs/T1040QDS_DDR4_defconfig                        |  1 +
 configs/T1040QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T1040QDS_defconfig                             |  1 +
 configs/T1040RDB_NAND_defconfig                        |  1 +
 configs/T1040RDB_SDCARD_defconfig                      |  1 +
 configs/T1040RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1040RDB_SPIFLASH_defconfig                    |  1 +
 configs/T1040RDB_defconfig                             |  1 +
 configs/T1042D4RDB_NAND_defconfig                      |  1 +
 configs/T1042D4RDB_SDCARD_defconfig                    |  1 +
 configs/T1042D4RDB_SECURE_BOOT_defconfig               |  1 +
 configs/T1042D4RDB_SPIFLASH_defconfig                  |  1 +
 configs/T1042D4RDB_defconfig                           |  1 +
 configs/T1042RDB_PI_NAND_defconfig                     |  1 +
 configs/T1042RDB_PI_SDCARD_defconfig                   |  1 +
 configs/T1042RDB_PI_SPIFLASH_defconfig                 |  1 +
 configs/T1042RDB_PI_defconfig                          |  1 +
 configs/T1042RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T1042RDB_defconfig                             |  1 +
 configs/T2080QDS_NAND_defconfig                        |  1 +
 configs/T2080QDS_SDCARD_defconfig                      |  1 +
 configs/T2080QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T2080QDS_SPIFLASH_defconfig                    |  1 +
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2080QDS_defconfig                             |  1 +
 configs/T2080RDB_NAND_defconfig                        |  1 +
 configs/T2080RDB_SDCARD_defconfig                      |  1 +
 configs/T2080RDB_SECURE_BOOT_defconfig                 |  1 +
 configs/T2080RDB_SPIFLASH_defconfig                    |  1 +
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2080RDB_defconfig                             |  1 +
 configs/T2081QDS_NAND_defconfig                        |  1 +
 configs/T2081QDS_SDCARD_defconfig                      |  1 +
 configs/T2081QDS_SPIFLASH_defconfig                    |  1 +
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T2081QDS_defconfig                             |  1 +
 configs/T4160QDS_NAND_defconfig                        |  1 +
 configs/T4160QDS_SDCARD_defconfig                      |  1 +
 configs/T4160QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T4160QDS_defconfig                             |  1 +
 configs/T4160RDB_defconfig                             |  1 +
 configs/T4240QDS_NAND_defconfig                        |  1 +
 configs/T4240QDS_SDCARD_defconfig                      |  1 +
 configs/T4240QDS_SECURE_BOOT_defconfig                 |  1 +
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig              |  1 +
 configs/T4240QDS_defconfig                             |  1 +
 configs/T4240RDB_SDCARD_defconfig                      |  1 +
 configs/T4240RDB_defconfig                             |  1 +
 configs/TQM834x_defconfig                              |  1 +
 configs/TWR-P1025_defconfig                            |  1 +
 configs/UCP1020_SPIFLASH_defconfig                     |  1 +
 configs/UCP1020_defconfig                              |  1 +
 configs/UTOO_P66_defconfig                             |  1 +
 configs/VOM405_defconfig                               |  1 +
 configs/Wexler_TAB7200_defconfig                       |  1 +
 configs/Wits_Pro_A20_DKT_defconfig                     |  1 +
 configs/Wobo_i5_defconfig                              |  1 +
 configs/Yones_Toptech_BD1078_defconfig                 |  1 +
 configs/acadia_defconfig                               |  1 +
 configs/adp-ag101p_defconfig                           |  1 +
 configs/am335x_baltos_defconfig                        |  1 +
 configs/am335x_boneblack_defconfig                     |  1 +
 configs/am335x_boneblack_vboot_defconfig               |  1 +
 configs/am335x_evm_defconfig                           |  1 +
 configs/am335x_evm_nor_defconfig                       |  1 +
 configs/am335x_evm_norboot_defconfig                   |  1 +
 configs/am335x_evm_spiboot_defconfig                   |  1 +
 configs/am335x_evm_usbspl_defconfig                    |  1 +
 configs/am335x_gp_evm_defconfig                        |  1 +
 configs/am335x_igep0033_defconfig                      |  1 +
 configs/am335x_sl50_defconfig                          |  1 +
 configs/am3517_crane_defconfig                         |  1 +
 configs/am3517_evm_defconfig                           |  1 +
 configs/am437x_gp_evm_defconfig                        |  1 +
 configs/am437x_sk_evm_defconfig                        |  1 +
 configs/am43xx_evm_defconfig                           |  1 +
 configs/am43xx_evm_ethboot_defconfig                   |  1 +
 configs/am43xx_evm_qspiboot_defconfig                  |  1 +
 configs/am43xx_evm_usbhost_boot_defconfig              |  1 +
 configs/am57xx_evm_defconfig                           |  1 +
 configs/am57xx_evm_nodt_defconfig                      |  1 +
 configs/apalis_t30_defconfig                           |  1 +
 configs/arches_defconfig                               |  1 +
 configs/aspenite_defconfig                             |  1 +
 configs/axs101_defconfig                               |  1 +
 configs/axs103_defconfig                               |  1 +
 configs/ba10_tv_box_defconfig                          |  1 +
 configs/bamboo_defconfig                               |  1 +
 configs/bayleybay_defconfig                            |  1 +
 configs/bcm11130_defconfig                             |  1 +
 configs/bcm11130_nand_defconfig                        |  1 +
 configs/bcm28155_ap_defconfig                          |  1 +
 configs/bcm28155_w1d_defconfig                         |  1 +
 configs/bcm911360_entphn-ns_defconfig                  |  1 +
 configs/bcm911360_entphn_defconfig                     |  1 +
 configs/bcm911360k_defconfig                           |  1 +
 configs/bcm958300k-ns_defconfig                        |  1 +
 configs/bcm958300k_defconfig                           |  1 +
 configs/bcm958305k_defconfig                           |  1 +
 configs/bcm958622hr_defconfig                          |  1 +
 configs/beaver_defconfig                               |  1 +
 configs/bf527-ezkit_defconfig                          |  2 +-
 configs/birdland_bav335a_defconfig                     |  1 +
 configs/birdland_bav335b_defconfig                     |  1 +
 configs/bubinga_defconfig                              |  1 +
 configs/caddy2_defconfig                               |  1 +
 configs/cairo_defconfig                                |  1 +
 configs/calimain_defconfig                             |  1 +
 configs/canyonlands_defconfig                          |  1 +
 configs/cardhu_defconfig                               |  1 +
 configs/chromebook_jerry_defconfig                     |  1 +
 configs/chromebook_link_defconfig                      |  2 +-
 configs/chromebox_panther_defconfig                    |  1 +
 configs/cm_t335_defconfig                              |  1 +
 configs/cm_t3517_defconfig                             |  1 +
 configs/cm_t35_defconfig                               |  1 +
 configs/cm_t43_defconfig                               |  1 +
 configs/cm_t54_defconfig                               |  1 +
 configs/colibri_t20_defconfig                          |  1 +
 configs/colibri_t30_defconfig                          |  1 +
 configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |  1 +
 configs/controlcenterd_36BIT_SDCARD_defconfig          |  1 +
 configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |  1 +
 configs/controlcenterd_TRAILBLAZER_defconfig           |  1 +
 configs/coreboot-x86_defconfig                         |  1 +
 configs/crownbay_defconfig                             |  1 +
 configs/d2net_v2_defconfig                             |  1 +
 configs/da850_am18xxevm_defconfig                      |  1 +
 configs/da850evm_defconfig                             |  1 +
 configs/da850evm_direct_nor_defconfig                  |  1 +
 configs/dalmore_defconfig                              |  1 +
 configs/db-88f6820-gp_defconfig                        |  1 +
 configs/db-mv784mp-gp_defconfig                        |  1 +
 configs/devconcenter_defconfig                         |  1 +
 configs/devkit3250_defconfig                           |  1 +
 configs/devkit8000_defconfig                           |  1 +
 configs/dlvision-10g_defconfig                         |  1 +
 configs/dlvision_defconfig                             |  1 +
 configs/dns325_defconfig                               |  1 +
 configs/dockstar_defconfig                             |  1 +
 configs/dra72_evm_defconfig                            |  1 +
 configs/dra74_evm_defconfig                            |  1 +
 configs/dra7xx_evm_defconfig                           |  1 +
 configs/dra7xx_evm_qspiboot_defconfig                  |  1 +
 configs/dra7xx_evm_uart3_defconfig                     |  1 +
 configs/draco_defconfig                                |  1 +
 configs/dreamplug_defconfig                            |  9 +++++----
 configs/duovero_defconfig                              |  1 +
 configs/e2220-1170_defconfig                           |  1 +
 configs/ea20_defconfig                                 |  1 +
 configs/eco5pk_defconfig                               |  1 +
 configs/edminiv2_defconfig                             |  1 +
 configs/firefly-rk3288_defconfig                       |  1 +
 configs/fx12mm_defconfig                               |  1 +
 configs/fx12mm_flash_defconfig                         |  1 +
 configs/ga10h_v1_1_defconfig                           |  1 +
 configs/galileo_defconfig                              |  1 +
 configs/gdppc440etx_defconfig                          |  1 +
 configs/glacier_defconfig                              |  1 +
 configs/glacier_ramboot_defconfig                      |  1 +
 configs/goflexhome_defconfig                           |  1 +
 configs/gplugd_defconfig                               |  1 +
 configs/gt90h_v4_defconfig                             |  1 +
 configs/guruplug_defconfig                             |  7 ++++---
 configs/haleakala_defconfig                            |  1 +
 configs/harmony_defconfig                              |  1 +
 configs/hrcon_defconfig                                |  1 +
 configs/hrcon_dh_defconfig                             |  4 ++--
 configs/i12-tvbox_defconfig                            |  1 +
 configs/iNet_3F_defconfig                              |  1 +
 configs/iNet_3W_defconfig                              |  1 +
 configs/iNet_86VS_defconfig                            |  1 +
 configs/ib62x0_defconfig                               |  7 ++++---
 configs/icon_defconfig                                 |  1 +
 configs/iconnect_defconfig                             |  1 +
 configs/ids8313_defconfig                              |  1 +
 configs/igep0020_defconfig                             |  1 +
 configs/igep0020_nand_defconfig                        |  1 +
 configs/igep0030_defconfig                             |  1 +
 configs/igep0030_nand_defconfig                        |  1 +
 configs/igep0032_defconfig                             |  1 +
 configs/inet1_defconfig                                |  1 +
 configs/inet97fv2_defconfig                            |  1 +
 configs/inet98v_rev2_defconfig                         |  1 +
 configs/inet9f_rev03_defconfig                         |  1 +
 configs/inetspace_v2_defconfig                         |  1 +
 configs/intip_defconfig                                |  1 +
 configs/io64_defconfig                                 |  1 +
 configs/io_defconfig                                   |  1 +
 configs/iocon_defconfig                                |  1 +
 configs/ipam390_defconfig                              |  1 +
 configs/jesurun_q5_defconfig                           |  1 +
 configs/jetson-tk1_defconfig                           |  1 +
 configs/k2e_evm_defconfig                              |  1 +
 configs/k2g_evm_defconfig                              |  1 +
 configs/k2hk_evm_defconfig                             |  1 +
 configs/k2l_evm_defconfig                              |  1 +
 configs/katmai_defconfig                               |  1 +
 configs/kilauea_defconfig                              |  1 +
 configs/km_kirkwood_128m16_defconfig                   |  1 +
 configs/km_kirkwood_defconfig                          |  1 +
 configs/km_kirkwood_pci_defconfig                      |  1 +
 configs/kmcoge4_defconfig                              |  1 +
 configs/kmcoge5ne_defconfig                            |  1 +
 configs/kmcoge5un_defconfig                            |  1 +
 configs/kmeter1_defconfig                              |  1 +
 configs/kmlion1_defconfig                              |  1 +
 configs/kmnusa_defconfig                               |  1 +
 configs/kmopti2_defconfig                              |  1 +
 configs/kmsugp1_defconfig                              |  1 +
 configs/kmsupx5_defconfig                              |  1 +
 configs/kmsuv31_defconfig                              |  1 +
 configs/kmtegr1_defconfig                              |  3 ++-
 configs/kmtepr2_defconfig                              |  3 ++-
 configs/kmvect1_defconfig                              |  1 +
 configs/kwb_defconfig                                  |  1 +
 configs/ls1021aqds_ddr4_nor_defconfig                  |  1 +
 configs/ls1021aqds_nand_defconfig                      |  1 +
 configs/ls1021aqds_nor_SECURE_BOOT_defconfig           |  1 +
 configs/ls1021aqds_nor_defconfig                       |  1 +
 configs/ls1021aqds_qspi_defconfig                      |  1 +
 configs/ls1021aqds_sdcard_defconfig                    |  1 +
 configs/ls1021atwr_nor_SECURE_BOOT_defconfig           |  1 +
 configs/ls1021atwr_nor_defconfig                       |  1 +
 configs/ls1021atwr_qspi_defconfig                      |  1 +
 configs/ls1021atwr_sdcard_ifc_defconfig                |  1 +
 configs/ls1021atwr_sdcard_qspi_defconfig               |  1 +
 configs/ls1043ardb_defconfig                           |  1 +
 configs/ls1043ardb_nand_defconfig                      |  1 +
 configs/ls1043ardb_sdcard_defconfig                    |  1 +
 configs/ls2085a_emu_defconfig                          |  1 +
 configs/ls2085a_simu_defconfig                         |  1 +
 configs/ls2085aqds_defconfig                           |  1 +
 configs/ls2085aqds_nand_defconfig                      |  1 +
 configs/ls2085ardb_defconfig                           |  1 +
 configs/ls2085ardb_nand_defconfig                      |  1 +
 configs/lschlv2_defconfig                              |  1 +
 configs/lsxhl_defconfig                                |  1 +
 configs/luan_defconfig                                 |  1 +
 configs/lwmon5_defconfig                               |  1 +
 configs/makalu_defconfig                               |  1 +
 configs/malta_defconfig                                |  1 +
 configs/maltael_defconfig                              |  1 +
 configs/maxbcm_defconfig                               |  1 +
 configs/mcx_defconfig                                  |  1 +
 configs/medcom-wide_defconfig                          |  1 +
 configs/mgcoge3un_defconfig                            |  1 +
 configs/minnowmax_defconfig                            |  2 +-
 configs/mixtile_loftq_defconfig                        |  1 +
 configs/mk802_a10s_defconfig                           |  1 +
 configs/mk802_defconfig                                |  1 +
 configs/mk802ii_defconfig                              |  1 +
 configs/mpc8308_p1m_defconfig                          |  1 +
 configs/mt_ventoux_defconfig                           |  1 +
 configs/nas220_defconfig                               |  1 +
 configs/neo_defconfig                                  |  1 +
 configs/net2big_v2_defconfig                           |  1 +
 configs/netspace_lite_v2_defconfig                     |  1 +
 configs/netspace_max_v2_defconfig                      |  1 +
 configs/netspace_mini_v2_defconfig                     |  1 +
 configs/netspace_v2_defconfig                          |  1 +
 configs/nokia_rx51_defconfig                           |  1 +
 configs/nyan-big_defconfig                             |  1 +
 configs/omap3_beagle_defconfig                         |  1 +
 configs/omap3_evm_defconfig                            |  1 +
 configs/omap3_evm_quick_mmc_defconfig                  |  1 +
 configs/omap3_evm_quick_nand_defconfig                 |  1 +
 configs/omap3_ha_defconfig                             |  1 +
 configs/omap3_logic_defconfig                          |  1 +
 configs/omap3_overo_defconfig                          |  1 +
 configs/omap3_pandora_defconfig                        |  1 +
 configs/omap3_zoom1_defconfig                          |  1 +
 configs/omap4_panda_defconfig                          |  1 +
 configs/omap4_sdp4430_defconfig                        |  1 +
 configs/omap5_uevm_defconfig                           |  1 +
 configs/omapl138_lcdk_defconfig                        |  1 +
 configs/openrd_base_defconfig                          |  1 +
 configs/openrd_client_defconfig                        |  1 +
 configs/openrd_ultimate_defconfig                      |  1 +
 configs/openrisc-generic_defconfig                     |  1 +
 configs/p2371-0000_defconfig                           |  1 +
 configs/p2371-2180_defconfig                           |  1 +
 configs/p2571_defconfig                                |  1 +
 configs/paz00_defconfig                                |  1 +
 configs/pcm051_rev1_defconfig                          |  1 +
 configs/pcm051_rev3_defconfig                          |  1 +
 configs/pengwyn_defconfig                              |  1 +
 configs/pepper_defconfig                               |  1 +
 configs/plutux_defconfig                               |  1 +
 configs/pogo_e02_defconfig                             |  1 +
 configs/portl2_defconfig                               |  1 +
 configs/pov_protab2_ips9_defconfig                     |  1 +
 configs/pxm2_defconfig                                 |  1 +
 configs/q8_a13_tablet_defconfig                        |  1 +
 configs/q8_a23_tablet_800x480_defconfig                |  1 +
 configs/q8_a33_tablet_1024x600_defconfig               |  1 +
 configs/q8_a33_tablet_800x480_defconfig                |  1 +
 configs/qemu-ppce500_defconfig                         |  1 +
 configs/qemu-x86_defconfig                             |  1 +
 configs/qemu_mips64_defconfig                          |  1 +
 configs/qemu_mips64el_defconfig                        |  1 +
 configs/qemu_mips_defconfig                            |  1 +
 configs/qemu_mipsel_defconfig                          |  1 +
 configs/r7-tv-dongle_defconfig                         |  1 +
 configs/rainier_defconfig                              |  1 +
 configs/rainier_ramboot_defconfig                      |  1 +
 configs/rastaban_defconfig                             |  1 +
 configs/redwood_defconfig                              |  1 +
 configs/rut_defconfig                                  |  1 +
 configs/sbc8349_PCI_33_defconfig                       |  1 +
 configs/sbc8349_PCI_66_defconfig                       |  1 +
 configs/sbc8349_defconfig                              |  1 +
 configs/sbc8548_PCI_33_PCIE_defconfig                  |  1 +
 configs/sbc8548_PCI_33_defconfig                       |  1 +
 configs/sbc8548_PCI_66_PCIE_defconfig                  |  1 +
 configs/sbc8548_PCI_66_defconfig                       |  1 +
 configs/sbc8548_defconfig                              |  1 +
 configs/sbc8641d_defconfig                             |  1 +
 configs/seaboard_defconfig                             |  1 +
 configs/sequoia_defconfig                              |  1 +
 configs/sequoia_ramboot_defconfig                      |  1 +
 configs/sheevaplug_defconfig                           |  7 ++++---
 configs/sniper_defconfig                               |  1 +
 configs/socfpga_arria5_defconfig                       |  1 +
 configs/socfpga_cyclone5_defconfig                     |  1 +
 configs/socfpga_de0_nano_soc_defconfig                 |  1 +
 configs/socfpga_mcvevk_defconfig                       |  1 +
 configs/socfpga_sockit_defconfig                       |  1 +
 configs/socfpga_socrates_defconfig                     |  1 +
 configs/socrates_defconfig                             |  1 +
 configs/strider_con_defconfig                          |  3 ++-
 configs/strider_cpu_defconfig                          |  3 ++-
 configs/sunxi_Gemei_G9_defconfig                       |  1 +
 configs/suvd3_defconfig                                |  1 +
 configs/sycamore_defconfig                             |  1 +
 configs/t3corp_defconfig                               |  1 +
 configs/tao3530_defconfig                              |  1 +
 configs/tb100_defconfig                                |  1 +
 configs/tec-ng_defconfig                               |  1 +
 configs/tec_defconfig                                  |  1 +
 configs/thuban_defconfig                               |  1 +
 configs/ti814x_evm_defconfig                           |  1 +
 configs/ti816x_evm_defconfig                           |  1 +
 configs/tricorder_defconfig                            |  1 +
 configs/tricorder_flash_defconfig                      |  1 +
 configs/trimslice_defconfig                            |  1 +
 configs/tseries_mmc_defconfig                          |  1 +
 configs/tseries_nand_defconfig                         |  1 +
 configs/tseries_spi_defconfig                          |  1 +
 configs/tuge1_defconfig                                |  1 +
 configs/tuxx1_defconfig                                |  1 +
 configs/twister_defconfig                              |  1 +
 configs/vct_platinum_defconfig                         |  1 +
 configs/vct_platinum_onenand_defconfig                 |  1 +
 configs/vct_platinum_onenand_small_defconfig           |  1 +
 configs/vct_platinum_small_defconfig                   |  1 +
 configs/vct_platinumavc_defconfig                      |  1 +
 configs/vct_platinumavc_onenand_defconfig              |  1 +
 configs/vct_platinumavc_onenand_small_defconfig        |  1 +
 configs/vct_platinumavc_small_defconfig                |  1 +
 configs/vct_premium_defconfig                          |  1 +
 configs/vct_premium_onenand_defconfig                  |  1 +
 configs/vct_premium_onenand_small_defconfig            |  1 +
 configs/vct_premium_small_defconfig                    |  1 +
 configs/ve8313_defconfig                               |  1 +
 configs/venice2_defconfig                              |  1 +
 configs/ventana_defconfig                              |  1 +
 configs/vme8349_defconfig                              |  1 +
 configs/walnut_defconfig                               |  1 +
 configs/whistler_defconfig                             |  1 +
 configs/work_92105_defconfig                           |  1 +
 configs/xpedite1000_defconfig                          |  1 +
 configs/xpedite517x_defconfig                          |  1 +
 configs/xpedite520x_defconfig                          |  1 +
 configs/xpedite537x_defconfig                          |  1 +
 configs/xpedite550x_defconfig                          |  1 +
 configs/yellowstone_defconfig                          |  1 +
 configs/yosemite_defconfig                             |  1 +
 configs/yucca_defconfig                                |  1 +
 drivers/serial/Kconfig                                 | 10 ++++++++++
 include/configs/B4860QDS.h                             |  1 -
 include/configs/BSC9131RDB.h                           |  1 -
 include/configs/BSC9132QDS.h                           |  1 -
 include/configs/C29XPCIE.h                             |  1 -
 include/configs/CPCI2DP.h                              |  1 -
 include/configs/CPCI4052.h                             |  1 -
 include/configs/MIP405.h                               |  1 -
 include/configs/MPC8308RDB.h                           |  1 -
 include/configs/MPC8313ERDB.h                          |  1 -
 include/configs/MPC8315ERDB.h                          |  1 -
 include/configs/MPC8323ERDB.h                          |  1 -
 include/configs/MPC832XEMDS.h                          |  1 -
 include/configs/MPC8349EMDS.h                          |  1 -
 include/configs/MPC8349ITX.h                           |  1 -
 include/configs/MPC837XEMDS.h                          |  1 -
 include/configs/MPC837XERDB.h                          |  1 -
 include/configs/MPC8536DS.h                            |  1 -
 include/configs/MPC8540ADS.h                           |  1 -
 include/configs/MPC8541CDS.h                           |  1 -
 include/configs/MPC8544DS.h                            |  1 -
 include/configs/MPC8548CDS.h                           |  1 -
 include/configs/MPC8555CDS.h                           |  1 -
 include/configs/MPC8568MDS.h                           |  1 -
 include/configs/MPC8569MDS.h                           |  1 -
 include/configs/MPC8572DS.h                            |  1 -
 include/configs/MPC8610HPCD.h                          |  1 -
 include/configs/MPC8641HPCN.h                          |  1 -
 include/configs/P1010RDB.h                             |  1 -
 include/configs/P1022DS.h                              |  1 -
 include/configs/P1023RDB.h                             |  1 -
 include/configs/P2041RDB.h                             |  1 -
 include/configs/PIP405.h                               |  1 -
 include/configs/PLU405.h                               |  1 -
 include/configs/PMC405DE.h                             |  1 -
 include/configs/PMC440.h                               |  1 -
 include/configs/T102xQDS.h                             |  1 -
 include/configs/T102xRDB.h                             |  1 -
 include/configs/T1040QDS.h                             |  1 -
 include/configs/T104xRDB.h                             |  1 -
 include/configs/T208xQDS.h                             |  1 -
 include/configs/T208xRDB.h                             |  1 -
 include/configs/T4240RDB.h                             |  1 -
 include/configs/TQM834x.h                              |  1 -
 include/configs/UCP1020.h                              |  1 -
 include/configs/VOM405.h                               |  1 -
 include/configs/adp-ag101p.h                           |  1 -
 include/configs/am3517_crane.h                         |  1 -
 include/configs/am3517_evm.h                           |  1 -
 include/configs/am43xx_evm.h                           |  1 -
 include/configs/amcc-common.h                          |  1 -
 include/configs/axs101.h                               |  1 -
 include/configs/bcm28155_ap.h                          |  1 -
 include/configs/bcm_ep_board.h                         |  1 -
 include/configs/bur_am335x_common.h                    |  1 -
 include/configs/calimain.h                             |  1 -
 include/configs/cm_t35.h                               |  1 -
 include/configs/cm_t3517.h                             |  1 -
 include/configs/cm_t43.h                               |  1 -
 include/configs/controlcenterd.h                       |  1 -
 include/configs/corenet_ds.h                           |  1 -
 include/configs/cyrus.h                                |  1 -
 include/configs/da850evm.h                             |  1 -
 include/configs/ea20.h                                 |  1 -
 include/configs/edminiv2.h                             |  1 -
 include/configs/efi-x86.h                              |  1 -
 include/configs/gdppc440etx.h                          |  1 -
 include/configs/hrcon.h                                |  1 -
 include/configs/ids8313.h                              |  1 -
 include/configs/ipam390.h                              |  1 -
 include/configs/km/km83xx-common.h                     |  1 -
 include/configs/km/km_arm.h                            |  1 -
 include/configs/km/kmp204x-common.h                    |  1 -
 include/configs/ls1021aqds.h                           |  1 -
 include/configs/ls1021atwr.h                           |  1 -
 include/configs/ls1043a_common.h                       |  1 -
 include/configs/ls2085a_common.h                       |  1 -
 include/configs/lwmon5.h                               |  1 -
 include/configs/malta.h                                |  1 -
 include/configs/mcx.h                                  |  1 -
 include/configs/microblaze-generic.h                   |  1 -
 include/configs/mpc8308_p1m.h                          |  1 -
 include/configs/mv-common.h                            |  1 -
 include/configs/neo.h                                  |  1 -
 include/configs/nokia_rx51.h                           |  1 -
 include/configs/omap3_evm_common.h                     |  1 -
 include/configs/omapl138_lcdk.h                        |  1 -
 include/configs/openrisc-generic.h                     |  1 -
 include/configs/p1_p2_rdb_pc.h                         |  1 -
 include/configs/p1_twr.h                               |  1 -
 include/configs/qemu-mips.h                            |  1 -
 include/configs/qemu-mips64.h                          |  1 -
 include/configs/qemu-ppce500.h                         |  1 -
 include/configs/rk3288_common.h                        |  1 -
 include/configs/sbc8349.h                              |  1 -
 include/configs/sbc8548.h                              |  1 -
 include/configs/sbc8641d.h                             |  1 -
 include/configs/siemens-am33x-common.h                 |  1 -
 include/configs/sniper.h                               |  1 -
 include/configs/socfpga_common.h                       |  1 -
 include/configs/socrates.h                             |  1 -
 include/configs/strider.h                              |  1 -
 include/configs/sunxi-common.h                         |  1 -
 include/configs/t4qds.h                                |  1 -
 include/configs/tam3517-common.h                       |  1 -
 include/configs/tao3530.h                              |  1 -
 include/configs/tb100.h                                |  1 -
 include/configs/tegra-common.h                         |  1 -
 include/configs/ti814x_evm.h                           |  1 -
 include/configs/ti816x_evm.h                           |  1 -
 include/configs/ti_am335x_common.h                     |  1 -
 include/configs/ti_armv7_keystone2.h                   |  1 -
 include/configs/ti_omap3_common.h                      |  1 -
 include/configs/ti_omap4_common.h                      |  1 -
 include/configs/ti_omap5_common.h                      |  1 -
 include/configs/tricorder.h                            |  1 -
 include/configs/uniphier.h                             |  1 -
 include/configs/vct.h                                  |  1 -
 include/configs/ve8313.h                               |  1 -
 include/configs/vme8349.h                              |  1 -
 include/configs/x86-common.h                           |  1 -
 include/configs/xilinx-ppc.h                           |  1 -
 include/configs/xpedite1000.h                          |  1 -
 include/configs/xpedite517x.h                          |  1 -
 include/configs/xpedite520x.h                          |  1 -
 include/configs/xpedite537x.h                          |  1 -
 include/configs/xpedite550x.h                          |  1 -
 768 files changed, 672 insertions(+), 155 deletions(-)

diff --git a/arch/arm/include/asm/arch-lpc32xx/config.h b/arch/arm/include/asm/arch-lpc32xx/config.h
index 845ba4f..d76514e 100644
--- a/arch/arm/include/asm/arch-lpc32xx/config.h
+++ b/arch/arm/include/asm/arch-lpc32xx/config.h
@@ -27,7 +27,6 @@
 #endif
 
 #if defined(CONFIG_SYS_NS16550_SERIAL)
-#define CONFIG_SYS_NS16550
 
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
index af96f5b..426ee79 100644
--- a/configs/A10-OLinuXino-Lime_defconfig
+++ b/configs/A10-OLinuXino-Lime_defconfig
@@ -13,4 +13,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A10s-OLinuXino-M_defconfig b/configs/A10s-OLinuXino-M_defconfig
index cba2cfd..ebf9614 100644
--- a/configs/A10s-OLinuXino-M_defconfig
+++ b/configs/A10s-OLinuXino-M_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
index 45cc5ab..2d6736b 100644
--- a/configs/A13-OLinuXinoM_defconfig
+++ b/configs/A13-OLinuXinoM_defconfig
@@ -19,4 +19,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_SUNXI_NO_PMIC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A13-OLinuXino_defconfig b/configs/A13-OLinuXino_defconfig
index 0357803..ee07c61 100644
--- a/configs/A13-OLinuXino_defconfig
+++ b/configs/A13-OLinuXino_defconfig
@@ -12,8 +12,6 @@ CONFIG_VIDEO_VGA_VIA_LCD=y
 CONFIG_VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH=y
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
-CONFIG_USB_MUSB_GADGET=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
@@ -22,4 +20,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig
index b5181c6..5008b01 100644
--- a/configs/A20-OLinuXino-Lime2_defconfig
+++ b/configs/A20-OLinuXino-Lime2_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino-Lime_defconfig b/configs/A20-OLinuXino-Lime_defconfig
index e27698d..a26c3ff 100644
--- a/configs/A20-OLinuXino-Lime_defconfig
+++ b/configs/A20-OLinuXino-Lime_defconfig
@@ -12,4 +12,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig
index 03481f6..41b2f8f 100644
--- a/configs/A20-OLinuXino_MICRO_defconfig
+++ b/configs/A20-OLinuXino_MICRO_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-Olimex-SOM-EVB_defconfig b/configs/A20-Olimex-SOM-EVB_defconfig
index f616388..5166c06 100644
--- a/configs/A20-Olimex-SOM-EVB_defconfig
+++ b/configs/A20-Olimex-SOM-EVB_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Ainol_AW1_defconfig b/configs/Ainol_AW1_defconfig
index 67bea5a..2ef2138 100644
--- a/configs/Ainol_AW1_defconfig
+++ b/configs/Ainol_AW1_defconfig
@@ -18,4 +18,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Ampe_A76_defconfig b/configs/Ampe_A76_defconfig
index 82e01ba..38126c8 100644
--- a/configs/Ampe_A76_defconfig
+++ b/configs/Ampe_A76_defconfig
@@ -20,4 +20,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Auxtek-T003_defconfig b/configs/Auxtek-T003_defconfig
index 8f1be3e..60a3fec 100644
--- a/configs/Auxtek-T003_defconfig
+++ b/configs/Auxtek-T003_defconfig
@@ -13,4 +13,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Auxtek-T004_defconfig b/configs/Auxtek-T004_defconfig
index 434b007..1d44a74 100644
--- a/configs/Auxtek-T004_defconfig
+++ b/configs/Auxtek-T004_defconfig
@@ -11,4 +11,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/B4420QDS_NAND_defconfig b/configs/B4420QDS_NAND_defconfig
index 986eda6..b415324 100644
--- a/configs/B4420QDS_NAND_defconfig
+++ b/configs/B4420QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4420QDS_SPIFLASH_defconfig b/configs/B4420QDS_SPIFLASH_defconfig
index 5c6a319..c284b3f 100644
--- a/configs/B4420QDS_SPIFLASH_defconfig
+++ b/configs/B4420QDS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4420QDS_defconfig b/configs/B4420QDS_defconfig
index 8568f7d..bee5c18 100644
--- a/configs/B4420QDS_defconfig
+++ b/configs/B4420QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_NAND_defconfig b/configs/B4860QDS_NAND_defconfig
index a48ada4..89101fd 100644
--- a/configs/B4860QDS_NAND_defconfig
+++ b/configs/B4860QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SECURE_BOOT_defconfig b/configs/B4860QDS_SECURE_BOOT_defconfig
index 60ff218..0885531 100644
--- a/configs/B4860QDS_SECURE_BOOT_defconfig
+++ b/configs/B4860QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SPIFLASH_defconfig b/configs/B4860QDS_SPIFLASH_defconfig
index 7e8449e..8a8563d 100644
--- a/configs/B4860QDS_SPIFLASH_defconfig
+++ b/configs/B4860QDS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig b/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
index 5e3fd50..ac43c69 100644
--- a/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/B4860QDS_defconfig b/configs/B4860QDS_defconfig
index d5c7545..82b04eb 100644
--- a/configs/B4860QDS_defconfig
+++ b/configs/B4860QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_NAND_SYSCLK100_defconfig b/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
index 90aa865..039cb1f 100644
--- a/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
+++ b/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND,SYS_CLK_100"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_NAND_defconfig b/configs/BSC9131RDB_NAND_defconfig
index 9cd68f0..cf81415 100644
--- a/configs/BSC9131RDB_NAND_defconfig
+++ b/configs/BSC9131RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig b/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
index d90d7a0..c8e51cc 100644
--- a/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
+++ b/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH,SYS_CLK_100"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9131RDB_SPIFLASH_defconfig b/configs/BSC9131RDB_SPIFLASH_defconfig
index 4ba8d62..0b81532 100644
--- a/configs/BSC9131RDB_SPIFLASH_defconfig
+++ b/configs/BSC9131RDB_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
index b123f9e..a1c9f4b 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
index 0da87b3..8a26c77 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
index d8ad344..37eebc8 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
index 738c490..56eca29 100644
--- a/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
index c468137..5025075 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
index 31a5223..77fc0a6 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
index 726c8ff..c68af3a 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
index ff4e4b4..9df6539 100644
--- a/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
index 61725cd..5a9d230 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
index 484857a..d0ef3d6 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
index c4a772a..422f6ea 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
index fcada6d..54eaa9d 100644
--- a/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
index 9282e0e..1bca772 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
index f6ad1e9..e629e08 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
index f3c5702..ded40c2 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
index 7f3554d..537a167 100644
--- a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
+++ b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig
index 6cbb76c..f0c9d18 100644
--- a/configs/Bananapi_defconfig
+++ b/configs/Bananapi_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 CONFIG_CMD_GPIO=y
 CONFIG_NETCONSOLE=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig
index 40588b9..08fca2f 100644
--- a/configs/Bananapro_defconfig
+++ b/configs/Bananapro_defconfig
@@ -16,4 +16,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 CONFIG_CMD_GPIO=y
 CONFIG_NETCONSOLE=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/C29XPCIE_NAND_defconfig b/configs/C29XPCIE_NAND_defconfig
index fd26cea..54dc0fa 100644
--- a/configs/C29XPCIE_NAND_defconfig
+++ b/configs/C29XPCIE_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_NOR_SECBOOT_defconfig b/configs/C29XPCIE_NOR_SECBOOT_defconfig
index bcc2701..be4baad 100644
--- a/configs/C29XPCIE_NOR_SECBOOT_defconfig
+++ b/configs/C29XPCIE_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig b/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
index 2f151fa..310d7be 100644
--- a/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
+++ b/configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_SPIFLASH_defconfig b/configs/C29XPCIE_SPIFLASH_defconfig
index 8057f9c..13ec51c 100644
--- a/configs/C29XPCIE_SPIFLASH_defconfig
+++ b/configs/C29XPCIE_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/C29XPCIE_defconfig b/configs/C29XPCIE_defconfig
index 11610d5..f80cd36 100644
--- a/configs/C29XPCIE_defconfig
+++ b/configs/C29XPCIE_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/CHIP_defconfig b/configs/CHIP_defconfig
index 78b2c51..4d76ae5 100644
--- a/configs/CHIP_defconfig
+++ b/configs/CHIP_defconfig
@@ -12,4 +12,5 @@ CONFIG_CMD_GPIO=y
 CONFIG_AXP_DCDC2_VOLT=1300
 CONFIG_AXP_ALDO3_VOLT=3300
 CONFIG_AXP_ALDO4_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/CPCI2DP_defconfig b/configs/CPCI2DP_defconfig
index 9f98014..1c821ba 100644
--- a/configs/CPCI2DP_defconfig
+++ b/configs/CPCI2DP_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_CPCI2DP=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/CPCI4052_defconfig b/configs/CPCI4052_defconfig
index c4fac41..ba4a13e 100644
--- a/configs/CPCI4052_defconfig
+++ b/configs/CPCI4052_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/CSQ_CS908_defconfig b/configs/CSQ_CS908_defconfig
index e027a47..280e70f 100644
--- a/configs/CSQ_CS908_defconfig
+++ b/configs/CSQ_CS908_defconfig
@@ -15,5 +15,6 @@ CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Chuwi_V7_CW0825_defconfig b/configs/Chuwi_V7_CW0825_defconfig
index dedf772..2b2a239 100644
--- a/configs/Chuwi_V7_CW0825_defconfig
+++ b/configs/Chuwi_V7_CW0825_defconfig
@@ -18,6 +18,7 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
 CONFIG_VIDEO_LCD_SPI_CS="PA0"
 CONFIG_VIDEO_LCD_SPI_SCLK="PA1"
diff --git a/configs/Colombus_defconfig b/configs/Colombus_defconfig
index feaeb98..e95deb1 100644
--- a/configs/Colombus_defconfig
+++ b/configs/Colombus_defconfig
@@ -24,4 +24,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig
index 2f5e75d..7b407e7 100644
--- a/configs/Cubieboard2_defconfig
+++ b/configs/Cubieboard2_defconfig
@@ -12,4 +12,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig
index a45fbb0..ee5ab3d 100644
--- a/configs/Cubieboard_defconfig
+++ b/configs/Cubieboard_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig
index 4f4f6d4..3fe3e2b 100644
--- a/configs/Cubietruck_defconfig
+++ b/configs/Cubietruck_defconfig
@@ -3,6 +3,9 @@ CONFIG_ARCH_SUNXI=y
 CONFIG_MACH_SUN7I=y
 CONFIG_DRAM_CLK=432
 CONFIG_MMC0_CD_PIN="PH1"
+CONFIG_USB0_VBUS_PIN="PH17"
+CONFIG_USB0_VBUS_DET="PH22"
+CONFIG_USB0_ID_DET="PH19"
 CONFIG_VIDEO_VGA=y
 CONFIG_GMAC_TX_DELAY=1
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
@@ -14,9 +17,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB0_ID_DET="PH19"
-CONFIG_USB0_VBUS_DET="PH22"
-CONFIG_USB0_VBUS_PIN="PH17"
-CONFIG_USB_MUSB_SUNXI=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/Cyrus_P5020_defconfig b/configs/Cyrus_P5020_defconfig
index 280e417..f1439a2 100644
--- a/configs/Cyrus_P5020_defconfig
+++ b/configs/Cyrus_P5020_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5020"
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Cyrus_P5040_defconfig b/configs/Cyrus_P5040_defconfig
index d34c05b..6a3b049 100644
--- a/configs/Cyrus_P5040_defconfig
+++ b/configs/Cyrus_P5040_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SYS_TEXT_BASE=0xFFF40000,PPC_P5040"
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Hummingbird_A31_defconfig b/configs/Hummingbird_A31_defconfig
index 83f2004..5af42e0 100644
--- a/configs/Hummingbird_A31_defconfig
+++ b/configs/Hummingbird_A31_defconfig
@@ -16,4 +16,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Hyundai_A7HD_defconfig b/configs/Hyundai_A7HD_defconfig
index 45739cd..99ad34b 100644
--- a/configs/Hyundai_A7HD_defconfig
+++ b/configs/Hyundai_A7HD_defconfig
@@ -19,4 +19,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Linksprite_pcDuino3_Nano_defconfig b/configs/Linksprite_pcDuino3_Nano_defconfig
index ca3b1dd..d10e7f4 100644
--- a/configs/Linksprite_pcDuino3_Nano_defconfig
+++ b/configs/Linksprite_pcDuino3_Nano_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig
index 1f245e7..81615bd 100644
--- a/configs/Linksprite_pcDuino3_defconfig
+++ b/configs/Linksprite_pcDuino3_defconfig
@@ -12,4 +12,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Linksprite_pcDuino_defconfig b/configs/Linksprite_pcDuino_defconfig
index 7e2f942..d05b166 100644
--- a/configs/Linksprite_pcDuino_defconfig
+++ b/configs/Linksprite_pcDuino_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MIP405T_defconfig b/configs/MIP405T_defconfig
index 22b82b1..799a1b6 100644
--- a/configs/MIP405T_defconfig
+++ b/configs/MIP405T_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_MIP405=y
 CONFIG_SYS_EXTRA_OPTIONS="MIP405T"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MIP405_defconfig b/configs/MIP405_defconfig
index f25cf51..3a012e7 100644
--- a/configs/MIP405_defconfig
+++ b/configs/MIP405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_MIP405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MK808C_defconfig b/configs/MK808C_defconfig
index 32c65fb..f04d664 100644
--- a/configs/MK808C_defconfig
+++ b/configs/MK808C_defconfig
@@ -9,4 +9,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/MPC8308RDB_defconfig b/configs/MPC8308RDB_defconfig
index cb98324..2aec6d9 100644
--- a/configs/MPC8308RDB_defconfig
+++ b/configs/MPC8308RDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8308RDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_33_defconfig b/configs/MPC8313ERDB_33_defconfig
index ec8d7b6..d736191 100644
--- a/configs/MPC8313ERDB_33_defconfig
+++ b/configs/MPC8313ERDB_33_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_66_defconfig b/configs/MPC8313ERDB_66_defconfig
index ed498de..583fde8 100644
--- a/configs/MPC8313ERDB_66_defconfig
+++ b/configs/MPC8313ERDB_66_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8313ERDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_NAND_33_defconfig b/configs/MPC8313ERDB_NAND_33_defconfig
index ed0b105..7faa2fe 100644
--- a/configs/MPC8313ERDB_NAND_33_defconfig
+++ b/configs/MPC8313ERDB_NAND_33_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ,NAND"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8313ERDB_NAND_66_defconfig b/configs/MPC8313ERDB_NAND_66_defconfig
index 4dfb715..bb4a35d 100644
--- a/configs/MPC8313ERDB_NAND_66_defconfig
+++ b/configs/MPC8313ERDB_NAND_66_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ,NAND"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig
index e618381..3d9dede 100644
--- a/configs/MPC8315ERDB_defconfig
+++ b/configs/MPC8315ERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8315ERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8323ERDB_defconfig b/configs/MPC8323ERDB_defconfig
index 762ad5b..337a0dd 100644
--- a/configs/MPC8323ERDB_defconfig
+++ b/configs/MPC8323ERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8323ERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_ATM_defconfig b/configs/MPC832XEMDS_ATM_defconfig
index b4b3724..cd29b89 100644
--- a/configs/MPC832XEMDS_ATM_defconfig
+++ b/configs/MPC832XEMDS_ATM_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_HOST_33_defconfig b/configs/MPC832XEMDS_HOST_33_defconfig
index 9a2f338..071fe08 100644
--- a/configs/MPC832XEMDS_HOST_33_defconfig
+++ b/configs/MPC832XEMDS_HOST_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M,PQ_MDS_PIB=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_HOST_66_defconfig b/configs/MPC832XEMDS_HOST_66_defconfig
index 66e4269..789c8b1 100644
--- a/configs/MPC832XEMDS_HOST_66_defconfig
+++ b/configs/MPC832XEMDS_HOST_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M,PQ_MDS_PIB=1"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_SLAVE_defconfig b/configs/MPC832XEMDS_SLAVE_defconfig
index 467f220..7f5c55a 100644
--- a/configs/MPC832XEMDS_SLAVE_defconfig
+++ b/configs/MPC832XEMDS_SLAVE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCISLAVE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC832XEMDS_defconfig b/configs/MPC832XEMDS_defconfig
index 3e24ab1..2ea5868 100644
--- a/configs/MPC832XEMDS_defconfig
+++ b/configs/MPC832XEMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC832XEMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349EMDS_defconfig b/configs/MPC8349EMDS_defconfig
index 6a907cf..f4d1d45 100644
--- a/configs/MPC8349EMDS_defconfig
+++ b/configs/MPC8349EMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8349EMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITXGP_defconfig b/configs/MPC8349ITXGP_defconfig
index 1a85eea..445beb6 100644
--- a/configs/MPC8349ITXGP_defconfig
+++ b/configs/MPC8349ITXGP_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
 CONFIG_SYS_PROMPT="MPC8349E-mITX-GP> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITX_LOWBOOT_defconfig b/configs/MPC8349ITX_LOWBOOT_defconfig
index 9aabd6a..c260a46 100644
--- a/configs/MPC8349ITX_LOWBOOT_defconfig
+++ b/configs/MPC8349ITX_LOWBOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8349ITX_defconfig b/configs/MPC8349ITX_defconfig
index a5309de..5b234c6 100644
--- a/configs/MPC8349ITX_defconfig
+++ b/configs/MPC8349ITX_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8349ITX=y
 CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX"
 CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XEMDS_HOST_defconfig b/configs/MPC837XEMDS_HOST_defconfig
index 2e472a7..972e0f8 100644
--- a/configs/MPC837XEMDS_HOST_defconfig
+++ b/configs/MPC837XEMDS_HOST_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XEMDS_defconfig b/configs/MPC837XEMDS_defconfig
index 21b4506..9ddddde 100644
--- a/configs/MPC837XEMDS_defconfig
+++ b/configs/MPC837XEMDS_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XEMDS=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC837XERDB_defconfig b/configs/MPC837XERDB_defconfig
index 126d0d2..c77fe0c 100644
--- a/configs/MPC837XERDB_defconfig
+++ b/configs/MPC837XERDB_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC837XERDB=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_36BIT_defconfig b/configs/MPC8536DS_36BIT_defconfig
index 6604004..8614166 100644
--- a/configs/MPC8536DS_36BIT_defconfig
+++ b/configs/MPC8536DS_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_SDCARD_defconfig b/configs/MPC8536DS_SDCARD_defconfig
index d1bad84..125e07c 100644
--- a/configs/MPC8536DS_SDCARD_defconfig
+++ b/configs/MPC8536DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_SPIFLASH_defconfig b/configs/MPC8536DS_SPIFLASH_defconfig
index ad0ae69..a6a14ad 100644
--- a/configs/MPC8536DS_SPIFLASH_defconfig
+++ b/configs/MPC8536DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8536DS_defconfig b/configs/MPC8536DS_defconfig
index 2e9ae63..7d9b3a6 100644
--- a/configs/MPC8536DS_defconfig
+++ b/configs/MPC8536DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8536DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8540ADS_defconfig b/configs/MPC8540ADS_defconfig
index 41af349..1239ba8 100644
--- a/configs/MPC8540ADS_defconfig
+++ b/configs/MPC8540ADS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8540ADS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8541CDS_defconfig b/configs/MPC8541CDS_defconfig
index bc9c246..0c5cc13 100644
--- a/configs/MPC8541CDS_defconfig
+++ b/configs/MPC8541CDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8541CDS_legacy_defconfig b/configs/MPC8541CDS_legacy_defconfig
index 55478ab..3ae3a3d 100644
--- a/configs/MPC8541CDS_legacy_defconfig
+++ b/configs/MPC8541CDS_legacy_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8541CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8544DS_defconfig b/configs/MPC8544DS_defconfig
index ab0c79b..e4e2f9c 100644
--- a/configs/MPC8544DS_defconfig
+++ b/configs/MPC8544DS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8544DS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_36BIT_defconfig b/configs/MPC8548CDS_36BIT_defconfig
index 11d67ef..5e635e0 100644
--- a/configs/MPC8548CDS_36BIT_defconfig
+++ b/configs/MPC8548CDS_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_defconfig b/configs/MPC8548CDS_defconfig
index 6a9ce6a..ac2c090 100644
--- a/configs/MPC8548CDS_defconfig
+++ b/configs/MPC8548CDS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8548CDS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8548CDS_legacy_defconfig b/configs/MPC8548CDS_legacy_defconfig
index 381947f..3e1ecd7 100644
--- a/configs/MPC8548CDS_legacy_defconfig
+++ b/configs/MPC8548CDS_legacy_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8548CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8555CDS_defconfig b/configs/MPC8555CDS_defconfig
index 3bdbb0c..9a7c16e 100644
--- a/configs/MPC8555CDS_defconfig
+++ b/configs/MPC8555CDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8555CDS_legacy_defconfig b/configs/MPC8555CDS_legacy_defconfig
index 8e53ee0..eb6382c 100644
--- a/configs/MPC8555CDS_legacy_defconfig
+++ b/configs/MPC8555CDS_legacy_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8555CDS=y
 CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8568MDS_defconfig b/configs/MPC8568MDS_defconfig
index ac0ec8c..36b5c3b 100644
--- a/configs/MPC8568MDS_defconfig
+++ b/configs/MPC8568MDS_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8568MDS=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8569MDS_ATM_defconfig b/configs/MPC8569MDS_ATM_defconfig
index 719ca84..186126b 100644
--- a/configs/MPC8569MDS_ATM_defconfig
+++ b/configs/MPC8569MDS_ATM_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8569MDS=y
 CONFIG_SYS_EXTRA_OPTIONS="ATM"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8569MDS_defconfig b/configs/MPC8569MDS_defconfig
index bb1a4fb..bfb51d2 100644
--- a/configs/MPC8569MDS_defconfig
+++ b/configs/MPC8569MDS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8569MDS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8572DS_36BIT_defconfig b/configs/MPC8572DS_36BIT_defconfig
index 5c76524..878404b 100644
--- a/configs/MPC8572DS_36BIT_defconfig
+++ b/configs/MPC8572DS_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_MPC8572DS=y
 CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8572DS_defconfig b/configs/MPC8572DS_defconfig
index 2f69b14..8b42ea3 100644
--- a/configs/MPC8572DS_defconfig
+++ b/configs/MPC8572DS_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_MPC8572DS=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8610HPCD_defconfig b/configs/MPC8610HPCD_defconfig
index f0e1370..bdde5d0 100644
--- a/configs/MPC8610HPCD_defconfig
+++ b/configs/MPC8610HPCD_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8610HPCD=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8641HPCN_36BIT_defconfig b/configs/MPC8641HPCN_36BIT_defconfig
index 0aee7ea..46f8077 100644
--- a/configs/MPC8641HPCN_36BIT_defconfig
+++ b/configs/MPC8641HPCN_36BIT_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
 CONFIG_SYS_EXTRA_OPTIONS="PHYS_64BIT"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MPC8641HPCN_defconfig b/configs/MPC8641HPCN_defconfig
index 2bee038..25056d6 100644
--- a/configs/MPC8641HPCN_defconfig
+++ b/configs/MPC8641HPCN_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_MPC8641HPCN=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/MSI_Primo73_defconfig b/configs/MSI_Primo73_defconfig
index 73fd4e8..a035159 100644
--- a/configs/MSI_Primo73_defconfig
+++ b/configs/MSI_Primo73_defconfig
@@ -14,3 +14,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/MSI_Primo81_defconfig b/configs/MSI_Primo81_defconfig
index 11f3203..4ea1ff8 100644
--- a/configs/MSI_Primo81_defconfig
+++ b/configs/MSI_Primo81_defconfig
@@ -18,6 +18,7 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
 CONFIG_VIDEO_LCD_SSD2828_TX_CLK=27
 CONFIG_VIDEO_LCD_SSD2828_RESET="PA26"
diff --git a/configs/Marsboard_A10_defconfig b/configs/Marsboard_A10_defconfig
index 5689cff..5c5fabb 100644
--- a/configs/Marsboard_A10_defconfig
+++ b/configs/Marsboard_A10_defconfig
@@ -9,4 +9,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_A1000G_quad_defconfig b/configs/Mele_A1000G_quad_defconfig
index 6127098..0de9871 100644
--- a/configs/Mele_A1000G_quad_defconfig
+++ b/configs/Mele_A1000G_quad_defconfig
@@ -17,5 +17,6 @@ CONFIG_AXP_DCDC1_VOLT=3300
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
index 93707e4..467a267 100644
--- a/configs/Mele_A1000_defconfig
+++ b/configs/Mele_A1000_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_I7_defconfig b/configs/Mele_I7_defconfig
index bfe2a29..bed8afb 100644
--- a/configs/Mele_I7_defconfig
+++ b/configs/Mele_I7_defconfig
@@ -17,4 +17,5 @@ CONFIG_AXP_DCDC1_VOLT=3300
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M3_defconfig b/configs/Mele_M3_defconfig
index 0ed5da1..77de837 100644
--- a/configs/Mele_M3_defconfig
+++ b/configs/Mele_M3_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M5_defconfig b/configs/Mele_M5_defconfig
index fdb5ba4..6396ef8 100644
--- a/configs/Mele_M5_defconfig
+++ b/configs/Mele_M5_defconfig
@@ -14,4 +14,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Mele_M9_defconfig b/configs/Mele_M9_defconfig
index da76226..067d9bd 100644
--- a/configs/Mele_M9_defconfig
+++ b/configs/Mele_M9_defconfig
@@ -17,4 +17,5 @@ CONFIG_AXP_DCDC1_VOLT=3300
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_DLDO1_VOLT=3300
 CONFIG_AXP_DLDO4_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Merrii_A80_Optimus_defconfig b/configs/Merrii_A80_Optimus_defconfig
index 1eb8094..acd613b 100644
--- a/configs/Merrii_A80_Optimus_defconfig
+++ b/configs/Merrii_A80_Optimus_defconfig
@@ -12,3 +12,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun9i-a80-optimus"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Mini-X_defconfig b/configs/Mini-X_defconfig
index 8013359..501e6c6 100644
--- a/configs/Mini-X_defconfig
+++ b/configs/Mini-X_defconfig
@@ -10,5 +10,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig
index 330ee47..761bfab 100644
--- a/configs/Orangepi_defconfig
+++ b/configs/Orangepi_defconfig
@@ -16,4 +16,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig
index 4156c35..a52a483 100644
--- a/configs/Orangepi_mini_defconfig
+++ b/configs/Orangepi_mini_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
index 407f0fb..1c1077d 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
index 737921c..3d82d83 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
index a34436e..3fbc00e 100644
--- a/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_defconfig b/configs/P1010RDB-PA_36BIT_NOR_defconfig
index c6cc9b5..3ce8d6f 100644
--- a/configs/P1010RDB-PA_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
index d32ca80..85193ce 100644
--- a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
index 56cc3c6..1b6012f 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
index da56dfb..5869d58 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
index fec2697..15cb7fb 100644
--- a/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
index e45a541..dc1efe3 100644
--- a/configs/P1010RDB-PA_NAND_defconfig
+++ b/configs/P1010RDB-PA_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
index 64ed63a..1f6ae2c 100644
--- a/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_NOR_defconfig b/configs/P1010RDB-PA_NOR_defconfig
index fe4c8b5..6ff93b1 100644
--- a/configs/P1010RDB-PA_NOR_defconfig
+++ b/configs/P1010RDB-PA_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SDCARD_defconfig b/configs/P1010RDB-PA_SDCARD_defconfig
index 3d41cb0..c81b720 100644
--- a/configs/P1010RDB-PA_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
index 6afce00..7f0a31c 100644
--- a/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_defconfig b/configs/P1010RDB-PA_SPIFLASH_defconfig
index faab1ac..bc7d2d2 100644
--- a/configs/P1010RDB-PA_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
index a76affd..a828d2c 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
index 64963b6..60a0f1c 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
index ea68ffb..23c9e7e 100644
--- a/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_defconfig b/configs/P1010RDB-PB_36BIT_NOR_defconfig
index 0a5403d..cb65b64 100644
--- a/configs/P1010RDB-PB_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
index f7e9050..5ddc700 100644
--- a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
index b92c3f3..4b454fb 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
index ae9309a..27c8925 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
index 9b9a8a2..1bb4cc1 100644
--- a/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
index 60b3417..ef374bc 100644
--- a/configs/P1010RDB-PB_NAND_defconfig
+++ b/configs/P1010RDB-PB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
index 17b9941..511e909 100644
--- a/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_NOR_defconfig b/configs/P1010RDB-PB_NOR_defconfig
index f3b3b22..4a5d5a6 100644
--- a/configs/P1010RDB-PB_NOR_defconfig
+++ b/configs/P1010RDB-PB_NOR_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SDCARD_defconfig b/configs/P1010RDB-PB_SDCARD_defconfig
index 5d9607c..49c3302 100644
--- a/configs/P1010RDB-PB_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
index c88b433..4ca0198 100644
--- a/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_defconfig b/configs/P1010RDB-PB_SPIFLASH_defconfig
index b390406..8f7ab80 100644
--- a/configs/P1010RDB-PB_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_36BIT_SDCARD_defconfig b/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
index 7714ac6..a9aeed3 100644
--- a/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_36BIT_defconfig b/configs/P1020MBG-PC_36BIT_defconfig
index 29a520b..05bf49f 100644
--- a/configs/P1020MBG-PC_36BIT_defconfig
+++ b/configs/P1020MBG-PC_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_SDCARD_defconfig b/configs/P1020MBG-PC_SDCARD_defconfig
index c0a0745..fa15eda 100644
--- a/configs/P1020MBG-PC_SDCARD_defconfig
+++ b/configs/P1020MBG-PC_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020MBG-PC_defconfig b/configs/P1020MBG-PC_defconfig
index bc408b7..5b49f3b 100644
--- a/configs/P1020MBG-PC_defconfig
+++ b/configs/P1020MBG-PC_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020MBG"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
index b7d1d2e..60aa739 100644
--- a/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
index 6b55479..36d138a 100644
--- a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
index 78db491..d66e57f 100644
--- a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_36BIT_defconfig b/configs/P1020RDB-PC_36BIT_defconfig
index df9dbc9..bfd5ab8 100644
--- a/configs/P1020RDB-PC_36BIT_defconfig
+++ b/configs/P1020RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
index c54b31a..b3ebdd0 100644
--- a/configs/P1020RDB-PC_NAND_defconfig
+++ b/configs/P1020RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_SDCARD_defconfig b/configs/P1020RDB-PC_SDCARD_defconfig
index 3c08d4f..2ec6279 100644
--- a/configs/P1020RDB-PC_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_SPIFLASH_defconfig b/configs/P1020RDB-PC_SPIFLASH_defconfig
index 708d5c4..5980497 100644
--- a/configs/P1020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PC_defconfig b/configs/P1020RDB-PC_defconfig
index b7c624f..e4d700a 100644
--- a/configs/P1020RDB-PC_defconfig
+++ b/configs/P1020RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
index 82492c0..e237e51 100644
--- a/configs/P1020RDB-PD_NAND_defconfig
+++ b/configs/P1020RDB-PD_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_SDCARD_defconfig b/configs/P1020RDB-PD_SDCARD_defconfig
index e694d5b..12c802f 100644
--- a/configs/P1020RDB-PD_SDCARD_defconfig
+++ b/configs/P1020RDB-PD_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_SPIFLASH_defconfig b/configs/P1020RDB-PD_SPIFLASH_defconfig
index 3cf0b8a..b3ecca7 100644
--- a/configs/P1020RDB-PD_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020RDB-PD_defconfig b/configs/P1020RDB-PD_defconfig
index 6ddf70c..3a47640 100644
--- a/configs/P1020RDB-PD_defconfig
+++ b/configs/P1020RDB-PD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_36BIT_SDCARD_defconfig b/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
index b29fcc4..7dfc807 100644
--- a/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_36BIT_defconfig b/configs/P1020UTM-PC_36BIT_defconfig
index 63b6471..43d1c3c 100644
--- a/configs/P1020UTM-PC_36BIT_defconfig
+++ b/configs/P1020UTM-PC_36BIT_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_SDCARD_defconfig b/configs/P1020UTM-PC_SDCARD_defconfig
index 650ffe5..1906da7 100644
--- a/configs/P1020UTM-PC_SDCARD_defconfig
+++ b/configs/P1020UTM-PC_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,SDCARD"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1020UTM-PC_defconfig b/configs/P1020UTM-PC_defconfig
index 56ca99c..a5f9659 100644
--- a/configs/P1020UTM-PC_defconfig
+++ b/configs/P1020UTM-PC_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_P2_RDB_PC=y
 CONFIG_SYS_EXTRA_OPTIONS="P1020UTM"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_NAND_defconfig b/configs/P1021RDB-PC_36BIT_NAND_defconfig
index d246c7b..d3817ad 100644
--- a/configs/P1021RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1021RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_SDCARD_defconfig b/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
index 1bf813f..5d1628b 100644
--- a/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
index d5c8bd2..a19d490 100644
--- a/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_36BIT_defconfig b/configs/P1021RDB-PC_36BIT_defconfig
index a9510dc..0184c0a 100644
--- a/configs/P1021RDB-PC_36BIT_defconfig
+++ b/configs/P1021RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_NAND_defconfig b/configs/P1021RDB-PC_NAND_defconfig
index a7de239..a81e2b6 100644
--- a/configs/P1021RDB-PC_NAND_defconfig
+++ b/configs/P1021RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_SDCARD_defconfig b/configs/P1021RDB-PC_SDCARD_defconfig
index faf36fe..187ad0c 100644
--- a/configs/P1021RDB-PC_SDCARD_defconfig
+++ b/configs/P1021RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_SPIFLASH_defconfig b/configs/P1021RDB-PC_SPIFLASH_defconfig
index cc9320f..27a6891 100644
--- a/configs/P1021RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1021RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1021RDB-PC_defconfig b/configs/P1021RDB-PC_defconfig
index 9ac36f7..b8bca7e 100644
--- a/configs/P1021RDB-PC_defconfig
+++ b/configs/P1021RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1021RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_NAND_defconfig b/configs/P1022DS_36BIT_NAND_defconfig
index c093ccf..aff2fda 100644
--- a/configs/P1022DS_36BIT_NAND_defconfig
+++ b/configs/P1022DS_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_SDCARD_defconfig b/configs/P1022DS_36BIT_SDCARD_defconfig
index 342870d..674f3d5 100644
--- a/configs/P1022DS_36BIT_SDCARD_defconfig
+++ b/configs/P1022DS_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_SPIFLASH_defconfig b/configs/P1022DS_36BIT_SPIFLASH_defconfig
index 40db7b5..2cd5daf 100644
--- a/configs/P1022DS_36BIT_SPIFLASH_defconfig
+++ b/configs/P1022DS_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_36BIT_defconfig b/configs/P1022DS_36BIT_defconfig
index d6f2ee4..156832c 100644
--- a/configs/P1022DS_36BIT_defconfig
+++ b/configs/P1022DS_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_NAND_defconfig b/configs/P1022DS_NAND_defconfig
index 22e354c..b1d5a33 100644
--- a/configs/P1022DS_NAND_defconfig
+++ b/configs/P1022DS_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_SDCARD_defconfig b/configs/P1022DS_SDCARD_defconfig
index 25ec334..890ac77 100644
--- a/configs/P1022DS_SDCARD_defconfig
+++ b/configs/P1022DS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_SPIFLASH_defconfig b/configs/P1022DS_SPIFLASH_defconfig
index 0227f35..596d800 100644
--- a/configs/P1022DS_SPIFLASH_defconfig
+++ b/configs/P1022DS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1022DS_defconfig b/configs/P1022DS_defconfig
index 427c64b..b3c0378 100644
--- a/configs/P1022DS_defconfig
+++ b/configs/P1022DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1022DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1023RDB_defconfig b/configs/P1023RDB_defconfig
index ab8f6bb..2478f30 100644
--- a/configs/P1023RDB_defconfig
+++ b/configs/P1023RDB_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_P1023RDB=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_36BIT_defconfig b/configs/P1024RDB_36BIT_defconfig
index ab32765..2881d7d 100644
--- a/configs/P1024RDB_36BIT_defconfig
+++ b/configs/P1024RDB_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_NAND_defconfig b/configs/P1024RDB_NAND_defconfig
index 1b4f31c..0dde028 100644
--- a/configs/P1024RDB_NAND_defconfig
+++ b/configs/P1024RDB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_SDCARD_defconfig b/configs/P1024RDB_SDCARD_defconfig
index d647f8a..247ae6f 100644
--- a/configs/P1024RDB_SDCARD_defconfig
+++ b/configs/P1024RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_SPIFLASH_defconfig b/configs/P1024RDB_SPIFLASH_defconfig
index b5790e1..bae40fa 100644
--- a/configs/P1024RDB_SPIFLASH_defconfig
+++ b/configs/P1024RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1024RDB_defconfig b/configs/P1024RDB_defconfig
index 5dd1cbc..c5d0250 100644
--- a/configs/P1024RDB_defconfig
+++ b/configs/P1024RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1024RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_36BIT_defconfig b/configs/P1025RDB_36BIT_defconfig
index 509f116..12ddcab 100644
--- a/configs/P1025RDB_36BIT_defconfig
+++ b/configs/P1025RDB_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_NAND_defconfig b/configs/P1025RDB_NAND_defconfig
index 6369e39..c881469 100644
--- a/configs/P1025RDB_NAND_defconfig
+++ b/configs/P1025RDB_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_SDCARD_defconfig b/configs/P1025RDB_SDCARD_defconfig
index a3cc80a..84ca6cc 100644
--- a/configs/P1025RDB_SDCARD_defconfig
+++ b/configs/P1025RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_SPIFLASH_defconfig b/configs/P1025RDB_SPIFLASH_defconfig
index b5d56f7..b195aba 100644
--- a/configs/P1025RDB_SPIFLASH_defconfig
+++ b/configs/P1025RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P1025RDB_defconfig b/configs/P1025RDB_defconfig
index 05c347e..f6bf41c 100644
--- a/configs/P1025RDB_defconfig
+++ b/configs/P1025RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P1025RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
index e86ff8c..d517b0a 100644
--- a/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
index d97c6bc..c891631 100644
--- a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
index 8c15726..47f96d6 100644
--- a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_36BIT_defconfig b/configs/P2020RDB-PC_36BIT_defconfig
index b93ce08..b013fa1 100644
--- a/configs/P2020RDB-PC_36BIT_defconfig
+++ b/configs/P2020RDB-PC_36BIT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
index 3184f5e..8f27f15 100644
--- a/configs/P2020RDB-PC_NAND_defconfig
+++ b/configs/P2020RDB-PC_NAND_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_SDCARD_defconfig b/configs/P2020RDB-PC_SDCARD_defconfig
index 4328967..0c19f9c 100644
--- a/configs/P2020RDB-PC_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_SPIFLASH_defconfig b/configs/P2020RDB-PC_SPIFLASH_defconfig
index 55cb86c..a3a3d07 100644
--- a/configs/P2020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2020RDB-PC_defconfig b/configs/P2020RDB-PC_defconfig
index b5496fc..4d53398 100644
--- a/configs/P2020RDB-PC_defconfig
+++ b/configs/P2020RDB-PC_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="P2020RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_NAND_defconfig b/configs/P2041RDB_NAND_defconfig
index a3e8f9c..0cb684b 100644
--- a/configs/P2041RDB_NAND_defconfig
+++ b/configs/P2041RDB_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SDCARD_defconfig b/configs/P2041RDB_SDCARD_defconfig
index dc022a1..5d131ed 100644
--- a/configs/P2041RDB_SDCARD_defconfig
+++ b/configs/P2041RDB_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SECURE_BOOT_defconfig b/configs/P2041RDB_SECURE_BOOT_defconfig
index 3fccb2b..d7262f5 100644
--- a/configs/P2041RDB_SECURE_BOOT_defconfig
+++ b/configs/P2041RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SPIFLASH_defconfig b/configs/P2041RDB_SPIFLASH_defconfig
index f748ba3..a038036 100644
--- a/configs/P2041RDB_SPIFLASH_defconfig
+++ b/configs/P2041RDB_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig b/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
index 4d62252..5551a51 100644
--- a/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P2041RDB_defconfig b/configs/P2041RDB_defconfig
index 9dba9a6..c9cc6ee 100644
--- a/configs/P2041RDB_defconfig
+++ b/configs/P2041RDB_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P2041RDB=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_NAND_SECURE_BOOT_defconfig b/configs/P3041DS_NAND_SECURE_BOOT_defconfig
index 6e4b88e..391c4eb 100644
--- a/configs/P3041DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P3041DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_NAND_defconfig b/configs/P3041DS_NAND_defconfig
index d075e8f..5e4e93a 100644
--- a/configs/P3041DS_NAND_defconfig
+++ b/configs/P3041DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SDCARD_defconfig b/configs/P3041DS_SDCARD_defconfig
index 5f1c198..f173072 100644
--- a/configs/P3041DS_SDCARD_defconfig
+++ b/configs/P3041DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SECURE_BOOT_defconfig b/configs/P3041DS_SECURE_BOOT_defconfig
index 307f6d7..388a9c4 100644
--- a/configs/P3041DS_SECURE_BOOT_defconfig
+++ b/configs/P3041DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SPIFLASH_defconfig b/configs/P3041DS_SPIFLASH_defconfig
index 6112639..7bd9049 100644
--- a/configs/P3041DS_SPIFLASH_defconfig
+++ b/configs/P3041DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_SRIO_PCIE_BOOT_defconfig b/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
index 24a79ce..6537d33 100644
--- a/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P3041DS_defconfig b/configs/P3041DS_defconfig
index 0fed50f..1d1ee5f 100644
--- a/configs/P3041DS_defconfig
+++ b/configs/P3041DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P3041DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SDCARD_defconfig b/configs/P4080DS_SDCARD_defconfig
index 74a1452..c70d4a3 100644
--- a/configs/P4080DS_SDCARD_defconfig
+++ b/configs/P4080DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SECURE_BOOT_defconfig b/configs/P4080DS_SECURE_BOOT_defconfig
index 0dd1f32..837af54 100644
--- a/configs/P4080DS_SECURE_BOOT_defconfig
+++ b/configs/P4080DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SPIFLASH_defconfig b/configs/P4080DS_SPIFLASH_defconfig
index b7bfc38..df8d0e1 100644
--- a/configs/P4080DS_SPIFLASH_defconfig
+++ b/configs/P4080DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_SRIO_PCIE_BOOT_defconfig b/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
index 766db5e..17d9f9e 100644
--- a/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P4080DS_defconfig b/configs/P4080DS_defconfig
index b0a6bdf..abccf20 100644
--- a/configs/P4080DS_defconfig
+++ b/configs/P4080DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P4080DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_NAND_SECURE_BOOT_defconfig b/configs/P5020DS_NAND_SECURE_BOOT_defconfig
index c89ec85..73282b4 100644
--- a/configs/P5020DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P5020DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_NAND_defconfig b/configs/P5020DS_NAND_defconfig
index 64ba6e9..486cd8b 100644
--- a/configs/P5020DS_NAND_defconfig
+++ b/configs/P5020DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SDCARD_defconfig b/configs/P5020DS_SDCARD_defconfig
index 796e9a1..5c16ea6 100644
--- a/configs/P5020DS_SDCARD_defconfig
+++ b/configs/P5020DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SECURE_BOOT_defconfig b/configs/P5020DS_SECURE_BOOT_defconfig
index 27ae488..6853aea 100644
--- a/configs/P5020DS_SECURE_BOOT_defconfig
+++ b/configs/P5020DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SPIFLASH_defconfig b/configs/P5020DS_SPIFLASH_defconfig
index 65cc600..cf8f5f0 100644
--- a/configs/P5020DS_SPIFLASH_defconfig
+++ b/configs/P5020DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_SRIO_PCIE_BOOT_defconfig b/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
index 65e9d2f..7c509c8 100644
--- a/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5020DS_defconfig b/configs/P5020DS_defconfig
index bd06987..4c9a90a 100644
--- a/configs/P5020DS_defconfig
+++ b/configs/P5020DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P5020DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_NAND_SECURE_BOOT_defconfig b/configs/P5040DS_NAND_SECURE_BOOT_defconfig
index 3027031..9790351 100644
--- a/configs/P5040DS_NAND_SECURE_BOOT_defconfig
+++ b/configs/P5040DS_NAND_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_NAND_defconfig b/configs/P5040DS_NAND_defconfig
index b2f5cda..b0ef12d 100644
--- a/configs/P5040DS_NAND_defconfig
+++ b/configs/P5040DS_NAND_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SDCARD_defconfig b/configs/P5040DS_SDCARD_defconfig
index 950df55..b8923ae 100644
--- a/configs/P5040DS_SDCARD_defconfig
+++ b/configs/P5040DS_SDCARD_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SECURE_BOOT_defconfig b/configs/P5040DS_SECURE_BOOT_defconfig
index d0bc383..8731974 100644
--- a/configs/P5040DS_SECURE_BOOT_defconfig
+++ b/configs/P5040DS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_SPIFLASH_defconfig b/configs/P5040DS_SPIFLASH_defconfig
index 0dbc3eb..a4b7aaa 100644
--- a/configs/P5040DS_SPIFLASH_defconfig
+++ b/configs/P5040DS_SPIFLASH_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/P5040DS_defconfig b/configs/P5040DS_defconfig
index 5da5a3c..6c73693 100644
--- a/configs/P5040DS_defconfig
+++ b/configs/P5040DS_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P5040DS=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/PIP405_defconfig b/configs/PIP405_defconfig
index ced7d1a..046a5d8 100644
--- a/configs/PIP405_defconfig
+++ b/configs/PIP405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_PIP405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PLU405_defconfig b/configs/PLU405_defconfig
index a691e24..546376f 100644
--- a/configs/PLU405_defconfig
+++ b/configs/PLU405_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PMC405DE_defconfig b/configs/PMC405DE_defconfig
index 37b2d23..53fccf5 100644
--- a/configs/PMC405DE_defconfig
+++ b/configs/PMC405DE_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/PMC440_defconfig b/configs/PMC440_defconfig
index 96ff54c..984497a 100644
--- a/configs/PMC440_defconfig
+++ b/configs/PMC440_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig
index 20d3f93..d535dcc 100644
--- a/configs/Sinlinx_SinA33_defconfig
+++ b/configs/Sinlinx_SinA33_defconfig
@@ -10,3 +10,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/Sinovoip_BPI_M2_defconfig b/configs/Sinovoip_BPI_M2_defconfig
index a5f8e6a..c83def8 100644
--- a/configs/Sinovoip_BPI_M2_defconfig
+++ b/configs/Sinovoip_BPI_M2_defconfig
@@ -16,4 +16,5 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
 CONFIG_AXP_ALDO2_VOLT=1800
 CONFIG_AXP_DLDO1_VOLT=3000
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/T1023RDB_NAND_defconfig b/configs/T1023RDB_NAND_defconfig
index 836bde4..634ab9e 100644
--- a/configs/T1023RDB_NAND_defconfig
+++ b/configs/T1023RDB_NAND_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SDCARD_defconfig b/configs/T1023RDB_SDCARD_defconfig
index 7bc7f54..2ececeb 100644
--- a/configs/T1023RDB_SDCARD_defconfig
+++ b/configs/T1023RDB_SDCARD_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SECURE_BOOT_defconfig b/configs/T1023RDB_SECURE_BOOT_defconfig
index 6a3ccca..d474b23 100644
--- a/configs/T1023RDB_SECURE_BOOT_defconfig
+++ b/configs/T1023RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_SPIFLASH_defconfig b/configs/T1023RDB_SPIFLASH_defconfig
index 83b14a8..841456e 100644
--- a/configs/T1023RDB_SPIFLASH_defconfig
+++ b/configs/T1023RDB_SPIFLASH_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1023RDB_defconfig b/configs/T1023RDB_defconfig
index c4b72d4..5c6e6eb 100644
--- a/configs/T1023RDB_defconfig
+++ b/configs/T1023RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig b/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
index f69c49d..8a71c58 100644
--- a/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
+++ b/configs/T1024QDS_DDR4_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_DDR4_defconfig b/configs/T1024QDS_DDR4_defconfig
index 174fbca..c8dad93 100644
--- a/configs/T1024QDS_DDR4_defconfig
+++ b/configs/T1024QDS_DDR4_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_T102XQDS=y
 CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_NAND_defconfig b/configs/T1024QDS_NAND_defconfig
index caedd39..b22a28b 100644
--- a/configs/T1024QDS_NAND_defconfig
+++ b/configs/T1024QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SDCARD_defconfig b/configs/T1024QDS_SDCARD_defconfig
index 844d9a5..edb0d16 100644
--- a/configs/T1024QDS_SDCARD_defconfig
+++ b/configs/T1024QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SECURE_BOOT_defconfig b/configs/T1024QDS_SECURE_BOOT_defconfig
index 9f80de0..a0035bf 100644
--- a/configs/T1024QDS_SECURE_BOOT_defconfig
+++ b/configs/T1024QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_SPIFLASH_defconfig b/configs/T1024QDS_SPIFLASH_defconfig
index dc5a460..5d28726 100644
--- a/configs/T1024QDS_SPIFLASH_defconfig
+++ b/configs/T1024QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024QDS_defconfig b/configs/T1024QDS_defconfig
index 74138c7..0373aef 100644
--- a/configs/T1024QDS_defconfig
+++ b/configs/T1024QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_NAND_defconfig b/configs/T1024RDB_NAND_defconfig
index 7ae0433..6f9dc18 100644
--- a/configs/T1024RDB_NAND_defconfig
+++ b/configs/T1024RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SDCARD_defconfig b/configs/T1024RDB_SDCARD_defconfig
index 3a664f8..c2656ca 100644
--- a/configs/T1024RDB_SDCARD_defconfig
+++ b/configs/T1024RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SECURE_BOOT_defconfig b/configs/T1024RDB_SECURE_BOOT_defconfig
index 8f4378b..638388d 100644
--- a/configs/T1024RDB_SECURE_BOOT_defconfig
+++ b/configs/T1024RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_SPIFLASH_defconfig b/configs/T1024RDB_SPIFLASH_defconfig
index 36f2208..b64d694 100644
--- a/configs/T1024RDB_SPIFLASH_defconfig
+++ b/configs/T1024RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1024RDB_defconfig b/configs/T1024RDB_defconfig
index fba47c2..55981da 100644
--- a/configs/T1024RDB_defconfig
+++ b/configs/T1024RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_NAND_defconfig b/configs/T1040D4RDB_NAND_defconfig
index 0af8c8d..6bad226 100644
--- a/configs/T1040D4RDB_NAND_defconfig
+++ b/configs/T1040D4RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SDCARD_defconfig b/configs/T1040D4RDB_SDCARD_defconfig
index dc9ee34..b0167ec 100644
--- a/configs/T1040D4RDB_SDCARD_defconfig
+++ b/configs/T1040D4RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T1
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SECURE_BOOT_defconfig b/configs/T1040D4RDB_SECURE_BOOT_defconfig
index 6a891a6..bfdeab0 100644
--- a/configs/T1040D4RDB_SECURE_BOOT_defconfig
+++ b/configs/T1040D4RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_SPIFLASH_defconfig b/configs/T1040D4RDB_SPIFLASH_defconfig
index 4628576..13b35fb 100644
--- a/configs/T1040D4RDB_SPIFLASH_defconfig
+++ b/configs/T1040D4RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040D4RDB_defconfig b/configs/T1040D4RDB_defconfig
index 6adc196..534a2c4 100644
--- a/configs/T1040D4RDB_defconfig
+++ b/configs/T1040D4RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_DDR4_defconfig b/configs/T1040QDS_DDR4_defconfig
index 8c4320b..093158d 100644
--- a/configs/T1040QDS_DDR4_defconfig
+++ b/configs/T1040QDS_DDR4_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_SECURE_BOOT_defconfig b/configs/T1040QDS_SECURE_BOOT_defconfig
index 607c280..1639569 100644
--- a/configs/T1040QDS_SECURE_BOOT_defconfig
+++ b/configs/T1040QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040QDS_defconfig b/configs/T1040QDS_defconfig
index 1f200f9..80a09d9 100644
--- a/configs/T1040QDS_defconfig
+++ b/configs/T1040QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_NAND_defconfig b/configs/T1040RDB_NAND_defconfig
index 146448d..aad125a 100644
--- a/configs/T1040RDB_NAND_defconfig
+++ b/configs/T1040RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SDCARD_defconfig b/configs/T1040RDB_SDCARD_defconfig
index f363067..0128b8a 100644
--- a/configs/T1040RDB_SDCARD_defconfig
+++ b/configs/T1040RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SECURE_BOOT_defconfig b/configs/T1040RDB_SECURE_BOOT_defconfig
index 55d2a5e..9511de1 100644
--- a/configs/T1040RDB_SECURE_BOOT_defconfig
+++ b/configs/T1040RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT,T1040RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_SPIFLASH_defconfig b/configs/T1040RDB_SPIFLASH_defconfig
index c6fd93a..71ab8fc 100644
--- a/configs/T1040RDB_SPIFLASH_defconfig
+++ b/configs/T1040RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1040RDB_defconfig b/configs/T1040RDB_defconfig
index 810d1d8..7d8f692 100644
--- a/configs/T1040RDB_defconfig
+++ b/configs/T1040RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_NAND_defconfig b/configs/T1042D4RDB_NAND_defconfig
index c06e335..d32f9da 100644
--- a/configs/T1042D4RDB_NAND_defconfig
+++ b/configs/T1042D4RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SDCARD_defconfig b/configs/T1042D4RDB_SDCARD_defconfig
index b86554a..da87143 100644
--- a/configs/T1042D4RDB_SDCARD_defconfig
+++ b/configs/T1042D4RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T1
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SECURE_BOOT_defconfig b/configs/T1042D4RDB_SECURE_BOOT_defconfig
index 8130f7c..2cc1fd2 100644
--- a/configs/T1042D4RDB_SECURE_BOOT_defconfig
+++ b/configs/T1042D4RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BO
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_SPIFLASH_defconfig b/configs/T1042D4RDB_SPIFLASH_defconfig
index ca7243a..24e535c 100644
--- a/configs/T1042D4RDB_SPIFLASH_defconfig
+++ b/configs/T1042D4RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042D4RDB_defconfig b/configs/T1042D4RDB_defconfig
index 4e44c89..12e2d5e 100644
--- a/configs/T1042D4RDB_defconfig
+++ b/configs/T1042D4RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_NAND_defconfig b/configs/T1042RDB_PI_NAND_defconfig
index ff0052a..8fbf3f1 100644
--- a/configs/T1042RDB_PI_NAND_defconfig
+++ b/configs/T1042RDB_PI_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_SDCARD_defconfig b/configs/T1042RDB_PI_SDCARD_defconfig
index c19bd8b..bf8106a 100644
--- a/configs/T1042RDB_PI_SDCARD_defconfig
+++ b/configs/T1042RDB_PI_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_SPIFLASH_defconfig b/configs/T1042RDB_PI_SPIFLASH_defconfig
index fbce984..1e5f1bb 100644
--- a/configs/T1042RDB_PI_SPIFLASH_defconfig
+++ b/configs/T1042RDB_PI_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_PI_defconfig b/configs/T1042RDB_PI_defconfig
index 6353543..6f25deb 100644
--- a/configs/T1042RDB_PI_defconfig
+++ b/configs/T1042RDB_PI_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_SECURE_BOOT_defconfig b/configs/T1042RDB_SECURE_BOOT_defconfig
index 39121ca..7b417d8 100644
--- a/configs/T1042RDB_SECURE_BOOT_defconfig
+++ b/configs/T1042RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,SECURE_BOOT,T1042RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T1042RDB_defconfig b/configs/T1042RDB_defconfig
index e5888e3..8f16bfc 100644
--- a/configs/T1042RDB_defconfig
+++ b/configs/T1042RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
index 3610370..4aabab5 100644
--- a/configs/T2080QDS_NAND_defconfig
+++ b/configs/T2080QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
index 37cb6b7..96187fc 100644
--- a/configs/T2080QDS_SDCARD_defconfig
+++ b/configs/T2080QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SECURE_BOOT_defconfig b/configs/T2080QDS_SECURE_BOOT_defconfig
index 0f27b07..859ab2b 100644
--- a/configs/T2080QDS_SECURE_BOOT_defconfig
+++ b/configs/T2080QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
index 85a3689..6249df3 100644
--- a/configs/T2080QDS_SPIFLASH_defconfig
+++ b/configs/T2080QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
index 8f276fa..d85430f 100644
--- a/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
index c681528..bbefaac 100644
--- a/configs/T2080QDS_defconfig
+++ b/configs/T2080QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_NAND_defconfig b/configs/T2080RDB_NAND_defconfig
index ab4a7be..31b822f 100644
--- a/configs/T2080RDB_NAND_defconfig
+++ b/configs/T2080RDB_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SDCARD_defconfig b/configs/T2080RDB_SDCARD_defconfig
index 5d0f43a..180fd23 100644
--- a/configs/T2080RDB_SDCARD_defconfig
+++ b/configs/T2080RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SECURE_BOOT_defconfig b/configs/T2080RDB_SECURE_BOOT_defconfig
index 43a76bc..62ac62c 100644
--- a/configs/T2080RDB_SECURE_BOOT_defconfig
+++ b/configs/T2080RDB_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SPIFLASH_defconfig b/configs/T2080RDB_SPIFLASH_defconfig
index 1b230b1..d948827 100644
--- a/configs/T2080RDB_SPIFLASH_defconfig
+++ b/configs/T2080RDB_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig b/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
index af1a232..1add06a 100644
--- a/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2080RDB_defconfig b/configs/T2080RDB_defconfig
index cbd1220..86ae17b 100644
--- a/configs/T2080RDB_defconfig
+++ b/configs/T2080RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_NAND_defconfig b/configs/T2081QDS_NAND_defconfig
index 9ef946b..35b2a5e 100644
--- a/configs/T2081QDS_NAND_defconfig
+++ b/configs/T2081QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SDCARD_defconfig b/configs/T2081QDS_SDCARD_defconfig
index 8728f2d..a6718de 100644
--- a/configs/T2081QDS_SDCARD_defconfig
+++ b/configs/T2081QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SPIFLASH_defconfig b/configs/T2081QDS_SPIFLASH_defconfig
index 95c37dc..74562a5 100644
--- a/configs/T2081QDS_SPIFLASH_defconfig
+++ b/configs/T2081QDS_SPIFLASH_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
index 1b0ac47..fb35506 100644
--- a/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T2081QDS_defconfig b/configs/T2081QDS_defconfig
index 8f3bcf6..4273e7d 100644
--- a/configs/T2081QDS_defconfig
+++ b/configs/T2081QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_NAND_defconfig b/configs/T4160QDS_NAND_defconfig
index 3a35060..5d61b50 100644
--- a/configs/T4160QDS_NAND_defconfig
+++ b/configs/T4160QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_SDCARD_defconfig b/configs/T4160QDS_SDCARD_defconfig
index ef7135e..2117ec7 100644
--- a/configs/T4160QDS_SDCARD_defconfig
+++ b/configs/T4160QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_SECURE_BOOT_defconfig b/configs/T4160QDS_SECURE_BOOT_defconfig
index d08f98c..ccb4f5d 100644
--- a/configs/T4160QDS_SECURE_BOOT_defconfig
+++ b/configs/T4160QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160QDS_defconfig b/configs/T4160QDS_defconfig
index e44af1e..76b776a 100644
--- a/configs/T4160QDS_defconfig
+++ b/configs/T4160QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4160RDB_defconfig b/configs/T4160RDB_defconfig
index 1cc929f..7136a30 100644
--- a/configs/T4160RDB_defconfig
+++ b/configs/T4160RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_NAND_defconfig b/configs/T4240QDS_NAND_defconfig
index 31e1f53..084c55a 100644
--- a/configs/T4240QDS_NAND_defconfig
+++ b/configs/T4240QDS_NAND_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SDCARD_defconfig b/configs/T4240QDS_SDCARD_defconfig
index a464136..9952624 100644
--- a/configs/T4240QDS_SDCARD_defconfig
+++ b/configs/T4240QDS_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SECURE_BOOT_defconfig b/configs/T4240QDS_SECURE_BOOT_defconfig
index 094f305..ff06aaf 100644
--- a/configs/T4240QDS_SECURE_BOOT_defconfig
+++ b/configs/T4240QDS_SECURE_BOOT_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SECURE_BOOT"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig b/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
index 60afd9e..2c02ba0 100644
--- a/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
+++ b/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF4000
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240QDS_defconfig b/configs/T4240QDS_defconfig
index 7fe54bf..8488462 100644
--- a/configs/T4240QDS_defconfig
+++ b/configs/T4240QDS_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240RDB_SDCARD_defconfig b/configs/T4240RDB_SDCARD_defconfig
index 0d0d26c..b9b65cb 100644
--- a/configs/T4240RDB_SDCARD_defconfig
+++ b/configs/T4240RDB_SDCARD_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/T4240RDB_defconfig b/configs/T4240RDB_defconfig
index 01221b0..852ccd9 100644
--- a/configs/T4240RDB_defconfig
+++ b/configs/T4240RDB_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/TQM834x_defconfig b/configs/TQM834x_defconfig
index c980d95..f88beef 100644
--- a/configs/TQM834x_defconfig
+++ b/configs/TQM834x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TQM834X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/TWR-P1025_defconfig b/configs/TWR-P1025_defconfig
index e6d34e8..e9970df 100644
--- a/configs/TWR-P1025_defconfig
+++ b/configs/TWR-P1025_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_P1_TWR=y
 CONFIG_SYS_EXTRA_OPTIONS="TWR_P1025"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UCP1020_SPIFLASH_defconfig b/configs/UCP1020_SPIFLASH_defconfig
index d06e5fa..e17f404 100644
--- a/configs/UCP1020_SPIFLASH_defconfig
+++ b/configs/UCP1020_SPIFLASH_defconfig
@@ -9,3 +9,4 @@ CONFIG_CMD_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UCP1020_defconfig b/configs/UCP1020_defconfig
index 043e617..d5d7551 100644
--- a/configs/UCP1020_defconfig
+++ b/configs/UCP1020_defconfig
@@ -9,3 +9,4 @@ CONFIG_CMD_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/UTOO_P66_defconfig b/configs/UTOO_P66_defconfig
index dc71dde..63ddf94 100644
--- a/configs/UTOO_P66_defconfig
+++ b/configs/UTOO_P66_defconfig
@@ -25,4 +25,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/VOM405_defconfig b/configs/VOM405_defconfig
index ba3ade0..53ac1bf 100644
--- a/configs/VOM405_defconfig
+++ b/configs/VOM405_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_VOM405=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/Wexler_TAB7200_defconfig b/configs/Wexler_TAB7200_defconfig
index a01b4c1..3a007e1 100644
--- a/configs/Wexler_TAB7200_defconfig
+++ b/configs/Wexler_TAB7200_defconfig
@@ -17,5 +17,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/Wits_Pro_A20_DKT_defconfig b/configs/Wits_Pro_A20_DKT_defconfig
index c3ceedb..18c6fae 100644
--- a/configs/Wits_Pro_A20_DKT_defconfig
+++ b/configs/Wits_Pro_A20_DKT_defconfig
@@ -17,4 +17,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Wobo_i5_defconfig b/configs/Wobo_i5_defconfig
index eb1b531..da9fbb0 100644
--- a/configs/Wobo_i5_defconfig
+++ b/configs/Wobo_i5_defconfig
@@ -11,4 +11,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Yones_Toptech_BD1078_defconfig b/configs/Yones_Toptech_BD1078_defconfig
index cdde2bc..ff3bd00 100644
--- a/configs/Yones_Toptech_BD1078_defconfig
+++ b/configs/Yones_Toptech_BD1078_defconfig
@@ -23,4 +23,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/acadia_defconfig b/configs/acadia_defconfig
index 26221ce..51efe06 100644
--- a/configs/acadia_defconfig
+++ b/configs/acadia_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_ACADIA=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/adp-ag101p_defconfig b/configs/adp-ag101p_defconfig
index 4216cd7..87be263 100644
--- a/configs/adp-ag101p_defconfig
+++ b/configs/adp-ag101p_defconfig
@@ -2,3 +2,4 @@ CONFIG_NDS32=y
 CONFIG_TARGET_ADP_AG101P=y
 CONFIG_SYS_PROMPT="NDS32 # "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_baltos_defconfig b/configs/am335x_baltos_defconfig
index a0d4328..91bb63f 100644
--- a/configs/am335x_baltos_defconfig
+++ b/configs/am335x_baltos_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
index c5c7b5d..87a320b 100644
--- a/configs/am335x_boneblack_defconfig
+++ b/configs/am335x_boneblack_defconfig
@@ -10,3 +10,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DFU_TFTP=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
index e93f6ac..283489c 100644
--- a/configs/am335x_boneblack_vboot_defconfig
+++ b/configs/am335x_boneblack_vboot_defconfig
@@ -16,3 +16,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 0fa3720..d634f40 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
index 5d89104..3bfb3b7 100644
--- a/configs/am335x_evm_nor_defconfig
+++ b/configs/am335x_evm_nor_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig
index ffc0b09..91a7f7d 100644
--- a/configs/am335x_evm_norboot_defconfig
+++ b/configs/am335x_evm_norboot_defconfig
@@ -6,3 +6,4 @@ CONFIG_NOR_BOOT=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
index de4f586..cfb0a06 100644
--- a/configs/am335x_evm_spiboot_defconfig
+++ b/configs/am335x_evm_spiboot_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SPI_BOOT"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
index 496b709..d6f780d 100644
--- a/configs/am335x_evm_usbspl_defconfig
+++ b/configs/am335x_evm_usbspl_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND,SPL_USBETH_SUPPORT"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_gp_evm_defconfig b/configs/am335x_gp_evm_defconfig
index f5cd48c..b6c2198 100644
--- a/configs/am335x_gp_evm_defconfig
+++ b/configs/am335x_gp_evm_defconfig
@@ -13,4 +13,5 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
+CONFIG_SYS_NS16550=y
 CONFIG_RSA=y
diff --git a/configs/am335x_igep0033_defconfig b/configs/am335x_igep0033_defconfig
index 6175aba..8f6bf02 100644
--- a/configs/am335x_igep0033_defconfig
+++ b/configs/am335x_igep0033_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL_STACK_R=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index e810fdc..d6cd92e 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am3517_crane_defconfig b/configs/am3517_crane_defconfig
index 48a184f..72172cf 100644
--- a/configs/am3517_crane_defconfig
+++ b/configs/am3517_crane_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_PROMPT="AM3517_CRANE # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am3517_evm_defconfig b/configs/am3517_evm_defconfig
index 8857b9f..cde84fe 100644
--- a/configs/am3517_evm_defconfig
+++ b/configs/am3517_evm_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="AM3517_EVM # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/am437x_gp_evm_defconfig b/configs/am437x_gp_evm_defconfig
index f69e97e..b82cf38 100644
--- a/configs/am437x_gp_evm_defconfig
+++ b/configs/am437x_gp_evm_defconfig
@@ -15,3 +15,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am437x_sk_evm_defconfig b/configs/am437x_sk_evm_defconfig
index 1a0b518..b349e57 100644
--- a/configs/am437x_sk_evm_defconfig
+++ b/configs/am437x_sk_evm_defconfig
@@ -15,3 +15,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index 49a617f..5d15e78 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -8,3 +8,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_ethboot_defconfig b/configs/am43xx_evm_ethboot_defconfig
index 9eb9972..9038702 100644
--- a/configs/am43xx_evm_ethboot_defconfig
+++ b/configs/am43xx_evm_ethboot_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_ETH_SUPPORT"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_qspiboot_defconfig b/configs/am43xx_evm_qspiboot_defconfig
index f6a24cc..1be70bf 100644
--- a/configs/am43xx_evm_qspiboot_defconfig
+++ b/configs/am43xx_evm_qspiboot_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
index a5f2b9f..dbe79cd 100644
--- a/configs/am43xx_evm_usbhost_boot_defconfig
+++ b/configs/am43xx_evm_usbhost_boot_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_USB_HOST_SUPPORT"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index 8d6fd1e..c5e4670 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -18,3 +18,4 @@ CONFIG_DM=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/am57xx_evm_nodt_defconfig b/configs/am57xx_evm_nodt_defconfig
index eb402b8..e351be4 100644
--- a/configs/am57xx_evm_nodt_defconfig
+++ b/configs/am57xx_evm_nodt_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index e882883..8abf98a 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NFS is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/arches_defconfig b/configs/arches_defconfig
index 9084a3a..245e6fa 100644
--- a/configs/arches_defconfig
+++ b/configs/arches_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_CANYONLANDS=y
 CONFIG_ARCHES=y
 CONFIG_DEFAULT_DEVICE_TREE="arches"
 CONFIG_OF_CONTROL=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/aspenite_defconfig b/configs/aspenite_defconfig
index c606244..812122f 100644
--- a/configs/aspenite_defconfig
+++ b/configs/aspenite_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_ASPENITE=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/axs101_defconfig b/configs/axs101_defconfig
index 8e5d2e5..52d5e2f 100644
--- a/configs/axs101_defconfig
+++ b/configs/axs101_defconfig
@@ -18,4 +18,5 @@ CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/axs103_defconfig b/configs/axs103_defconfig
index cbd63fe..a7f3c38 100644
--- a/configs/axs103_defconfig
+++ b/configs/axs103_defconfig
@@ -17,4 +17,5 @@ CONFIG_DM=y
 CONFIG_CLK=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/ba10_tv_box_defconfig b/configs/ba10_tv_box_defconfig
index ce4a584..caa942d 100644
--- a/configs/ba10_tv_box_defconfig
+++ b/configs/ba10_tv_box_defconfig
@@ -14,5 +14,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/bamboo_defconfig b/configs/bamboo_defconfig
index 1d66807..6ecdbcc 100644
--- a/configs/bamboo_defconfig
+++ b/configs/bamboo_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_BAMBOO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig
index a36a501..0dbc3c7 100644
--- a/configs/bayleybay_defconfig
+++ b/configs/bayleybay_defconfig
@@ -25,6 +25,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig
index ce1e805..4b1bc49 100644
--- a/configs/bcm11130_defconfig
+++ b/configs/bcm11130_defconfig
@@ -7,3 +7,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig
index a0b5b01..2e7aff9 100644
--- a/configs/bcm11130_nand_defconfig
+++ b/configs/bcm11130_nand_defconfig
@@ -7,3 +7,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig
index 38ed8da..7ec0d30 100644
--- a/configs/bcm28155_ap_defconfig
+++ b/configs/bcm28155_ap_defconfig
@@ -6,3 +6,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig
index d7e27ea..47eb31d 100644
--- a/configs/bcm28155_w1d_defconfig
+++ b/configs/bcm28155_w1d_defconfig
@@ -7,3 +7,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360_entphn-ns_defconfig b/configs/bcm911360_entphn-ns_defconfig
index 4a7e1bc..58c0ff6 100644
--- a/configs/bcm911360_entphn-ns_defconfig
+++ b/configs/bcm911360_entphn-ns_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000,ARMV7_NONSEC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360_entphn_defconfig b/configs/bcm911360_entphn_defconfig
index a0d291c..2589cb1 100644
--- a/configs/bcm911360_entphn_defconfig
+++ b/configs/bcm911360_entphn_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm911360k_defconfig b/configs/bcm911360k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm911360k_defconfig
+++ b/configs/bcm911360k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958300k-ns_defconfig b/configs/bcm958300k-ns_defconfig
index d9105a6..14db5a1 100644
--- a/configs/bcm958300k-ns_defconfig
+++ b/configs/bcm958300k-ns_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000,ARMV7_NONSEC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958300k_defconfig b/configs/bcm958300k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm958300k_defconfig
+++ b/configs/bcm958300k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958305k_defconfig b/configs/bcm958305k_defconfig
index df88a57..ba430e6 100644
--- a/configs/bcm958305k_defconfig
+++ b/configs/bcm958305k_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig
index 2272462..3bf0b0e 100644
--- a/configs/bcm958622hr_defconfig
+++ b/configs/bcm958622hr_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x01000000"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index 45c0c29..d0cf288 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/bf527-ezkit_defconfig b/configs/bf527-ezkit_defconfig
index 8752267..7638550 100644
--- a/configs/bf527-ezkit_defconfig
+++ b/configs/bf527-ezkit_defconfig
@@ -2,5 +2,5 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_EZKIT=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
+# CONFIG_NET_TFTP_VARS is not set
 CONFIG_SPI_FLASH=y
-CONFIG_NET_TFTP_VARS=n
diff --git a/configs/birdland_bav335a_defconfig b/configs/birdland_bav335a_defconfig
index 75549d3..37b32c3 100644
--- a/configs/birdland_bav335a_defconfig
+++ b/configs/birdland_bav335a_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/birdland_bav335b_defconfig b/configs/birdland_bav335b_defconfig
index 11ee51a..601370e 100644
--- a/configs/birdland_bav335b_defconfig
+++ b/configs/birdland_bav335b_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/bubinga_defconfig b/configs/bubinga_defconfig
index 65ea4d1..1423dc5 100644
--- a/configs/bubinga_defconfig
+++ b/configs/bubinga_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_BUBINGA=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/caddy2_defconfig b/configs/caddy2_defconfig
index 343432c..a353aa1 100644
--- a/configs/caddy2_defconfig
+++ b/configs/caddy2_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="CADDY2"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cairo_defconfig b/configs/cairo_defconfig
index 356f549..3844bd4 100644
--- a/configs/cairo_defconfig
+++ b/configs/cairo_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="Cairo # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NET is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig
index 6dd5b52..374023e 100644
--- a/configs/calimain_defconfig
+++ b/configs/calimain_defconfig
@@ -6,3 +6,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR="\x0b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/canyonlands_defconfig b/configs/canyonlands_defconfig
index 44d4fbd..ad7e927 100644
--- a/configs/canyonlands_defconfig
+++ b/configs/canyonlands_defconfig
@@ -5,3 +5,4 @@ CONFIG_CANYONLANDS=y
 CONFIG_DEFAULT_DEVICE_TREE="canyonlands"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
index c454ffe..9927a74 100644
--- a/configs/cardhu_defconfig
+++ b/configs/cardhu_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index f3f5b21..ffe30a1 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -36,6 +36,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART_BASE=0xff690000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index d68fa41..3f77cb5 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -24,10 +24,10 @@ CONFIG_SPI_FLASH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART=y
-CONFIG_DEBUG_UART_NS16550=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
 CONFIG_DEBUG_UART_BOARD_INIT=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_VIDEO_VESA=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index 52336d5..8b24727 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -22,6 +22,7 @@ CONFIG_CROS_EC_LPC=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_VIDEO_VESA=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig
index f0bfd6f..df16a61 100644
--- a/configs/cm_t335_defconfig
+++ b/configs/cm_t335_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="CM-T335 # "
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t3517_defconfig b/configs/cm_t3517_defconfig
index a0cf5d8..1d9af56 100644
--- a/configs/cm_t3517_defconfig
+++ b/configs/cm_t3517_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="CM-T3517 # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index 1df085d..1e1591f 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="CM-T3x # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig
index 2432049..6044ae9 100644
--- a/configs/cm_t43_defconfig
+++ b/configs/cm_t43_defconfig
@@ -9,3 +9,4 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NFS is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/cm_t54_defconfig b/configs/cm_t54_defconfig
index aa5c755..ccf3807 100644
--- a/configs/cm_t54_defconfig
+++ b/configs/cm_t54_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="CM-T54 # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index 5ef21eb..982cee4 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Colibri T20 # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index 0338363..6dda271 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -11,6 +11,7 @@ CONFIG_SYS_PROMPT="Colibri T30 # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
index ae72e33..fd45728 100644
--- a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
@@ -7,5 +7,6 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD,DEVELOP"
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_defconfig b/configs/controlcenterd_36BIT_SDCARD_defconfig
index 67a185e..30e3cde 100644
--- a/configs/controlcenterd_36BIT_SDCARD_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_defconfig
@@ -7,5 +7,6 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig b/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
index 14c012e..59072cc 100644
--- a/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
+++ b/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
@@ -8,5 +8,6 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH,DEVELOP"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/controlcenterd_TRAILBLAZER_defconfig b/configs/controlcenterd_TRAILBLAZER_defconfig
index de3b3dd..b1e3a80 100644
--- a/configs/controlcenterd_TRAILBLAZER_defconfig
+++ b/configs/controlcenterd_TRAILBLAZER_defconfig
@@ -8,5 +8,6 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TPM=y
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
diff --git a/configs/coreboot-x86_defconfig b/configs/coreboot-x86_defconfig
index 5c4260f..05ced31 100644
--- a/configs/coreboot-x86_defconfig
+++ b/configs/coreboot-x86_defconfig
@@ -17,6 +17,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig
index 3f9b20a..c5382d0 100644
--- a/configs/crownbay_defconfig
+++ b/configs/crownbay_defconfig
@@ -24,6 +24,7 @@ CONFIG_E1000=y
 CONFIG_PCH_GBE=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/d2net_v2_defconfig b/configs/d2net_v2_defconfig
index d5f783f..c46e33d 100644
--- a/configs/d2net_v2_defconfig
+++ b/configs/d2net_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="D2NET_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850_am18xxevm_defconfig b/configs/da850_am18xxevm_defconfig
index ffdabab..59b9f32 100644
--- a/configs/da850_am18xxevm_defconfig
+++ b/configs/da850_am18xxevm_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
index 3f2c3c8..b703517 100644
--- a/configs/da850evm_defconfig
+++ b/configs/da850evm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/da850evm_direct_nor_defconfig b/configs/da850evm_direct_nor_defconfig
index 6b0bde2..53746c9 100644
--- a/configs/da850evm_direct_nor_defconfig
+++ b/configs/da850evm_direct_nor_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT"
 CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index f0b3193..a9f769e 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig
index 6f612d9..03c2a9c 100644
--- a/configs/db-88f6820-gp_defconfig
+++ b/configs/db-88f6820-gp_defconfig
@@ -8,6 +8,7 @@ CONFIG_SPL=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig
index 258e4d6..054c71d 100644
--- a/configs/db-mv784mp-gp_defconfig
+++ b/configs/db-mv784mp-gp_defconfig
@@ -9,6 +9,7 @@ CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NAND_PXA3XX=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/devconcenter_defconfig b/configs/devconcenter_defconfig
index ecf766e..f75bb62 100644
--- a/configs/devconcenter_defconfig
+++ b/configs/devconcenter_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_INTIP=y
 CONFIG_SYS_EXTRA_OPTIONS="DEVCONCENTER"
+CONFIG_SYS_NS16550=y
diff --git a/configs/devkit3250_defconfig b/configs/devkit3250_defconfig
index 88cf299..64a0fb0 100644
--- a/configs/devkit3250_defconfig
+++ b/configs/devkit3250_defconfig
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index 60ead72..d782f45 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dlvision-10g_defconfig b/configs/dlvision-10g_defconfig
index 04037ba..fe15a4a 100644
--- a/configs/dlvision-10g_defconfig
+++ b/configs/dlvision-10g_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dlvision_defconfig b/configs/dlvision_defconfig
index 97bdd51..b011cb1 100644
--- a/configs/dlvision_defconfig
+++ b/configs/dlvision_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_DLVISION=y
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig
index c56dc5b..1c4e502 100644
--- a/configs/dns325_defconfig
+++ b/configs/dns325_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_DNS325=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dockstar_defconfig b/configs/dockstar_defconfig
index 819cf1f..43e6423 100644
--- a/configs/dockstar_defconfig
+++ b/configs/dockstar_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="DockStar> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra72_evm_defconfig b/configs/dra72_evm_defconfig
index 34393c0..77af14e 100644
--- a/configs/dra72_evm_defconfig
+++ b/configs/dra72_evm_defconfig
@@ -17,3 +17,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra74_evm_defconfig b/configs/dra74_evm_defconfig
index e69ba1a..a796165 100644
--- a/configs/dra74_evm_defconfig
+++ b/configs/dra74_evm_defconfig
@@ -15,3 +15,4 @@ CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index fa48505..9316edd 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_qspiboot_defconfig b/configs/dra7xx_evm_qspiboot_defconfig
index f9acfe5..1bab9f8 100644
--- a/configs/dra7xx_evm_qspiboot_defconfig
+++ b/configs/dra7xx_evm_qspiboot_defconfig
@@ -11,3 +11,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dra7xx_evm_uart3_defconfig b/configs/dra7xx_evm_uart3_defconfig
index 3965660..c2f5491 100644
--- a/configs/dra7xx_evm_uart3_defconfig
+++ b/configs/dra7xx_evm_uart3_defconfig
@@ -12,3 +12,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
index 3338f94..18625c5 100644
--- a/configs/draco_defconfig
+++ b/configs/draco_defconfig
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/dreamplug_defconfig b/configs/dreamplug_defconfig
index ec2a749..0bb5f3a 100644
--- a/configs/dreamplug_defconfig
+++ b/configs/dreamplug_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_DREAMPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_SPI_FLASH=y
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_SF=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/duovero_defconfig b/configs/duovero_defconfig
index f833704..81d089e 100644
--- a/configs/duovero_defconfig
+++ b/configs/duovero_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="duovero # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/e2220-1170_defconfig b/configs/e2220-1170_defconfig
index 2d5c673..5833c8f 100644
--- a/configs/e2220-1170_defconfig
+++ b/configs/e2220-1170_defconfig
@@ -11,6 +11,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/ea20_defconfig b/configs/ea20_defconfig
index f38d29c..89d1cfa 100644
--- a/configs/ea20_defconfig
+++ b/configs/ea20_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="ea20 > "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/eco5pk_defconfig b/configs/eco5pk_defconfig
index 5b1c8dc..9ca47e6 100644
--- a/configs/eco5pk_defconfig
+++ b/configs/eco5pk_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="ECO5-PK # "
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/edminiv2_defconfig b/configs/edminiv2_defconfig
index d2c3f22..6ed785f 100644
--- a/configs/edminiv2_defconfig
+++ b/configs/edminiv2_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_EDMINIV2=y
 CONFIG_SPL=y
 CONFIG_SYS_PROMPT="EDMiniV2> "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig
index 76932ea..c11bde4 100644
--- a/configs/firefly-rk3288_defconfig
+++ b/configs/firefly-rk3288_defconfig
@@ -37,6 +37,7 @@ CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART_BASE=0xff690000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/fx12mm_defconfig b/configs/fx12mm_defconfig
index da5df04..c714d0d 100644
--- a/configs/fx12mm_defconfig
+++ b/configs/fx12mm_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="FX12MM:/# "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/fx12mm_flash_defconfig b/configs/fx12mm_flash_defconfig
index 60eee67..ac38412 100644
--- a/configs/fx12mm_flash_defconfig
+++ b/configs/fx12mm_flash_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFF
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ga10h_v1_1_defconfig b/configs/ga10h_v1_1_defconfig
index 09ad330..67770d8 100644
--- a/configs/ga10h_v1_1_defconfig
+++ b/configs/ga10h_v1_1_defconfig
@@ -23,5 +23,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig
index 725b37e..6bc5b91 100644
--- a/configs/galileo_defconfig
+++ b/configs/galileo_defconfig
@@ -19,6 +19,7 @@ CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/gdppc440etx_defconfig b/configs/gdppc440etx_defconfig
index 2dfebbb..9b06cb6 100644
--- a/configs/gdppc440etx_defconfig
+++ b/configs/gdppc440etx_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_GDPPC440ETX=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/glacier_defconfig b/configs/glacier_defconfig
index d318f82..61444ff 100644
--- a/configs/glacier_defconfig
+++ b/configs/glacier_defconfig
@@ -5,3 +5,4 @@ CONFIG_GLACIER=y
 CONFIG_DEFAULT_DEVICE_TREE="glacier"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/glacier_ramboot_defconfig b/configs/glacier_ramboot_defconfig
index 98bcaf4..11d7da2 100644
--- a/configs/glacier_ramboot_defconfig
+++ b/configs/glacier_ramboot_defconfig
@@ -6,3 +6,4 @@ CONFIG_DEFAULT_DEVICE_TREE="glacier"
 CONFIG_SYS_EXTRA_OPTIONS="SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/canyonlands/u-boot-ram.lds"
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
index 3f4cd1d..779daf6 100644
--- a/configs/goflexhome_defconfig
+++ b/configs/goflexhome_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="GoFlexHome> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/gplugd_defconfig b/configs/gplugd_defconfig
index ab3f760..1ab51ce 100644
--- a/configs/gplugd_defconfig
+++ b/configs/gplugd_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_GPLUGD=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/gt90h_v4_defconfig b/configs/gt90h_v4_defconfig
index a8d339c..f717acf 100644
--- a/configs/gt90h_v4_defconfig
+++ b/configs/gt90h_v4_defconfig
@@ -22,4 +22,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
index b7f79a3..7e20dbb 100644
--- a/configs/guruplug_defconfig
+++ b/configs/guruplug_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_GURUPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/haleakala_defconfig b/configs/haleakala_defconfig
index 81e3398..234bbea 100644
--- a/configs/haleakala_defconfig
+++ b/configs/haleakala_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KILAUEA=y
 CONFIG_SYS_EXTRA_OPTIONS="HALEAKALA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
index 87ddd84..a3f73cc 100644
--- a/configs/harmony_defconfig
+++ b/configs/harmony_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/hrcon_defconfig b/configs/hrcon_defconfig
index 6b2b5d3..f6c531f 100644
--- a/configs/hrcon_defconfig
+++ b/configs/hrcon_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_HRCON=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/hrcon_dh_defconfig b/configs/hrcon_dh_defconfig
index a059dd9..aad015a 100644
--- a/configs/hrcon_dh_defconfig
+++ b/configs/hrcon_dh_defconfig
@@ -1,5 +1,5 @@
-CONFIG_SYS_EXTRA_OPTIONS="HRCON_DH"
-
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_HRCON=y
+CONFIG_SYS_EXTRA_OPTIONS="HRCON_DH"
+CONFIG_SYS_NS16550=y
diff --git a/configs/i12-tvbox_defconfig b/configs/i12-tvbox_defconfig
index a15a15a..ad03341 100644
--- a/configs/i12-tvbox_defconfig
+++ b/configs/i12-tvbox_defconfig
@@ -12,4 +12,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/iNet_3F_defconfig b/configs/iNet_3F_defconfig
index 3f1624c..4969411 100644
--- a/configs/iNet_3F_defconfig
+++ b/configs/iNet_3F_defconfig
@@ -18,4 +18,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/iNet_3W_defconfig b/configs/iNet_3W_defconfig
index 6c4cd56..ab14ac7 100644
--- a/configs/iNet_3W_defconfig
+++ b/configs/iNet_3W_defconfig
@@ -18,4 +18,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/iNet_86VS_defconfig b/configs/iNet_86VS_defconfig
index 00e1458..70f9e6c 100644
--- a/configs/iNet_86VS_defconfig
+++ b/configs/iNet_86VS_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig
index 19cbfd5..a229f46 100644
--- a/configs/ib62x0_defconfig
+++ b/configs/ib62x0_defconfig
@@ -1,12 +1,13 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_IB62X0=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ib62x0 => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/icon_defconfig b/configs/icon_defconfig
index 771a093..36fd884 100644
--- a/configs/icon_defconfig
+++ b/configs/icon_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_ICON=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/iconnect_defconfig b/configs/iconnect_defconfig
index af1c1fc..3b4d37e 100644
--- a/configs/iconnect_defconfig
+++ b/configs/iconnect_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="iconnect => "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig
index 821c6fa..deafa38 100644
--- a/configs/ids8313_defconfig
+++ b/configs/ids8313_defconfig
@@ -8,3 +8,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter password - autoboot in %d seconds...\n"
 CONFIG_AUTOBOOT_DELAY_STR="ids"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0020_defconfig b/configs/igep0020_defconfig
index b2ce2ad..b9e6711 100644
--- a/configs/igep0020_defconfig
+++ b/configs/igep0020_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0020_nand_defconfig b/configs/igep0020_nand_defconfig
index 6574c3f..011ebac 100644
--- a/configs/igep0020_nand_defconfig
+++ b/configs/igep0020_nand_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
index 726ff12..63ce633 100644
--- a/configs/igep0030_defconfig
+++ b/configs/igep0030_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0030_nand_defconfig b/configs/igep0030_nand_defconfig
index 54f1ff8..dce7e06 100644
--- a/configs/igep0030_nand_defconfig
+++ b/configs/igep0030_nand_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/igep0032_defconfig b/configs/igep0032_defconfig
index cebf1c6..ba160ef 100644
--- a/configs/igep0032_defconfig
+++ b/configs/igep0032_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND"
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/inet1_defconfig b/configs/inet1_defconfig
index 1c68293..43b12fd 100644
--- a/configs/inet1_defconfig
+++ b/configs/inet1_defconfig
@@ -18,5 +18,6 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet97fv2_defconfig b/configs/inet97fv2_defconfig
index a7b3a9f..c2347b8 100644
--- a/configs/inet97fv2_defconfig
+++ b/configs/inet97fv2_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet98v_rev2_defconfig b/configs/inet98v_rev2_defconfig
index c0c6cb2..4bdd72e 100644
--- a/configs/inet98v_rev2_defconfig
+++ b/configs/inet98v_rev2_defconfig
@@ -20,4 +20,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inet9f_rev03_defconfig b/configs/inet9f_rev03_defconfig
index 0a17cf7..adbdd0a 100644
--- a/configs/inet9f_rev03_defconfig
+++ b/configs/inet9f_rev03_defconfig
@@ -17,4 +17,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/inetspace_v2_defconfig b/configs/inetspace_v2_defconfig
index f314059..0629396 100644
--- a/configs/inetspace_v2_defconfig
+++ b/configs/inetspace_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="INETSPACE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/intip_defconfig b/configs/intip_defconfig
index 898f544..7893f64 100644
--- a/configs/intip_defconfig
+++ b/configs/intip_defconfig
@@ -4,3 +4,4 @@ CONFIG_TARGET_INTIP=y
 CONFIG_SYS_EXTRA_OPTIONS="INTIB"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/io64_defconfig b/configs/io64_defconfig
index 52829da..b433cdd 100644
--- a/configs/io64_defconfig
+++ b/configs/io64_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_IO64=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
+CONFIG_SYS_NS16550=y
diff --git a/configs/io_defconfig b/configs/io_defconfig
index 7b71805..17c9c9d 100644
--- a/configs/io_defconfig
+++ b/configs/io_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/iocon_defconfig b/configs/iocon_defconfig
index 63f0c37..bc5e026 100644
--- a/configs/iocon_defconfig
+++ b/configs/iocon_defconfig
@@ -5,3 +5,4 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ipam390_defconfig b/configs/ipam390_defconfig
index a353beb..b02b496 100644
--- a/configs/ipam390_defconfig
+++ b/configs/ipam390_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/jesurun_q5_defconfig b/configs/jesurun_q5_defconfig
index 443a1c7..0e140f9 100644
--- a/configs/jesurun_q5_defconfig
+++ b/configs/jesurun_q5_defconfig
@@ -12,5 +12,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index bd60d15..cb9c98a 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
index c0d8210..66690ba 100644
--- a/configs/k2e_evm_defconfig
+++ b/configs/k2e_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2E EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index 4e747ae..236ebc5 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -10,3 +10,4 @@ CONFIG_SPL=y
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
index d5a4ef2..b84d507 100644
--- a/configs/k2hk_evm_defconfig
+++ b/configs/k2hk_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2HK EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig
index 47fcad3..6ecb409 100644
--- a/configs/k2l_evm_defconfig
+++ b/configs/k2l_evm_defconfig
@@ -11,3 +11,4 @@ CONFIG_SYS_PROMPT="K2L EVM # "
 CONFIG_OF_CONTROL=y
 CONFIG_DM=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/katmai_defconfig b/configs/katmai_defconfig
index 8492314..a2c4294 100644
--- a/configs/katmai_defconfig
+++ b/configs/katmai_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KATMAI=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kilauea_defconfig b/configs/kilauea_defconfig
index 0054cc6..5c77b0c 100644
--- a/configs/kilauea_defconfig
+++ b/configs/kilauea_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_KILAUEA=y
 CONFIG_SYS_EXTRA_OPTIONS="KILAUEA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_128m16_defconfig b/configs/km_kirkwood_128m16_defconfig
index b903f6e..8354c8b 100644
--- a/configs/km_kirkwood_128m16_defconfig
+++ b/configs/km_kirkwood_128m16_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_128M16"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_defconfig b/configs/km_kirkwood_defconfig
index 7fc1112..9b2ea23 100644
--- a/configs/km_kirkwood_defconfig
+++ b/configs/km_kirkwood_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/km_kirkwood_pci_defconfig b/configs/km_kirkwood_pci_defconfig
index a310fb7..463fd4e 100644
--- a/configs/km_kirkwood_pci_defconfig
+++ b/configs/km_kirkwood_pci_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig
index 519b39d..47a3e38 100644
--- a/configs/kmcoge4_defconfig
+++ b/configs/kmcoge4_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KMCOGE4"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig
index a8b5275..6623162 100644
--- a/configs/kmcoge5ne_defconfig
+++ b/configs/kmcoge5ne_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_KM8360=y
 CONFIG_SYS_EXTRA_OPTIONS="KMCOGE5NE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmcoge5un_defconfig b/configs/kmcoge5un_defconfig
index 95c61f1..4faff30 100644
--- a/configs/kmcoge5un_defconfig
+++ b/configs/kmcoge5un_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_COGE5UN"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig
index 3374ab0..98c4cc9 100644
--- a/configs/kmeter1_defconfig
+++ b/configs/kmeter1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_KM8360=y
 CONFIG_SYS_EXTRA_OPTIONS="KMETER1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig
index f948b2b..d402e25 100644
--- a/configs/kmlion1_defconfig
+++ b/configs/kmlion1_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KMLION1"
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmnusa_defconfig b/configs/kmnusa_defconfig
index 158fe39..d66b1c3 100644
--- a/configs/kmnusa_defconfig
+++ b/configs/kmnusa_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_NUSA"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig
index 11c53b5..6d7896e 100644
--- a/configs/kmopti2_defconfig
+++ b/configs/kmopti2_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="KMOPTI2"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsugp1_defconfig b/configs/kmsugp1_defconfig
index d754ac0..fed4722 100644
--- a/configs/kmsugp1_defconfig
+++ b/configs/kmsugp1_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_SUGP1"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig
index fd4bb9a..6cc721b 100644
--- a/configs/kmsupx5_defconfig
+++ b/configs/kmsupx5_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="KMSUPX5"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmsuv31_defconfig b/configs/kmsuv31_defconfig
index 5f56925..66dff14 100644
--- a/configs/kmsuv31_defconfig
+++ b/configs/kmsuv31_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_SUV31"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig
index aee9886..6acf420 100644
--- a/configs/kmtegr1_defconfig
+++ b/configs/kmtegr1_defconfig
@@ -1,4 +1,5 @@
-CONFIG_SYS_EXTRA_OPTIONS="KMTEGR1"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SUVD3=y
+CONFIG_SYS_EXTRA_OPTIONS="KMTEGR1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmtepr2_defconfig b/configs/kmtepr2_defconfig
index 5cffd53..a4427ac 100644
--- a/configs/kmtepr2_defconfig
+++ b/configs/kmtepr2_defconfig
@@ -1,4 +1,5 @@
-CONFIG_SYS_EXTRA_OPTIONS="KMTEPR2"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
+CONFIG_SYS_EXTRA_OPTIONS="KMTEPR2"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
index 512d12c..c2ee6be 100644
--- a/configs/kmvect1_defconfig
+++ b/configs/kmvect1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_SYS_EXTRA_OPTIONS="KMVECT1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/kwb_defconfig b/configs/kwb_defconfig
index 0f56bfa..10d39eb 100644
--- a/configs/kwb_defconfig
+++ b/configs/kwb_defconfig
@@ -19,3 +19,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_ddr4_nor_defconfig b/configs/ls1021aqds_ddr4_nor_defconfig
index 940da92..2f16339 100644
--- a/configs/ls1021aqds_ddr4_nor_defconfig
+++ b/configs/ls1021aqds_ddr4_nor_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nand_defconfig b/configs/ls1021aqds_nand_defconfig
index 613fc28..fe84419 100644
--- a/configs/ls1021aqds_nand_defconfig
+++ b/configs/ls1021aqds_nand_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nor_SECURE_BOOT_defconfig b/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
index 97d08f1..025a8f2 100644
--- a/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
+++ b/configs/ls1021aqds_nor_SECURE_BOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_nor_defconfig b/configs/ls1021aqds_nor_defconfig
index af76fa0..6878df4 100644
--- a/configs/ls1021aqds_nor_defconfig
+++ b/configs/ls1021aqds_nor_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_LS1021AQDS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_qspi_defconfig b/configs/ls1021aqds_qspi_defconfig
index 44c7f50..4beab8e 100644
--- a/configs/ls1021aqds_qspi_defconfig
+++ b/configs/ls1021aqds_qspi_defconfig
@@ -10,3 +10,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021aqds_sdcard_defconfig b/configs/ls1021aqds_sdcard_defconfig
index 0fb637e..3249b48 100644
--- a/configs/ls1021aqds_sdcard_defconfig
+++ b/configs/ls1021aqds_sdcard_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_nor_SECURE_BOOT_defconfig b/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
index 0d2c9a0..bf19c33 100644
--- a/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
+++ b/configs/ls1021atwr_nor_SECURE_BOOT_defconfig
@@ -4,3 +4,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_nor_defconfig b/configs/ls1021atwr_nor_defconfig
index 0a4b3ea..aa874fd 100644
--- a/configs/ls1021atwr_nor_defconfig
+++ b/configs/ls1021atwr_nor_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_LS1021ATWR=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_qspi_defconfig b/configs/ls1021atwr_qspi_defconfig
index 5bb52bb..9ca0ea7 100644
--- a/configs/ls1021atwr_qspi_defconfig
+++ b/configs/ls1021atwr_qspi_defconfig
@@ -10,3 +10,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_sdcard_ifc_defconfig b/configs/ls1021atwr_sdcard_ifc_defconfig
index 2136ab2..f6d4b4a 100644
--- a/configs/ls1021atwr_sdcard_ifc_defconfig
+++ b/configs/ls1021atwr_sdcard_ifc_defconfig
@@ -4,3 +4,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT"
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1021atwr_sdcard_qspi_defconfig b/configs/ls1021atwr_sdcard_qspi_defconfig
index 9f2d27d..3d80fde 100644
--- a/configs/ls1021atwr_sdcard_qspi_defconfig
+++ b/configs/ls1021atwr_sdcard_qspi_defconfig
@@ -9,3 +9,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_defconfig b/configs/ls1043ardb_defconfig
index a476360..3feac91 100644
--- a/configs/ls1043ardb_defconfig
+++ b/configs/ls1043ardb_defconfig
@@ -1,3 +1,4 @@
 CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_nand_defconfig b/configs/ls1043ardb_nand_defconfig
index 784ea20..605dbc0 100644
--- a/configs/ls1043ardb_nand_defconfig
+++ b/configs/ls1043ardb_nand_defconfig
@@ -2,3 +2,4 @@ CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,NAND_BOOT,SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls1043ardb_sdcard_defconfig b/configs/ls1043ardb_sdcard_defconfig
index 4b94e93..ea925c3 100644
--- a/configs/ls1043ardb_sdcard_defconfig
+++ b/configs/ls1043ardb_sdcard_defconfig
@@ -2,3 +2,4 @@ CONFIG_ARM=y
 CONFIG_TARGET_LS1043ARDB=y
 CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT,SYS_FSL_DDR4"
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085a_emu_defconfig b/configs/ls2085a_emu_defconfig
index 9c82e17..0505d09 100644
--- a/configs/ls2085a_emu_defconfig
+++ b/configs/ls2085a_emu_defconfig
@@ -12,3 +12,4 @@ CONFIG_SYS_EXTRA_OPTIONS="EMU,SYS_FSL_DDR4"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085a_simu_defconfig b/configs/ls2085a_simu_defconfig
index 9d04218..220a65a 100644
--- a/configs/ls2085a_simu_defconfig
+++ b/configs/ls2085a_simu_defconfig
@@ -13,3 +13,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SIMU"
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085aqds_defconfig b/configs/ls2085aqds_defconfig
index 78b121d..5b4f7eb 100644
--- a/configs/ls2085aqds_defconfig
+++ b/configs/ls2085aqds_defconfig
@@ -11,4 +11,5 @@ CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_FSL_DSPI=y
diff --git a/configs/ls2085aqds_nand_defconfig b/configs/ls2085aqds_nand_defconfig
index ce2a81c..c010e58 100644
--- a/configs/ls2085aqds_nand_defconfig
+++ b/configs/ls2085aqds_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,NAND"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ls2085ardb_defconfig b/configs/ls2085ardb_defconfig
index d0f16f2..764e48f 100644
--- a/configs/ls2085ardb_defconfig
+++ b/configs/ls2085ardb_defconfig
@@ -11,4 +11,5 @@ CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
 CONFIG_FSL_DSPI=y
diff --git a/configs/ls2085ardb_nand_defconfig b/configs/ls2085ardb_nand_defconfig
index 25a6f71..76d4d34 100644
--- a/configs/ls2085ardb_nand_defconfig
+++ b/configs/ls2085ardb_nand_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,NAND"
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
index a086de8..9fd89a6 100644
--- a/configs/lschlv2_defconfig
+++ b/configs/lschlv2_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="LSCHLV2"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
index 7d48abd..03d2ad5 100644
--- a/configs/lsxhl_defconfig
+++ b/configs/lsxhl_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="LSXHL"
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/luan_defconfig b/configs/luan_defconfig
index d42b4a9..7babe26 100644
--- a/configs/luan_defconfig
+++ b/configs/luan_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_LUAN=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/lwmon5_defconfig b/configs/lwmon5_defconfig
index 0a6da68..5cbca3b 100644
--- a/configs/lwmon5_defconfig
+++ b/configs/lwmon5_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_LWMON5=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/makalu_defconfig b/configs/makalu_defconfig
index ed9b82d..1b71638 100644
--- a/configs/makalu_defconfig
+++ b/configs/makalu_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_MAKALU=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index 3056c48..2ebd58b 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -5,4 +5,5 @@ CONFIG_TARGET_MALTA=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index 858a852..d24d217 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig
index d49def1..42b2084 100644
--- a/configs/maxbcm_defconfig
+++ b/configs/maxbcm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/mcx_defconfig b/configs/mcx_defconfig
index 1d82c40..1e204d5 100644
--- a/configs/mcx_defconfig
+++ b/configs/mcx_defconfig
@@ -9,3 +9,4 @@ CONFIG_SYS_PROMPT="mcx # "
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
index 631159a..6c9e41a 100644
--- a/configs/medcom-wide_defconfig
+++ b/configs/medcom-wide_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Medcom-Wide) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/mgcoge3un_defconfig b/configs/mgcoge3un_defconfig
index cd5f358..2355c70 100644
--- a/configs/mgcoge3un_defconfig
+++ b/configs/mgcoge3un_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_MGCOGE3UN"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig
index 02d43a3..cc0747e 100644
--- a/configs/minnowmax_defconfig
+++ b/configs/minnowmax_defconfig
@@ -24,9 +24,9 @@ CONFIG_DM_ETH=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART=y
-CONFIG_DEBUG_UART_NS16550=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/mixtile_loftq_defconfig b/configs/mixtile_loftq_defconfig
index 07865d8..249f555 100644
--- a/configs/mixtile_loftq_defconfig
+++ b/configs/mixtile_loftq_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 CONFIG_CMD_GPIO=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_AXP_ALDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_a10s_defconfig b/configs/mk802_a10s_defconfig
index 03e58cd..ca3bcdf 100644
--- a/configs/mk802_a10s_defconfig
+++ b/configs/mk802_a10s_defconfig
@@ -12,4 +12,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802_defconfig b/configs/mk802_defconfig
index 922f8c3..0cb46bb 100644
--- a/configs/mk802_defconfig
+++ b/configs/mk802_defconfig
@@ -11,4 +11,5 @@ CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_SUNXI_NO_PMIC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mk802ii_defconfig b/configs/mk802ii_defconfig
index 2a359be..f97f893 100644
--- a/configs/mk802ii_defconfig
+++ b/configs/mk802ii_defconfig
@@ -8,4 +8,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/mpc8308_p1m_defconfig b/configs/mpc8308_p1m_defconfig
index 8c67eab..c31d948 100644
--- a/configs/mpc8308_p1m_defconfig
+++ b/configs/mpc8308_p1m_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_MPC8308_P1M=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/mt_ventoux_defconfig b/configs/mt_ventoux_defconfig
index 38fb331..a0153e4 100644
--- a/configs/mt_ventoux_defconfig
+++ b/configs/mt_ventoux_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="mt_ventoux => "
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig
index 6748a6e..eae74a0 100644
--- a/configs/nas220_defconfig
+++ b/configs/nas220_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="nas220> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/neo_defconfig b/configs/neo_defconfig
index 1ef57ad..a500b5f 100644
--- a/configs/neo_defconfig
+++ b/configs/neo_defconfig
@@ -3,3 +3,4 @@ CONFIG_4xx=y
 CONFIG_TARGET_NEO=y
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/net2big_v2_defconfig b/configs/net2big_v2_defconfig
index 09df520..9f52638 100644
--- a/configs/net2big_v2_defconfig
+++ b/configs/net2big_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NET2BIG_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_lite_v2_defconfig b/configs/netspace_lite_v2_defconfig
index 862a9ae..6cfc593 100644
--- a/configs/netspace_lite_v2_defconfig
+++ b/configs/netspace_lite_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_LITE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_max_v2_defconfig b/configs/netspace_max_v2_defconfig
index 1829995..967261e 100644
--- a/configs/netspace_max_v2_defconfig
+++ b/configs/netspace_max_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MAX_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_mini_v2_defconfig b/configs/netspace_mini_v2_defconfig
index 35cb154..d06b12e 100644
--- a/configs/netspace_mini_v2_defconfig
+++ b/configs/netspace_mini_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MINI_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/netspace_v2_defconfig b/configs/netspace_v2_defconfig
index a13452b..ad4fd36 100644
--- a/configs/netspace_v2_defconfig
+++ b/configs/netspace_v2_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_V2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index 21959a6..d7eb39a 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -12,3 +12,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index dac8d3a..f685f18 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -19,6 +19,7 @@ CONFIG_CMD_CROS_EC=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_TPM_TIS_INFINEON=y
 CONFIG_USB=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index 7535a17..988f99d 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_defconfig b/configs/omap3_evm_defconfig
index 168b9a8..89fdf80 100644
--- a/configs/omap3_evm_defconfig
+++ b/configs/omap3_evm_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_quick_mmc_defconfig b/configs/omap3_evm_quick_mmc_defconfig
index 1b6aa7c..1af2b45 100644
--- a/configs/omap3_evm_quick_mmc_defconfig
+++ b/configs/omap3_evm_quick_mmc_defconfig
@@ -24,3 +24,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_evm_quick_nand_defconfig b/configs/omap3_evm_quick_nand_defconfig
index 48c2bb1..b53a9c2 100644
--- a/configs/omap3_evm_quick_nand_defconfig
+++ b/configs/omap3_evm_quick_nand_defconfig
@@ -24,3 +24,4 @@ CONFIG_SYS_PROMPT="OMAP3_EVM # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
index f22b50e..04b3215 100644
--- a/configs/omap3_ha_defconfig
+++ b/configs/omap3_ha_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_BOARD_OMAP3_HA"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
index ab03285..0ff510e 100644
--- a/configs/omap3_logic_defconfig
+++ b/configs/omap3_logic_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="OMAP Logic # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_overo_defconfig b/configs/omap3_overo_defconfig
index 51304fd..4c2a17d 100644
--- a/configs/omap3_overo_defconfig
+++ b/configs/omap3_overo_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_PROMPT="Overo # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
index 9b24544..badfde6 100644
--- a/configs/omap3_pandora_defconfig
+++ b/configs/omap3_pandora_defconfig
@@ -10,3 +10,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_zoom1_defconfig b/configs/omap3_zoom1_defconfig
index ccc1170..639000c 100644
--- a/configs/omap3_zoom1_defconfig
+++ b/configs/omap3_zoom1_defconfig
@@ -7,3 +7,4 @@ CONFIG_TARGET_OMAP3_ZOOM1=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig
index ce6e8d9..332ed66 100644
--- a/configs/omap4_panda_defconfig
+++ b/configs/omap4_panda_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap4_sdp4430_defconfig b/configs/omap4_sdp4430_defconfig
index 2947508..023ee41 100644
--- a/configs/omap4_sdp4430_defconfig
+++ b/configs/omap4_sdp4430_defconfig
@@ -8,3 +8,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omap5_uevm_defconfig b/configs/omap5_uevm_defconfig
index d136e2c..ba5d9ca 100644
--- a/configs/omap5_uevm_defconfig
+++ b/configs/omap5_uevm_defconfig
@@ -6,3 +6,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
index 8aa410d..582badf 100644
--- a/configs/omapl138_lcdk_defconfig
+++ b/configs/omapl138_lcdk_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
index 1686139..ea7861d 100644
--- a/configs/openrd_base_defconfig
+++ b/configs/openrd_base_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_BASE"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
index c342315..886698b 100644
--- a/configs/openrd_client_defconfig
+++ b/configs/openrd_client_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_CLIENT"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
index 530ba4d..4989319 100644
--- a/configs/openrd_ultimate_defconfig
+++ b/configs/openrd_ultimate_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_ULTIMATE"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/openrisc-generic_defconfig b/configs/openrisc-generic_defconfig
index 54cd832..47ed8df 100644
--- a/configs/openrisc-generic_defconfig
+++ b/configs/openrisc-generic_defconfig
@@ -3,3 +3,4 @@ CONFIG_TARGET_OPENRISC_GENERIC=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
index 07bc339..f5253bc 100644
--- a/configs/p2371-0000_defconfig
+++ b/configs/p2371-0000_defconfig
@@ -12,6 +12,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
index b56181c..8d4ad47 100644
--- a/configs/p2371-2180_defconfig
+++ b/configs/p2371-2180_defconfig
@@ -12,6 +12,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
index eb38077..cd6035c 100644
--- a/configs/p2571_defconfig
+++ b/configs/p2571_defconfig
@@ -12,6 +12,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
index 3d6840e..9d7350a 100644
--- a/configs/paz00_defconfig
+++ b/configs/paz00_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Paz00) MOD # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/pcm051_rev1_defconfig b/configs/pcm051_rev1_defconfig
index b8739cd..d81b405 100644
--- a/configs/pcm051_rev1_defconfig
+++ b/configs/pcm051_rev1_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="REV1"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig
index 3a47313..8f3e4c7 100644
--- a/configs/pcm051_rev3_defconfig
+++ b/configs/pcm051_rev3_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_EXTRA_OPTIONS="REV3"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig
index 3350b6f..00a3dac 100644
--- a/configs/pengwyn_defconfig
+++ b/configs/pengwyn_defconfig
@@ -5,3 +5,4 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/pepper_defconfig b/configs/pepper_defconfig
index a038020..62bb80a 100644
--- a/configs/pepper_defconfig
+++ b/configs/pepper_defconfig
@@ -6,3 +6,4 @@ CONFIG_SYS_PROMPT="pepper# "
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
index d19f14f..c2c4638 100644
--- a/configs/plutux_defconfig
+++ b/configs/plutux_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Plutux) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/pogo_e02_defconfig b/configs/pogo_e02_defconfig
index 234833b..1a31256 100644
--- a/configs/pogo_e02_defconfig
+++ b/configs/pogo_e02_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="PogoE02> "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/portl2_defconfig b/configs/portl2_defconfig
index 3ff9ebb..6291730 100644
--- a/configs/portl2_defconfig
+++ b/configs/portl2_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_EXTRA_OPTIONS="KM_PORTL2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/pov_protab2_ips9_defconfig b/configs/pov_protab2_ips9_defconfig
index d9b3b45..83a7b46 100644
--- a/configs/pov_protab2_ips9_defconfig
+++ b/configs/pov_protab2_ips9_defconfig
@@ -18,4 +18,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index 75c6f64..8bd1ded 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/q8_a13_tablet_defconfig b/configs/q8_a13_tablet_defconfig
index 205359e..36d806e 100644
--- a/configs/q8_a13_tablet_defconfig
+++ b/configs/q8_a13_tablet_defconfig
@@ -20,4 +20,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a23_tablet_800x480_defconfig b/configs/q8_a23_tablet_800x480_defconfig
index 927ab2a..42cce87 100644
--- a/configs/q8_a23_tablet_800x480_defconfig
+++ b/configs/q8_a23_tablet_800x480_defconfig
@@ -22,4 +22,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a33_tablet_1024x600_defconfig b/configs/q8_a33_tablet_1024x600_defconfig
index 755f4ee..bd59bb3 100644
--- a/configs/q8_a33_tablet_1024x600_defconfig
+++ b/configs/q8_a33_tablet_1024x600_defconfig
@@ -22,4 +22,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
index a8dfa0d..729d4e8 100644
--- a/configs/q8_a33_tablet_800x480_defconfig
+++ b/configs/q8_a33_tablet_800x480_defconfig
@@ -22,4 +22,5 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP_DLDO1_VOLT=3300
+CONFIG_SYS_NS16550=y
 CONFIG_USB_MUSB_HOST=y
diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig
index b05c722..d28532c 100644
--- a/configs/qemu-ppce500_defconfig
+++ b/configs/qemu-ppce500_defconfig
@@ -5,3 +5,4 @@ CONFIG_TARGET_QEMU_PPCE500=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_NETDEVICES=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 366ccc4..92e79de 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -19,6 +19,7 @@ CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_VIDEO_VESA=y
diff --git a/configs/qemu_mips64_defconfig b/configs/qemu_mips64_defconfig
index 4187430..2bc92a5 100644
--- a/configs/qemu_mips64_defconfig
+++ b/configs/qemu_mips64_defconfig
@@ -4,4 +4,5 @@ CONFIG_CPU_MIPS64_R1=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mips64el_defconfig b/configs/qemu_mips64el_defconfig
index c8bcbb7..d8a9c71 100644
--- a/configs/qemu_mips64el_defconfig
+++ b/configs/qemu_mips64el_defconfig
@@ -5,4 +5,5 @@ CONFIG_CPU_MIPS64_R1=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mips_defconfig b/configs/qemu_mips_defconfig
index 337ecea..e855906 100644
--- a/configs/qemu_mips_defconfig
+++ b/configs/qemu_mips_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_QEMU_MIPS=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/qemu_mipsel_defconfig b/configs/qemu_mipsel_defconfig
index bfb3bcc..d851075 100644
--- a/configs/qemu_mipsel_defconfig
+++ b/configs/qemu_mipsel_defconfig
@@ -4,4 +4,5 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/r7-tv-dongle_defconfig b/configs/r7-tv-dongle_defconfig
index d6387fc..2d41425 100644
--- a/configs/r7-tv-dongle_defconfig
+++ b/configs/r7-tv-dongle_defconfig
@@ -11,4 +11,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
 CONFIG_AXP152_POWER=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/rainier_defconfig b/configs/rainier_defconfig
index 1713592..cffc355 100644
--- a/configs/rainier_defconfig
+++ b/configs/rainier_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="RAINIER"
+CONFIG_SYS_NS16550=y
diff --git a/configs/rainier_ramboot_defconfig b/configs/rainier_ramboot_defconfig
index ba22d9d..9766835 100644
--- a/configs/rainier_ramboot_defconfig
+++ b/configs/rainier_ramboot_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_SYS_NS16550=y
diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
index f0e622d..404913d 100644
--- a/configs/rastaban_defconfig
+++ b/configs/rastaban_defconfig
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/redwood_defconfig b/configs/redwood_defconfig
index ad87d0e..3b7cebb 100644
--- a/configs/redwood_defconfig
+++ b/configs/redwood_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_REDWOOD=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index ba73dc3..25bb2d1 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8349_PCI_33_defconfig b/configs/sbc8349_PCI_33_defconfig
index c03a807..068b1b6 100644
--- a/configs/sbc8349_PCI_33_defconfig
+++ b/configs/sbc8349_PCI_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8349_PCI_66_defconfig b/configs/sbc8349_PCI_66_defconfig
index 030c2d6..9939155 100644
--- a/configs/sbc8349_PCI_66_defconfig
+++ b/configs/sbc8349_PCI_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8349_defconfig b/configs/sbc8349_defconfig
index 01392aa..f1e356d 100644
--- a/configs/sbc8349_defconfig
+++ b/configs/sbc8349_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SBC8349=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_33_PCIE_defconfig b/configs/sbc8548_PCI_33_PCIE_defconfig
index b6e8766..bf1f0a5 100644
--- a/configs/sbc8548_PCI_33_PCIE_defconfig
+++ b/configs/sbc8548_PCI_33_PCIE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,33,PCIE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_33_defconfig b/configs/sbc8548_PCI_33_defconfig
index f3c4ced..789333e 100644
--- a/configs/sbc8548_PCI_33_defconfig
+++ b/configs/sbc8548_PCI_33_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,33"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_66_PCIE_defconfig b/configs/sbc8548_PCI_66_PCIE_defconfig
index bb0ad95..e0f3752 100644
--- a/configs/sbc8548_PCI_66_PCIE_defconfig
+++ b/configs/sbc8548_PCI_66_PCIE_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,66,PCIE"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_PCI_66_defconfig b/configs/sbc8548_PCI_66_defconfig
index d601416..132e66d 100644
--- a/configs/sbc8548_PCI_66_defconfig
+++ b/configs/sbc8548_PCI_66_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 CONFIG_SYS_EXTRA_OPTIONS="PCI,66"
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8548_defconfig b/configs/sbc8548_defconfig
index 3e3b507..b8d9d5a 100644
--- a/configs/sbc8548_defconfig
+++ b/configs/sbc8548_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_SBC8548=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sbc8641d_defconfig b/configs/sbc8641d_defconfig
index b67c7c0..a37b18e 100644
--- a/configs/sbc8641d_defconfig
+++ b/configs/sbc8641d_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_SBC8641D=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
index bcce38c..ad16a10 100644
--- a/configs/seaboard_defconfig
+++ b/configs/seaboard_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/sequoia_defconfig b/configs/sequoia_defconfig
index bbaec61..39190a3 100644
--- a/configs/sequoia_defconfig
+++ b/configs/sequoia_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sequoia_ramboot_defconfig b/configs/sequoia_ramboot_defconfig
index 5b2c6f4..b86b230 100644
--- a/configs/sequoia_ramboot_defconfig
+++ b/configs/sequoia_ramboot_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_SEQUOIA=y
 CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
index 5a37eea..9b41460 100644
--- a/configs/sheevaplug_defconfig
+++ b/configs/sheevaplug_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_SHEEVAPLUG=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
+CONFIG_CMD_NAND=y
+CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_HUSH_PARSER=y
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_NAND=y
 CONFIG_CMD_PING=y
-CONFIG_CMD_USB=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
index 7afaa49..0474deb 100644
--- a/configs/sniper_defconfig
+++ b/configs/sniper_defconfig
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="Sniper # "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_MUSB_GADGET=y
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index a1245e2..252d500 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -15,3 +15,4 @@ CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index 74ce232..ddfaf8b 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -15,3 +15,4 @@ CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 5837e98..50ae919 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -15,3 +15,4 @@ CONFIG_SPL_SIMPLE_BUS=y
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index 455ea95..34a4ca1 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -15,3 +15,4 @@ CONFIG_SPL_SIMPLE_BUS=y
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 4ab373f..83be4b9 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -17,3 +17,4 @@ CONFIG_SPI_FLASH=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index 07b8447..28c975a 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -15,3 +15,4 @@ CONFIG_DWAPB_GPIO=y
 CONFIG_SPI_FLASH=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/socrates_defconfig b/configs/socrates_defconfig
index 37af82e..19cc388 100644
--- a/configs/socrates_defconfig
+++ b/configs/socrates_defconfig
@@ -3,3 +3,4 @@ CONFIG_MPC85xx=y
 CONFIG_TARGET_SOCRATES=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/strider_con_defconfig b/configs/strider_con_defconfig
index 74ef69e..59fdc7b 100644
--- a/configs/strider_con_defconfig
+++ b/configs/strider_con_defconfig
@@ -1,7 +1,8 @@
-CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CON"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_STRIDER=y
+CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CON"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/strider_cpu_defconfig b/configs/strider_cpu_defconfig
index fc0a823..a0584b8 100644
--- a/configs/strider_cpu_defconfig
+++ b/configs/strider_cpu_defconfig
@@ -1,7 +1,8 @@
-CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CPU"
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_STRIDER=y
+CONFIG_SYS_EXTRA_OPTIONS="STRIDER_CPU"
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_STOP_STR=" "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/sunxi_Gemei_G9_defconfig b/configs/sunxi_Gemei_G9_defconfig
index d3de194..6315ad0 100644
--- a/configs/sunxi_Gemei_G9_defconfig
+++ b/configs/sunxi_Gemei_G9_defconfig
@@ -15,4 +15,5 @@ CONFIG_SPL=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig
index e477b0e..b0b8390 100644
--- a/configs/suvd3_defconfig
+++ b/configs/suvd3_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_SYS_EXTRA_OPTIONS="SUVD3"
+CONFIG_SYS_NS16550=y
diff --git a/configs/sycamore_defconfig b/configs/sycamore_defconfig
index 844e67f..29b3d2b 100644
--- a/configs/sycamore_defconfig
+++ b/configs/sycamore_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_WALNUT=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/t3corp_defconfig b/configs/t3corp_defconfig
index c61508a..75eeda6 100644
--- a/configs/t3corp_defconfig
+++ b/configs/t3corp_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_T3CORP=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
index b2977f3..af4292b 100644
--- a/configs/tao3530_defconfig
+++ b/configs/tao3530_defconfig
@@ -8,3 +8,4 @@ CONFIG_SYS_PROMPT="TAO-3530 # "
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tb100_defconfig b/configs/tb100_defconfig
index ca34bbb..27ea43f 100644
--- a/configs/tb100_defconfig
+++ b/configs/tb100_defconfig
@@ -14,4 +14,5 @@ CONFIG_OF_EMBED=y
 CONFIG_DM=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
index 7a8d687..5b71327 100644
--- a/configs/tec-ng_defconfig
+++ b/configs/tec-ng_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
index a4d5ac6..ea3c369 100644
--- a/configs/tec_defconfig
+++ b/configs/tec_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (TEC) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
index 70420f0..5872019 100644
--- a/configs/thuban_defconfig
+++ b/configs/thuban_defconfig
@@ -10,3 +10,4 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b"
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/ti814x_evm_defconfig b/configs/ti814x_evm_defconfig
index 781e270..0c9a9d1 100644
--- a/configs/ti814x_evm_defconfig
+++ b/configs/ti814x_evm_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="U-Boot# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/ti816x_evm_defconfig b/configs/ti816x_evm_defconfig
index 294d775..78f11f5 100644
--- a/configs/ti816x_evm_defconfig
+++ b/configs/ti816x_evm_defconfig
@@ -5,3 +5,4 @@ CONFIG_SYS_PROMPT="u-boot/ti816x# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index bc30837..c32ef86 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_PROMPT="OMAP3 Tricorder # "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
index 4619fc9..1cf3928 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -10,3 +10,4 @@ CONFIG_SYS_EXTRA_OPTIONS="FLASHCARD"
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
index be65652..297353f 100644
--- a/configs/trimslice_defconfig
+++ b/configs/trimslice_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tseries_mmc_defconfig b/configs/tseries_mmc_defconfig
index 9b096ed..7518774 100644
--- a/configs/tseries_mmc_defconfig
+++ b/configs/tseries_mmc_defconfig
@@ -16,3 +16,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tseries_nand_defconfig b/configs/tseries_nand_defconfig
index ffce135..65d514a 100644
--- a/configs/tseries_nand_defconfig
+++ b/configs/tseries_nand_defconfig
@@ -16,3 +16,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/tseries_spi_defconfig b/configs/tseries_spi_defconfig
index 6703b17..befff36 100644
--- a/configs/tseries_spi_defconfig
+++ b/configs/tseries_spi_defconfig
@@ -17,3 +17,4 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig
index d4a422c..1030dc7 100644
--- a/configs/tuge1_defconfig
+++ b/configs/tuge1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="TUGE1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig
index c8db21a..7675fb3 100644
--- a/configs/tuxx1_defconfig
+++ b/configs/tuxx1_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_SYS_EXTRA_OPTIONS="TUXX1"
+CONFIG_SYS_NS16550=y
diff --git a/configs/twister_defconfig b/configs/twister_defconfig
index ec85267..e721edb 100644
--- a/configs/twister_defconfig
+++ b/configs/twister_defconfig
@@ -7,3 +7,4 @@ CONFIG_SYS_PROMPT="twister => "
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/vct_platinum_defconfig b/configs/vct_platinum_defconfig
index 0c30ae9..4b0b5b4 100644
--- a/configs/vct_platinum_defconfig
+++ b/configs/vct_platinum_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PLATINUM=y
 CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_onenand_defconfig b/configs/vct_platinum_onenand_defconfig
index e26c2f6..62d8878 100644
--- a/configs/vct_platinum_onenand_defconfig
+++ b/configs/vct_platinum_onenand_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_onenand_small_defconfig b/configs/vct_platinum_onenand_small_defconfig
index 47985cd..7b379be 100644
--- a/configs/vct_platinum_onenand_small_defconfig
+++ b/configs/vct_platinum_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinum_small_defconfig b/configs/vct_platinum_small_defconfig
index f85d3f7..78d215d 100644
--- a/configs/vct_platinum_small_defconfig
+++ b/configs/vct_platinum_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_defconfig b/configs/vct_platinumavc_defconfig
index 103434c..92a3027 100644
--- a/configs/vct_platinumavc_defconfig
+++ b/configs/vct_platinumavc_defconfig
@@ -5,4 +5,5 @@ CONFIG_SYS_PROMPT="VCT# "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_onenand_defconfig b/configs/vct_platinumavc_onenand_defconfig
index e387b82..87767bd 100644
--- a/configs/vct_platinumavc_onenand_defconfig
+++ b/configs/vct_platinumavc_onenand_defconfig
@@ -8,4 +8,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_onenand_small_defconfig b/configs/vct_platinumavc_onenand_small_defconfig
index 77dd414..be70588 100644
--- a/configs/vct_platinumavc_onenand_small_defconfig
+++ b/configs/vct_platinumavc_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_platinumavc_small_defconfig b/configs/vct_platinumavc_small_defconfig
index 8fe82fc..b7e0a78 100644
--- a/configs/vct_platinumavc_small_defconfig
+++ b/configs/vct_platinumavc_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_defconfig b/configs/vct_premium_defconfig
index 2ae4975..7ca6e34 100644
--- a/configs/vct_premium_defconfig
+++ b/configs/vct_premium_defconfig
@@ -3,4 +3,5 @@ CONFIG_TARGET_VCT=y
 CONFIG_VCT_PREMIUM=y
 CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_onenand_defconfig b/configs/vct_premium_onenand_defconfig
index 9768dbc..88555d9 100644
--- a/configs/vct_premium_onenand_defconfig
+++ b/configs/vct_premium_onenand_defconfig
@@ -6,4 +6,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_onenand_small_defconfig b/configs/vct_premium_onenand_small_defconfig
index ac6f422..a3a93b8 100644
--- a/configs/vct_premium_onenand_small_defconfig
+++ b/configs/vct_premium_onenand_small_defconfig
@@ -18,4 +18,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vct_premium_small_defconfig b/configs/vct_premium_small_defconfig
index 3297434..fddc04d 100644
--- a/configs/vct_premium_small_defconfig
+++ b/configs/vct_premium_small_defconfig
@@ -15,4 +15,5 @@ CONFIG_SYS_PROMPT="$ "
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 # CONFIG_CMD_MISC is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/ve8313_defconfig b/configs/ve8313_defconfig
index 627bb3c..5a8ba8e 100644
--- a/configs/ve8313_defconfig
+++ b/configs/ve8313_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_VE8313=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index a93c139..749e50a 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -13,6 +13,7 @@ CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_SPI_FLASH=y
+CONFIG_SYS_NS16550=y
 CONFIG_TEGRA114_SPI=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
index 01dad0e..3423f24 100644
--- a/configs/ventana_defconfig
+++ b/configs/ventana_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Ventana) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/vme8349_defconfig b/configs/vme8349_defconfig
index 117a154..7a91da3 100644
--- a/configs/vme8349_defconfig
+++ b/configs/vme8349_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC83xx=y
 CONFIG_TARGET_VME8349=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/walnut_defconfig b/configs/walnut_defconfig
index 844e67f..29b3d2b 100644
--- a/configs/walnut_defconfig
+++ b/configs/walnut_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_WALNUT=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/whistler_defconfig b/configs/whistler_defconfig
index 995cf36..9fa9664 100644
--- a/configs/whistler_defconfig
+++ b/configs/whistler_defconfig
@@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="Tegra20 (Whistler) # "
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NFS is not set
+CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/work_92105_defconfig b/configs/work_92105_defconfig
index 1c22eaf..1cad3a2 100644
--- a/configs/work_92105_defconfig
+++ b/configs/work_92105_defconfig
@@ -7,3 +7,4 @@ CONFIG_SPL=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_DM=y
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite1000_defconfig b/configs/xpedite1000_defconfig
index 73d5ff2..3bccacb 100644
--- a/configs/xpedite1000_defconfig
+++ b/configs/xpedite1000_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_XPEDITE1000=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite517x_defconfig b/configs/xpedite517x_defconfig
index 45d0ae1..07c4642 100644
--- a/configs/xpedite517x_defconfig
+++ b/configs/xpedite517x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC86xx=y
 CONFIG_TARGET_XPEDITE517X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite520x_defconfig b/configs/xpedite520x_defconfig
index 797c166..6a25b47 100644
--- a/configs/xpedite520x_defconfig
+++ b/configs/xpedite520x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE520X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite537x_defconfig b/configs/xpedite537x_defconfig
index 2db7f65..611f1b1 100644
--- a/configs/xpedite537x_defconfig
+++ b/configs/xpedite537x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE537X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/xpedite550x_defconfig b/configs/xpedite550x_defconfig
index 2740957..8f6b433 100644
--- a/configs/xpedite550x_defconfig
+++ b/configs/xpedite550x_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_XPEDITE550X=y
 # CONFIG_CMD_SETEXPR is not set
+CONFIG_SYS_NS16550=y
diff --git a/configs/yellowstone_defconfig b/configs/yellowstone_defconfig
index 7b1a630..7f4144c 100644
--- a/configs/yellowstone_defconfig
+++ b/configs/yellowstone_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YOSEMITE=y
 CONFIG_SYS_EXTRA_OPTIONS="YELLOWSTONE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/yosemite_defconfig b/configs/yosemite_defconfig
index 00ec425..cd852c2 100644
--- a/configs/yosemite_defconfig
+++ b/configs/yosemite_defconfig
@@ -2,3 +2,4 @@ CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YOSEMITE=y
 CONFIG_SYS_EXTRA_OPTIONS="YOSEMITE"
+CONFIG_SYS_NS16550=y
diff --git a/configs/yucca_defconfig b/configs/yucca_defconfig
index 6c8e20a..c3e7a7a 100644
--- a/configs/yucca_defconfig
+++ b/configs/yucca_defconfig
@@ -1,3 +1,4 @@
 CONFIG_PPC=y
 CONFIG_4xx=y
 CONFIG_TARGET_YUCCA=y
+CONFIG_SYS_NS16550=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index fe407b7..82ad90d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -186,6 +186,16 @@ config ALTERA_UART
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
+config SYS_NS16550
+	bool "NS16550 UART or compatible"
+	help
+	  Support NS16550 UART or compatible. This can be enabled in the
+	  device tree with the correct input clock frequency. If the input
+	  clock frequency is not defined in the device tree, the macro
+	  CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
+	  be used. It can be a constant or a function to get clock, eg,
+	  get_serial_clock().
+
 config SANDBOX_SERIAL
 	bool "Sandbox UART support"
 	depends on SANDBOX
diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index c83e5ce..50a5751 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -483,7 +483,6 @@ unsigned long get_board_ddr_clk(void);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index 2754016..7b34470 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -227,7 +227,6 @@ extern unsigned long get_sdram_size(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index 54dcf3b..a3a853d 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -408,7 +408,6 @@ combinations. this should be removed later
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 94f991b..9f86f1e 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -377,7 +377,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/CPCI2DP.h b/include/configs/CPCI2DP.h
index e00ab04..c3a7714 100644
--- a/include/configs/CPCI2DP.h
+++ b/include/configs/CPCI2DP.h
@@ -89,7 +89,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h
index 332a1df..1e5285c 100644
--- a/include/configs/CPCI4052.h
+++ b/include/configs/CPCI4052.h
@@ -113,7 +113,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h
index ec62c8a..b545c34 100644
--- a/include/configs/MIP405.h
+++ b/include/configs/MIP405.h
@@ -160,7 +160,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 1 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/MPC8308RDB.h b/include/configs/MPC8308RDB.h
index 551b72d..87afa31 100644
--- a/include/configs/MPC8308RDB.h
+++ b/include/configs/MPC8308RDB.h
@@ -315,7 +315,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 44c3175..fa6dd6f 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -370,7 +370,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 
diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h
index eb50be6..ba952e3 100644
--- a/include/configs/MPC8315ERDB.h
+++ b/include/configs/MPC8315ERDB.h
@@ -292,7 +292,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(CONFIG_83XX_CLKIN * 2)
diff --git a/include/configs/MPC8323ERDB.h b/include/configs/MPC8323ERDB.h
index 59d5e56..a1d45d8 100644
--- a/include/configs/MPC8323ERDB.h
+++ b/include/configs/MPC8323ERDB.h
@@ -212,7 +212,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC832XEMDS.h b/include/configs/MPC832XEMDS.h
index 5ab7d5f..b3322ae 100644
--- a/include/configs/MPC832XEMDS.h
+++ b/include/configs/MPC832XEMDS.h
@@ -292,7 +292,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h
index 988a900..71dcc6c 100644
--- a/include/configs/MPC8349EMDS.h
+++ b/include/configs/MPC8349EMDS.h
@@ -318,7 +318,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h
index 091ca17..ded73b4 100644
--- a/include/configs/MPC8349ITX.h
+++ b/include/configs/MPC8349ITX.h
@@ -353,7 +353,6 @@ boards, we say we have two, but don't display a message if we find only one. */
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h
index 7d1262d..df47888 100644
--- a/include/configs/MPC837XEMDS.h
+++ b/include/configs/MPC837XEMDS.h
@@ -308,7 +308,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index ab68e63..e77848e 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -329,7 +329,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 29c27fa..954ba3f 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -368,7 +368,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
index 157ca69..921180f 100644
--- a/include/configs/MPC8540ADS.h
+++ b/include/configs/MPC8540ADS.h
@@ -221,7 +221,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h
index 68ea5d8..d5805c1 100644
--- a/include/configs/MPC8541CDS.h
+++ b/include/configs/MPC8541CDS.h
@@ -244,7 +244,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h
index 166fcda..47e530b 100644
--- a/include/configs/MPC8544DS.h
+++ b/include/configs/MPC8544DS.h
@@ -196,7 +196,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h
index 517b449..a84ebfd 100644
--- a/include/configs/MPC8548CDS.h
+++ b/include/configs/MPC8548CDS.h
@@ -321,7 +321,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h
index 184f514..84b8174 100644
--- a/include/configs/MPC8555CDS.h
+++ b/include/configs/MPC8555CDS.h
@@ -242,7 +242,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h
index f6e43ce..03ba806 100644
--- a/include/configs/MPC8568MDS.h
+++ b/include/configs/MPC8568MDS.h
@@ -227,7 +227,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h
index 6f614b0..f86d10f 100644
--- a/include/configs/MPC8569MDS.h
+++ b/include/configs/MPC8569MDS.h
@@ -235,7 +235,6 @@ extern unsigned long get_clock_freq(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index 19da477..e3a803e 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -364,7 +364,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index 4ce04a8..8160b28 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -225,7 +225,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index 6f1535e..71c4b8d 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -259,7 +259,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 81b0855..49105dc 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -604,7 +604,6 @@ extern unsigned long get_sdram_size(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index a9d825b..093f2e4 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -393,7 +393,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P1023RDB.h b/include/configs/P1023RDB.h
index 4d87198..bc479f6 100644
--- a/include/configs/P1023RDB.h
+++ b/include/configs/P1023RDB.h
@@ -162,7 +162,6 @@ extern unsigned long get_clock_freq(void);
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index 2c4c8b5..a145714 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -324,7 +324,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index 45eecc4..1426849 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -153,7 +153,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 1 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h
index d668a15..4eb5fe1 100644
--- a/include/configs/PLU405.h
+++ b/include/configs/PLU405.h
@@ -114,7 +114,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PMC405DE.h b/include/configs/PMC405DE.h
index 0fdd7e2..ce0c49f 100644
--- a/include/configs/PMC405DE.h
+++ b/include/configs/PMC405DE.h
@@ -88,7 +88,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x3000000 /* 1 ... 48 MB in DRAM */
 
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index 0227649..5488c68 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -84,7 +84,6 @@
  * Serial Port
  *----------------------------------------------------------------------*/
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h
index 52942ed..d3185fc 100644
--- a/include/configs/T102xQDS.h
+++ b/include/configs/T102xQDS.h
@@ -495,7 +495,6 @@ unsigned long get_board_ddr_clk(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index 39fa5e2..ed4ad9a 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -496,7 +496,6 @@ unsigned long get_board_ddr_clk(void);
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h
index fc263df..b373ef7 100644
--- a/include/configs/T1040QDS.h
+++ b/include/configs/T1040QDS.h
@@ -398,7 +398,6 @@ unsigned long get_board_ddr_clk(void);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 840be04..da78b90 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -450,7 +450,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_rcw.cfg
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index a81f1e6..7aa916f 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -445,7 +445,6 @@ unsigned long get_board_ddr_clk(void);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index 8b76234..db581ae 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -405,7 +405,6 @@ unsigned long get_board_ddr_clk(void);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index 2e875d2..2cf1b4e 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -197,7 +197,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h
index 0b046d1..5221fbb 100644
--- a/include/configs/TQM834x.h
+++ b/include/configs/TQM834x.h
@@ -158,7 +158,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index ad2f115..3936e20 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -329,7 +329,6 @@
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h
index 60f266c..6cbf1b7 100644
--- a/include/configs/VOM405.h
+++ b/include/configs/VOM405.h
@@ -99,7 +99,6 @@
 #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
 
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/adp-ag101p.h b/include/configs/adp-ag101p.h
index 849b08e..2499b39 100644
--- a/include/configs/adp-ag101p.h
+++ b/include/configs/adp-ag101p.h
@@ -87,7 +87,6 @@
 /* FTUART is a high speed NS 16C550A compatible UART, addr: 0x99600000 */
 #define CONFIG_BAUDRATE			38400
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_COM1		CONFIG_FTUART010_02_BASE
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index 0bf0af7..4ed8e00 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -66,7 +66,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index 9aa14f4..23457d6 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -72,7 +72,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index 75b8f53..c1da750 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -22,7 +22,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h
index e87c0cb..78d8044 100644
--- a/include/configs/amcc-common.h
+++ b/include/configs/amcc-common.h
@@ -19,7 +19,6 @@
 /*
  * UART
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #ifndef CONFIG_DM_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
diff --git a/include/configs/axs101.h b/include/configs/axs101.h
index 9a7e0dc..9e90b69 100644
--- a/include/configs/axs101.h
+++ b/include/configs/axs101.h
@@ -52,7 +52,6 @@
  * UART configuration
  */
 #define CONFIG_DW_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		33333333
 #define CONFIG_SYS_NS16550_MEM32
diff --git a/include/configs/bcm28155_ap.h b/include/configs/bcm28155_ap.h
index 7247907..131f613 100644
--- a/include/configs/bcm28155_ap.h
+++ b/include/configs/bcm28155_ap.h
@@ -79,7 +79,6 @@
 #define CONFIG_SYS_INIT_SP_ADDR		CONFIG_SYS_TEXT_BASE
 
 /* Serial Info */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 /* Post pad 3 bytes after each reg addr */
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/bcm_ep_board.h b/include/configs/bcm_ep_board.h
index c3ebb4d..305864f 100644
--- a/include/configs/bcm_ep_board.h
+++ b/include/configs/bcm_ep_board.h
@@ -45,7 +45,6 @@
 #define CONFIG_ENV_OVERWRITE
 
 /* Serial Info */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 
 #define CONFIG_BAUDRATE			115200
diff --git a/include/configs/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index c9eb63e..ffc6811 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -46,7 +46,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index 7f942dc..e6b2d4d 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -151,7 +151,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index 5f2f020..2dc745e 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -70,7 +70,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/cm_t3517.h b/include/configs/cm_t3517.h
index 1c086fc..0aefec8 100644
--- a/include/configs/cm_t3517.h
+++ b/include/configs/cm_t3517.h
@@ -77,7 +77,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000	/* 48MHz (APLL96/2) */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index f8c39bf..02a1a76 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -19,7 +19,6 @@
 
 /* Serial support */
 #define CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h
index 600bb83..6eb1b52 100644
--- a/include/configs/controlcenterd.h
+++ b/include/configs/controlcenterd.h
@@ -178,7 +178,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 9210216..12ada71 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -329,7 +329,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/cyrus.h b/include/configs/cyrus.h
index 5d25fb1..848cec4 100644
--- a/include/configs/cyrus.h
+++ b/include/configs/cyrus.h
@@ -215,7 +215,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 5aa643a..d90141c 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -133,7 +133,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/ea20.h b/include/configs/ea20.h
index 53ad302..ee443a9 100644
--- a/include/configs/ea20.h
+++ b/include/configs/ea20.h
@@ -58,7 +58,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART0_BASE /* Base address of UART0 */
diff --git a/include/configs/edminiv2.h b/include/configs/edminiv2.h
index 7fb1894..1dfa721 100644
--- a/include/configs/edminiv2.h
+++ b/include/configs/edminiv2.h
@@ -88,7 +88,6 @@
  * NS16550 Configuration
  */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86.h
index 1c955d9..258a83f 100644
--- a/include/configs/efi-x86.h
+++ b/include/configs/efi-x86.h
@@ -15,7 +15,6 @@
 
 #undef CONFIG_CMD_IMLS
 
-#undef CONFIG_SYS_NS16550
 #undef CONFIG_X86_SERIAL
 #undef CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_ENV_IS_NOWHERE
diff --git a/include/configs/gdppc440etx.h b/include/configs/gdppc440etx.h
index b514278..8d79ea8 100644
--- a/include/configs/gdppc440etx.h
+++ b/include/configs/gdppc440etx.h
@@ -66,7 +66,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/hrcon.h b/include/configs/hrcon.h
index 84d0928..801be68 100644
--- a/include/configs/hrcon.h
+++ b/include/configs/hrcon.h
@@ -304,7 +304,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h
index ecb7f10..0a5a9f1 100644
--- a/include/configs/ids8313.h
+++ b/include/configs/ids8313.h
@@ -323,7 +323,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 583f7b3..3c4a70c 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -133,7 +133,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART0_BASE /* Base address of UART0 */
diff --git a/include/configs/km/km83xx-common.h b/include/configs/km/km83xx-common.h
index 30cf60c..d86b7fc 100644
--- a/include/configs/km/km83xx-common.h
+++ b/include/configs/km/km83xx-common.h
@@ -144,7 +144,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 54aa6fb..098839b 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -99,7 +99,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
diff --git a/include/configs/km/kmp204x-common.h b/include/configs/km/kmp204x-common.h
index e163edb..a32c8ba 100644
--- a/include/configs/km/kmp204x-common.h
+++ b/include/configs/km/kmp204x-common.h
@@ -244,7 +244,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h
index 562e78f..bf0614c 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -375,7 +375,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_LPUART_32B_REG
 #else
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index fdbbfc1..a5d5a3b 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -270,7 +270,6 @@
 #define CONFIG_LPUART_32B_REG
 #else
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h
index 1f22dd3..6b9856a 100644
--- a/include/configs/ls1043a_common.h
+++ b/include/configs/ls1043a_common.h
@@ -55,7 +55,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0))
diff --git a/include/configs/ls2085a_common.h b/include/configs/ls2085a_common.h
index 0011e72..f9bca44 100644
--- a/include/configs/ls2085a_common.h
+++ b/include/configs/ls2085a_common.h
@@ -110,7 +110,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX       1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE     1
 #define CONFIG_SYS_NS16550_CLK          (get_bus_freq(0)/2)
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 66d9710..69172bb 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -102,7 +102,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2	/* Use UART1			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/malta.h b/include/configs/malta.h
index 4d3751a..3faac37 100644
--- a/include/configs/malta.h
+++ b/include/configs/malta.h
@@ -80,7 +80,6 @@
  */
 #define CONFIG_BAUDRATE			115200
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(115200 * 16)
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 882f3db..4eea06d 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -78,7 +78,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 6f20a82..db3d4e5 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -39,7 +39,6 @@
 # define CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
 # define CONSOLE_ARG	"console=console=ttyUL0,115200\0"
 #elif XILINX_UART16550_BASEADDR
-# define CONFIG_SYS_NS16550		1
 # define CONFIG_SYS_NS16550_SERIAL
 # if defined(__MICROBLAZEEL__)
 #  define CONFIG_SYS_NS16550_REG_SIZE	-4
diff --git a/include/configs/mpc8308_p1m.h b/include/configs/mpc8308_p1m.h
index 1a627fc..a90083f 100644
--- a/include/configs/mpc8308_p1m.h
+++ b/include/configs/mpc8308_p1m.h
@@ -292,7 +292,6 @@
  */
 #define CONFIG_CONS_INDEX	1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 575e53e..2071cf5 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #if !defined(CONFIG_DM_SERIAL)
diff --git a/include/configs/neo.h b/include/configs/neo.h
index a60b3f7..bc01416 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -91,7 +91,6 @@
  * set Linux BASE_BAUD to 403200.
  */
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index f071c59..b11e43a 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -85,7 +85,6 @@
  */
 #define V_NS16550_CLK		48000000		/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 7e7f6f2..2004d14 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -72,7 +72,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 80d57f4..c1f26c0 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -93,7 +93,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4	/* NS16550 register size */
 #define CONFIG_SYS_NS16550_COM1	DAVINCI_UART2_BASE /* Base address of UART2 */
diff --git a/include/configs/openrisc-generic.h b/include/configs/openrisc-generic.h
index d53e419..c854189 100644
--- a/include/configs/openrisc-generic.h
+++ b/include/configs/openrisc-generic.h
@@ -31,7 +31,6 @@
 /*
  * SERIAL
  */
-# define CONFIG_SYS_NS16550
 # define CONFIG_SYS_NS16550_SERIAL
 # define CONFIG_SYS_NS16550_REG_SIZE	1
 # define CONFIG_CONS_INDEX		1
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 433c409..381b176 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -649,7 +649,6 @@
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h
index d83daa0..d2af2a0 100644
--- a/include/configs/p1_twr.h
+++ b/include/configs/p1_twr.h
@@ -215,7 +215,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  */
 #define CONFIG_CONS_INDEX		1
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/qemu-mips.h b/include/configs/qemu-mips.h
index 9395bda..5a043d5 100644
--- a/include/configs/qemu-mips.h
+++ b/include/configs/qemu-mips.h
@@ -52,7 +52,6 @@
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE	0xb4000300
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		115200
diff --git a/include/configs/qemu-mips64.h b/include/configs/qemu-mips64.h
index 53ff802..070b5de 100644
--- a/include/configs/qemu-mips64.h
+++ b/include/configs/qemu-mips64.h
@@ -52,7 +52,6 @@
 #define CONFIG_DRIVER_NE2000
 #define CONFIG_DRIVER_NE2000_BASE	0xffffffffb4000300
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		115200
diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h
index f45789f..2dfea33 100644
--- a/include/configs/qemu-ppce500.h
+++ b/include/configs/qemu-ppce500.h
@@ -103,7 +103,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
 #define CONFIG_SYS_MALLOC_LEN		(4 * 1024 * 1024)
 
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0))
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
index 36408b9..d56886d 100644
--- a/include/configs/rk3288_common.h
+++ b/include/configs/rk3288_common.h
@@ -29,7 +29,6 @@
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SPL_BOARD_INIT
 
diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h
index c8b14e9..25ec7bc 100644
--- a/include/configs/sbc8349.h
+++ b/include/configs/sbc8349.h
@@ -267,7 +267,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h
index 1c309a4..9783804 100644
--- a/include/configs/sbc8548.h
+++ b/include/configs/sbc8548.h
@@ -406,7 +406,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(400000000 / CONFIG_SYS_CLK_DIV)
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index 0b22ce0..f88d685 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -247,7 +247,6 @@
 
 /* Serial Port */
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index 9ab0457..ff4317b 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -113,7 +113,6 @@
 #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 559311f..08046b5 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -201,7 +201,6 @@
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #endif
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 #define CONFIG_CONS_INDEX		3
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 3374683..f6808b5 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -219,7 +219,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 /*
  * Serial Driver
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		SOCFPGA_UART0_ADDRESS
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index 019cf30..f8bddca 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -198,7 +198,6 @@
 /* Serial Port */
 
 #define CONFIG_CONS_INDEX     1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/strider.h b/include/configs/strider.h
index fb7b7f9..8771cdc 100644
--- a/include/configs/strider.h
+++ b/include/configs/strider.h
@@ -308,7 +308,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	2
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 7a4853c..14e8771 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -41,7 +41,6 @@
 #endif
 
 /* Serial & console */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 /* ns16550 reg in the low bits of cpu reg */
 #define CONFIG_SYS_NS16550_CLK		24000000
diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h
index 5754369..5788a70 100644
--- a/include/configs/t4qds.h
+++ b/include/configs/t4qds.h
@@ -141,7 +141,6 @@
  * shorted - index 1
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 4cb7902..ec0a812 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -66,7 +66,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000	/* 48MHz (APLL96/2) */
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index 97fe796..c1bd179 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -66,7 +66,6 @@
  */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 0b9ad1c..8660ed4 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -35,7 +35,6 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
 #define CONFIG_BAUDRATE			115200
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 64a12e6..ba819c4 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -39,7 +39,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index 7fa35a1..e726040 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -145,7 +145,6 @@
 #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index 01d8233..ba652ca 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -108,7 +108,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE (-4)
 #define CONFIG_SYS_NS16550_CLK      (48000000)
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 3beb9db..edbd820 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -22,7 +22,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index c36353d..aa8f8b1 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -58,7 +58,6 @@
 #define CONFIG_SYS_SPI_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
 
 /* UART Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_MEM32
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index 4d53b4c..1c71cb6 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -32,7 +32,6 @@
 
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #ifdef CONFIG_SPL_BUILD
 # define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 4b7b493..08130eb 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -57,7 +57,6 @@
 /*
  * Hardware drivers
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 94d6ef0..2d492f8 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -50,7 +50,6 @@
 /*
  * Hardware drivers
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_CLK		48000000
 #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 0ab69e6..ca28e47 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -86,7 +86,6 @@
 #define STATUS_LED_PERIOD2		(CONFIG_SYS_HZ / 2)
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		48000000 /* 48MHz (APLL96/2) */
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index 1e71703..0562598 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -13,7 +13,6 @@
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  10
 
 #ifdef CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_COM1		CONFIG_SUPPORT_CARD_UART_BASE
 #define CONFIG_SYS_NS16550_CLK		12288000
 #define CONFIG_SYS_NS16550_REG_SIZE	-2
diff --git a/include/configs/vct.h b/include/configs/vct.h
index 92726c8..872f2f0 100644
--- a/include/configs/vct.h
+++ b/include/configs/vct.h
@@ -54,7 +54,6 @@
 #endif
 
 #define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		UART_1_BASE
 #define CONFIG_CONS_INDEX		1
diff --git a/include/configs/ve8313.h b/include/configs/ve8313.h
index f5df4fb..bc2d441 100644
--- a/include/configs/ve8313.h
+++ b/include/configs/ve8313.h
@@ -251,7 +251,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/vme8349.h b/include/configs/vme8349.h
index 7f5f089..714ebee 100644
--- a/include/configs/vme8349.h
+++ b/include/configs/vme8349.h
@@ -200,7 +200,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index 33263ab..253e069 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -59,7 +59,6 @@
 /*-----------------------------------------------------------------------
  * Serial Configuration
  */
-#define CONFIG_SYS_NS16550
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_BAUDRATE_TABLE	{300, 600, 1200, 2400, 4800, \
 					 9600, 19200, 38400, 115200}
diff --git a/include/configs/xilinx-ppc.h b/include/configs/xilinx-ppc.h
index 1abd0ef..eb400d0 100644
--- a/include/configs/xilinx-ppc.h
+++ b/include/configs/xilinx-ppc.h
@@ -109,7 +109,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
 #else
 #ifdef XPAR_UARTNS550_0_BASEADDR
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	4
 #define CONFIG_CONS_INDEX		1
diff --git a/include/configs/xpedite1000.h b/include/configs/xpedite1000.h
index 005f149..5bc926f 100644
--- a/include/configs/xpedite1000.h
+++ b/include/configs/xpedite1000.h
@@ -97,7 +97,6 @@ extern void out32(unsigned int, unsigned long);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX	1	/* Use UART0			*/
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h
index 3e09635..96b357b 100644
--- a/include/configs/xpedite517x.h
+++ b/include/configs/xpedite517x.h
@@ -214,7 +214,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite520x.h b/include/configs/xpedite520x.h
index 39bdb88..b2d6a1e 100644
--- a/include/configs/xpedite520x.h
+++ b/include/configs/xpedite520x.h
@@ -177,7 +177,6 @@
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h
index c687555..8b4d4d9 100644
--- a/include/configs/xpedite537x.h
+++ b/include/configs/xpedite537x.h
@@ -213,7 +213,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h
index f971f8b..c7e25d9 100644
--- a/include/configs/xpedite550x.h
+++ b/include/configs/xpedite550x.h
@@ -204,7 +204,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
  * Serial Port
  */
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart
  2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
                     ` (11 preceding siblings ...)
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
@ 2015-11-19 13:48   ` Thomas Chou
  2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini
  12 siblings, 2 replies; 112+ messages in thread
From: Thomas Chou @ 2015-11-19 13:48 UTC (permalink / raw)
  To: u-boot

Change to ns16550 uart for 10m50 devboard based on a new
Altera release.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
 arch/nios2/dts/10m50_devboard.dts | 2 +-
 configs/10m50_defconfig           | 2 +-
 include/configs/10m50_devboard.h  | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/nios2/dts/10m50_devboard.dts b/arch/nios2/dts/10m50_devboard.dts
index e89dbb2..05eac30 100644
--- a/arch/nios2/dts/10m50_devboard.dts
+++ b/arch/nios2/dts/10m50_devboard.dts
@@ -262,6 +262,6 @@
 
 	chosen {
 		bootargs = "debug console=ttyS0,115200";
-		stdout-path = &uart_0;
+		stdout-path = &a_16550_uart_0;
 	};
 };
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index 1919502..0d18e8d 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -22,6 +22,6 @@ CONFIG_MTD=y
 CONFIG_ALTERA_QSPI=y
 CONFIG_DM_ETH=y
 CONFIG_ALTERA_TSE=y
-CONFIG_ALTERA_UART=y
+CONFIG_SYS_NS16550=y
 CONFIG_TIMER=y
 CONFIG_ALTERA_TIMER=y
diff --git a/include/configs/10m50_devboard.h b/include/configs/10m50_devboard.h
index 48d5063..8a91cdb 100644
--- a/include/configs/10m50_devboard.h
+++ b/include/configs/10m50_devboard.h
@@ -20,6 +20,7 @@
  */
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_CONSOLE_INFO_QUIET	/* Suppress console info */
+#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Flash
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
@ 2015-11-19 20:05     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-19 20:05 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> ---
>  drivers/serial/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
@ 2015-11-19 20:05     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-19 20:05 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Change map_sysmem() to map_physmem(,,MAP_NOCACHE). Though map_sysmem()
> can be used to map system memory, it might be wrong to use it for I/O
> ports.  The map_physmem() serves the same purpose to translate physical
> address to virtual address with the additional flag to take care of cache
> property. Most drivers use map_physmem() since I/O ports access should be
> uncached. As ns16550 is a driver, it should use map_physmem() rather
> than map_sysmem().
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  drivers/serial/ns16550.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
@ 2015-11-19 20:34     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-19 20:34 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
>
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> ---
>  drivers/serial/Kconfig   | 11 +++++++++++
>  drivers/serial/ns16550.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 55 insertions(+)

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,04/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_x86, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  arch/x86/dts/serial.dtsi    |  2 +-
>  configs/efi-x86_defconfig   |  2 +-
>  drivers/serial/Kconfig      | 11 +----------
>  drivers/serial/Makefile     |  1 -
>  drivers/serial/serial_x86.c | 44 --------------------------------------------
>  5 files changed, 3 insertions(+), 57 deletions(-)
>  delete mode 100644 drivers/serial/serial_x86.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-21  0:19       ` Thomas Chou
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,05/13] " Tom Rini
  1 sibling, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_ppc, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/powerpc/include/asm/config.h |  4 ++++
>  drivers/serial/Kconfig            |  2 +-
>  drivers/serial/Makefile           |  1 -
>  drivers/serial/serial_ppc.c       | 40 ---------------------------------------
>  4 files changed, 5 insertions(+), 42 deletions(-)
>  delete mode 100644 drivers/serial/serial_ppc.c
>
> diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
> index 65496d0..7391066 100644
> --- a/arch/powerpc/include/asm/config.h
> +++ b/arch/powerpc/include/asm/config.h
> @@ -104,4 +104,8 @@
>  /* All PPC boards must swap IDE bytes */
>  #define CONFIG_IDE_SWAP_IO
>
> +#if defined(CONFIG_DM_SERIAL)
> +#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
> +#endif
> +
>  #endif /* _ASM_CONFIG_H_ */
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 93faa4c..b41f508 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
>  config NS16550_SERIAL
>         bool "NS16550 UART or compatible"
>         depends on DM_SERIAL
> -       default y if X86
> +       default y if X86 || PPC
>         help
>           Support NS16550 UART or compatible with driver model. This can be
>           enabled in the device tree with the correct input clock frequency.
> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
> index 9036a8e..9f61113 100644
> --- a/drivers/serial/Makefile
> +++ b/drivers/serial/Makefile
> @@ -8,7 +8,6 @@
>  ifdef CONFIG_DM_SERIAL
>  obj-y += serial-uclass.o
>  obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
> -obj-$(CONFIG_PPC) += serial_ppc.o
>  else
>  obj-y += serial.o
>  obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
> diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
> deleted file mode 100644
> index 47141c6..0000000
> --- a/drivers/serial/serial_ppc.c
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -/*
> - * Copyright (c) 2014 Google, Inc
> - *
> - * SPDX-License-Identifier:    GPL-2.0+
> - */
> -
> -#include <common.h>
> -#include <dm.h>
> -#include <ns16550.h>
> -#include <serial.h>
> -
> -static const struct udevice_id ppc_serial_ids[] = {
> -       { .compatible = "ns16550" },
> -       { }
> -};
> -
> -static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
> -{
> -       struct ns16550_platdata *plat = dev_get_platdata(dev);
> -       int ret;
> -
> -       ret = ns16550_serial_ofdata_to_platdata(dev);
> -       if (ret)
> -               return ret;
> -       plat->clock = get_serial_clock();

You are dropping this call. We certainly don't want it for driver
model, but I suspect it will break some PPC boards if they don't have
the clock-frequency in the device tree. Do they?

> -
> -       return 0;
> -}
> -
> -U_BOOT_DRIVER(serial_ns16550) = {
> -       .name   = "serial_ppc",
> -       .id     = UCLASS_SERIAL,
> -       .of_match = ppc_serial_ids,
> -       .ofdata_to_platdata = ppc_serial_ofdata_to_platdata,
> -       .platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
> -       .priv_auto_alloc_size = sizeof(struct NS16550),
> -       .probe = ns16550_serial_probe,
> -       .ops    = &ns16550_serial_ops,
> -       .flags  = DM_FLAG_PRE_RELOC,
> -};
> --
> 2.5.0
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,06/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_rockchip, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Tested-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> ---
>  arch/arm/dts/rk3288.dtsi         |  5 +++++
>  arch/arm/mach-rockchip/Kconfig   |  3 ---
>  drivers/serial/Kconfig           | 11 +---------
>  drivers/serial/Makefile          |  1 -
>  drivers/serial/serial_rockchip.c | 43 ----------------------------------------
>  5 files changed, 6 insertions(+), 57 deletions(-)
>  delete mode 100644 drivers/serial/serial_rockchip.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,07/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_keystone, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/serial/Makefile              |  1 -
>  drivers/serial/serial_keystone.c     | 48 ------------------------------------
>  include/configs/ti_armv7_keystone2.h |  2 +-
>  3 files changed, 1 insertion(+), 50 deletions(-)
>  delete mode 100644 drivers/serial/serial_keystone.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,08/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_dw, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/serial/Makefile        |  1 -
>  drivers/serial/serial_dw.c     | 39 ---------------------------------------
>  include/configs/mv-common.h    |  2 +-
>  include/configs/sunxi-common.h |  2 +-
>  include/configs/tb100.h        |  2 +-
>  5 files changed, 3 insertions(+), 43 deletions(-)
>  delete mode 100644 drivers/serial/serial_dw.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,09/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_tegra, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/arm/mach-tegra/board.c    | 14 +++++++++++
>  drivers/serial/Makefile        |  1 -
>  drivers/serial/serial_tegra.c  | 54 ------------------------------------------
>  include/configs/tegra-common.h |  3 ++-
>  4 files changed, 16 insertions(+), 56 deletions(-)
>  delete mode 100644 drivers/serial/serial_tegra.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,10/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Unify serial_omap, and use the generic binding.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  board/isee/igep00x0/igep00x0.c      |  2 +-
>  board/lge/sniper/sniper.c           |  2 +-
>  board/logicpd/omap3som/omap3logic.c |  2 +-
>  board/logicpd/zoom1/zoom1.c         |  2 +-
>  board/overo/overo.c                 |  2 +-
>  board/quipos/cairo/cairo.c          |  2 +-
>  board/ti/beagle/beagle.c            |  2 +-
>  board/timll/devkit8000/devkit8000.c |  2 +-
>  drivers/serial/Makefile             |  1 -
>  drivers/serial/serial_omap.c        | 54 -------------------------------------
>  include/configs/am43xx_evm.h        |  4 +--
>  include/configs/cm_t43.h            |  2 +-
>  include/configs/omap3_pandora.h     |  3 ++-
>  include/configs/sniper.h            |  4 +--
>  include/configs/ti_am335x_common.h  |  2 +-
>  include/configs/ti_omap3_common.h   |  4 +--
>  include/configs/ti_omap4_common.h   |  4 +--
>  include/configs/ti_omap5_common.h   |  4 +--
>  18 files changed, 22 insertions(+), 76 deletions(-)
>  delete mode 100644 drivers/serial/serial_omap.c

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,11/13] " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
> is completed.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  configs/efi-x86_defconfig            |  1 -
>  drivers/serial/Kconfig               | 12 ------------
>  drivers/serial/ns16550.c             |  4 ----
>  include/configs/am43xx_evm.h         |  2 --
>  include/configs/cm_t43.h             |  1 -
>  include/configs/mv-common.h          |  4 ----
>  include/configs/omap3_pandora.h      |  1 -
>  include/configs/sniper.h             |  4 +---
>  include/configs/sunxi-common.h       |  4 +---
>  include/configs/tb100.h              |  1 -
>  include/configs/tegra-common.h       |  1 -
>  include/configs/ti_am335x_common.h   |  4 ----
>  include/configs/ti_armv7_keystone2.h |  2 --
>  include/configs/ti_omap3_common.h    |  4 ----
>  include/configs/ti_omap4_common.h    |  2 --
>  include/configs/ti_omap5_common.h    |  2 --
>  16 files changed, 2 insertions(+), 47 deletions(-)

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Change to ns16550 uart for 10m50 devboard based on a new
> Altera release.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/nios2/dts/10m50_devboard.dts | 2 +-
>  configs/10m50_defconfig           | 2 +-
>  include/configs/10m50_devboard.h  | 1 +
>  3 files changed, 3 insertions(+), 2 deletions(-)

Acked-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
@ 2015-11-20 17:18     ` Simon Glass
  2015-11-21  0:24       ` Thomas Chou
  2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini
  1 sibling, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-20 17:18 UTC (permalink / raw)
  To: u-boot

Hi,

On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
>
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
[snip]
>  include/configs/xpedite550x.h                          |  1 -
>  768 files changed, 672 insertions(+), 155 deletions(-)

What happened to this patch for v3? It does not seem to apply for me.

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-21  0:19       ` Thomas Chou
  2015-11-21  0:27         ` Simon Glass
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-21  0:19 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 2015?11?21? 01:18, Simon Glass wrote:
> Hi Thomas,
>
> On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Unify serial_ppc, and use the generic binding.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> Reviewed-by: Tom Rini <trini@konsulko.com>
>> ---
>>   arch/powerpc/include/asm/config.h |  4 ++++
>>   drivers/serial/Kconfig            |  2 +-
>>   drivers/serial/Makefile           |  1 -
>>   drivers/serial/serial_ppc.c       | 40 ---------------------------------------
>>   4 files changed, 5 insertions(+), 42 deletions(-)
>>   delete mode 100644 drivers/serial/serial_ppc.c
>>
>> diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
>> index 65496d0..7391066 100644
>> --- a/arch/powerpc/include/asm/config.h
>> +++ b/arch/powerpc/include/asm/config.h
>> @@ -104,4 +104,8 @@
>>   /* All PPC boards must swap IDE bytes */
>>   #define CONFIG_IDE_SWAP_IO
>>
>> +#if defined(CONFIG_DM_SERIAL)
>> +#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
>> +#endif
>> +

I move the get_serial_clock here.

>>   #endif /* _ASM_CONFIG_H_ */
>> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
>> index 93faa4c..b41f508 100644
>> --- a/drivers/serial/Kconfig
>> +++ b/drivers/serial/Kconfig
>> @@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
>>   config NS16550_SERIAL
>>          bool "NS16550 UART or compatible"
>>          depends on DM_SERIAL
>> -       default y if X86
>> +       default y if X86 || PPC
>>          help
>>            Support NS16550 UART or compatible with driver model. This can be
>>            enabled in the device tree with the correct input clock frequency.
>> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
>> index 9036a8e..9f61113 100644
>> --- a/drivers/serial/Makefile
>> +++ b/drivers/serial/Makefile
>> @@ -8,7 +8,6 @@
>>   ifdef CONFIG_DM_SERIAL
>>   obj-y += serial-uclass.o
>>   obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
>> -obj-$(CONFIG_PPC) += serial_ppc.o
>>   else
>>   obj-y += serial.o
>>   obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
>> diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
>> deleted file mode 100644
>> index 47141c6..0000000
>> --- a/drivers/serial/serial_ppc.c
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -/*
>> - * Copyright (c) 2014 Google, Inc
>> - *
>> - * SPDX-License-Identifier:    GPL-2.0+
>> - */
>> -
>> -#include <common.h>
>> -#include <dm.h>
>> -#include <ns16550.h>
>> -#include <serial.h>
>> -
>> -static const struct udevice_id ppc_serial_ids[] = {
>> -       { .compatible = "ns16550" },
>> -       { }
>> -};
>> -
>> -static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
>> -{
>> -       struct ns16550_platdata *plat = dev_get_platdata(dev);
>> -       int ret;
>> -
>> -       ret = ns16550_serial_ofdata_to_platdata(dev);
>> -       if (ret)
>> -               return ret;
>> -       plat->clock = get_serial_clock();
>
> You are dropping this call. We certainly don't want it for driver
> model, but I suspect it will break some PPC boards if they don't have
> the clock-frequency in the device tree. Do they?

I moved it to a macro.
#define CONFIG_SYS_NS16550_CLK         get_serial_clock()

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-21  0:24       ` Thomas Chou
  2015-11-21  0:27         ` Simon Glass
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-21  0:24 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 2015?11?21? 01:18, Simon Glass wrote:
> Hi,
>
> On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> ---
>>   arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
> [snip]
>>   include/configs/xpedite550x.h                          |  1 -
>>   768 files changed, 672 insertions(+), 155 deletions(-)
>
> What happened to this patch for v3? It does not seem to apply for me.

The configs/ files changed after Tom applied the "move cmd_gpio to 
Kconfig" patch to u-boot/master. The series v3 is rebased to 
u-boot/master after that patch. Please try v2 of this patch, or let Tom 
pick up this series.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-21  0:24       ` Thomas Chou
@ 2015-11-21  0:27         ` Simon Glass
  2015-11-21  0:44           ` Thomas Chou
  0 siblings, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-21  0:27 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On 20 November 2015 at 17:24, Thomas Chou <thomas@wytron.com.tw> wrote:
> Hi Simon,
>
> On 2015?11?21? 01:18, Simon Glass wrote:
>>
>> Hi,
>>
>> On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
>>>
>>> Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
>>>
>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>> ---
>>>   arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
>>
>> [snip]
>>>
>>>   include/configs/xpedite550x.h                          |  1 -
>>>   768 files changed, 672 insertions(+), 155 deletions(-)
>>
>>
>> What happened to this patch for v3? It does not seem to apply for me.
>
>
> The configs/ files changed after Tom applied the "move cmd_gpio to Kconfig"
> patch to u-boot/master. The series v3 is rebased to u-boot/master after that
> patch. Please try v2 of this patch, or let Tom pick up this series.

OK I'll leave it for Tom. The original version was assigned to me in
patchwork but I see that this version is not.

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-21  0:19       ` Thomas Chou
@ 2015-11-21  0:27         ` Simon Glass
  2015-11-21  2:39           ` Thomas Chou
  0 siblings, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-21  0:27 UTC (permalink / raw)
  To: u-boot

Hi Thomas,

On 20 November 2015 at 17:19, Thomas Chou <thomas@wytron.com.tw> wrote:
>
> Hi Simon,
>
> On 2015?11?21? 01:18, Simon Glass wrote:
>>
>> Hi Thomas,
>>
>> On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
>>>
>>> Unify serial_ppc, and use the generic binding.
>>>
>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>> Reviewed-by: Tom Rini <trini@konsulko.com>
>>> ---
>>>   arch/powerpc/include/asm/config.h |  4 ++++
>>>   drivers/serial/Kconfig            |  2 +-
>>>   drivers/serial/Makefile           |  1 -
>>>   drivers/serial/serial_ppc.c       | 40 ---------------------------------------
>>>   4 files changed, 5 insertions(+), 42 deletions(-)
>>>   delete mode 100644 drivers/serial/serial_ppc.c
>>>
>>> diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
>>> index 65496d0..7391066 100644
>>> --- a/arch/powerpc/include/asm/config.h
>>> +++ b/arch/powerpc/include/asm/config.h
>>> @@ -104,4 +104,8 @@
>>>   /* All PPC boards must swap IDE bytes */
>>>   #define CONFIG_IDE_SWAP_IO
>>>
>>> +#if defined(CONFIG_DM_SERIAL)
>>> +#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
>>> +#endif
>>> +
>
>
> I move the get_serial_clock here.
>
>
>>>   #endif /* _ASM_CONFIG_H_ */
>>> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
>>> index 93faa4c..b41f508 100644
>>> --- a/drivers/serial/Kconfig
>>> +++ b/drivers/serial/Kconfig
>>> @@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
>>>   config NS16550_SERIAL
>>>          bool "NS16550 UART or compatible"
>>>          depends on DM_SERIAL
>>> -       default y if X86
>>> +       default y if X86 || PPC
>>>          help
>>>            Support NS16550 UART or compatible with driver model. This can be
>>>            enabled in the device tree with the correct input clock frequency.
>>> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
>>> index 9036a8e..9f61113 100644
>>> --- a/drivers/serial/Makefile
>>> +++ b/drivers/serial/Makefile
>>> @@ -8,7 +8,6 @@
>>>   ifdef CONFIG_DM_SERIAL
>>>   obj-y += serial-uclass.o
>>>   obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
>>> -obj-$(CONFIG_PPC) += serial_ppc.o
>>>   else
>>>   obj-y += serial.o
>>>   obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
>>> diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c
>>> deleted file mode 100644
>>> index 47141c6..0000000
>>> --- a/drivers/serial/serial_ppc.c
>>> +++ /dev/null
>>> @@ -1,40 +0,0 @@
>>> -/*
>>> - * Copyright (c) 2014 Google, Inc
>>> - *
>>> - * SPDX-License-Identifier:    GPL-2.0+
>>> - */
>>> -
>>> -#include <common.h>
>>> -#include <dm.h>
>>> -#include <ns16550.h>
>>> -#include <serial.h>
>>> -
>>> -static const struct udevice_id ppc_serial_ids[] = {
>>> -       { .compatible = "ns16550" },
>>> -       { }
>>> -};
>>> -
>>> -static int ppc_serial_ofdata_to_platdata(struct udevice *dev)
>>> -{
>>> -       struct ns16550_platdata *plat = dev_get_platdata(dev);
>>> -       int ret;
>>> -
>>> -       ret = ns16550_serial_ofdata_to_platdata(dev);
>>> -       if (ret)
>>> -               return ret;
>>> -       plat->clock = get_serial_clock();
>>
>>
>> You are dropping this call. We certainly don't want it for driver
>> model, but I suspect it will break some PPC boards if they don't have
>> the clock-frequency in the device tree. Do they?
>
>
> I moved it to a macro.
> #define CONFIG_SYS_NS16550_CLK         get_serial_clock()

Ah, we shouldn't do that with driver model. This should be in some
sort of clock driver. Perhaps we should leave this serial driver along
for now?

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-21  0:27         ` Simon Glass
@ 2015-11-21  0:44           ` Thomas Chou
  2015-11-21  1:56             ` Tom Rini
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-21  0:44 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On 2015?11?21? 08:27, Simon Glass wrote:
> Hi Thomas,
>
> On 20 November 2015 at 17:24, Thomas Chou <thomas@wytron.com.tw> wrote:
>> Hi Simon,
>>
>> On 2015?11?21? 01:18, Simon Glass wrote:
>>>
>>> Hi,
>>>
>>> On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
>>>>
>>>> Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
>>>>
>>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>>> ---
>>>>    arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
>>>
>>> [snip]
>>>>
>>>>    include/configs/xpedite550x.h                          |  1 -
>>>>    768 files changed, 672 insertions(+), 155 deletions(-)
>>>
>>>
>>> What happened to this patch for v3? It does not seem to apply for me.
>>
>>
>> The configs/ files changed after Tom applied the "move cmd_gpio to Kconfig"
>> patch to u-boot/master. The series v3 is rebased to u-boot/master after that
>> patch. Please try v2 of this patch, or let Tom pick up this series.
>
> OK I'll leave it for Tom. The original version was assigned to me in
> patchwork but I see that this version is not.

Would you please pick up this series?

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-21  0:44           ` Thomas Chou
@ 2015-11-21  1:56             ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-21  1:56 UTC (permalink / raw)
  To: u-boot

On Sat, Nov 21, 2015 at 08:44:10AM +0800, Thomas Chou wrote:
> Hi Tom,
> 
> On 2015?11?21? 08:27, Simon Glass wrote:
> >Hi Thomas,
> >
> >On 20 November 2015 at 17:24, Thomas Chou <thomas@wytron.com.tw> wrote:
> >>Hi Simon,
> >>
> >>On 2015?11?21? 01:18, Simon Glass wrote:
> >>>
> >>>Hi,
> >>>
> >>>On 19 November 2015 at 06:48, Thomas Chou <thomas@wytron.com.tw> wrote:
> >>>>
> >>>>Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
> >>>>
> >>>>Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> >>>>---
> >>>>   arch/arm/include/asm/arch-lpc32xx/config.h             |  1 -
> >>>
> >>>[snip]
> >>>>
> >>>>   include/configs/xpedite550x.h                          |  1 -
> >>>>   768 files changed, 672 insertions(+), 155 deletions(-)
> >>>
> >>>
> >>>What happened to this patch for v3? It does not seem to apply for me.
> >>
> >>
> >>The configs/ files changed after Tom applied the "move cmd_gpio to Kconfig"
> >>patch to u-boot/master. The series v3 is rebased to u-boot/master after that
> >>patch. Please try v2 of this patch, or let Tom pick up this series.
> >
> >OK I'll leave it for Tom. The original version was assigned to me in
> >patchwork but I see that this version is not.
> 
> Would you please pick up this series?

OK.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151120/6096d17c/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-21  0:27         ` Simon Glass
@ 2015-11-21  2:39           ` Thomas Chou
  2015-11-21 15:22             ` Tom Rini
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-11-21  2:39 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 2015?11?21? 08:27, Simon Glass wrote:
>> I moved it to a macro.
>> #define CONFIG_SYS_NS16550_CLK         get_serial_clock()
>
> Ah, we shouldn't do that with driver model. This should be in some
> sort of clock driver. Perhaps we should leave this serial driver along
> for now?

I understand a clock driver should be used for driver model. But I would 
suggest that we use this get_serial_clock macro until the clock driver 
for powerpc is ready to get UART clock. This will help things moving 
forwards to driver model.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-21  2:39           ` Thomas Chou
@ 2015-11-21 15:22             ` Tom Rini
  2015-11-21 16:10               ` Simon Glass
  0 siblings, 1 reply; 112+ messages in thread
From: Tom Rini @ 2015-11-21 15:22 UTC (permalink / raw)
  To: u-boot

On Sat, Nov 21, 2015 at 10:39:54AM +0800, Thomas Chou wrote:
> Hi Simon,
> 
> On 2015?11?21? 08:27, Simon Glass wrote:
> >>I moved it to a macro.
> >>#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
> >
> >Ah, we shouldn't do that with driver model. This should be in some
> >sort of clock driver. Perhaps we should leave this serial driver along
> >for now?
> 
> I understand a clock driver should be used for driver model. But I
> would suggest that we use this get_serial_clock macro until the
> clock driver for powerpc is ready to get UART clock. This will help
> things moving forwards to driver model.

Yes, how do you want to proceed here Simon?  I have all of these (and a
few other things) build-tested now and will be doing some quick sanity
run time testing later.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151121/d738a446/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-21 15:22             ` Tom Rini
@ 2015-11-21 16:10               ` Simon Glass
  2015-11-22  2:50                 ` Tom Rini
  0 siblings, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-11-21 16:10 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On 21 November 2015 at 08:22, Tom Rini <trini@konsulko.com> wrote:
> On Sat, Nov 21, 2015 at 10:39:54AM +0800, Thomas Chou wrote:
>> Hi Simon,
>>
>> On 2015?11?21? 08:27, Simon Glass wrote:
>> >>I moved it to a macro.
>> >>#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
>> >
>> >Ah, we shouldn't do that with driver model. This should be in some
>> >sort of clock driver. Perhaps we should leave this serial driver along
>> >for now?
>>
>> I understand a clock driver should be used for driver model. But I
>> would suggest that we use this get_serial_clock macro until the
>> clock driver for powerpc is ready to get UART clock. This will help
>> things moving forwards to driver model.
>
> Yes, how do you want to proceed here Simon?  I have all of these (and a
> few other things) build-tested now and will be doing some quick sanity
> run time testing later.  Thanks!

My first thought would be to leave serial_ppc.c out of the conversion,
but that would be tricky given how the series is structured (with the
temporary CONFIG).

Perhaps a TODO on the #define above since it should be cleaned up, and
we want to make sure no one copies it.

Since you have it ready I think it should go in, with the TODO if you
can manage it.

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc
  2015-11-21 16:10               ` Simon Glass
@ 2015-11-22  2:50                 ` Tom Rini
  0 siblings, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22  2:50 UTC (permalink / raw)
  To: u-boot

On Sat, Nov 21, 2015 at 09:10:07AM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On 21 November 2015 at 08:22, Tom Rini <trini@konsulko.com> wrote:
> > On Sat, Nov 21, 2015 at 10:39:54AM +0800, Thomas Chou wrote:
> >> Hi Simon,
> >>
> >> On 2015?11?21? 08:27, Simon Glass wrote:
> >> >>I moved it to a macro.
> >> >>#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
> >> >
> >> >Ah, we shouldn't do that with driver model. This should be in some
> >> >sort of clock driver. Perhaps we should leave this serial driver along
> >> >for now?
> >>
> >> I understand a clock driver should be used for driver model. But I
> >> would suggest that we use this get_serial_clock macro until the
> >> clock driver for powerpc is ready to get UART clock. This will help
> >> things moving forwards to driver model.
> >
> > Yes, how do you want to proceed here Simon?  I have all of these (and a
> > few other things) build-tested now and will be doing some quick sanity
> > run time testing later.  Thanks!
> 
> My first thought would be to leave serial_ppc.c out of the conversion,
> but that would be tricky given how the series is structured (with the
> temporary CONFIG).
> 
> Perhaps a TODO on the #define above since it should be cleaned up, and
> we want to make sure no one copies it.
> 
> Since you have it ready I think it should go in, with the TODO if you
> can manage it.

OK, I'll add the TODO comment.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151121/901714d7/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot, v3, 01/13] debug_uart: restore ns16550 as default
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
  2015-11-19 20:05     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:03PM +0800, Thomas Chou wrote:

> Since commit 220e8021af96 ("nios2: convert altera_jtag_uart to
> driver model"), the default debug uart was changed. Most people
> use ns16550 UART, so restore it as default.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/0b00ef30/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot, v3, 02/13] ns16550: change map_sysmem to map_physmem
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
  2015-11-19 20:05     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:04PM +0800, Thomas Chou wrote:

> Change map_sysmem() to map_physmem(,,MAP_NOCACHE). Though map_sysmem()
> can be used to map system memory, it might be wrong to use it for I/O
> ports.  The map_physmem() serves the same purpose to translate physical
> address to virtual address with the additional flag to take care of cache
> property. Most drivers use map_physmem() since I/O ports access should be
> uncached. As ns16550 is a driver, it should use map_physmem() rather
> than map_sysmem().
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/aaf809b5/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot, v3, 03/13] ns16550: add generic binding to unify the drivers
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
  2015-11-19 20:34     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:05PM +0800, Thomas Chou wrote:

> Add generic binding to unify ns16550 drivers. There are
> several drivers using almost the same code, such as serial_dw,
> serial_keystone, serial_omap, serial_ppc, serial_rockchip,
> serial_tegra.c, and serial_x86. But each is platform specific.
> 
> The key difference between these drivers is the way to get
> input clock frequency. With this unified approach, fixed clock
> frequency should be extracted from "clock-frequency" property of
> device tree blob. If this property is not available, the macro
> CONFIG_SYS_NS16550_CLK will be used. It can be a constant or a
> function to get clock, eg, get_serial_clock().
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/81cb73b2/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,04/13] ns16550: unify serial_x86
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:06PM +0800, Thomas Chou wrote:

> Unify serial_x86, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/5f53fcff/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,05/13] ns16550: unify serial_ppc
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:07PM +0800, Thomas Chou wrote:

> Unify serial_ppc, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/fa1f0178/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,06/13] ns16550: unify serial_rockchip
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:08PM +0800, Thomas Chou wrote:

> Unify serial_rockchip, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Tested-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/ed51a8c9/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,07/13] ns16550: unify serial_keystone
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:52     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:52 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:09PM +0800, Thomas Chou wrote:

> Unify serial_keystone, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/e1bd86ac/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,08/13] ns16550: unify serial_dw
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:10PM +0800, Thomas Chou wrote:

> Unify serial_dw, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/eb44e11c/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  2015-12-03 21:33       ` Stephen Warren
  1 sibling, 1 reply; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:11PM +0800, Thomas Chou wrote:

> Unify serial_tegra, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/04f59f48/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,10/13] ns16550: unify serial_omap
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:12PM +0800, Thomas Chou wrote:

> Unify serial_omap, and use the generic binding.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/0b297793/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,11/13] ns16550: zap CONFIG_NS16550_SERIAL
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:13PM +0800, Thomas Chou wrote:

> Zap CONFIG_NS16550_SERIAL, as the unification of ns16550 drivers
> is completed.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/2f4b35bf/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot, v3, 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:14PM +0800, Thomas Chou wrote:

> Move CONFIG_SYS_NS16550 to Kconfig, and run moveconfig.py.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/62510c8e/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot, v3, 13/13] nios2: 10m50: change to ns16550 uart
  2015-11-19 13:48   ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
  2015-11-20 17:18     ` Simon Glass
@ 2015-11-22 15:53     ` Tom Rini
  1 sibling, 0 replies; 112+ messages in thread
From: Tom Rini @ 2015-11-22 15:53 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 19, 2015 at 09:48:15PM +0800, Thomas Chou wrote:

> Change to ns16550 uart for 10m50 devboard based on a new
> Altera release.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151122/fdeb8085/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,09/13] " Tom Rini
@ 2015-12-03 21:33       ` Stephen Warren
  2015-12-03 21:43         ` Simon Glass
  0 siblings, 1 reply; 112+ messages in thread
From: Stephen Warren @ 2015-12-03 21:33 UTC (permalink / raw)
  To: u-boot

On 11/22/2015 08:53 AM, Tom Rini wrote:
> On Thu, Nov 19, 2015 at 09:48:11PM +0800, Thomas Chou wrote:
>
>> Unify serial_tegra, and use the generic binding.
>>
>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>> Reviewed-by: Tom Rini <trini@konsulko.com>
>> Acked-by: Simon Glass <sjg@chromium.org>
>
> Applied to u-boot/master, thanks!

FYI, this patch causes at least Jetson TK1 to immediately reset at boot 
time. I imagine this affects all Tegra boards, at least those that use 
SPL or those that are ARMv7; my p2371-2180 Jetson TX1 ARMv8 board which 
doesn't use SPL seems to still work.

I guess I'll see if I can pin-point the problem, unless you can spot an 
obvious typo or something like that.

Reported-by: Kevin Hilman <khilman@linaro.org>
(Bisected by me)

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-03 21:33       ` Stephen Warren
@ 2015-12-03 21:43         ` Simon Glass
  2015-12-03 22:55           ` Stephen Warren
  0 siblings, 1 reply; 112+ messages in thread
From: Simon Glass @ 2015-12-03 21:43 UTC (permalink / raw)
  To: u-boot

Hi Stephen,

On 3 December 2015 at 14:33, Stephen Warren <swarren@wwwdotorg.org> wrote:
> On 11/22/2015 08:53 AM, Tom Rini wrote:
>>
>> On Thu, Nov 19, 2015 at 09:48:11PM +0800, Thomas Chou wrote:
>>
>>> Unify serial_tegra, and use the generic binding.
>>>
>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>> Reviewed-by: Tom Rini <trini@konsulko.com>
>>> Acked-by: Simon Glass <sjg@chromium.org>
>>
>>
>> Applied to u-boot/master, thanks!
>
>
> FYI, this patch causes at least Jetson TK1 to immediately reset at boot
> time. I imagine this affects all Tegra boards, at least those that use SPL
> or those that are ARMv7; my p2371-2180 Jetson TX1 ARMv8 board which doesn't
> use SPL seems to still work.
>
> I guess I'll see if I can pin-point the problem, unless you can spot an
> obvious typo or something like that.
>
> Reported-by: Kevin Hilman <khilman@linaro.org>
> (Bisected by me)

Unfortunately I didn't test this patch.

Things to check:
- for SPL, that the platform data is available somewhere
- clock-frequency and reg-shift are in the device tree

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-03 21:43         ` Simon Glass
@ 2015-12-03 22:55           ` Stephen Warren
  2015-12-04 13:59             ` Thomas Chou
  0 siblings, 1 reply; 112+ messages in thread
From: Stephen Warren @ 2015-12-03 22:55 UTC (permalink / raw)
  To: u-boot

On 12/03/2015 02:43 PM, Simon Glass wrote:
> Hi Stephen,
>
> On 3 December 2015 at 14:33, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 11/22/2015 08:53 AM, Tom Rini wrote:
>>>
>>> On Thu, Nov 19, 2015 at 09:48:11PM +0800, Thomas Chou wrote:
>>>
>>>> Unify serial_tegra, and use the generic binding.
>>>>
>>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>>> Reviewed-by: Tom Rini <trini@konsulko.com>
>>>> Acked-by: Simon Glass <sjg@chromium.org>
>>>
>>>
>>> Applied to u-boot/master, thanks!
>>
>>
>> FYI, this patch causes at least Jetson TK1 to immediately reset at boot
>> time. I imagine this affects all Tegra boards, at least those that use SPL
>> or those that are ARMv7; my p2371-2180 Jetson TX1 ARMv8 board which doesn't
>> use SPL seems to still work.
>>
>> I guess I'll see if I can pin-point the problem, unless you can spot an
>> obvious typo or something like that.
>>
>> Reported-by: Kevin Hilman <khilman@linaro.org>
>> (Bisected by me)
>
> Unfortunately I didn't test this patch.
>
> Things to check:
> - for SPL, that the platform data is available somewhere
> - clock-frequency and reg-shift are in the device tree

The patch below appears to solve the problem. Any ideas how to fix this 
cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every 
CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around 
arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition) 
seems to require this.

Unfortunately, the patch doesn't revert cleanly, or at least would 
require other more recent patches to be reverted first.

Also, while debugging this I found that U-Boot force-probes any device 
referenced by /chosen/stdout-path even if the DT node is disabled; yet 
more fundamental incorrect DT processing:-( That's why the patch below 
only affects SPL. More fixes to actually enable the serial port in DT 
should be required.

diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index fbfb204e6ec8..15609e7dc773 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -1,5 +1,8 @@
  if TEGRA

+config SPL_DM_SERIAL
+	bool "Fix build"
+
  config TEGRA_COMMON
  	bool "Tegra common options"
  	select DM
@@ -12,6 +15,7 @@ config TEGRA_COMMON
  	select DM_SPI
  	select DM_SPI_FLASH
  	select OF_CONTROL
+	select SPL_DM_SERIAL

  config TEGRA_ARMV7_COMMON
  	bool "Tegra 32-bit common options"
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 166deabcd436..256c7eafd76e 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
  	.priv_auto_alloc_size = sizeof(struct NS16550),
  	.probe = ns16550_serial_probe,
  	.ops	= &ns16550_serial_ops,
+	.flags	= DM_FLAG_PRE_RELOC,
  };
  #endif /* CONFIG_DM_SERIAL */

^ permalink raw reply related	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-03 22:55           ` Stephen Warren
@ 2015-12-04 13:59             ` Thomas Chou
  2015-12-04 14:10               ` Yegor Yefremov
  0 siblings, 1 reply; 112+ messages in thread
From: Thomas Chou @ 2015-12-04 13:59 UTC (permalink / raw)
  To: u-boot

Hi Stephen,

On 2015?12?04? 06:55, Stephen Warren wrote:
> The patch below appears to solve the problem. Any ideas how to fix this
> cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every
> CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around
> arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition)
> seems to require this.
>
> Unfortunately, the patch doesn't revert cleanly, or at least would
> require other more recent patches to be reverted first.
>
> Also, while debugging this I found that U-Boot force-probes any device
> referenced by /chosen/stdout-path even if the DT node is disabled; yet
> more fundamental incorrect DT processing:-( That's why the patch below
> only affects SPL. More fixes to actually enable the serial port in DT
> should be required.
>
> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
> index fbfb204e6ec8..15609e7dc773 100644
> --- a/arch/arm/mach-tegra/Kconfig
> +++ b/arch/arm/mach-tegra/Kconfig
> @@ -1,5 +1,8 @@
>   if TEGRA
>
> +config SPL_DM_SERIAL
> +    bool "Fix build"
> +
>   config TEGRA_COMMON
>       bool "Tegra common options"
>       select DM
> @@ -12,6 +15,7 @@ config TEGRA_COMMON
>       select DM_SPI
>       select DM_SPI_FLASH
>       select OF_CONTROL
> +    select SPL_DM_SERIAL
>

But all serial drivers should be converted to driver model by the end of 
Jan, 2016. The DM_SERIAL should be removed then.

As SPL might not use OF_CONTROL. We might need better logic in tegra 
board.c like,
   SPL_BUILD ? SPL_OF_CONTROL : OF_CONTROL


>   config TEGRA_ARMV7_COMMON
>       bool "Tegra 32-bit common options"
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 166deabcd436..256c7eafd76e 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
>       .priv_auto_alloc_size = sizeof(struct NS16550),
>       .probe = ns16550_serial_probe,
>       .ops    = &ns16550_serial_ops,
> +    .flags    = DM_FLAG_PRE_RELOC,

Yes, this pre-reloc flag should be added.

>   };
>   #endif /* CONFIG_DM_SERIAL */
>

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-04 13:59             ` Thomas Chou
@ 2015-12-04 14:10               ` Yegor Yefremov
  2015-12-04 15:09                 ` Tom Rini
  0 siblings, 1 reply; 112+ messages in thread
From: Yegor Yefremov @ 2015-12-04 14:10 UTC (permalink / raw)
  To: u-boot

On Fri, Dec 4, 2015 at 2:59 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> Hi Stephen,
>
>
> On 2015?12?04? 06:55, Stephen Warren wrote:
>>
>> The patch below appears to solve the problem. Any ideas how to fix this
>> cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every
>> CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around
>> arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition)
>> seems to require this.
>>
>> Unfortunately, the patch doesn't revert cleanly, or at least would
>> require other more recent patches to be reverted first.
>>
>> Also, while debugging this I found that U-Boot force-probes any device
>> referenced by /chosen/stdout-path even if the DT node is disabled; yet
>> more fundamental incorrect DT processing:-( That's why the patch below
>> only affects SPL. More fixes to actually enable the serial port in DT
>> should be required.
>>
>> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
>> index fbfb204e6ec8..15609e7dc773 100644
>> --- a/arch/arm/mach-tegra/Kconfig
>> +++ b/arch/arm/mach-tegra/Kconfig
>> @@ -1,5 +1,8 @@
>>   if TEGRA
>>
>> +config SPL_DM_SERIAL
>> +    bool "Fix build"
>> +
>>   config TEGRA_COMMON
>>       bool "Tegra common options"
>>       select DM
>> @@ -12,6 +15,7 @@ config TEGRA_COMMON
>>       select DM_SPI
>>       select DM_SPI_FLASH
>>       select OF_CONTROL
>> +    select SPL_DM_SERIAL
>>
>
> But all serial drivers should be converted to driver model by the end of
> Jan, 2016. The DM_SERIAL should be removed then.
>
> As SPL might not use OF_CONTROL. We might need better logic in tegra board.c
> like,
>   SPL_BUILD ? SPL_OF_CONTROL : OF_CONTROL
>
>
>>   config TEGRA_ARMV7_COMMON
>>       bool "Tegra 32-bit common options"
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index 166deabcd436..256c7eafd76e 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
>>       .priv_auto_alloc_size = sizeof(struct NS16550),
>>       .probe = ns16550_serial_probe,
>>       .ops    = &ns16550_serial_ops,
>> +    .flags    = DM_FLAG_PRE_RELOC,
>
>
> Yes, this pre-reloc flag should be added.
>
>>   };
>>   #endif /* CONFIG_DM_SERIAL */

Have the same issue with am335x boards
(http://lists.denx.de/pipermail/u-boot/2015-December/236615.html).

Yegor

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-04 14:10               ` Yegor Yefremov
@ 2015-12-04 15:09                 ` Tom Rini
  2015-12-04 15:52                   ` Simon Glass
  0 siblings, 1 reply; 112+ messages in thread
From: Tom Rini @ 2015-12-04 15:09 UTC (permalink / raw)
  To: u-boot

On Fri, Dec 04, 2015 at 03:10:14PM +0100, Yegor Yefremov wrote:
> On Fri, Dec 4, 2015 at 2:59 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
> > Hi Stephen,
> >
> >
> > On 2015?12?04? 06:55, Stephen Warren wrote:
> >>
> >> The patch below appears to solve the problem. Any ideas how to fix this
> >> cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every
> >> CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around
> >> arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition)
> >> seems to require this.
> >>
> >> Unfortunately, the patch doesn't revert cleanly, or at least would
> >> require other more recent patches to be reverted first.
> >>
> >> Also, while debugging this I found that U-Boot force-probes any device
> >> referenced by /chosen/stdout-path even if the DT node is disabled; yet
> >> more fundamental incorrect DT processing:-( That's why the patch below
> >> only affects SPL. More fixes to actually enable the serial port in DT
> >> should be required.
> >>
> >> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
> >> index fbfb204e6ec8..15609e7dc773 100644
> >> --- a/arch/arm/mach-tegra/Kconfig
> >> +++ b/arch/arm/mach-tegra/Kconfig
> >> @@ -1,5 +1,8 @@
> >>   if TEGRA
> >>
> >> +config SPL_DM_SERIAL
> >> +    bool "Fix build"
> >> +
> >>   config TEGRA_COMMON
> >>       bool "Tegra common options"
> >>       select DM
> >> @@ -12,6 +15,7 @@ config TEGRA_COMMON
> >>       select DM_SPI
> >>       select DM_SPI_FLASH
> >>       select OF_CONTROL
> >> +    select SPL_DM_SERIAL
> >>
> >
> > But all serial drivers should be converted to driver model by the end of
> > Jan, 2016. The DM_SERIAL should be removed then.
> >
> > As SPL might not use OF_CONTROL. We might need better logic in tegra board.c
> > like,
> >   SPL_BUILD ? SPL_OF_CONTROL : OF_CONTROL
> >
> >
> >>   config TEGRA_ARMV7_COMMON
> >>       bool "Tegra 32-bit common options"
> >> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> >> index 166deabcd436..256c7eafd76e 100644
> >> --- a/drivers/serial/ns16550.c
> >> +++ b/drivers/serial/ns16550.c
> >> @@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
> >>       .priv_auto_alloc_size = sizeof(struct NS16550),
> >>       .probe = ns16550_serial_probe,
> >>       .ops    = &ns16550_serial_ops,
> >> +    .flags    = DM_FLAG_PRE_RELOC,
> >
> >
> > Yes, this pre-reloc flag should be added.
> >
> >>   };
> >>   #endif /* CONFIG_DM_SERIAL */
> 
> Have the same issue with am335x boards
> (http://lists.denx.de/pipermail/u-boot/2015-December/236615.html).

Bah.  I tested this on omap4_panda where I didn't see a problem..

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151204/dddf22ec/attachment.sig>

^ permalink raw reply	[flat|nested] 112+ messages in thread

* [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
  2015-12-04 15:09                 ` Tom Rini
@ 2015-12-04 15:52                   ` Simon Glass
  0 siblings, 0 replies; 112+ messages in thread
From: Simon Glass @ 2015-12-04 15:52 UTC (permalink / raw)
  To: u-boot

Hi,

On 4 December 2015 at 07:09, Tom Rini <trini@konsulko.com> wrote:
> On Fri, Dec 04, 2015 at 03:10:14PM +0100, Yegor Yefremov wrote:
>> On Fri, Dec 4, 2015 at 2:59 PM, Thomas Chou <thomas@wytron.com.tw> wrote:
>> > Hi Stephen,
>> >
>> >
>> > On 2015?12?04? 06:55, Stephen Warren wrote:
>> >>
>> >> The patch below appears to solve the problem. Any ideas how to fix this
>> >> cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every
>> >> CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around
>> >> arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition)
>> >> seems to require this.
>> >>
>> >> Unfortunately, the patch doesn't revert cleanly, or at least would
>> >> require other more recent patches to be reverted first.
>> >>
>> >> Also, while debugging this I found that U-Boot force-probes any device
>> >> referenced by /chosen/stdout-path even if the DT node is disabled; yet
>> >> more fundamental incorrect DT processing:-( That's why the patch below
>> >> only affects SPL. More fixes to actually enable the serial port in DT
>> >> should be required.
>> >>
>> >> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
>> >> index fbfb204e6ec8..15609e7dc773 100644
>> >> --- a/arch/arm/mach-tegra/Kconfig
>> >> +++ b/arch/arm/mach-tegra/Kconfig
>> >> @@ -1,5 +1,8 @@
>> >>   if TEGRA
>> >>
>> >> +config SPL_DM_SERIAL
>> >> +    bool "Fix build"
>> >> +
>> >>   config TEGRA_COMMON
>> >>       bool "Tegra common options"
>> >>       select DM
>> >> @@ -12,6 +15,7 @@ config TEGRA_COMMON
>> >>       select DM_SPI
>> >>       select DM_SPI_FLASH
>> >>       select OF_CONTROL
>> >> +    select SPL_DM_SERIAL
>> >>
>> >
>> > But all serial drivers should be converted to driver model by the end of
>> > Jan, 2016. The DM_SERIAL should be removed then.
>> >
>> > As SPL might not use OF_CONTROL. We might need better logic in tegra board.c
>> > like,
>> >   SPL_BUILD ? SPL_OF_CONTROL : OF_CONTROL
>> >
>> >
>> >>   config TEGRA_ARMV7_COMMON
>> >>       bool "Tegra 32-bit common options"
>> >> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> >> index 166deabcd436..256c7eafd76e 100644
>> >> --- a/drivers/serial/ns16550.c
>> >> +++ b/drivers/serial/ns16550.c
>> >> @@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
>> >>       .priv_auto_alloc_size = sizeof(struct NS16550),
>> >>       .probe = ns16550_serial_probe,
>> >>       .ops    = &ns16550_serial_ops,
>> >> +    .flags    = DM_FLAG_PRE_RELOC,
>> >
>> >
>> > Yes, this pre-reloc flag should be added.
>> >
>> >>   };
>> >>   #endif /* CONFIG_DM_SERIAL */
>>
>> Have the same issue with am335x boards
>> (http://lists.denx.de/pipermail/u-boot/2015-December/236615.html).
>
> Bah.  I tested this on omap4_panda where I didn't see a problem..

I found someone on beaglebone black so will send a patch.

Regards,
Simon

^ permalink raw reply	[flat|nested] 112+ messages in thread

end of thread, other threads:[~2015-12-04 15:52 UTC | newest]

Thread overview: 112+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-18  0:51   ` Bin Meng
2015-11-18  1:53     ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address Thomas Chou
2015-11-17  0:18   ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-16 21:08   ` Simon Glass
2015-11-17  0:12     ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-18  1:03   ` Bin Meng
2015-11-18  1:59     ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-18  1:07   ` Bin Meng
2015-11-18  2:02     ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-17  0:35   ` Thomas Chou
2015-11-18 14:05     ` Ariel D'Alessandro
2015-11-16 14:36 ` [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 09/12] ns16550: unify serial_dw Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra Thomas Chou
2015-11-16 18:22   ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 11/12] ns16550: unify serial_omap Thomas Chou
2015-11-16 18:23   ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 12/12] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
2015-11-18 13:51     ` Bin Meng
2015-11-19  6:38     ` Heiko Schocher
2015-11-18 13:44   ` [U-Boot] [PATCH v2 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-18 13:55     ` Bin Meng
2015-11-19  6:39     ` Heiko Schocher
2015-11-18 13:44   ` [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86 Thomas Chou
2015-11-18 13:56     ` Bin Meng
2015-11-18 13:44   ` [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 06/13] ns16550: unify serial_rockchip Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 07/13] ns16550: unify serial_keystone Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 08/13] ns16550: unify serial_dw Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 09/13] ns16550: unify serial_tegra Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 10/13] ns16550: unify serial_omap Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
2015-11-18 14:09     ` Bin Meng
2015-11-18 14:36       ` Thomas Chou
2015-11-19  7:17         ` Bin Meng
2015-11-18 13:44   ` [U-Boot] [PATCH v2 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
2015-11-18 13:44   ` [U-Boot] [PATCH v2 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-19 13:48   ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
2015-11-19 20:05     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-19 20:05     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-19 20:34     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,04/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-21  0:19       ` Thomas Chou
2015-11-21  0:27         ` Simon Glass
2015-11-21  2:39           ` Thomas Chou
2015-11-21 15:22             ` Tom Rini
2015-11-21 16:10               ` Simon Glass
2015-11-22  2:50                 ` Tom Rini
2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,05/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,06/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:52     ` [U-Boot] [U-Boot,v3,07/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,08/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,09/13] " Tom Rini
2015-12-03 21:33       ` Stephen Warren
2015-12-03 21:43         ` Simon Glass
2015-12-03 22:55           ` Stephen Warren
2015-12-04 13:59             ` Thomas Chou
2015-12-04 14:10               ` Yegor Yefremov
2015-12-04 15:09                 ` Tom Rini
2015-12-04 15:52                   ` Simon Glass
2015-11-19 13:48   ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,10/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:53     ` [U-Boot] [U-Boot,v3,11/13] " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-21  0:24       ` Thomas Chou
2015-11-21  0:27         ` Simon Glass
2015-11-21  0:44           ` Thomas Chou
2015-11-21  1:56             ` Tom Rini
2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48   ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-20 17:18     ` Simon Glass
2015-11-22 15:53     ` [U-Boot] [U-Boot, v3, " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.