[PATCH 03/17] Convert CONFIG_SYS_NS16550_MEM32 et al to Kconfig

Tom Rini trini at konsulko.com
Wed Nov 16 19:10:27 CET 2022


This converts the following to Kconfig:
   CONFIG_SPL_NS16550_MIN_FUNCTIONS
   CONFIG_SYS_NS16550_MEM32
   CONFIG_SYS_NS16550_PORT_MAPPED
   CONFIG_SYS_NS16550_REG_SIZE
   CONFIG_SYS_NS16550_SERIAL

Signed-off-by: Tom Rini <trini at konsulko.com>
---
 README                                        |  7 ---
 arch/arm/include/asm/arch-bcmcygnus/configs.h |  4 --
 arch/arm/include/asm/arch-bcmnsp/configs.h    |  3 --
 configs/10m50_defconfig                       |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig      |  1 +
 configs/P1010RDB-PA_NAND_defconfig            |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig      |  1 +
 configs/P1010RDB-PB_NAND_defconfig            |  1 +
 configs/P1020RDB-PC_36BIT_NAND_defconfig      |  1 +
 configs/P1020RDB-PC_NAND_defconfig            |  1 +
 configs/P1020RDB-PD_NAND_defconfig            |  1 +
 configs/P2020RDB-PC_36BIT_NAND_defconfig      |  1 +
 configs/P2020RDB-PC_NAND_defconfig            |  1 +
 configs/SBx81LIFKW_defconfig                  |  1 +
 configs/SBx81LIFXCAT_defconfig                |  1 +
 configs/axs101_defconfig                      |  1 +
 configs/axs103_defconfig                      |  1 +
 configs/bayleybay_defconfig                   |  1 +
 configs/bcm7260_defconfig                     |  1 +
 configs/bcm7445_defconfig                     |  1 +
 configs/cherryhill_defconfig                  |  1 +
 configs/chromebit_mickey_defconfig            |  1 +
 configs/chromebook_bob_defconfig              |  1 +
 configs/chromebook_coral_defconfig            |  1 +
 configs/chromebook_jerry_defconfig            |  1 +
 configs/chromebook_kevin_defconfig            |  1 +
 configs/chromebook_link64_defconfig           |  1 +
 configs/chromebook_link_defconfig             |  1 +
 configs/chromebook_minnie_defconfig           |  1 +
 configs/chromebook_samus_defconfig            |  1 +
 configs/chromebook_samus_tpl_defconfig        |  1 +
 configs/chromebook_speedy_defconfig           |  1 +
 configs/chromebox_panther_defconfig           |  1 +
 ...-qeval20-qa3-e3845-internal-uart_defconfig |  1 +
 configs/conga-qeval20-qa3-e3845_defconfig     |  1 +
 configs/coreboot64_defconfig                  |  1 +
 configs/coreboot_defconfig                    |  1 +
 configs/cougarcanyon2_defconfig               |  1 +
 configs/crownbay_defconfig                    |  1 +
 configs/d2net_v2_defconfig                    |  1 +
 configs/dns325_defconfig                      |  1 +
 configs/dockstar_defconfig                    |  1 +
 configs/dreamplug_defconfig                   |  1 +
 configs/ds109_defconfig                       |  1 +
 configs/eaidk-610-rk3399_defconfig            |  1 +
 configs/efi-x86_payload32_defconfig           |  1 +
 configs/efi-x86_payload64_defconfig           |  1 +
 configs/elgin-rv1108_defconfig                |  1 +
 configs/evb-px30_defconfig                    |  1 +
 configs/evb-px5_defconfig                     |  1 +
 configs/evb-rk3036_defconfig                  |  1 +
 configs/evb-rk3128_defconfig                  |  1 +
 configs/evb-rk3229_defconfig                  |  1 +
 configs/evb-rk3288_defconfig                  |  1 +
 configs/evb-rk3308_defconfig                  |  1 +
 configs/evb-rk3328_defconfig                  |  1 +
 configs/evb-rk3399_defconfig                  |  1 +
 configs/evb-rk3568_defconfig                  |  1 +
 configs/evb-rv1108_defconfig                  |  1 +
 configs/ficus-rk3399_defconfig                |  1 +
 configs/firefly-px30_defconfig                |  1 +
 configs/firefly-rk3288_defconfig              |  1 +
 configs/firefly-rk3399_defconfig              |  1 +
 configs/geekbox_defconfig                     |  1 +
 configs/goflexhome_defconfig                  |  1 +
 configs/guruplug_defconfig                    |  1 +
 configs/hsdk_4xd_defconfig                    |  1 +
 configs/hsdk_defconfig                        |  1 +
 configs/ib62x0_defconfig                      |  1 +
 configs/iconnect_defconfig                    |  1 +
 configs/inetspace_v2_defconfig                |  1 +
 configs/k2e_evm_defconfig                     |  1 +
 configs/k2e_hs_evm_defconfig                  |  1 +
 configs/k2g_evm_defconfig                     |  1 +
 configs/k2g_hs_evm_defconfig                  |  1 +
 configs/k2hk_evm_defconfig                    |  1 +
 configs/k2hk_hs_evm_defconfig                 |  1 +
 configs/k2l_evm_defconfig                     |  1 +
 configs/k2l_hs_evm_defconfig                  |  1 +
 configs/khadas-edge-captain-rk3399_defconfig  |  1 +
 configs/khadas-edge-rk3399_defconfig          |  1 +
 configs/khadas-edge-v-rk3399_defconfig        |  1 +
 configs/kylin-rk3036_defconfig                |  1 +
 configs/leez-rk3399_defconfig                 |  1 +
 configs/lion-rk3368_defconfig                 |  1 +
 configs/malta64_defconfig                     |  1 +
 configs/malta64el_defconfig                   |  1 +
 configs/malta_defconfig                       |  1 +
 configs/maltael_defconfig                     |  1 +
 configs/minnowmax_defconfig                   |  1 +
 configs/miqi-rk3288_defconfig                 |  1 +
 configs/mk808_defconfig                       |  1 +
 configs/nanopc-t4-rk3399_defconfig            |  1 +
 configs/nanopi-m4-2gb-rk3399_defconfig        |  1 +
 configs/nanopi-m4-rk3399_defconfig            |  1 +
 configs/nanopi-m4b-rk3399_defconfig           |  1 +
 configs/nanopi-neo4-rk3399_defconfig          |  1 +
 configs/nanopi-r2s-rk3328_defconfig           |  1 +
 configs/nanopi-r4s-rk3399_defconfig           |  1 +
 configs/nas220_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/nsa310s_defconfig                     |  1 +
 configs/odroid-go2_defconfig                  |  1 +
 configs/openrd_base_defconfig                 |  1 +
 configs/openrd_client_defconfig               |  1 +
 configs/openrd_ultimate_defconfig             |  1 +
 configs/orangepi-rk3399_defconfig             |  1 +
 configs/phycore-rk3288_defconfig              |  1 +
 configs/pinebook-pro-rk3399_defconfig         |  1 +
 configs/pogo_e02_defconfig                    |  1 +
 configs/pogo_v4_defconfig                     |  1 +
 configs/popmetal-rk3288_defconfig             |  1 +
 configs/puma-rk3399_defconfig                 |  1 +
 configs/px30-core-ctouch2-of10-px30_defconfig |  1 +
 configs/px30-core-ctouch2-px30_defconfig      |  1 +
 configs/px30-core-edimm2.2-px30_defconfig     |  1 +
 configs/qemu-x86_64_defconfig                 |  1 +
 configs/qemu-x86_defconfig                    |  1 +
 configs/roc-cc-rk3308_defconfig               |  1 +
 configs/roc-cc-rk3328_defconfig               |  1 +
 configs/roc-pc-mezzanine-rk3399_defconfig     |  1 +
 configs/roc-pc-rk3399_defconfig               |  1 +
 configs/rock-pi-4-rk3399_defconfig            |  1 +
 configs/rock-pi-4c-rk3399_defconfig           |  1 +
 configs/rock-pi-e-rk3328_defconfig            |  1 +
 configs/rock-pi-n10-rk3399pro_defconfig       |  1 +
 configs/rock-pi-n8-rk3288_defconfig           |  1 +
 configs/rock2_defconfig                       |  1 +
 configs/rock64-rk3328_defconfig               |  1 +
 configs/rock960-rk3399_defconfig              |  1 +
 configs/rock_defconfig                        |  1 +
 configs/rockpro64-rk3399_defconfig            |  1 +
 configs/sheep-rk3368_defconfig                |  1 +
 configs/sheevaplug_defconfig                  |  1 +
 configs/slimbootloader_defconfig              |  1 +
 configs/socfpga_agilex_atf_defconfig          |  1 +
 configs/socfpga_agilex_defconfig              |  1 +
 configs/socfpga_agilex_vab_defconfig          |  1 +
 configs/socfpga_arria10_defconfig             |  1 +
 configs/socfpga_chameleonv3_defconfig         |  1 +
 configs/socfpga_n5x_atf_defconfig             |  1 +
 configs/socfpga_n5x_defconfig                 |  1 +
 configs/socfpga_n5x_vab_defconfig             |  1 +
 configs/socfpga_stratix10_atf_defconfig       |  1 +
 configs/socfpga_stratix10_defconfig           |  1 +
 configs/som-db5800-som-6867_defconfig         |  1 +
 ...able-x86-conga-qa3-e3845-pcie-x4_defconfig |  1 +
 .../theadorable-x86-conga-qa3-e3845_defconfig |  1 +
 configs/tinker-rk3288_defconfig               |  1 +
 configs/tinker-s-rk3288_defconfig             |  1 +
 configs/vyasa-rk3288_defconfig                |  1 +
 configs/xtfpga_defconfig                      |  1 +
 drivers/serial/Kconfig                        | 47 +++++++++++++++----
 include/configs/10m50_devboard.h              |  1 -
 include/configs/MPC837XERDB.h                 |  2 -
 include/configs/MPC8548CDS.h                  |  2 -
 include/configs/P1010RDB.h                    |  3 --
 include/configs/P2041RDB.h                    |  2 -
 include/configs/SBx81LIFKW.h                  |  2 -
 include/configs/SBx81LIFXCAT.h                |  2 -
 include/configs/T102xRDB.h                    |  2 -
 include/configs/T104xRDB.h                    |  2 -
 include/configs/T208xQDS.h                    |  2 -
 include/configs/T208xRDB.h                    |  2 -
 include/configs/T4240RDB.h                    |  2 -
 include/configs/am43xx_evm.h                  |  4 --
 include/configs/ax25-ae350.h                  |  4 --
 include/configs/axs10x.h                      |  2 -
 include/configs/bcmstb.h                      |  2 -
 include/configs/bur_am335x_common.h           |  2 -
 include/configs/chromebook_coral.h            |  3 --
 include/configs/cm_t43.h                      |  4 --
 include/configs/dfi-bt700.h                   |  1 -
 include/configs/galileo.h                     |  1 -
 .../configs/gardena-smart-gateway-mt7688.h    |  2 -
 include/configs/hsdk-4xd.h                    |  2 -
 include/configs/hsdk.h                        |  2 -
 include/configs/km/pg-wcom-ls102xa.h          |  1 -
 include/configs/kmcent2.h                     |  2 -
 include/configs/legoev3.h                     |  1 -
 include/configs/linkit-smart-7688.h           |  2 -
 include/configs/ls1012a_common.h              |  2 -
 include/configs/ls1021aiot.h                  |  2 -
 include/configs/ls1021aqds.h                  |  4 --
 include/configs/ls1021atsn.h                  |  4 --
 include/configs/ls1021atwr.h                  |  4 --
 include/configs/ls1028a_common.h              |  2 -
 include/configs/ls1043a_common.h              |  2 -
 include/configs/ls1046a_common.h              |  2 -
 include/configs/ls1088a_common.h              |  2 -
 include/configs/ls2080a_common.h              |  2 -
 include/configs/malta.h                       |  1 -
 include/configs/mt7621.h                      |  2 -
 include/configs/mt7628.h                      |  2 -
 include/configs/mt8183.h                      |  3 --
 include/configs/mt8516.h                      |  3 --
 include/configs/mv-common.h                   |  2 -
 include/configs/nokia_rx51.h                  |  1 -
 include/configs/p1_p2_rdb_pc.h                |  3 --
 include/configs/px30_common.h                 |  2 -
 include/configs/rk3308_common.h               |  2 -
 include/configs/rockchip-common.h             |  2 -
 include/configs/siemens-am33x-common.h        |  1 -
 include/configs/sniper.h                      |  5 --
 include/configs/socfpga_arria10_socdk.h       |  1 -
 include/configs/socfpga_chameleonv3.h         |  1 -
 include/configs/socfpga_soc64_common.h        |  1 -
 include/configs/sunxi-common.h                |  2 -
 include/configs/tb100.h                       |  1 -
 include/configs/theadorable-x86-dfi-bt700.h   |  1 -
 include/configs/ti814x_evm.h                  |  2 -
 include/configs/ti816x_evm.h                  |  2 -
 include/configs/ti_am335x_common.h            |  6 ---
 include/configs/ti_armv7_keystone2.h          |  1 -
 include/configs/ti_omap3_common.h             |  4 --
 include/configs/ti_omap4_common.h             |  2 -
 include/configs/ti_omap5_common.h             |  4 --
 include/configs/vocore2.h                     |  2 -
 include/configs/x530.h                        |  2 -
 include/configs/x86-common.h                  |  1 -
 include/configs/xtfpga.h                      |  2 -
 include/ns16550.h                             |  2 +-
 226 files changed, 193 insertions(+), 172 deletions(-)

