
Hi Ariel,
On 2015年11月16日 22:36, Thomas Chou wrote:
Unify serial_rockchip, and use the generic binding.
Signed-off-by: Thomas Chou thomas@wytron.com.tw
arch/arm/mach-rockchip/Kconfig | 8 +++++++- drivers/serial/Kconfig | 9 --------- drivers/serial/Makefile | 1 - drivers/serial/serial_rockchip.c | 43 ---------------------------------------- 4 files changed, 7 insertions(+), 54 deletions(-) delete mode 100644 drivers/serial/serial_rockchip.c
Please check this series. Though I run buildman, I don't have a rockchip board to test. Thanks.
Best regards, Thomas
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index ab50f4e..2afdcc5 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -33,9 +33,15 @@ config DM_I2C config DM_GPIO default y
-config ROCKCHIP_SERIAL +config NS16550_SERIAL
- depends on DM_SERIAL default y
+config SYS_NS16550_CLK
int
depends on NS16550_SERIAL
default 24000000
source "arch/arm/mach-rockchip/rk3288/Kconfig"
endif
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index abcf2aa..353d26d 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -177,15 +177,6 @@ config ALTERA_UART Select this to enable an UART for Altera devices. Please find details on the "Embedded Peripherals IP User Guide" of Altera.
-config ROCKCHIP_SERIAL
- bool "Rockchip on-chip UART support"
- depends on ARCH_ROCKCHIP && DM_SERIAL
- help
Select this to enable a debug UART for Rockchip devices. This uses
the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
your board config header. The clock input is automatically set to
use the oscillator (24MHz).
- config NS16550_SERIAL bool "NS16550 UART or compatible" depends on DM_SERIAL
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index 9f61113..debc175 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile @@ -40,7 +40,6 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o obj-$(CONFIG_MXS_AUART) += mxs_auart.o -obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o obj-$(CONFIG_ARC_SERIAL) += serial_arc.o obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c deleted file mode 100644 index 0e7bbfc..0000000 --- a/drivers/serial/serial_rockchip.c +++ /dev/null @@ -1,43 +0,0 @@ -/*
- Copyright (c) 2015 Google, Inc
- SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h> -#include <dm.h> -#include <ns16550.h> -#include <serial.h> -#include <asm/arch/clock.h>
-static const struct udevice_id rockchip_serial_ids[] = {
- { .compatible = "rockchip,rk3288-uart" },
- { }
-};
-static int rockchip_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;
- /* Do all Rockchip parts use 24MHz? */
- plat->clock = 24 * 1000000;
- return 0;
-}
-U_BOOT_DRIVER(serial_ns16550) = {
- .name = "serial_rockchip",
- .id = UCLASS_SERIAL,
- .of_match = rockchip_serial_ids,
- .ofdata_to_platdata = rockchip_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,
-};