mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-07-09 08:02:22 +00:00
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
5 changed files with 3 additions and 57 deletions
|
@ -1,6 +1,6 @@
|
||||||
/ {
|
/ {
|
||||||
serial: serial {
|
serial: serial {
|
||||||
compatible = "x86-uart";
|
compatible = "ns16550";
|
||||||
reg = <0x3f8 8>;
|
reg = <0x3f8 8>;
|
||||||
reg-shift = <0>;
|
reg-shift = <0>;
|
||||||
clock-frequency = <1843200>;
|
clock-frequency = <1843200>;
|
||||||
|
|
|
@ -3,6 +3,7 @@ CONFIG_VENDOR_EFI=y
|
||||||
CONFIG_DEFAULT_DEVICE_TREE="efi"
|
CONFIG_DEFAULT_DEVICE_TREE="efi"
|
||||||
CONFIG_TARGET_EFI=y
|
CONFIG_TARGET_EFI=y
|
||||||
CONFIG_TSC_CALIBRATION_BYPASS=y
|
CONFIG_TSC_CALIBRATION_BYPASS=y
|
||||||
|
# CONFIG_NS16550_SERIAL is not set
|
||||||
# CONFIG_CMD_BOOTM is not set
|
# CONFIG_CMD_BOOTM is not set
|
||||||
CONFIG_CMD_GPIO=y
|
CONFIG_CMD_GPIO=y
|
||||||
# CONFIG_CMD_NET is not set
|
# CONFIG_CMD_NET is not set
|
||||||
|
@ -13,5 +14,4 @@ CONFIG_DEBUG_UART=y
|
||||||
CONFIG_DEBUG_EFI_CONSOLE=y
|
CONFIG_DEBUG_EFI_CONSOLE=y
|
||||||
CONFIG_DEBUG_UART_BASE=0
|
CONFIG_DEBUG_UART_BASE=0
|
||||||
CONFIG_DEBUG_UART_CLOCK=0
|
CONFIG_DEBUG_UART_CLOCK=0
|
||||||
# CONFIG_X86_SERIAL is not set
|
|
||||||
CONFIG_EFI=y
|
CONFIG_EFI=y
|
||||||
|
|
|
@ -198,6 +198,7 @@ config ROCKCHIP_SERIAL
|
||||||
config NS16550_SERIAL
|
config NS16550_SERIAL
|
||||||
bool "NS16550 UART or compatible"
|
bool "NS16550 UART or compatible"
|
||||||
depends on DM_SERIAL
|
depends on DM_SERIAL
|
||||||
|
default y if X86
|
||||||
help
|
help
|
||||||
Support NS16550 UART or compatible with driver model. This can be
|
Support NS16550 UART or compatible with driver model. This can be
|
||||||
enabled in the device tree with the correct input clock frequency.
|
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
|
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.
|
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
|
endmenu
|
||||||
|
|
|
@ -46,7 +46,6 @@ obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
|
||||||
obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
|
obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
|
||||||
obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
|
obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
|
||||||
obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
|
obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
|
||||||
obj-$(CONFIG_X86_SERIAL) += serial_x86.o
|
|
||||||
obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
|
obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
|
||||||
|
|
||||||
ifndef CONFIG_SPL_BUILD
|
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…
Add table
Add a link
Reference in a new issue