Message ID | 1447684616-10297-8-git-send-email-thomas@wytron.com.tw |
---|---|
State | Superseded |
Delegated to: | Simon Glass |
Headers | show |
On Mon, Nov 16, 2015 at 10:36:51PM +0800, Thomas Chou wrote: > Unify serial_rockchip, and use the generic binding. > > Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Reviewed-by: Tom Rini <trini@konsulko.com>
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, > -}; >
Hi Thomas, El 16/11/15 a las 21:35, Thomas Chou escribió: > 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. Successfully tested on a Firefly RK3288 board. Tested-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
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, -};
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