[U-Boot] [PATCH 0/7] Add/enable lpuart support on Vybrid based boards

- Add serial support to Vybrid device tree. - Enable lpuart support on Colibri VF50/VF61. - Add device tree files to VF610-twr board and enable lpuart support. - Add device tree files to pcm-052 board and enable lpuart support. - Droped legacy code in lpuart serial driver. - Droped non DT defconfigs for Vybrid based boards. - Compile checked for vf610twr and pcm052 since I don't have access to such hardware at my end. Reviewers and testers welcome!
Bhuvanchandra DV (7): arm: vf: Enable lpuart support arm: colibri-vf: Enable serial support arm: vf610-twr: Add device tree files arm: pcm052: Add device tree files dm: lpuart: Drop the legacy code arm: vybrid: Drop enabling serial in legacy mode arm: vf: Remove the legacy defconfigs
arch/arm/dts/Makefile | 4 +- arch/arm/dts/pcm052.dts | 27 +++++++++++ arch/arm/dts/vf-colibri.dtsi | 10 ++++ arch/arm/dts/vf.dtsi | 14 ++++++ arch/arm/dts/vf610-twr.dts | 27 +++++++++++ configs/colibri_vf_defconfig | 11 ----- configs/colibri_vf_dtb_defconfig | 1 + configs/pcm052_defconfig | 6 --- configs/pcm052_dtb_defconfig | 10 ++++ configs/vf610twr_defconfig | 9 ---- configs/vf610twr_dtb_defconfig | 13 +++++ drivers/serial/serial_lpuart.c | 101 +-------------------------------------- include/configs/colibri_vf.h | 3 -- include/configs/pcm052.h | 3 -- include/configs/vf610twr.h | 3 -- 15 files changed, 107 insertions(+), 135 deletions(-) create mode 100644 arch/arm/dts/pcm052.dts create mode 100644 arch/arm/dts/vf610-twr.dts delete mode 100644 configs/colibri_vf_defconfig delete mode 100644 configs/pcm052_defconfig create mode 100644 configs/pcm052_dtb_defconfig delete mode 100644 configs/vf610twr_defconfig create mode 100644 configs/vf610twr_dtb_defconfig

Add device tree node for lpuart on Vybrid platform --- arch/arm/dts/vf.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/arch/arm/dts/vf.dtsi b/arch/arm/dts/vf.dtsi index 78706e1..5f5bd4c 100644 --- a/arch/arm/dts/vf.dtsi +++ b/arch/arm/dts/vf.dtsi @@ -17,6 +17,8 @@ gpio2 = &gpio2; gpio3 = &gpio3; gpio4 = &gpio4; + serial0 = &uart0; + serial1 = &uart1; spi0 = &dspi0; spi1 = &dspi1; }; @@ -33,6 +35,18 @@ #size-cells = <1>; ranges;
+ uart0: serial@40027000 { + compatible = "fsl,vf610-lpuart"; + reg = <0x40027000 0x1000>; + status = "disabled"; + }; + + uart1: serial@40028000 { + compatible = "fsl,vf610-lpuart"; + reg = <0x40028000 0x1000>; + status = "disabled"; + }; + dspi0: dspi0@4002c000 { #address-cells = <1>; #size-cells = <0>;

On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Add device tree node for lpuart on Vybrid platform
arch/arm/dts/vf.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

--- arch/arm/dts/vf-colibri.dtsi | 10 ++++++++++ configs/colibri_vf_dtb_defconfig | 1 + 2 files changed, 11 insertions(+)
diff --git a/arch/arm/dts/vf-colibri.dtsi b/arch/arm/dts/vf-colibri.dtsi index 7a8e9bee..0718486 100644 --- a/arch/arm/dts/vf-colibri.dtsi +++ b/arch/arm/dts/vf-colibri.dtsi @@ -10,6 +10,12 @@ */ #include "vf.dtsi"
+/ { + chosen { + stdout-path = &uart0; + }; +}; + &dspi1 { status = "okay"; bus-num = <1>; @@ -19,3 +25,7 @@ spi-max-frequency = <50000000>; }; }; + +&uart0 { + status = "okay"; +}; diff --git a/configs/colibri_vf_dtb_defconfig b/configs/colibri_vf_dtb_defconfig index b1a843a..b204fb8 100644 --- a/configs/colibri_vf_dtb_defconfig +++ b/configs/colibri_vf_dtb_defconfig @@ -11,4 +11,5 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_NAND_VF610_NFC=y CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y +CONFIG_DM_SERIAL=y CONFIG_FSL_LPUART=y

Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Please always include a commit message.
arch/arm/dts/vf-colibri.dtsi | 10 ++++++++++ configs/colibri_vf_dtb_defconfig | 1 + 2 files changed, 11 insertions(+)
diff --git a/arch/arm/dts/vf-colibri.dtsi b/arch/arm/dts/vf-colibri.dtsi index 7a8e9bee..0718486 100644 --- a/arch/arm/dts/vf-colibri.dtsi +++ b/arch/arm/dts/vf-colibri.dtsi @@ -10,6 +10,12 @@ */ #include "vf.dtsi"
+/ {
chosen {
stdout-path = &uart0;
};
+};
&dspi1 { status = "okay"; bus-num = <1>; @@ -19,3 +25,7 @@ spi-max-frequency = <50000000>; }; };
+&uart0 {
status = "okay";
+}; diff --git a/configs/colibri_vf_dtb_defconfig b/configs/colibri_vf_dtb_defconfig
Why adding _dtb here? Can we update the existing defconfig files?
index b1a843a..b204fb8 100644 --- a/configs/colibri_vf_dtb_defconfig +++ b/configs/colibri_vf_dtb_defconfig @@ -11,4 +11,5 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_NAND_VF610_NFC=y CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y +CONFIG_DM_SERIAL=y CONFIG_FSL_LPUART=y --
Please try to insert new Kconfig options in a correct order. You can get it via 'make savedefconfig'.
Regards, Bin

