ns16550: unify serial_x86

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>
This commit is contained in:
Thomas Chou 2015-11-19 21:48:06 +08:00 committed by Tom Rini
parent 8e62d32e5b
commit 81cd63a991
5 changed files with 3 additions and 57 deletions

View File

@ -1,6 +1,6 @@
/ {
serial: serial {
compatible = "x86-uart";
compatible = "ns16550";
reg = <0x3f8 8>;
reg-shift = <0>;
clock-frequency = <1843200>;

View 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

View 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

View 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

View File

@ -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,
};