diff --git a/README b/README
index f71832b689ed..9086207954ea 100644
--- a/README
+++ b/README
@@ -1619,13 +1619,6 @@ use the "saveenv" command to store a valid environment.
 - CONFIG_SYS_FAULT_MII_ADDR:
 		MII address of the PHY to check for the Ethernet link state.
 
-- CONFIG_SPL_NS16550_MIN_FUNCTIONS:
-		Define this if you desire to only have use of the NS16550_init
-		and NS16550_putc functions for the serial driver located at
-		drivers/serial/ns16550.c.  This option is useful for saving
-		space for already greatly restricted images, including but not
-		limited to NAND_SPL configurations.
-
 - CONFIG_DISPLAY_BOARDINFO
 		Display information about the board that U-Boot is running on
 		when U-Boot starts up. The board function checkboard() is called
diff --git a/arch/arm/include/asm/arch-bcmcygnus/configs.h b/arch/arm/include/asm/arch-bcmcygnus/configs.h
index 327c0e06977b..0c7262352d53 100644
--- a/arch/arm/include/asm/arch-bcmcygnus/configs.h
+++ b/arch/arm/include/asm/arch-bcmcygnus/configs.h
@@ -11,10 +11,6 @@
 /* uArchitecture specifics */
 
 /* Serial Info */
-/* Post pad 3 bytes after each reg addr */
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#define CONFIG_SYS_NS16550_MEM32
-
 #define CONFIG_SYS_NS16550_CLK		100000000
 #define CONFIG_SYS_NS16550_CLK_DIV	54
 #define CONFIG_SYS_NS16550_COM3		0x18023000
diff --git a/arch/arm/include/asm/arch-bcmnsp/configs.h b/arch/arm/include/asm/arch-bcmnsp/configs.h
index 05fa9b9612d5..44699476b08b 100644
--- a/arch/arm/include/asm/arch-bcmnsp/configs.h
+++ b/arch/arm/include/asm/arch-bcmnsp/configs.h
@@ -11,9 +11,6 @@
 /* uArchitecture specifics */
 
 /* Serial Info */
-/* no padding */
-#define CONFIG_SYS_NS16550_REG_SIZE	1
-
 #define CONFIG_SYS_NS16550_CLK		0x03b9aca0
 #define CONFIG_SYS_NS16550_COM1		0x18000300
 
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index dd88d10274c1..28966e0d0a41 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -47,5 +47,6 @@ CONFIG_PHY_GIGE=y
 CONFIG_ALTERA_TSE=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_TIMER=y
 CONFIG_ALTERA_TIMER=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
index e15ca5ea2b5d..0690582cdfee 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -130,6 +130,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
index b3af4450d00f..785f2d86f189 100644
--- a/configs/P1010RDB-PA_NAND_defconfig
+++ b/configs/P1010RDB-PA_NAND_defconfig
@@ -129,6 +129,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
index a61f4d017a68..696cb7e77fbe 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -133,6 +133,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
index 7f7870d82c52..ee8c2bebd4b2 100644
--- a/configs/P1010RDB-PB_NAND_defconfig
+++ b/configs/P1010RDB-PB_NAND_defconfig
@@ -132,6 +132,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
index 3f93b318c92f..f2eb7ed737b7 100644
--- a/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -143,6 +143,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
index f3fc4c82a54d..1f12338bc35d 100644
--- a/configs/P1020RDB-PC_NAND_defconfig
+++ b/configs/P1020RDB-PC_NAND_defconfig
@@ -142,6 +142,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
index cc02fe6a8ac9..4682677471ad 100644
--- a/configs/P1020RDB-PD_NAND_defconfig
+++ b/configs/P1020RDB-PD_NAND_defconfig
@@ -145,6 +145,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
index 9162774ad70c..d917c5470b1b 100644
--- a/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -148,6 +148,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
index 1269d22f90c6..89d366c96a43 100644
--- a/configs/P2020RDB-PC_NAND_defconfig
+++ b/configs/P2020RDB-PC_NAND_defconfig
@@ -147,6 +147,7 @@ CONFIG_TSEC_ENET=y
 CONFIG_PCIE_FSL=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPL_NS16550_MIN_FUNCTIONS=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_ESPI=y
diff --git a/configs/SBx81LIFKW_defconfig b/configs/SBx81LIFKW_defconfig
index 73ef73c484ef..0df58f4419af 100644
--- a/configs/SBx81LIFKW_defconfig
+++ b/configs/SBx81LIFKW_defconfig
@@ -64,6 +64,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/SBx81LIFXCAT_defconfig b/configs/SBx81LIFXCAT_defconfig
index 9fa0fda84f26..d68bccdf162d 100644
--- a/configs/SBx81LIFXCAT_defconfig
+++ b/configs/SBx81LIFXCAT_defconfig
@@ -62,6 +62,7 @@ CONFIG_PHY_FIXED=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/axs101_defconfig b/configs/axs101_defconfig
index a5436db7ac72..85a70c0996b2 100644
--- a/configs/axs101_defconfig
+++ b/configs/axs101_defconfig
@@ -56,6 +56,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/axs103_defconfig b/configs/axs103_defconfig
index 7fbec63c58f1..00d43e24c5a5 100644
--- a/configs/axs103_defconfig
+++ b/configs/axs103_defconfig
@@ -56,6 +56,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig
index 5f43f4c0ee90..90a734fcdad0 100644
--- a/configs/bayleybay_defconfig
+++ b/configs/bayleybay_defconfig
@@ -59,6 +59,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/bcm7260_defconfig b/configs/bcm7260_defconfig
index 920e8828460e..25703cf67cea 100644
--- a/configs/bcm7260_defconfig
+++ b/configs/bcm7260_defconfig
@@ -41,4 +41,5 @@ CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCMSTB=y
 CONFIG_MTD=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/bcm7445_defconfig b/configs/bcm7445_defconfig
index b44eabaa4251..9c64baaa19b3 100644
--- a/configs/bcm7445_defconfig
+++ b/configs/bcm7445_defconfig
@@ -45,6 +45,7 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_BCMSTB_SPI=y
diff --git a/configs/cherryhill_defconfig b/configs/cherryhill_defconfig
index 06987ab82860..321121e3f729 100644
--- a/configs/cherryhill_defconfig
+++ b/configs/cherryhill_defconfig
@@ -50,6 +50,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_RTL8169=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/chromebit_mickey_defconfig b/configs/chromebit_mickey_defconfig
index 59ae29a80e02..2240988dd0db 100644
--- a/configs/chromebit_mickey_defconfig
+++ b/configs/chromebit_mickey_defconfig
@@ -94,6 +94,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/chromebook_bob_defconfig b/configs/chromebook_bob_defconfig
index 3d2f40fb9554..d768e11db51e 100644
--- a/configs/chromebook_bob_defconfig
+++ b/configs/chromebook_bob_defconfig
@@ -92,6 +92,7 @@ CONFIG_DM_RESET=y
 CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/chromebook_coral_defconfig b/configs/chromebook_coral_defconfig
index 45905c6792b8..a38b3b78c08a 100644
--- a/configs/chromebook_coral_defconfig
+++ b/configs/chromebook_coral_defconfig
@@ -102,6 +102,7 @@ CONFIG_PINCTRL=y
 # CONFIG_SPL_PINCTRL_FULL is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SOUND_DA7219=y
 CONFIG_SOUND_I8254=y
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index ffa8070cb39e..150dba140865 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -97,6 +97,7 @@ CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SERIAL=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
diff --git a/configs/chromebook_kevin_defconfig b/configs/chromebook_kevin_defconfig
index e8ec8855dda3..94d14d012da2 100644
--- a/configs/chromebook_kevin_defconfig
+++ b/configs/chromebook_kevin_defconfig
@@ -93,6 +93,7 @@ CONFIG_DM_RESET=y
 CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index b645cba90709..570c4e82a473 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -79,6 +79,7 @@ CONFIG_CROS_EC=y
 CONFIG_CROS_EC_LPC=y
 CONFIG_SPL_DM_RTC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index 541b7fadead4..43cf53045b40 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -68,6 +68,7 @@ CONFIG_SYS_I2C_INTEL=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_LPC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SPI=y
 CONFIG_TPM_TIS_LPC=y
diff --git a/configs/chromebook_minnie_defconfig b/configs/chromebook_minnie_defconfig
index ca453ac8b9d0..08e1e5be415c 100644
--- a/configs/chromebook_minnie_defconfig
+++ b/configs/chromebook_minnie_defconfig
@@ -96,6 +96,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_ROCKCHIP=y
diff --git a/configs/chromebook_samus_defconfig b/configs/chromebook_samus_defconfig
index 27bf046f991a..aa3d6f2b9d19 100644
--- a/configs/chromebook_samus_defconfig
+++ b/configs/chromebook_samus_defconfig
@@ -70,6 +70,7 @@ CONFIG_SYS_I2C_DW=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_LPC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_SOUND_RT5677=y
diff --git a/configs/chromebook_samus_tpl_defconfig b/configs/chromebook_samus_tpl_defconfig
index e9222648758b..77735739b825 100644
--- a/configs/chromebook_samus_tpl_defconfig
+++ b/configs/chromebook_samus_tpl_defconfig
@@ -91,6 +91,7 @@ CONFIG_CROS_EC_LPC=y
 # CONFIG_SPL_PINCTRL is not set
 # CONFIG_TPL_PINCTRL is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_SOUND_RT5677=y
diff --git a/configs/chromebook_speedy_defconfig b/configs/chromebook_speedy_defconfig
index 92018fb78eef..d5aaee9dde17 100644
--- a/configs/chromebook_speedy_defconfig
+++ b/configs/chromebook_speedy_defconfig
@@ -95,6 +95,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SERIAL=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index b78e98c2045a..e83f2dfe7f39 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -59,6 +59,7 @@ CONFIG_CROS_EC=y
 CONFIG_CROS_EC_LPC=y
 CONFIG_RTL8169=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_TPM_TIS_LPC=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig b/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
index 0d904675f73f..31979f32bc5f 100644
--- a/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
+++ b/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
@@ -69,6 +69,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/conga-qeval20-qa3-e3845_defconfig b/configs/conga-qeval20-qa3-e3845_defconfig
index 6fed3f2ecda9..18d58bec2010 100644
--- a/configs/conga-qeval20-qa3-e3845_defconfig
+++ b/configs/conga-qeval20-qa3-e3845_defconfig
@@ -65,6 +65,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/coreboot64_defconfig b/configs/coreboot64_defconfig
index 20c0c1816968..e4da59bae927 100644
--- a/configs/coreboot64_defconfig
+++ b/configs/coreboot64_defconfig
@@ -61,6 +61,7 @@ CONFIG_ATAPI=y
 CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 # CONFIG_PCI_PNP is not set
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_CONSOLE_SCROLL_LINES=5
diff --git a/configs/coreboot_defconfig b/configs/coreboot_defconfig
index d8c5be66ad7b..e297494663e0 100644
--- a/configs/coreboot_defconfig
+++ b/configs/coreboot_defconfig
@@ -55,6 +55,7 @@ CONFIG_ATAPI=y
 CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 # CONFIG_PCI_PNP is not set
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_CONSOLE_SCROLL_LINES=5
diff --git a/configs/cougarcanyon2_defconfig b/configs/cougarcanyon2_defconfig
index 094b21666e16..203eff8e165a 100644
--- a/configs/cougarcanyon2_defconfig
+++ b/configs/cougarcanyon2_defconfig
@@ -53,6 +53,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig
index 4521172f42bf..cb0f0d7c8d02 100644
--- a/configs/crownbay_defconfig
+++ b/configs/crownbay_defconfig
@@ -57,6 +57,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SOUND=y
 CONFIG_SOUND_I8254=y
 CONFIG_SPI=y
diff --git a/configs/d2net_v2_defconfig b/configs/d2net_v2_defconfig
index 5eea1ec9a724..e3e0accac5df 100644
--- a/configs/d2net_v2_defconfig
+++ b/configs/d2net_v2_defconfig
@@ -67,6 +67,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig
index 16a866f6b475..9d5fa0e247d4 100644
--- a/configs/dns325_defconfig
+++ b/configs/dns325_defconfig
@@ -60,6 +60,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/dockstar_defconfig b/configs/dockstar_defconfig
index 6c805f41568c..4f79942c378a 100644
--- a/configs/dockstar_defconfig
+++ b/configs/dockstar_defconfig
@@ -56,6 +56,7 @@ CONFIG_PHY_MARVELL=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/dreamplug_defconfig b/configs/dreamplug_defconfig
index 86fe0692a0a3..0339759d2d97 100644
--- a/configs/dreamplug_defconfig
+++ b/configs/dreamplug_defconfig
@@ -63,6 +63,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/ds109_defconfig b/configs/ds109_defconfig
index 93aef472b54d..b914808515c0 100644
--- a/configs/ds109_defconfig
+++ b/configs/ds109_defconfig
@@ -57,6 +57,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/eaidk-610-rk3399_defconfig b/configs/eaidk-610-rk3399_defconfig
index 5abdadf2d56f..c364c9ecc8df 100644
--- a/configs/eaidk-610-rk3399_defconfig
+++ b/configs/eaidk-610-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/efi-x86_payload32_defconfig b/configs/efi-x86_payload32_defconfig
index 83f532d6e543..8d1fc22eb93c 100644
--- a/configs/efi-x86_payload32_defconfig
+++ b/configs/efi-x86_payload32_defconfig
@@ -52,6 +52,7 @@ CONFIG_ATAPI=y
 CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 # CONFIG_PCI_PNP is not set
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 # CONFIG_GZIP is not set
 CONFIG_EFI=y
 CONFIG_EFI_STUB=y
diff --git a/configs/efi-x86_payload64_defconfig b/configs/efi-x86_payload64_defconfig
index 28aaff69e978..89e6d1febc8b 100644
--- a/configs/efi-x86_payload64_defconfig
+++ b/configs/efi-x86_payload64_defconfig
@@ -52,6 +52,7 @@ CONFIG_ATAPI=y
 CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 # CONFIG_PCI_PNP is not set
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 # CONFIG_GZIP is not set
 CONFIG_EFI=y
 CONFIG_EFI_STUB=y
diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig
index 1f4ca01c50f8..36f57d58128b 100644
--- a/configs/elgin-rv1108_defconfig
+++ b/configs/elgin-rv1108_defconfig
@@ -48,6 +48,7 @@ CONFIG_PINCTRL_ROCKCHIP_RV1108=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/evb-px30_defconfig b/configs/evb-px30_defconfig
index 6bc777c51c16..bb6f21b2e634 100644
--- a/configs/evb-px30_defconfig
+++ b/configs/evb-px30_defconfig
@@ -101,6 +101,7 @@ CONFIG_RNG_ROCKCHIP=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/evb-px5_defconfig b/configs/evb-px5_defconfig
index f41c7580b4c6..2e3bff8cf04e 100644
--- a/configs/evb-px5_defconfig
+++ b/configs/evb-px5_defconfig
@@ -78,6 +78,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_PANIC_HANG=y
 CONFIG_SPL_TINY_MEMSET=y
diff --git a/configs/evb-rk3036_defconfig b/configs/evb-rk3036_defconfig
index 8ef40d847c77..289f47f4ae89 100644
--- a/configs/evb-rk3036_defconfig
+++ b/configs/evb-rk3036_defconfig
@@ -55,6 +55,7 @@ CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_PINCTRL=y
 # CONFIG_SPL_DM_SERIAL is not set
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 # CONFIG_SPL_SYSRESET is not set
 CONFIG_USB=y
diff --git a/configs/evb-rk3128_defconfig b/configs/evb-rk3128_defconfig
index ce10750857ee..06a044b93496 100644
--- a/configs/evb-rk3128_defconfig
+++ b/configs/evb-rk3128_defconfig
@@ -46,6 +46,7 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/evb-rk3229_defconfig b/configs/evb-rk3229_defconfig
index f8ca1f6597be..33202e48fe76 100644
--- a/configs/evb-rk3229_defconfig
+++ b/configs/evb-rk3229_defconfig
@@ -72,6 +72,7 @@ CONFIG_SPL_RAM=y
 CONFIG_TPL_RAM=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y
diff --git a/configs/evb-rk3288_defconfig b/configs/evb-rk3288_defconfig
index 7c0b856ca567..8f8d34c7038f 100644
--- a/configs/evb-rk3288_defconfig
+++ b/configs/evb-rk3288_defconfig
@@ -81,6 +81,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/evb-rk3308_defconfig b/configs/evb-rk3308_defconfig
index 8502fcc51e62..0aeaf01d9a70 100644
--- a/configs/evb-rk3308_defconfig
+++ b/configs/evb-rk3308_defconfig
@@ -74,6 +74,7 @@ CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/evb-rk3328_defconfig b/configs/evb-rk3328_defconfig
index 9421845b0377..8a6d19a1769e 100644
--- a/configs/evb-rk3328_defconfig
+++ b/configs/evb-rk3328_defconfig
@@ -88,6 +88,7 @@ CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 # CONFIG_TPL_SYSRESET is not set
 CONFIG_USB=y