Hi Bin,
On 01/22/2016 03:22 PM, Bin Meng wrote:
Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Please always include a commit message.
Okay
arch/arm/dts/vf-colibri.dtsi | 10 ++++++++++ configs/colibri_vf_dtb_defconfig | 1 + 2 files changed, 11 insertions(+)
diff --git a/arch/arm/dts/vf-colibri.dtsi b/arch/arm/dts/vf-colibri.dtsi index 7a8e9bee..0718486 100644 --- a/arch/arm/dts/vf-colibri.dtsi +++ b/arch/arm/dts/vf-colibri.dtsi @@ -10,6 +10,12 @@ */ #include "vf.dtsi"
+/ {
chosen {
stdout-path = &uart0;
};
+};
- &dspi1 { status = "okay"; bus-num = <1>;
@@ -19,3 +25,7 @@ spi-max-frequency = <50000000>; }; };
+&uart0 {
status = "okay";
+}; diff --git a/configs/colibri_vf_dtb_defconfig b/configs/colibri_vf_dtb_defconfig
Why adding _dtb here? Can we update the existing defconfig files?
index b1a843a..b204fb8 100644 --- a/configs/colibri_vf_dtb_defconfig +++ b/configs/colibri_vf_dtb_defconfig @@ -11,4 +11,5 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_NAND_VF610_NFC=y CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y +CONFIG_DM_SERIAL=y CONFIG_FSL_LPUART=y --
Please try to insert new Kconfig options in a correct order. You can get it via 'make savedefconfig'.
Will do it.
Regards, Bin

