Hi Thomas, On 20 November 2015 at 17:19, Thomas Chou <tho...@wytron.com.tw> wrote: > > Hi Simon, > > On 2015年11月21日 01:18, Simon Glass wrote: >> >> Hi Thomas, >> >> On 19 November 2015 at 06:48, Thomas Chou <tho...@wytron.com.tw> wrote: >>> >>> Unify serial_ppc, and use the generic binding. >>> >>> Signed-off-by: Thomas Chou <tho...@wytron.com.tw> >>> Reviewed-by: Tom Rini <tr...@konsulko.com> >>> --- >>> arch/powerpc/include/asm/config.h | 4 ++++ >>> drivers/serial/Kconfig | 2 +- >>> drivers/serial/Makefile | 1 - >>> drivers/serial/serial_ppc.c | 40 >>> --------------------------------------- >>> 4 files changed, 5 insertions(+), 42 deletions(-) >>> delete mode 100644 drivers/serial/serial_ppc.c >>> >>> diff --git a/arch/powerpc/include/asm/config.h >>> b/arch/powerpc/include/asm/config.h >>> index 65496d0..7391066 100644 >>> --- a/arch/powerpc/include/asm/config.h >>> +++ b/arch/powerpc/include/asm/config.h >>> @@ -104,4 +104,8 @@ >>> /* All PPC boards must swap IDE bytes */ >>> #define CONFIG_IDE_SWAP_IO >>> >>> +#if defined(CONFIG_DM_SERIAL) >>> +#define CONFIG_SYS_NS16550_CLK get_serial_clock() >>> +#endif >>> + > > > I move the get_serial_clock here. > > >>> #endif /* _ASM_CONFIG_H_ */ >>> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig >>> index 93faa4c..b41f508 100644 >>> --- a/drivers/serial/Kconfig >>> +++ b/drivers/serial/Kconfig >>> @@ -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. >>> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile >>> index 9036a8e..9f61113 100644 >>> --- a/drivers/serial/Makefile >>> +++ b/drivers/serial/Makefile >>> @@ -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 >>> diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c >>> deleted file mode 100644 >>> index 47141c6..0000000 >>> --- a/drivers/serial/serial_ppc.c >>> +++ /dev/null >>> @@ -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(); >> >> >> You are dropping this call. We certainly don't want it for driver >> model, but I suspect it will break some PPC boards if they don't have >> the clock-frequency in the device tree. Do they? > > > I moved it to a macro. > #define CONFIG_SYS_NS16550_CLK get_serial_clock()
Ah, we shouldn't do that with driver model. This should be in some sort of clock driver. Perhaps we should leave this serial driver along for now? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot