[U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers

Thomas Chou
2015-11-16T14:36:44Z

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

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

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

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

--
2.5.0