diff --git a/configs/evb-rk3399_defconfig b/configs/evb-rk3399_defconfig
index e7da9c4e5ff7..3050fd59922c 100644
--- a/configs/evb-rk3399_defconfig
+++ b/configs/evb-rk3399_defconfig
@@ -61,6 +61,7 @@ CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
index db3acf5be53f..7374ee42fb19 100644
--- a/configs/evb-rk3568_defconfig
+++ b/configs/evb-rk3568_defconfig
@@ -63,5 +63,6 @@ CONFIG_SPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/evb-rv1108_defconfig b/configs/evb-rv1108_defconfig
index 5de5de465cb0..aab322311162 100644
--- a/configs/evb-rv1108_defconfig
+++ b/configs/evb-rv1108_defconfig
@@ -42,6 +42,7 @@ CONFIG_PINCTRL=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/ficus-rk3399_defconfig b/configs/ficus-rk3399_defconfig
index d48dcc1a0ece..3aee6b647136 100644
--- a/configs/ficus-rk3399_defconfig
+++ b/configs/ficus-rk3399_defconfig
@@ -55,6 +55,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/firefly-px30_defconfig b/configs/firefly-px30_defconfig
index 1f91118426e7..2a6d2edbab02 100644
--- a/configs/firefly-px30_defconfig
+++ b/configs/firefly-px30_defconfig
@@ -100,6 +100,7 @@ CONFIG_DM_RESET=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig
index 63c53a0248f2..26967a67cc94 100644
--- a/configs/firefly-rk3288_defconfig
+++ b/configs/firefly-rk3288_defconfig
@@ -78,6 +78,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig
index a37870628c65..547517253288 100644
--- a/configs/firefly-rk3399_defconfig
+++ b/configs/firefly-rk3399_defconfig
@@ -61,6 +61,7 @@ CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/geekbox_defconfig b/configs/geekbox_defconfig
index 1d7832b9591c..c23d0549a4a2 100644
--- a/configs/geekbox_defconfig
+++ b/configs/geekbox_defconfig
@@ -27,5 +27,6 @@ CONFIG_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
index 6fdb3ea68003..cc59e2c7762a 100644
--- a/configs/goflexhome_defconfig
+++ b/configs/goflexhome_defconfig
@@ -63,6 +63,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
index 794cf4b23d7a..482f76d99a9f 100644
--- a/configs/guruplug_defconfig
+++ b/configs/guruplug_defconfig
@@ -62,6 +62,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/hsdk_4xd_defconfig b/configs/hsdk_4xd_defconfig
index 8c6ad5a0d17d..bba406726850 100644
--- a/configs/hsdk_4xd_defconfig
+++ b/configs/hsdk_4xd_defconfig
@@ -60,6 +60,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/hsdk_defconfig b/configs/hsdk_defconfig
index 9543c785bba9..4715f9d9d7d0 100644
--- a/configs/hsdk_defconfig
+++ b/configs/hsdk_defconfig
@@ -59,6 +59,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig
index 9290cb7af688..6a879f568500 100644
--- a/configs/ib62x0_defconfig
+++ b/configs/ib62x0_defconfig
@@ -60,6 +60,7 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/iconnect_defconfig b/configs/iconnect_defconfig
index ce5a089d3270..c130d522d9c9 100644
--- a/configs/iconnect_defconfig
+++ b/configs/iconnect_defconfig
@@ -60,6 +60,7 @@ CONFIG_MII=y
 CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/inetspace_v2_defconfig b/configs/inetspace_v2_defconfig
index 42f812c31f0e..7dce414a1c58 100644
--- a/configs/inetspace_v2_defconfig
+++ b/configs/inetspace_v2_defconfig
@@ -67,6 +67,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
index 25007793b3a0..96bcba6e94ff 100644
--- a/configs/k2e_evm_defconfig
+++ b/configs/k2e_evm_defconfig
@@ -92,6 +92,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/k2e_hs_evm_defconfig b/configs/k2e_hs_evm_defconfig
index 6c8a284e7c70..0d1c97dd4b09 100644
--- a/configs/k2e_hs_evm_defconfig
+++ b/configs/k2e_hs_evm_defconfig
@@ -67,6 +67,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index 6182101f1197..bded09788026 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -96,6 +96,7 @@ CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_REMOTEPROC_TI_POWER=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_CADENCE_QSPI=y
diff --git a/configs/k2g_hs_evm_defconfig b/configs/k2g_hs_evm_defconfig
index fd169c3e957a..a851d8508221 100644
--- a/configs/k2g_hs_evm_defconfig
+++ b/configs/k2g_hs_evm_defconfig
@@ -70,6 +70,7 @@ CONFIG_NOP_PHY=y
 CONFIG_REMOTEPROC_TI_POWER=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_CADENCE_QSPI=y
diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
index fec29f2c9119..b0069fd60b01 100644
--- a/configs/k2hk_evm_defconfig
+++ b/configs/k2hk_evm_defconfig
@@ -92,6 +92,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/k2hk_hs_evm_defconfig b/configs/k2hk_hs_evm_defconfig
index f6ac484f2e85..9ca26ae61f51 100644
--- a/configs/k2hk_hs_evm_defconfig
+++ b/configs/k2hk_hs_evm_defconfig
@@ -67,6 +67,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig
index 13d612ac3fb6..153abb7eb936 100644
--- a/configs/k2l_evm_defconfig
+++ b/configs/k2l_evm_defconfig
@@ -93,6 +93,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/k2l_hs_evm_defconfig b/configs/k2l_hs_evm_defconfig
index 59ec3a6346f3..2990a702d999 100644
--- a/configs/k2l_hs_evm_defconfig
+++ b/configs/k2l_hs_evm_defconfig
@@ -71,6 +71,7 @@ CONFIG_NOP_PHY=y
 CONFIG_KEYSTONE_USB_PHY=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DAVINCI_SPI=y
diff --git a/configs/khadas-edge-captain-rk3399_defconfig b/configs/khadas-edge-captain-rk3399_defconfig
index dff052230846..754fd4e3c6d5 100644
--- a/configs/khadas-edge-captain-rk3399_defconfig
+++ b/configs/khadas-edge-captain-rk3399_defconfig
@@ -56,6 +56,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/khadas-edge-rk3399_defconfig b/configs/khadas-edge-rk3399_defconfig
index 5a8b69c0f94a..7518f7f2edef 100644
--- a/configs/khadas-edge-rk3399_defconfig
+++ b/configs/khadas-edge-rk3399_defconfig
@@ -55,6 +55,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/khadas-edge-v-rk3399_defconfig b/configs/khadas-edge-v-rk3399_defconfig
index f54a610a2748..4c4301a9e7c5 100644
--- a/configs/khadas-edge-v-rk3399_defconfig
+++ b/configs/khadas-edge-v-rk3399_defconfig
@@ -56,6 +56,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/kylin-rk3036_defconfig b/configs/kylin-rk3036_defconfig
index 1ad635daa985..646f0086c6e3 100644
--- a/configs/kylin-rk3036_defconfig
+++ b/configs/kylin-rk3036_defconfig
@@ -60,6 +60,7 @@ CONFIG_PINCTRL=y
 CONFIG_DM_REGULATOR_FIXED=y
 # CONFIG_SPL_DM_SERIAL is not set
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 # CONFIG_SPL_SYSRESET is not set
 CONFIG_USB=y
diff --git a/configs/leez-rk3399_defconfig b/configs/leez-rk3399_defconfig
index a8326f03a23f..5a958ee36a3f 100644
--- a/configs/leez-rk3399_defconfig
+++ b/configs/leez-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/lion-rk3368_defconfig b/configs/lion-rk3368_defconfig
index 1ace7b795a09..ee401b763d90 100644
--- a/configs/lion-rk3368_defconfig
+++ b/configs/lion-rk3368_defconfig
@@ -97,6 +97,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSINFO=y
 CONFIG_SYSINFO_SMBIOS=y
diff --git a/configs/malta64_defconfig b/configs/malta64_defconfig
index 054c5e6d618e..b635c651aaea 100644
--- a/configs/malta64_defconfig
+++ b/configs/malta64_defconfig
@@ -45,3 +45,4 @@ CONFIG_PCI_GT64120=y
 CONFIG_PCI_MSC01=y
 CONFIG_RTC_MC146818=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
diff --git a/configs/malta64el_defconfig b/configs/malta64el_defconfig
index 55f624bbeeb9..243213cb8197 100644
--- a/configs/malta64el_defconfig
+++ b/configs/malta64el_defconfig
@@ -47,3 +47,4 @@ CONFIG_PCI_GT64120=y
 CONFIG_PCI_MSC01=y
 CONFIG_RTC_MC146818=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index 53762a94e2a3..ed41e298f443 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -44,3 +44,4 @@ CONFIG_PCI_GT64120=y
 CONFIG_PCI_MSC01=y
 CONFIG_RTC_MC146818=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index 8b86d74dc41a..63e5fcb6a5ce 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -46,3 +46,4 @@ CONFIG_PCI_GT64120=y
 CONFIG_PCI_MSC01=y
 CONFIG_RTC_MC146818=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig
index 66f3036313c4..52ed763424a8 100644
--- a/configs/minnowmax_defconfig
+++ b/configs/minnowmax_defconfig
@@ -65,6 +65,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_RTL8169=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/miqi-rk3288_defconfig b/configs/miqi-rk3288_defconfig
index 0811e70dcefe..9346cafc64c6 100644
--- a/configs/miqi-rk3288_defconfig
+++ b/configs/miqi-rk3288_defconfig
@@ -75,6 +75,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/mk808_defconfig b/configs/mk808_defconfig
index 403a84befdc3..7ba8338add5a 100644
--- a/configs/mk808_defconfig
+++ b/configs/mk808_defconfig
@@ -99,6 +99,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SERIAL=y
 CONFIG_SYSRESET=y
 CONFIG_TIMER=y
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig
index 03fa857996ce..8fad8c643f22 100644
--- a/configs/nanopc-t4-rk3399_defconfig
+++ b/configs/nanopc-t4-rk3399_defconfig
@@ -55,6 +55,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nanopi-m4-2gb-rk3399_defconfig b/configs/nanopi-m4-2gb-rk3399_defconfig
index 67ca98563b5f..c5f13c060be4 100644
--- a/configs/nanopi-m4-2gb-rk3399_defconfig
+++ b/configs/nanopi-m4-2gb-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig
index afa51bc8fa3b..b6a604b6943d 100644
--- a/configs/nanopi-m4-rk3399_defconfig
+++ b/configs/nanopi-m4-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nanopi-m4b-rk3399_defconfig b/configs/nanopi-m4b-rk3399_defconfig
index d02eb1851a7a..767befe2d2c9 100644
--- a/configs/nanopi-m4b-rk3399_defconfig
+++ b/configs/nanopi-m4b-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig
index d2d9bf91c564..383ec1f39eee 100644
--- a/configs/nanopi-neo4-rk3399_defconfig
+++ b/configs/nanopi-neo4-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nanopi-r2s-rk3328_defconfig b/configs/nanopi-r2s-rk3328_defconfig
index 82264de90889..40d3117b4f08 100644
--- a/configs/nanopi-r2s-rk3328_defconfig
+++ b/configs/nanopi-r2s-rk3328_defconfig
@@ -91,6 +91,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSINFO=y
 CONFIG_SYSRESET=y
 # CONFIG_TPL_SYSRESET is not set
diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig
index 2185f87d7d06..40a45a0f4bbe 100644
--- a/configs/nanopi-r4s-rk3399_defconfig
+++ b/configs/nanopi-r4s-rk3399_defconfig
@@ -52,6 +52,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig
index 9cebc704ce98..e54809c781fc 100644
--- a/configs/nas220_defconfig
+++ b/configs/nas220_defconfig
@@ -64,6 +64,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/net2big_v2_defconfig b/configs/net2big_v2_defconfig
index c10e1a501394..c294789440e0 100644
--- a/configs/net2big_v2_defconfig
+++ b/configs/net2big_v2_defconfig
@@ -68,6 +68,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/netspace_lite_v2_defconfig b/configs/netspace_lite_v2_defconfig
index 75907e05c57f..f6748e12ea4e 100644
--- a/configs/netspace_lite_v2_defconfig
+++ b/configs/netspace_lite_v2_defconfig
@@ -68,6 +68,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/netspace_max_v2_defconfig b/configs/netspace_max_v2_defconfig
index db08ca576339..4525604b4390 100644
--- a/configs/netspace_max_v2_defconfig
+++ b/configs/netspace_max_v2_defconfig
@@ -68,6 +68,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/netspace_mini_v2_defconfig b/configs/netspace_mini_v2_defconfig
index dda3b6b5f93d..bf9bbd4e5e79 100644
--- a/configs/netspace_mini_v2_defconfig
+++ b/configs/netspace_mini_v2_defconfig
@@ -66,6 +66,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/netspace_v2_defconfig b/configs/netspace_v2_defconfig
index 21534c59fde7..f505f4368ea7 100644
--- a/configs/netspace_v2_defconfig
+++ b/configs/netspace_v2_defconfig
@@ -68,6 +68,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_KIRKWOOD_SPI=y
diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig
index afa0cad0418f..4c4a8aad566f 100644
--- a/configs/nsa310s_defconfig
+++ b/configs/nsa310s_defconfig
@@ -54,6 +54,7 @@ CONFIG_PHY_MARVELL=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_UBIFS_SILENCE_MSG=y
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 4705f61e4243..33adcc952cf0 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -104,6 +104,7 @@ CONFIG_DM_RESET=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
index c2e879c9bde8..49617dae1a85 100644
--- a/configs/openrd_base_defconfig
+++ b/configs/openrd_base_defconfig
@@ -62,5 +62,6 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
index 01bfaed978b9..34a0fc3c3b1a 100644
--- a/configs/openrd_client_defconfig
+++ b/configs/openrd_client_defconfig
@@ -63,5 +63,6 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
index 7c641038178f..b1343cea590b 100644
--- a/configs/openrd_ultimate_defconfig
+++ b/configs/openrd_ultimate_defconfig
@@ -63,5 +63,6 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/orangepi-rk3399_defconfig b/configs/orangepi-rk3399_defconfig
index 39245e8784b2..0980d8156965 100644
--- a/configs/orangepi-rk3399_defconfig
+++ b/configs/orangepi-rk3399_defconfig
@@ -51,6 +51,7 @@ CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/phycore-rk3288_defconfig b/configs/phycore-rk3288_defconfig
index 8a274187d093..0632a928bc0a 100644
--- a/configs/phycore-rk3288_defconfig
+++ b/configs/phycore-rk3288_defconfig
@@ -78,6 +78,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 528b7bb69f24..dfbf5e70f4a1 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -80,6 +80,7 @@ CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/pogo_e02_defconfig b/configs/pogo_e02_defconfig
index d0071f3af521..e7e6e73d3ea2 100644
--- a/configs/pogo_e02_defconfig
+++ b/configs/pogo_e02_defconfig
@@ -56,6 +56,7 @@ CONFIG_PHY_MARVELL=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
index 3b08cb7b1d14..28fee390fd38 100644
--- a/configs/pogo_v4_defconfig
+++ b/configs/pogo_v4_defconfig
@@ -75,6 +75,7 @@ CONFIG_PCI_MVEBU=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_EMULATION=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_PCI=y
diff --git a/configs/popmetal-rk3288_defconfig b/configs/popmetal-rk3288_defconfig
index f6c49da574c5..91123784b544 100644
--- a/configs/popmetal-rk3288_defconfig
+++ b/configs/popmetal-rk3288_defconfig
@@ -75,6 +75,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig
index c2b0b39c7b2c..9a5be3e91390 100644
--- a/configs/puma-rk3399_defconfig
+++ b/configs/puma-rk3399_defconfig
@@ -92,6 +92,7 @@ CONFIG_DM_RESET=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_ISL1208=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/px30-core-ctouch2-of10-px30_defconfig b/configs/px30-core-ctouch2-of10-px30_defconfig
index 9175c7c85ae1..9c36750bde03 100644
--- a/configs/px30-core-ctouch2-of10-px30_defconfig
+++ b/configs/px30-core-ctouch2-of10-px30_defconfig
@@ -100,6 +100,7 @@ CONFIG_RNG_ROCKCHIP=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/px30-core-ctouch2-px30_defconfig b/configs/px30-core-ctouch2-px30_defconfig
index 0aa7cca7b8b6..db1ceaa31f37 100644
--- a/configs/px30-core-ctouch2-px30_defconfig
+++ b/configs/px30-core-ctouch2-px30_defconfig
@@ -100,6 +100,7 @@ CONFIG_RNG_ROCKCHIP=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/px30-core-edimm2.2-px30_defconfig b/configs/px30-core-edimm2.2-px30_defconfig
index d731b9687886..d2cca48304d3 100644
--- a/configs/px30-core-edimm2.2-px30_defconfig
+++ b/configs/px30-core-edimm2.2-px30_defconfig
@@ -100,6 +100,7 @@ CONFIG_RNG_ROCKCHIP=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 8433b5734f62..0f4811e5d7a5 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -70,6 +70,7 @@ CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_NVME_PCI=y
 CONFIG_SPL_DM_RTC=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index f82f628d5bb7..a8222122fc9d 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -50,6 +50,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_NVME_PCI=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
diff --git a/configs/roc-cc-rk3308_defconfig b/configs/roc-cc-rk3308_defconfig
index 670211e2e9d7..0a029c4098f7 100644
--- a/configs/roc-cc-rk3308_defconfig
+++ b/configs/roc-cc-rk3308_defconfig
@@ -74,6 +74,7 @@ CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/roc-cc-rk3328_defconfig b/configs/roc-cc-rk3328_defconfig
index 7f1259d82c1f..8172ed0ad228 100644
--- a/configs/roc-cc-rk3328_defconfig
+++ b/configs/roc-cc-rk3328_defconfig
@@ -95,6 +95,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSINFO=y
 CONFIG_SYSINFO_SMBIOS=y
 CONFIG_SYSRESET=y
diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig
index 3cdcc729f853..6827c98ed9f1 100644
--- a/configs/roc-pc-mezzanine-rk3399_defconfig
+++ b/configs/roc-pc-mezzanine-rk3399_defconfig
@@ -71,6 +71,7 @@ CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig
index e03442afa462..cf4a58de1c5a 100644
--- a/configs/roc-pc-rk3399_defconfig
+++ b/configs/roc-pc-rk3399_defconfig
@@ -68,6 +68,7 @@ CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig
index 83721cedf3dd..54a400405bec 100644
--- a/configs/rock-pi-4-rk3399_defconfig
+++ b/configs/rock-pi-4-rk3399_defconfig
@@ -62,6 +62,7 @@ CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/rock-pi-4c-rk3399_defconfig b/configs/rock-pi-4c-rk3399_defconfig
index ac9a3f983066..e74ba07e4467 100644
--- a/configs/rock-pi-4c-rk3399_defconfig
+++ b/configs/rock-pi-4c-rk3399_defconfig
@@ -62,6 +62,7 @@ CONFIG_RAM_RK3399_LPDDR4=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/rock-pi-e-rk3328_defconfig b/configs/rock-pi-e-rk3328_defconfig
index c0c1ebf34025..0ffb073f3137 100644
--- a/configs/rock-pi-e-rk3328_defconfig
+++ b/configs/rock-pi-e-rk3328_defconfig
@@ -96,6 +96,7 @@ CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSINFO=y
 CONFIG_SYSINFO_SMBIOS=y
 CONFIG_SYSRESET=y
diff --git a/configs/rock-pi-n10-rk3399pro_defconfig b/configs/rock-pi-n10-rk3399pro_defconfig
index fcb3a681ca00..2443f292469e 100644
--- a/configs/rock-pi-n10-rk3399pro_defconfig
+++ b/configs/rock-pi-n10-rk3399pro_defconfig
@@ -63,6 +63,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/rock-pi-n8-rk3288_defconfig b/configs/rock-pi-n8-rk3288_defconfig
index 4ed98c0a511d..18c6d1b92253 100644
--- a/configs/rock-pi-n8-rk3288_defconfig
+++ b/configs/rock-pi-n8-rk3288_defconfig
@@ -74,6 +74,7 @@ CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 # CONFIG_RAM_ROCKCHIP_DEBUG is not set
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/rock2_defconfig b/configs/rock2_defconfig
index 38a5f3a80c0f..54d01456b1ef 100644
--- a/configs/rock2_defconfig
+++ b/configs/rock2_defconfig
@@ -77,6 +77,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/rock64-rk3328_defconfig b/configs/rock64-rk3328_defconfig
index e75011bee5f4..73a4f06eb9b1 100644
--- a/configs/rock64-rk3328_defconfig
+++ b/configs/rock64-rk3328_defconfig
@@ -92,6 +92,7 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSINFO=y
 CONFIG_SYSINFO_SMBIOS=y
diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
index 6ed5ef868e5e..f2c914f41f5d 100644
--- a/configs/rock960-rk3399_defconfig
+++ b/configs/rock960-rk3399_defconfig
@@ -65,6 +65,7 @@ CONFIG_DM_RNG=y
 CONFIG_RNG_ROCKCHIP=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
diff --git a/configs/rock_defconfig b/configs/rock_defconfig
index bd6183ba5b8d..26638405bf73 100644
--- a/configs/rock_defconfig
+++ b/configs/rock_defconfig
@@ -63,6 +63,7 @@ CONFIG_REGULATOR_ACT8846=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SERIAL=y
 CONFIG_SYSRESET=y
 CONFIG_TIMER=y
diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
index ba48d021f4fc..5b8d678f6bb5 100644
--- a/configs/rockpro64-rk3399_defconfig
+++ b/configs/rockpro64-rk3399_defconfig
@@ -79,6 +79,7 @@ CONFIG_SCSI=y
 CONFIG_DM_SCSI=y
 CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
diff --git a/configs/sheep-rk3368_defconfig b/configs/sheep-rk3368_defconfig
index 01f104a97d03..40cd91c045c1 100644
--- a/configs/sheep-rk3368_defconfig
+++ b/configs/sheep-rk3368_defconfig
@@ -29,5 +29,6 @@ CONFIG_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_DEBUG_UART_SKIP_INIT=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
index 52f5aba8cab5..74b6e1a0ea77 100644
--- a/configs/sheevaplug_defconfig
+++ b/configs/sheevaplug_defconfig
@@ -66,6 +66,7 @@ CONFIG_MII=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_MV=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/slimbootloader_defconfig b/configs/slimbootloader_defconfig
index b6b9f88c00bb..f5d16f64d734 100644
--- a/configs/slimbootloader_defconfig
+++ b/configs/slimbootloader_defconfig
@@ -31,5 +31,6 @@ CONFIG_SYSCON=y
 CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 # CONFIG_PCI_PNP is not set
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_CONSOLE_SCROLL_LINES=5
 # CONFIG_GZIP is not set