Add device tree files and enable serial support --- arch/arm/dts/Makefile | 3 ++- arch/arm/dts/vf610-twr.dts | 27 +++++++++++++++++++++++++++ configs/vf610twr_dtb_defconfig | 13 +++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/vf610-twr.dts create mode 100644 configs/vf610twr_dtb_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index f66ff41..c6fb50c 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -190,7 +190,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \ sun9i-a80-cubieboard4.dtb
dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ - vf610-colibri.dtb + vf610-colibri.dtb \ + vf610-twr.dtb
dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ k2l-evm.dtb \ diff --git a/arch/arm/dts/vf610-twr.dts b/arch/arm/dts/vf610-twr.dts new file mode 100644 index 0000000..8f86a80 --- /dev/null +++ b/arch/arm/dts/vf610-twr.dts @@ -0,0 +1,27 @@ +/* + * Copyright 2016 Toradex AG + * + * SPDX-License-Identifier: GPL-2.0+ or X11 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "vf.dtsi" + +/ { + model = "VF610 Tower Board"; + compatible = "fsl,vf610-twr", "fsl,vf610"; + + choosen { + stdout-path = &uart1; + }; + +}; + +&uart1 { + status = "okay"; +}; diff --git a/configs/vf610twr_dtb_defconfig b/configs/vf610twr_dtb_defconfig new file mode 100644 index 0000000..24a7223 --- /dev/null +++ b/configs/vf610twr_dtb_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_TARGET_VF610TWR=y +CONFIG_DEFAULT_DEVICE_TREE="vf610-twr" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC" +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_SETEXPR is not set +CONFIG_NAND_VF610_NFC=y +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y +CONFIG_SPI_FLASH=y +CONFIG_DM=y +CONFIG_OF_CONTROL=y +CONFIG_DM_SERIAL=y +CONFIG_FSL_LPUART=y

Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Add device tree files and enable serial support
arch/arm/dts/Makefile | 3 ++- arch/arm/dts/vf610-twr.dts | 27 +++++++++++++++++++++++++++ configs/vf610twr_dtb_defconfig | 13 +++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/vf610-twr.dts create mode 100644 configs/vf610twr_dtb_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index f66ff41..c6fb50c 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -190,7 +190,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \ sun9i-a80-cubieboard4.dtb
dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
vf610-colibri.dtb
vf610-colibri.dtb \
vf610-twr.dtb
dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ k2l-evm.dtb \ diff --git a/arch/arm/dts/vf610-twr.dts b/arch/arm/dts/vf610-twr.dts new file mode 100644 index 0000000..8f86a80 --- /dev/null +++ b/arch/arm/dts/vf610-twr.dts @@ -0,0 +1,27 @@ +/*
- Copyright 2016 Toradex AG
- SPDX-License-Identifier: GPL-2.0+ or X11
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- */
Since there is already SPDX license, we can remove the full one.
+/dts-v1/; +#include "vf.dtsi"
+/ {
model = "VF610 Tower Board";
compatible = "fsl,vf610-twr", "fsl,vf610";
choosen {
stdout-path = &uart1;
};
+};
+&uart1 {
status = "okay";
+}; diff --git a/configs/vf610twr_dtb_defconfig b/configs/vf610twr_dtb_defconfig
_dtb again?
new file mode 100644 index 0000000..24a7223 --- /dev/null +++ b/configs/vf610twr_dtb_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_TARGET_VF610TWR=y +CONFIG_DEFAULT_DEVICE_TREE="vf610-twr" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC" +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_SETEXPR is not set +CONFIG_NAND_VF610_NFC=y +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y +CONFIG_SPI_FLASH=y +CONFIG_DM=y +CONFIG_OF_CONTROL=y +CONFIG_DM_SERIAL=y
+CONFIG_FSL_LPUART=y
Please reorder this via 'make savedefconfig'.
Regards, Bin

