From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Chou Date: Wed, 18 Nov 2015 21:44:51 +0800 Subject: [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc In-Reply-To: <1447854299-23680-1-git-send-email-thomas@wytron.com.tw> References: <1447684616-10297-1-git-send-email-thomas@wytron.com.tw> <1447854299-23680-1-git-send-email-thomas@wytron.com.tw> Message-ID: <1447854299-23680-6-git-send-email-thomas@wytron.com.tw> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Unify serial_ppc, and use the generic binding. Signed-off-by: Thomas Chou Reviewed-by: Tom Rini --- 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 + #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 -#include -#include -#include - -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, -}; -- 2.5.0