diff --git a/configs/socfpga_agilex_atf_defconfig b/configs/socfpga_agilex_atf_defconfig
index 68440926c078..9269eccf17ab 100644
--- a/configs/socfpga_agilex_atf_defconfig
+++ b/configs/socfpga_agilex_atf_defconfig
@@ -82,6 +82,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_agilex_defconfig b/configs/socfpga_agilex_defconfig
index de9ebd072263..48fb06722323 100644
--- a/configs/socfpga_agilex_defconfig
+++ b/configs/socfpga_agilex_defconfig
@@ -75,6 +75,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_agilex_vab_defconfig b/configs/socfpga_agilex_vab_defconfig
index 7642498ea9ca..da4545effff8 100644
--- a/configs/socfpga_agilex_vab_defconfig
+++ b/configs/socfpga_agilex_vab_defconfig
@@ -83,6 +83,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_arria10_defconfig b/configs/socfpga_arria10_defconfig
index 08ae6c502b41..4e2dc0c9857e 100644
--- a/configs/socfpga_arria10_defconfig
+++ b/configs/socfpga_arria10_defconfig
@@ -62,6 +62,7 @@ CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
diff --git a/configs/socfpga_chameleonv3_defconfig b/configs/socfpga_chameleonv3_defconfig
index 478efc59ea91..00c4cf30089a 100644
--- a/configs/socfpga_chameleonv3_defconfig
+++ b/configs/socfpga_chameleonv3_defconfig
@@ -29,6 +29,7 @@ CONFIG_FS_LOADER=y
 CONFIG_SPL_FS_LOADER=y
 CONFIG_MMC_DW=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_DESIGNWARE_APB_TIMER=y
diff --git a/configs/socfpga_n5x_atf_defconfig b/configs/socfpga_n5x_atf_defconfig
index 0feda3b04f75..4d856d535a3d 100644
--- a/configs/socfpga_n5x_atf_defconfig
+++ b/configs/socfpga_n5x_atf_defconfig
@@ -81,6 +81,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_n5x_defconfig b/configs/socfpga_n5x_defconfig
index fa19f555f20a..1056932cd35e 100644
--- a/configs/socfpga_n5x_defconfig
+++ b/configs/socfpga_n5x_defconfig
@@ -72,6 +72,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_n5x_vab_defconfig b/configs/socfpga_n5x_vab_defconfig
index 12e8ebf0138f..a6714b265e18 100644
--- a/configs/socfpga_n5x_vab_defconfig
+++ b/configs/socfpga_n5x_vab_defconfig
@@ -82,6 +82,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_stratix10_atf_defconfig b/configs/socfpga_stratix10_atf_defconfig
index 5ee9f5ff9da7..e0e6b2d04610 100644
--- a/configs/socfpga_stratix10_atf_defconfig
+++ b/configs/socfpga_stratix10_atf_defconfig
@@ -83,6 +83,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig
index f689105695c1..919863270f83 100644
--- a/configs/socfpga_stratix10_defconfig
+++ b/configs/socfpga_stratix10_defconfig
@@ -80,6 +80,7 @@ CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_MII=y
 CONFIG_DM_RESET=y
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_DESIGNWARE_SPI=y
diff --git a/configs/som-db5800-som-6867_defconfig b/configs/som-db5800-som-6867_defconfig
index 5d401e6c2d7e..5b724697123e 100644
--- a/configs/som-db5800-som-6867_defconfig
+++ b/configs/som-db5800-som-6867_defconfig
@@ -60,6 +60,7 @@ CONFIG_LBA48=y
 CONFIG_SYS_64BIT_LBA=y
 CONFIG_CPU=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig b/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
index 22544c0913aa..440c170c6b1e 100644
--- a/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
+++ b/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig
@@ -65,6 +65,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/theadorable-x86-conga-qa3-e3845_defconfig b/configs/theadorable-x86-conga-qa3-e3845_defconfig
index 8741ecbb2d71..b91c3b135479 100644
--- a/configs/theadorable-x86-conga-qa3-e3845_defconfig
+++ b/configs/theadorable-x86-conga-qa3-e3845_defconfig
@@ -64,6 +64,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_E1000=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
 CONFIG_SPI=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig
index 85d94a6ea89f..5976a84491e4 100644
--- a/configs/tinker-rk3288_defconfig
+++ b/configs/tinker-rk3288_defconfig
@@ -83,6 +83,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig
index 7dfbad808383..078f829c2dff 100644
--- a/configs/tinker-s-rk3288_defconfig
+++ b/configs/tinker-s-rk3288_defconfig
@@ -83,6 +83,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/vyasa-rk3288_defconfig b/configs/vyasa-rk3288_defconfig
index cbae60f98768..0c9d61b8053c 100644
--- a/configs/vyasa-rk3288_defconfig
+++ b/configs/vyasa-rk3288_defconfig
@@ -83,6 +83,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/xtfpga_defconfig b/configs/xtfpga_defconfig
index 31483296802c..d4e8d7586353 100644
--- a/configs/xtfpga_defconfig
+++ b/configs/xtfpga_defconfig
@@ -46,5 +46,6 @@ CONFIG_SYS_MAX_FLASH_SECT=1027
 CONFIG_PHYLIB=y
 CONFIG_ETHOC=y
 CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_REG_SIZE=-4
 CONFIG_SYSRESET=y
 CONFIG_OF_LIBFDT=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index de02e08a2996..45a34495dfb9 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -720,8 +720,12 @@ config PIC32_SERIAL
 	help
 	  Support for the UART found on Microchip PIC32 SoC's.
 
+config SYS_NS16550_SERIAL
+	bool
+
 config SYS_NS16550
 	bool "NS16550 UART or compatible"
+	select SYS_NS16550_SERIAL
 	help
 	  Support NS16550 UART or compatible. This can be enabled in the
 	  device tree with the correct input clock frequency. If the input
@@ -732,25 +736,52 @@ config SYS_NS16550
 
 config NS16550_DYNAMIC
 	bool "Allow NS16550 to be configured at runtime"
+	depends on SYS_NS16550
 	default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER
 	help
 	  Enable this option to allow device-tree control of the driver.
 
 	  Normally this driver is controlled by the following options:
 
-	  CONFIG_SYS_NS16550_PORT_MAPPED - indicates that port I/O is used for
-	     access. If not enabled, then the UART is memory-mapped.
-	  CONFIG_SYS_NS16550_MEM32 - if memory-mapped, indicates that 32-bit
-	     access should be used (instead of 8-bit)
-	  CONFIG_SYS_NS16550_REG_SIZE - indicates register width and also
-	     endianness. If positive, big-endian access is used. If negative,
-	     little-endian is used.
-
 	  It is not a good practice for a driver to be statically configured,
 	  since it prevents the same driver being used for different types of
 	  UARTs in a system. This option avoids this problem at the cost of a
 	  slightly increased code size.
 
+config SYS_NS16550_MEM32
+	bool "If memory-mapped, 32bit access is needed for ns16550 register access"
+	depends on SYS_NS16550
+	help
+	  If enabled, if memory-mapped, indicates that 32-bit access should be
+	  used (instead of 8-bit) for register access.
+
+config SYS_NS16550_PORT_MAPPED
+	bool "Port I/O is used for ns16550 register access"
+	depends on SYS_NS16550
+	help
+	  If enabled, port I/O is used for ns16550 register access. If not
+	  enabled, then the UART is memory-mapped.
+
+config SYS_NS16550_REG_SIZE
+	int "ns16550 register width and endianness"
+	depends on SYS_NS16550 && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL))
+	range -4 4
+	default -4 if ARCH_OMAP2PLUS || ARCH_SUNXI
+	default 1
+	help
+	  Indicates register width and also endianness. If positive, big-endian
+	  access is used. If negative, little-endian is used.
+
+config SPL_NS16550_MIN_FUNCTIONS
+	bool "Only provide NS16550_init and NS16550_putc in SPL"
+	depends on SYS_NS16550 && PPC && SPL_SERIAL
+	help
+	  Enable this if you desire to only have use of the NS16550_init and
+	  NS16550_putc functions for the serial driver located at
+	  drivers/serial/ns16550.c.  This option is useful for saving space for
+	  already greatly restricted images, including but not limited to
+	  NAND_SPL configurations.
+
 config INTEL_MID_SERIAL
 	bool "Intel MID platform UART support"
 	depends on DM_SERIAL && OF_CONTROL
diff --git a/include/configs/10m50_devboard.h b/include/configs/10m50_devboard.h
index afd7cc89bf8e..719caf7b0c3b 100644
--- a/include/configs/10m50_devboard.h
+++ b/include/configs/10m50_devboard.h
@@ -15,7 +15,6 @@
 /*
  * SERIAL
  */
-#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Flash
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index c4cde1cc512e..b8cbdc36754b 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -151,8 +151,6 @@
 /*
  * Serial Port
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
 
 #define CONFIG_SYS_BAUDRATE_TABLE \
diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h
index b241939fc387..dba15dae749b 100644
--- a/include/configs/MPC8548CDS.h
+++ b/include/configs/MPC8548CDS.h
@@ -235,8 +235,6 @@
 #define CONFIG_SYS_INIT_SP_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
 
 #define CONFIG_SYS_BAUDRATE_TABLE \
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 9afd834f9faf..fd721f30b3aa 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -322,10 +322,7 @@ extern unsigned long get_sdram_size(void);
 
 /* Serial Port */
 #undef	CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
-#define CONFIG_SPL_NS16550_MIN_FUNCTIONS
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index b9311fc5e4f9..173f6205e08f 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -163,8 +163,6 @@
  * open - index 2
  * shorted - index 1
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
diff --git a/include/configs/SBx81LIFKW.h b/include/configs/SBx81LIFKW.h
index 9629d735a271..c99e6ba781a4 100644
--- a/include/configs/SBx81LIFKW.h
+++ b/include/configs/SBx81LIFKW.h
@@ -12,8 +12,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #define CONFIG_SYS_NS16550_COM1		KW_UART0_BASE
 
diff --git a/include/configs/SBx81LIFXCAT.h b/include/configs/SBx81LIFXCAT.h
index 67e42b94c117..8b43fe0c9939 100644
--- a/include/configs/SBx81LIFXCAT.h
+++ b/include/configs/SBx81LIFXCAT.h
@@ -12,8 +12,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #define CONFIG_SYS_NS16550_COM1		KW_UART0_BASE
 
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index 978cc6714ec6..7cb10b205db1 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -294,8 +294,6 @@
 #define CONFIG_SYS_INIT_SP_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index f26e9d6e8692..3fa2d01dcc2a 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -267,8 +267,6 @@
  * open - index 2
  * shorted - index 1
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index 62f07108126d..c5a28fadb004 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -269,8 +269,6 @@
 /*
  * Serial Port
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 #define CONFIG_SYS_BAUDRATE_TABLE	\
 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index 0616f8a86dff..795120c02a87 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -229,8 +229,6 @@
 /*
  * Serial Port
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 #define CONFIG_SYS_BAUDRATE_TABLE	\
 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index 2eb4e73efa9e..e3cbc649fa19 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -89,8 +89,6 @@
  * open - index 2
  * shorted - index 1
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index a0951fbf6235..b61c8005c33f 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -15,10 +15,6 @@
 
 /* NS16550 Configuration */
 #define CONFIG_SYS_NS16550_CLK		48000000
-#if !defined(CONFIG_SPL_DM) || !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_REG_SIZE    (-4)
-#define CONFIG_SYS_NS16550_SERIAL
-#endif
 
 /* I2C Configuration */
 
diff --git a/include/configs/ax25-ae350.h b/include/configs/ax25-ae350.h
index cf5125fdfa63..7224bd8d1f49 100644
--- a/include/configs/ax25-ae350.h
+++ b/include/configs/ax25-ae350.h
@@ -33,10 +33,6 @@
 /*
  * Serial console configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#ifndef CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
-#endif
 #define CONFIG_SYS_NS16550_CLK		19660800
 
 /* Init Stack Pointer */
diff --git a/include/configs/axs10x.h b/include/configs/axs10x.h
index f2357b5785a1..c0429ae15c4c 100644
--- a/include/configs/axs10x.h
+++ b/include/configs/axs10x.h
@@ -26,9 +26,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		33333333
-#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Ethernet PHY configuration
diff --git a/include/configs/bcmstb.h b/include/configs/bcmstb.h
index 5aa720da3d74..481baff11d9a 100644
--- a/include/configs/bcmstb.h
+++ b/include/configs/bcmstb.h
@@ -97,8 +97,6 @@ extern phys_addr_t prior_stage_fdt_address;
  */
 #define V_NS16550_CLK			81000000
 
-#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/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index a6de28a42b2e..773ce3f6a6f8 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -14,8 +14,6 @@
 
 /* legacy #defines for non DM bur-board */
 #ifndef CONFIG_DM
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
 
diff --git a/include/configs/chromebook_coral.h b/include/configs/chromebook_coral.h
index 0eeea80b32f4..d14c1d445b25 100644
--- a/include/configs/chromebook_coral.h
+++ b/include/configs/chromebook_coral.h
@@ -18,7 +18,4 @@
 					"stdout=vidconsole,serial\0" \
 					"stderr=vidconsole,serial\0"
 
-#define CONFIG_SYS_NS16550_MEM32
-#undef CONFIG_SYS_NS16550_PORT_MAPPED
-
 #endif	/* __CONFIG_H */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index 9061eba6686a..0641d5c0a238 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -14,12 +14,8 @@
 #include <asm/arch/omap.h>
 
 /* Serial support */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		48000000
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
-#if !defined(CONFIG_SPL_DM) || !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#endif
 
 /* NAND support */
 #define CFG_SYS_NAND_ECCSIZE		512
diff --git a/include/configs/dfi-bt700.h b/include/configs/dfi-bt700.h
index 4297047e8ce2..52f2d50118a4 100644
--- a/include/configs/dfi-bt700.h
+++ b/include/configs/dfi-bt700.h
@@ -14,7 +14,6 @@
 
 #ifndef CONFIG_INTERNAL_UART
 /* Use BayTrail internal HS UART which is memory-mapped */
-#undef  CONFIG_SYS_NS16550_PORT_MAPPED
 #endif
 
 #define CONFIG_STD_DEVICES_SETTINGS     "stdin=serial\0" \
diff --git a/include/configs/galileo.h b/include/configs/galileo.h
index 545408a4baa5..472f236b9b6e 100644
--- a/include/configs/galileo.h
+++ b/include/configs/galileo.h
@@ -13,7 +13,6 @@
 #include <configs/x86-common.h>
 
 /* ns16550 UART is memory-mapped in Quark SoC */
-#undef  CONFIG_SYS_NS16550_PORT_MAPPED
 
 #define CONFIG_STD_DEVICES_SETTINGS	"stdin=serial\0" \
 					"stdout=serial\0" \
diff --git a/include/configs/gardena-smart-gateway-mt7688.h b/include/configs/gardena-smart-gateway-mt7688.h
index 965fa87c6577..0d61724db8c4 100644
--- a/include/configs/gardena-smart-gateway-mt7688.h
+++ b/include/configs/gardena-smart-gateway-mt7688.h
@@ -20,9 +20,7 @@
 
 /* Serial SPL */
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_CLK		40000000
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		0xb0000c00
 #endif
 
diff --git a/include/configs/hsdk-4xd.h b/include/configs/hsdk-4xd.h
index 4af845ea9c2d..bfc0fa5c442c 100644
--- a/include/configs/hsdk-4xd.h
+++ b/include/configs/hsdk-4xd.h
@@ -28,9 +28,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		33330000
-#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Ethernet PHY configuration
diff --git a/include/configs/hsdk.h b/include/configs/hsdk.h
index 0ce65e7755ea..ce3cb20732db 100644
--- a/include/configs/hsdk.h
+++ b/include/configs/hsdk.h
@@ -27,9 +27,7 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		33330000
-#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * Ethernet PHY configuration
diff --git a/include/configs/km/pg-wcom-ls102xa.h b/include/configs/km/pg-wcom-ls102xa.h
index cc8c37ec0bf5..7acdb0fa038e 100644
--- a/include/configs/km/pg-wcom-ls102xa.h
+++ b/include/configs/km/pg-wcom-ls102xa.h
@@ -148,7 +148,6 @@
 /*
  * Serial Port
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
 
 /*
diff --git a/include/configs/kmcent2.h b/include/configs/kmcent2.h
index 16fd6d562d41..30ba6065253e 100644
--- a/include/configs/kmcent2.h
+++ b/include/configs/kmcent2.h
@@ -330,8 +330,6 @@
  * Retain non-DM serial port for debug purposes.
  */
 #if !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0) / 2)
 #define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_CCSRBAR + 0x11C500)
 #endif
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
index f0ae9248af34..5434c4f7679f 100644
--- a/include/configs/legoev3.h
+++ b/include/configs/legoev3.h
@@ -36,7 +36,6 @@
 /*
  * Serial Driver info
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK	clk_get(DAVINCI_UART2_CLKID)
 
 #define CONFIG_SYS_SPI_CLK		clk_get(DAVINCI_SPI0_CLKID)
diff --git a/include/configs/linkit-smart-7688.h b/include/configs/linkit-smart-7688.h
index 9eedd47c07e5..b9c853d7dfef 100644
--- a/include/configs/linkit-smart-7688.h
+++ b/include/configs/linkit-smart-7688.h
@@ -20,9 +20,7 @@
 
 /* Serial SPL */
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_CLK		40000000
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM3		0xb0000e00
 
 #endif
diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h
index 77f84e1c9eaa..148598fab465 100644
--- a/include/configs/ls1012a_common.h
+++ b/include/configs/ls1012a_common.h
@@ -26,8 +26,6 @@
 
 /* GPIO */
 
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE     1
 #define CONFIG_SYS_NS16550_CLK          (get_serial_clock())
 
 #define CONFIG_HWCONFIG
diff --git a/include/configs/ls1021aiot.h b/include/configs/ls1021aiot.h
index 885774f63d47..3f2dfa640c9c 100644
--- a/include/configs/ls1021aiot.h
+++ b/include/configs/ls1021aiot.h
@@ -47,8 +47,6 @@
 /*
  * Serial Port
  */
-#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/ls1021aqds.h b/include/configs/ls1021aqds.h
index 6b23134ecc99..bd2f74c1262a 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -227,10 +227,6 @@
  * Serial Port
  */
 #ifndef CONFIG_LPUART
-#define CONFIG_SYS_NS16550_SERIAL
-#ifndef CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
-#endif
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
 #endif
 
diff --git a/include/configs/ls1021atsn.h b/include/configs/ls1021atsn.h
index fce91192dff7..8c43f652ab65 100644
--- a/include/configs/ls1021atsn.h
+++ b/include/configs/ls1021atsn.h
@@ -60,10 +60,6 @@
 #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#ifndef CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
-#endif
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
 
 /* I2C */
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index 1ac59a2d4597..06830f401a31 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -145,10 +145,6 @@
  * Serial Port
  */
 #ifndef CONFIG_LPUART
-#define CONFIG_SYS_NS16550_SERIAL
-#ifndef CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
-#endif
 #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
 #endif
 
diff --git a/include/configs/ls1028a_common.h b/include/configs/ls1028a_common.h
index 43dbeea1b3bd..7dd5649005b7 100644
--- a/include/configs/ls1028a_common.h
+++ b/include/configs/ls1028a_common.h
@@ -28,8 +28,6 @@
 /* I2C */
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE     1
 #define CONFIG_SYS_NS16550_CLK          (get_bus_freq(0) / 2)
 
 /* Miscellaneous configurable options */
diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h
index 47367845a07f..2fc06c1dd2dc 100644
--- a/include/configs/ls1043a_common.h
+++ b/include/configs/ls1043a_common.h
@@ -40,8 +40,6 @@
 #define CPU_RELEASE_ADDR               secondary_boot_addr
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK          (get_serial_clock())
 
 /* SD boot SPL */
diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h
index 07ec2c956379..40b4cb964d11 100644
--- a/include/configs/ls1046a_common.h
+++ b/include/configs/ls1046a_common.h
@@ -40,8 +40,6 @@
 #define CPU_RELEASE_ADDR               secondary_boot_addr
 
 /* Serial Port */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK          (get_serial_clock())
 
 /* SD boot SPL */
diff --git a/include/configs/ls1088a_common.h b/include/configs/ls1088a_common.h
index dec661d6b194..5668e07d1354 100644
--- a/include/configs/ls1088a_common.h
+++ b/include/configs/ls1088a_common.h
@@ -45,8 +45,6 @@
 
 
 /* Serial Port */
-#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/ls2080a_common.h b/include/configs/ls2080a_common.h
index d8997208e973..895c566fea2f 100644
--- a/include/configs/ls2080a_common.h
+++ b/include/configs/ls2080a_common.h
@@ -37,8 +37,6 @@
 /* I2C */
 
 /* Serial Port */
-#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 30c2e41eec53..2dd34ea7313c 100644
--- a/include/configs/malta.h
+++ b/include/configs/malta.h
@@ -33,7 +33,6 @@
 /*
  * Serial driver
  */
-#define CONFIG_SYS_NS16550_PORT_MAPPED
 
 /*
  * Flash configuration
diff --git a/include/configs/mt7621.h b/include/configs/mt7621.h
index 9b1ba3655e82..1f733d112dd7 100644
--- a/include/configs/mt7621.h
+++ b/include/configs/mt7621.h
@@ -22,9 +22,7 @@
 
 /* Serial SPL */
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_CLK		50000000
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		0xbe000c00
 #endif
 