On 01/22/2016 03:22 PM, Bin Meng wrote:
Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Add device tree files and enable serial support
arch/arm/dts/Makefile | 3 ++- arch/arm/dts/vf610-twr.dts | 27 +++++++++++++++++++++++++++ configs/vf610twr_dtb_defconfig | 13 +++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/vf610-twr.dts create mode 100644 configs/vf610twr_dtb_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index f66ff41..c6fb50c 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -190,7 +190,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \ sun9i-a80-cubieboard4.dtb
dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
vf610-colibri.dtb
vf610-colibri.dtb \
vf610-twr.dtb
dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ k2l-evm.dtb \
diff --git a/arch/arm/dts/vf610-twr.dts b/arch/arm/dts/vf610-twr.dts new file mode 100644 index 0000000..8f86a80 --- /dev/null +++ b/arch/arm/dts/vf610-twr.dts @@ -0,0 +1,27 @@ +/*
- Copyright 2016 Toradex AG
- SPDX-License-Identifier: GPL-2.0+ or X11
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- */
Since there is already SPDX license, we can remove the full one.
Okay.
+/dts-v1/; +#include "vf.dtsi"
+/ {
model = "VF610 Tower Board";
compatible = "fsl,vf610-twr", "fsl,vf610";
choosen {
stdout-path = &uart1;
};
+};
+&uart1 {
status = "okay";
+}; diff --git a/configs/vf610twr_dtb_defconfig b/configs/vf610twr_dtb_defconfig
_dtb again?
new file mode 100644 index 0000000..24a7223 --- /dev/null +++ b/configs/vf610twr_dtb_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_TARGET_VF610TWR=y +CONFIG_DEFAULT_DEVICE_TREE="vf610-twr" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC" +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_SETEXPR is not set +CONFIG_NAND_VF610_NFC=y +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y +CONFIG_SPI_FLASH=y +CONFIG_DM=y +CONFIG_OF_CONTROL=y +CONFIG_DM_SERIAL=y
+CONFIG_FSL_LPUART=y
Please reorder this via 'make savedefconfig'.
Regards, Bin

Add device tree files and enable serial support --- arch/arm/dts/Makefile | 3 ++- arch/arm/dts/pcm052.dts | 27 +++++++++++++++++++++++++++ configs/pcm052_dtb_defconfig | 10 ++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/pcm052.dts create mode 100644 configs/pcm052_dtb_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index c6fb50c..b3bde5a 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -191,7 +191,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \
dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ vf610-colibri.dtb \ - vf610-twr.dtb + vf610-twr.dtb \ + pcm052.dtb
dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ k2l-evm.dtb \ diff --git a/arch/arm/dts/pcm052.dts b/arch/arm/dts/pcm052.dts new file mode 100644 index 0000000..068ba2f --- /dev/null +++ b/arch/arm/dts/pcm052.dts @@ -0,0 +1,27 @@ +/* + * Copyright 2016 Toradex AG + * + * SPDX-License-Identifier: GPL-2.0+ or X11 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "vf.dtsi" + +/ { + model = "Phytec phyCORE-Vybrid"; + compatible = "phytec,pcm052", "fsl,vf610"; + + choosen { + stdout-path = &uart1; + }; + +}; + +&uart1 { + status = "okay"; +}; diff --git a/configs/pcm052_dtb_defconfig b/configs/pcm052_dtb_defconfig new file mode 100644 index 0000000..877d973 --- /dev/null +++ b/configs/pcm052_dtb_defconfig @@ -0,0 +1,10 @@ +CONFIG_ARM=y +CONFIG_TARGET_PCM052=y +CONFIG_DEFAULT_DEVICE_TREE="pcm-052" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/phytec/pcm052/imximage.cfg,ENV_IS_IN_NAND" +CONFIG_NAND_VF610_NFC=y +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y +CONFIG_DM=y +CONFIG_OF_CONTROL=y +CONFIG_DM_SERIAL=y +CONFIG_FSL_LPUART=y

Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Add device tree files and enable serial support
arch/arm/dts/Makefile | 3 ++- arch/arm/dts/pcm052.dts | 27 +++++++++++++++++++++++++++ configs/pcm052_dtb_defconfig | 10 ++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/pcm052.dts create mode 100644 configs/pcm052_dtb_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index c6fb50c..b3bde5a 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -191,7 +191,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \
dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ vf610-colibri.dtb \
vf610-twr.dtb
vf610-twr.dtb \
pcm052.dtb
dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ k2l-evm.dtb \ diff --git a/arch/arm/dts/pcm052.dts b/arch/arm/dts/pcm052.dts new file mode 100644 index 0000000..068ba2f --- /dev/null +++ b/arch/arm/dts/pcm052.dts @@ -0,0 +1,27 @@ +/*
- Copyright 2016 Toradex AG
- SPDX-License-Identifier: GPL-2.0+ or X11
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- */
+/dts-v1/; +#include "vf.dtsi"
+/ {
model = "Phytec phyCORE-Vybrid";
compatible = "phytec,pcm052", "fsl,vf610";
choosen {
stdout-path = &uart1;
};
+};
+&uart1 {
status = "okay";
+}; diff --git a/configs/pcm052_dtb_defconfig b/configs/pcm052_dtb_defconfig new file mode 100644 index 0000000..877d973 --- /dev/null +++ b/configs/pcm052_dtb_defconfig @@ -0,0 +1,10 @@ +CONFIG_ARM=y +CONFIG_TARGET_PCM052=y +CONFIG_DEFAULT_DEVICE_TREE="pcm-052" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/phytec/pcm052/imximage.cfg,ENV_IS_IN_NAND" +CONFIG_NAND_VF610_NFC=y +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y +CONFIG_DM=y +CONFIG_OF_CONTROL=y +CONFIG_DM_SERIAL=y
+CONFIG_FSL_LPUART=y
Please fix the same issues I mentioned in previous patches.
Regards, Bin

