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:
parent
8e62d32e5b
commit
81cd63a991
@ -1,6 +1,6 @@
|
||||
/ {
|
||||
serial: serial {
|
||||
compatible = "x86-uart";
|
||||
compatible = "ns16550";
|
||||
reg = <0x3f8 8>;
|
||||
reg-shift = <0>;
|
||||
clock-frequency = <1843200>;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
};
|
Loading…
Reference in New Issue
Block a user