diff --git a/include/configs/mt7628.h b/include/configs/mt7628.h
index 43527017d84a..da16e3b21a4b 100644
--- a/include/configs/mt7628.h
+++ b/include/configs/mt7628.h
@@ -14,9 +14,7 @@
 
 /* Serial SPL */
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_CLK		40000000
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM1		0xb0000c00
 #endif
 
diff --git a/include/configs/mt8183.h b/include/configs/mt8183.h
index c93d70ddf1a6..eaffe0bf4c95 100644
--- a/include/configs/mt8183.h
+++ b/include/configs/mt8183.h
@@ -12,9 +12,6 @@
 #include <linux/sizes.h>
 
 
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_COM1		0x11005200
 #define CONFIG_SYS_NS16550_CLK		26000000
 
diff --git a/include/configs/mt8516.h b/include/configs/mt8516.h
index 7228f3e42884..347598868bb5 100644
--- a/include/configs/mt8516.h
+++ b/include/configs/mt8516.h
@@ -12,9 +12,6 @@
 #include <linux/sizes.h>
 
 
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_COM1		0x11005000
 #define CONFIG_SYS_NS16550_CLK		26000000
 
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 6d4fff3820c1..4f1067c23bbc 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -32,10 +32,8 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #if !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_COM1		MV_UART_CONSOLE_BASE
 #endif
 
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index a88cfe77d50c..6f16e336d146 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -40,7 +40,6 @@
  */
 #define V_NS16550_CLK		48000000		/* 48MHz (APLL96/2) */
 
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 
 /*
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 838c62c67111..065820689caf 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -319,10 +319,7 @@
  * shorted - index 1
  */
 #undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	1
 #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
-#define CONFIG_SPL_NS16550_MIN_FUNCTIONS
 
 #define CONFIG_SYS_BAUDRATE_TABLE	\
 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
diff --git a/include/configs/px30_common.h b/include/configs/px30_common.h
index 49d1878ebdd7..8b151ef18836 100644
--- a/include/configs/px30_common.h
+++ b/include/configs/px30_common.h
@@ -8,8 +8,6 @@
 
 #include "rockchip-common.h"
 
-#define CONFIG_SYS_NS16550_MEM32
-
 /* FIXME: ff020000 is pmu_mem (10k), while ff0e0000 is regular int_mem */
 #define CONFIG_IRAM_BASE		0xff020000
 
diff --git a/include/configs/rk3308_common.h b/include/configs/rk3308_common.h
index 200b34b35bae..263d1bd180c5 100644
--- a/include/configs/rk3308_common.h
+++ b/include/configs/rk3308_common.h
@@ -8,8 +8,6 @@
 
 #include "rockchip-common.h"
 
-#define CONFIG_SYS_NS16550_MEM32
-
 #define CONFIG_IRAM_BASE		0xfff80000
 
 #define CONFIG_SYS_SDRAM_BASE		0
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index 4c964cc37708..1f6b82f2d022 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -7,8 +7,6 @@
 #define _ROCKCHIP_COMMON_H_
 #include <linux/sizes.h>
 
-#define CONFIG_SYS_NS16550_MEM32
-
 /* ((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512) */
 
 #ifndef CONFIG_SPL_BUILD
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index d071f590f106..5765f2ccb5e7 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -38,7 +38,6 @@
 #define CONFIG_SYS_TIMERBASE		0x48040000	/* Use Timer2 */
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		(48000000)
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
 #define CONFIG_SYS_NS16550_COM4		0x481a6000
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 0187fca5f0d9..c29bc448eed6 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -52,11 +52,6 @@
  * Serial
  */
 
-#ifdef CONFIG_SPL_BUILD
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#endif
-
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
 
diff --git a/include/configs/socfpga_arria10_socdk.h b/include/configs/socfpga_arria10_socdk.h
index f712928d3c86..49883ea7a3cc 100644
--- a/include/configs/socfpga_arria10_socdk.h
+++ b/include/configs/socfpga_arria10_socdk.h
@@ -18,7 +18,6 @@
 /*
  * Serial / UART configurations
  */
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, 115200}
 
 /*
diff --git a/include/configs/socfpga_chameleonv3.h b/include/configs/socfpga_chameleonv3.h
index 75d2081fac88..7012097276c7 100644
--- a/include/configs/socfpga_chameleonv3.h
+++ b/include/configs/socfpga_chameleonv3.h
@@ -17,7 +17,6 @@
 /*
  * Serial / UART configurations
  */
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, 115200}
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
diff --git a/include/configs/socfpga_soc64_common.h b/include/configs/socfpga_soc64_common.h
index 86cc3771ba59..029f898b64ff 100644
--- a/include/configs/socfpga_soc64_common.h
+++ b/include/configs/socfpga_soc64_common.h
@@ -76,7 +76,6 @@
  * Serial / UART configurations
  */
 #define CONFIG_SYS_NS16550_CLK		100000000
-#define CONFIG_SYS_NS16550_MEM32
 
 /*
  * SDMMC configurations
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index d9e4c8b699f4..1ed0a262bc61 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -16,7 +16,6 @@
 #include <linux/stringify.h>
 
 /* Serial & console */
-#define CONFIG_SYS_NS16550_SERIAL
 /* ns16550 reg in the low bits of cpu reg */
 #ifdef CONFIG_MACH_SUNIV
 /* suniv doesn't have apb2 and uart is connected to apb1 */
@@ -25,7 +24,6 @@
 #define CONFIG_SYS_NS16550_CLK		24000000
 #endif
 #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
 # define CONFIG_SYS_NS16550_COM3		SUNXI_UART2_BASE
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 16bdc39b750e..38a43b726f03 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -19,7 +19,6 @@
 /*
  * UART configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		166666666
 
 /*
diff --git a/include/configs/theadorable-x86-dfi-bt700.h b/include/configs/theadorable-x86-dfi-bt700.h
index bb3186e21921..663a49e7b6c5 100644
--- a/include/configs/theadorable-x86-dfi-bt700.h
+++ b/include/configs/theadorable-x86-dfi-bt700.h
@@ -13,7 +13,6 @@
 #include <configs/x86-common.h>
 
 /* Use BayTrail internal HS UART which is memory-mapped */
-#undef  CONFIG_SYS_NS16550_PORT_MAPPED
 
 /* Set the board specific parameters */
 #define DEF_ENV_TFTPDIR		"theadorable-x86-dfi"
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index 97166e010f7d..60632c58c67d 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -77,8 +77,6 @@
 #define CONFIG_SYS_TIMERBASE		0x4802E000
 
 /* NS16550 Configuration */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_CLK		(48000000)
 #define CONFIG_SYS_NS16550_COM1		0x48020000	/* Base EVM has UART0 */
 
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index efd3a0db04eb..f2dbe3544a5d 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -30,8 +30,6 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE (-4)
 #define CONFIG_SYS_NS16550_CLK      (48000000)
 #define CONFIG_SYS_NS16550_COM1     0x48024000  /* Base EVM has UART2 */
 
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 5d5df6b10191..fb017771688e 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -17,12 +17,6 @@
 #include <asm/arch/omap.h>
 
 /* NS16550 Configuration */
-#ifdef CONFIG_SPL_BUILD
-#define CONFIG_SYS_NS16550_SERIAL
-#ifndef CONFIG_DM_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#endif
-#endif
 #define CONFIG_SYS_NS16550_CLK		48000000
 
 /*
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index a4a45fad9dc8..aaeea77281b6 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -34,7 +34,6 @@
 #define KEYSTONE_SRAM_SCRATCH_SPACE_END		(TI_SRAM_SCRATCH_BOARD_EEPROM_END)
 
 /* UART Configuration */
-#define CONFIG_SYS_NS16550_MEM32
 #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 6cc443c8e9cb..80d2a011f0fe 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -27,10 +27,6 @@
 /* NS16550 Configuration */
 #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
-#if !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#endif /* !CONFIG_DM_SERIAL */
 #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 0568946fc824..eb930341c3a8 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -29,8 +29,6 @@
  */
 #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_COM3		UART3_BASE
 #endif
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 24bbf9e7c2c6..a1efb57f1b09 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -30,10 +30,6 @@
  * Hardware drivers
  */
 #define CONFIG_SYS_NS16550_CLK		48000000
-#if !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
-#endif
 
 /*
  * Environment setup
diff --git a/include/configs/vocore2.h b/include/configs/vocore2.h
index 6f36d6964b9b..84e5ba39f148 100644
--- a/include/configs/vocore2.h
+++ b/include/configs/vocore2.h
@@ -19,9 +19,7 @@
 #define CONFIG_SYS_UBOOT_BASE		0
 
 /* Serial SPL */
-#define CONFIG_SYS_NS16550_MEM32
 #define CONFIG_SYS_NS16550_CLK		40000000
-#define CONFIG_SYS_NS16550_REG_SIZE	-4
 #define CONFIG_SYS_NS16550_COM3		0xb0000e00
 
 /* RAM */
diff --git a/include/configs/x530.h b/include/configs/x530.h
index 0add626e81a5..318e3680a6e1 100644
--- a/include/configs/x530.h
+++ b/include/configs/x530.h
@@ -13,10 +13,8 @@
 /*
  * NS16550 Configuration
  */
-#define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
 #if !defined(CONFIG_DM_SERIAL)
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_COM1		MV_UART_CONSOLE_BASE
 #endif
 
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index 8e22d6e5d876..f76c1f8be0fd 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -21,7 +21,6 @@
 /*-----------------------------------------------------------------------
  * Serial Configuration
  */
-#define CONFIG_SYS_NS16550_PORT_MAPPED
 
 /*
  * Miscellaneous configurable options
diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h
index 58d01f4bb428..7090fcef6804 100644
--- a/include/configs/xtfpga.h
+++ b/include/configs/xtfpga.h
@@ -127,8 +127,6 @@
 /* Serial Driver Info */
 /*====================*/
 
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
 #define CONFIG_SYS_NS16550_COM1		IOADDR(0x0D050020) /* Base address */
 
 /* Input clk to NS16550 (in Hz; the SYS_CLK_FREQ is in kHz) */
diff --git a/include/ns16550.h b/include/ns16550.h
index 3d9002d9f151..0ee5c4d6de75 100644
--- a/include/ns16550.h
+++ b/include/ns16550.h
@@ -26,7 +26,7 @@
 
 #include <linux/types.h>
 
-#ifdef CONFIG_DM_SERIAL
+#if defined(CONFIG_DM_SERIAL) && !defined(CONFIG_SYS_NS16550_REG_SIZE)
 /*
  * For driver model we always use one byte per register, and sort out the
  * differences in the driver
-- 
2.25.1



More information about the U-Boot mailing list