All boards using this driver are with device tree support, hence drop the legacy code in driver to have a pure DT solution. --- drivers/serial/serial_lpuart.c | 101 +---------------------------------------- 1 file changed, 2 insertions(+), 99 deletions(-)
diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index 3f9c4d1..fc3321f 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -48,8 +48,6 @@
DECLARE_GLOBAL_DATA_PTR;
-struct lpuart_fsl *base = (struct lpuart_fsl *)LPUART_BASE; - struct lpuart_serial_platdata { struct lpuart_fsl *reg; }; @@ -127,43 +125,6 @@ static int _lpuart_serial_init(struct lpuart_fsl *base) return 0; }
-#ifndef CONFIG_DM_SERIAL -static void lpuart_serial_setbrg(void) -{ - _lpuart_serial_setbrg(base, gd->baudrate); -} - -static int lpuart_serial_getc(void) -{ - return _lpuart_serial_getc(base); -} - -static void lpuart_serial_putc(const char c) -{ - _lpuart_serial_putc(base, c); -} - -static int lpuart_serial_tstc(void) -{ - return _lpuart_serial_tstc(base); -} - -static int lpuart_serial_init(void) -{ - return _lpuart_serial_init(base); -} - -static struct serial_device lpuart_serial_drv = { - .name = "lpuart_serial", - .start = lpuart_serial_init, - .stop = NULL, - .setbrg = lpuart_serial_setbrg, - .putc = lpuart_serial_putc, - .puts = default_serial_puts, - .getc = lpuart_serial_getc, - .tstc = lpuart_serial_tstc, -}; -#else /* CONFIG_DM_SERIAL */ static int lpuart_serial_setbrg(struct udevice *dev, int baudrate) { struct lpuart_serial_platdata *plat = dev->platdata; @@ -210,8 +171,8 @@ static int lpuart_serial_probe(struct udevice *dev)
return _lpuart_serial_init(reg); } -#endif /* CONFIG_DM_SERIAL */ #else + static void _lpuart32_serial_setbrg(struct lpuart_fsl *base, int baudrate) { u32 clk = CONFIG_SYS_CLK_FREQ; @@ -281,43 +242,6 @@ static int _lpuart32_serial_init(struct lpuart_fsl *base) return 0; }
-#ifndef CONFIG_DM_SERIAL -static void lpuart32_serial_setbrg(void) -{ - _lpuart32_serial_setbrg(base, gd->baudrate); -} - -static int lpuart32_serial_getc(void) -{ - return _lpuart32_serial_getc(base); -} - -static void lpuart32_serial_putc(const char c) -{ - _lpuart32_serial_putc(base, c); -} - -static int lpuart32_serial_tstc(void) -{ - return _lpuart32_serial_tstc(base); -} - -static int lpuart32_serial_init(void) -{ - return _lpuart32_serial_init(base); -} - -static struct serial_device lpuart32_serial_drv = { - .name = "lpuart32_serial", - .start = lpuart32_serial_init, - .stop = NULL, - .setbrg = lpuart32_serial_setbrg, - .putc = lpuart32_serial_putc, - .puts = default_serial_puts, - .getc = lpuart32_serial_getc, - .tstc = lpuart32_serial_tstc, -}; -#else /* CONFIG_DM_SERIAL */ static int lpuart32_serial_setbrg(struct udevice *dev, int baudrate) { struct lpuart_serial_platdata *plat = dev->platdata; @@ -364,28 +288,8 @@ static int lpuart32_serial_probe(struct udevice *dev)
return _lpuart32_serial_init(reg); } -#endif /* CONFIG_DM_SERIAL */ -#endif - -#ifndef CONFIG_DM_SERIAL -void lpuart_serial_initialize(void) -{ -#ifdef CONFIG_LPUART_32B_REG - serial_register(&lpuart32_serial_drv); -#else - serial_register(&lpuart_serial_drv); -#endif -} +#endif /* CONFIG_LPUART_32B_REG */
-__weak struct serial_device *default_serial_console(void) -{ -#ifdef CONFIG_LPUART_32B_REG - return &lpuart32_serial_drv; -#else - return &lpuart_serial_drv; -#endif -} -#else /* CONFIG_DM_SERIAL */ static int lpuart_serial_ofdata_to_platdata(struct udevice *dev) { struct lpuart_serial_platdata *plat = dev->platdata; @@ -447,4 +351,3 @@ U_BOOT_DRIVER(serial_lpuart32) = { .flags = DM_FLAG_PRE_RELOC, }; #endif /* CONFIG_LPUART_32B_REG */ -#endif /* CONFIG_DM_SERIAL */

On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
All boards using this driver are with device tree support, hence drop the legacy code in driver to have a pure DT solution.
drivers/serial/serial_lpuart.c | 101 +---------------------------------------- 1 file changed, 2 insertions(+), 99 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Remove the legacy way of handling serial ports on Vybrid based boards since lpuart driver now only supports DT mode. --- include/configs/colibri_vf.h | 3 --- include/configs/pcm052.h | 3 --- include/configs/vf610twr.h | 3 --- 3 files changed, 9 deletions(-)
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h index 5aed3a5..e17f76a 100644 --- a/include/configs/colibri_vf.h +++ b/include/configs/colibri_vf.h @@ -36,13 +36,10 @@
#define CONFIG_BOARD_EARLY_INIT_F
-#define LPUART_BASE UART0_BASE - /* Allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_VERSION_VARIABLE -#define CONFIG_SYS_UART_PORT (0) #define CONFIG_BAUDRATE 115200 #define CONFIG_CMD_ASKENV
diff --git a/include/configs/pcm052.h b/include/configs/pcm052.h index 891bdb0..f3353f2 100644 --- a/include/configs/pcm052.h +++ b/include/configs/pcm052.h @@ -27,11 +27,8 @@
#define CONFIG_BOARD_EARLY_INIT_F
-#define LPUART_BASE UART1_BASE - /* Allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE -#define CONFIG_SYS_UART_PORT (1) #define CONFIG_BAUDRATE 115200
#undef CONFIG_CMD_IMLS diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index dcfafaf..84ad2c3 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -34,11 +34,8 @@
#define CONFIG_BOARD_EARLY_INIT_F
-#define LPUART_BASE UART1_BASE - /* Allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE -#define CONFIG_SYS_UART_PORT (1) #define CONFIG_BAUDRATE 115200
/* NAND support */

On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Remove the legacy way of handling serial ports on Vybrid based boards since lpuart driver now only supports DT mode.
include/configs/colibri_vf.h | 3 --- include/configs/pcm052.h | 3 --- include/configs/vf610twr.h | 3 --- 3 files changed, 9 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

Let's go with pure DT solution! Since in long run U-Boot anyway is evolving to pure DT solution. --- configs/colibri_vf_defconfig | 11 ----------- configs/pcm052_defconfig | 6 ------ configs/vf610twr_defconfig | 9 --------- 3 files changed, 26 deletions(-) delete mode 100644 configs/colibri_vf_defconfig delete mode 100644 configs/pcm052_defconfig delete mode 100644 configs/vf610twr_defconfig
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig deleted file mode 100644 index 45917c8..0000000 --- a/configs/colibri_vf_defconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIG_ARM=y -CONFIG_TARGET_COLIBRI_VF=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND" -CONFIG_SYS_PROMPT="Colibri VFxx # " -# CONFIG_CMD_IMLS is not set -CONFIG_CMD_GPIO=y -# CONFIG_CMD_SETEXPR is not set -CONFIG_DM=y -CONFIG_NAND_VF610_NFC=y -CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y -CONFIG_FSL_LPUART=y diff --git a/configs/pcm052_defconfig b/configs/pcm052_defconfig deleted file mode 100644 index 26ab733..0000000 --- a/configs/pcm052_defconfig +++ /dev/null @@ -1,6 +0,0 @@ -CONFIG_ARM=y -CONFIG_TARGET_PCM052=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/phytec/pcm052/imximage.cfg,ENV_IS_IN_NAND" -CONFIG_NAND_VF610_NFC=y -CONFIG_SYS_NAND_BUSWIDTH_16BIT=y -CONFIG_FSL_LPUART=y diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig deleted file mode 100644 index d51c93b..0000000 --- a/configs/vf610twr_defconfig +++ /dev/null @@ -1,9 +0,0 @@ -CONFIG_ARM=y -CONFIG_TARGET_VF610TWR=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC" -# CONFIG_CMD_IMLS is not set -# CONFIG_CMD_SETEXPR is not set -CONFIG_NAND_VF610_NFC=y -CONFIG_SYS_NAND_BUSWIDTH_16BIT=y -CONFIG_SPI_FLASH=y -CONFIG_FSL_LPUART=y

Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Let's go with pure DT solution! Since in long run U-Boot anyway is evolving to pure DT solution.
configs/colibri_vf_defconfig | 11 ----------- configs/pcm052_defconfig | 6 ------ configs/vf610twr_defconfig | 9 --------- 3 files changed, 26 deletions(-) delete mode 100644 configs/colibri_vf_defconfig delete mode 100644 configs/pcm052_defconfig delete mode 100644 configs/vf610twr_defconfig
If you chose updating existing defconfig files, I believe we don't need this patch.
[snip]
Regards, Bin

On 01/22/2016 03:25 PM, Bin Meng wrote:
Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Let's go with pure DT solution! Since in long run U-Boot anyway is evolving to pure DT solution.
configs/colibri_vf_defconfig | 11 ----------- configs/pcm052_defconfig | 6 ------ configs/vf610twr_defconfig | 9 --------- 3 files changed, 26 deletions(-) delete mode 100644 configs/colibri_vf_defconfig delete mode 100644 configs/pcm052_defconfig delete mode 100644 configs/vf610twr_defconfig
If you chose updating existing defconfig files, I believe we don't need this patch.
Okay.
[snip]
Regards, Bin

On 2016-01-22 04:21, Bhuvanchandra DV wrote:
On 01/22/2016 03:25 PM, Bin Meng wrote:
Hi Bhuvanchandra,
On Fri, Jan 22, 2016 at 3:49 PM, Bhuvanchandra DV bhuvanchandra.dv@toradex.com wrote:
Let's go with pure DT solution! Since in long run U-Boot anyway is evolving to pure DT solution.
configs/colibri_vf_defconfig | 11 ----------- configs/pcm052_defconfig | 6 ------ configs/vf610twr_defconfig | 9 --------- 3 files changed, 26 deletions(-) delete mode 100644 configs/colibri_vf_defconfig delete mode 100644 configs/pcm052_defconfig delete mode 100644 configs/vf610twr_defconfig
If you chose updating existing defconfig files, I believe we don't need this patch.
Okay.
I agree with Bin, lets drop the dtb in the defconfigs.
For colibri_vf, you probably should remove the colibri_vf_defconfig and rename colibri_vf_dtb_defconfig in a first patch, and then add the additional stuff in a later patch
For the other boards, just use the defconfigs without dtb in it from start.
-- Stefan
[snip]
Regards, Bin
participants (3)
-
Bhuvanchandra DV
-
Bin Meng
-
Stefan Agner