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

Thomas Chou thomas at wytron.com.tw
Mon Nov 16 15:36:44 CET 2015


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



More information about the U-Boot mailing list