mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
ns16550: unify serial_ppc
Unify serial_ppc, and use the generic binding. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Add TODO comment] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
81cd63a991
commit
f27445cbdc
4 changed files with 9 additions and 42 deletions
|
@ -104,4 +104,12 @@
|
|||
/* All PPC boards must swap IDE bytes */
|
||||
#define CONFIG_IDE_SWAP_IO
|
||||
|
||||
#if defined(CONFIG_DM_SERIAL)
|
||||
/*
|
||||
* TODO: Convert this to a clock driver exists that can give us the UART
|
||||
* clock here.
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_CONFIG_H_ */
|
||||
|
|
|
@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL
|
|||
config NS16550_SERIAL
|
||||
bool "NS16550 UART or compatible"
|
||||
depends on DM_SERIAL
|
||||
default y if X86
|
||||
default y if X86 || PPC
|
||||
help
|
||||
Support NS16550 UART or compatible with driver model. This can be
|
||||
enabled in the device tree with the correct input clock frequency.
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
ifdef CONFIG_DM_SERIAL
|
||||
obj-y += serial-uclass.o
|
||||
obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o
|
||||
obj-$(CONFIG_PPC) += serial_ppc.o
|
||||
else
|
||||
obj-y += serial.o
|
||||
obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2014 Google, Inc
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <ns16550.h>
|
||||
#include <serial.h>
|
||||
|
||||
static const struct udevice_id ppc_serial_ids[] = {
|
||||
{ .compatible = "ns16550" },
|
||||
{ }
|
||||
};
|
||||
|
||||
static int ppc_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 = get_serial_clock();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
U_BOOT_DRIVER(serial_ns16550) = {
|
||||
.name = "serial_ppc",
|
||||
.id = UCLASS_SERIAL,
|
||||
.of_match = ppc_serial_ids,
|
||||
.ofdata_to_platdata = ppc_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,
|
||||
.flags = DM_FLAG_PRE_RELOC,
|
||||
};
|
Loading…
Reference in a new issue