ns16550: unify serial_x86
authorThomas Chou <thomas@wytron.com.tw>
Thu, 19 Nov 2015 13:48:06 +0000 (21:48 +0800)
committerTom Rini <trini@konsulko.com>
Sat, 21 Nov 2015 01:41:30 +0000 (20:41 -0500)
Unify serial_x86, and use the generic binding.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
arch/x86/dts/serial.dtsi
configs/efi-x86_defconfig
drivers/serial/Kconfig
drivers/serial/Makefile
drivers/serial/serial_x86.c [deleted file]

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