[U-Boot] [PATCH 1/3] ARM: uniphier: select SPL_DM rather than default in defconfig

Now UniPhier SoCs highly depend on Driver Model for SPL, too.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
arch/arm/Kconfig | 1 + configs/ph1_ld4_defconfig | 1 - configs/ph1_pro4_defconfig | 1 - configs/ph1_sld3_defconfig | 1 - configs/ph1_sld8_defconfig | 1 - 5 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a99ae28..5f3af77 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -817,6 +817,7 @@ config ARCH_UNIPHIER select SPL select OF_CONTROL select DM + select SPL_DM select DM_SERIAL select DM_I2C help diff --git a/configs/ph1_ld4_defconfig b/configs/ph1_ld4_defconfig index f84dcdf..56c215f 100644 --- a/configs/ph1_ld4_defconfig +++ b/configs/ph1_ld4_defconfig @@ -17,7 +17,6 @@ CONFIG_CMD_PING=y CONFIG_CMD_TIME=y # CONFIG_CMD_MISC is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPL_DM=y CONFIG_NAND_DENALI=y CONFIG_SYS_NAND_DENALI_64BIT=y CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES=8 diff --git a/configs/ph1_pro4_defconfig b/configs/ph1_pro4_defconfig index 2fc844d..7624c54 100644 --- a/configs/ph1_pro4_defconfig +++ b/configs/ph1_pro4_defconfig @@ -16,7 +16,6 @@ CONFIG_CMD_PING=y CONFIG_CMD_TIME=y # CONFIG_CMD_MISC is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPL_DM=y CONFIG_NAND_DENALI=y CONFIG_SYS_NAND_DENALI_64BIT=y CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES=8 diff --git a/configs/ph1_sld3_defconfig b/configs/ph1_sld3_defconfig index 386a0d1..d495132 100644 --- a/configs/ph1_sld3_defconfig +++ b/configs/ph1_sld3_defconfig @@ -17,7 +17,6 @@ CONFIG_CMD_PING=y CONFIG_CMD_TIME=y # CONFIG_CMD_MISC is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPL_DM=y CONFIG_NAND_DENALI=y CONFIG_SYS_NAND_DENALI_64BIT=y CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES=8 diff --git a/configs/ph1_sld8_defconfig b/configs/ph1_sld8_defconfig index 2af45d2..1a35a77 100644 --- a/configs/ph1_sld8_defconfig +++ b/configs/ph1_sld8_defconfig @@ -17,7 +17,6 @@ CONFIG_CMD_PING=y CONFIG_CMD_TIME=y # CONFIG_CMD_MISC is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPL_DM=y CONFIG_NAND_DENALI=y CONFIG_SYS_NAND_DENALI_64BIT=y CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES=8

Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
arch/arm/Kconfig | 1 + arch/arm/dts/uniphier-ph1-ld4-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-pro4-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-sld3-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-sld8-ref.dts | 9 ++++++--- arch/arm/mach-uniphier/ph1-ld4/Makefile | 1 - arch/arm/mach-uniphier/ph1-ld4/platdevice.c | 15 --------------- arch/arm/mach-uniphier/ph1-pro4/Makefile | 1 - arch/arm/mach-uniphier/ph1-pro4/platdevice.c | 15 --------------- arch/arm/mach-uniphier/ph1-sld3/Makefile | 1 - arch/arm/mach-uniphier/ph1-sld3/platdevice.c | 1 - arch/arm/mach-uniphier/ph1-sld8/platdevice.c | 15 --------------- doc/README.uniphier | 10 +++++----- include/configs/uniphier.h | 2 +- 14 files changed, 31 insertions(+), 67 deletions(-) delete mode 100644 arch/arm/mach-uniphier/ph1-ld4/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-pro4/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-sld3/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-sld8/platdevice.c
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5f3af77..cd88df4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -816,6 +816,7 @@ config ARCH_UNIPHIER select SUPPORT_SPL select SPL select OF_CONTROL + select SPL_OF_CONTROL select DM select SPL_DM select DM_SERIAL diff --git a/arch/arm/dts/uniphier-ph1-ld4-ref.dts b/arch/arm/dts/uniphier-ph1-ld4-ref.dts index 25e487a..7c36581 100644 --- a/arch/arm/dts/uniphier-ph1-ld4-ref.dts +++ b/arch/arm/dts/uniphier-ph1-ld4-ref.dts @@ -1,9 +1,7 @@ /* * Device Tree Source for UniPhier PH1-LD4 Reference Board * - * Copyright (C) 2014-2015 Panasonic Corporation - * Copyright (C) 2015 Socionext Inc. - * Author: Masahiro Yamada yamada.masahiro@socionext.com + * Copyright (C) 2014-2015 Masahiro Yamada yamada.masahiro@socionext.com * * SPDX-License-Identifier: GPL-2.0+ X11 */ @@ -57,3 +55,8 @@ &usb1 { status = "okay"; }; + +/* for U-boot only */ +&uart0 { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/uniphier-ph1-pro4-ref.dts b/arch/arm/dts/uniphier-ph1-pro4-ref.dts index b4b7f61..fd3e8c6 100644 --- a/arch/arm/dts/uniphier-ph1-pro4-ref.dts +++ b/arch/arm/dts/uniphier-ph1-pro4-ref.dts @@ -1,9 +1,7 @@ /* * Device Tree Source for UniPhier PH1-Pro4 Reference Board * - * Copyright (C) 2014-2015 Panasonic Corporation - * Copyright (C) 2015 Socionext Inc. - * Author: Masahiro Yamada yamada.masahiro@socionext.com + * Copyright (C) 2014-2015 Masahiro Yamada yamada.masahiro@socionext.com * * SPDX-License-Identifier: GPL-2.0+ X11 */ @@ -56,3 +54,8 @@ &usb0 { status = "okay"; }; + +/* for U-boot only */ +&uart0 { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/uniphier-ph1-sld3-ref.dts b/arch/arm/dts/uniphier-ph1-sld3-ref.dts index 9dc9296..2406bfc 100644 --- a/arch/arm/dts/uniphier-ph1-sld3-ref.dts +++ b/arch/arm/dts/uniphier-ph1-sld3-ref.dts @@ -1,9 +1,7 @@ /* * Device Tree Source for UniPhier PH1-sLD3 Reference Board * - * Copyright (C) 2014-2015 Panasonic Corporation - * Copyright (C) 2015 Socionext Inc. - * Author: Masahiro Yamada yamada.masahiro@socionext.com + * Copyright (C) 2014-2015 Masahiro Yamada yamada.masahiro@socionext.com * * SPDX-License-Identifier: GPL-2.0+ X11 */ @@ -56,3 +54,8 @@ &usb1 { status = "okay"; }; + +/* for U-boot only */ +&uart0 { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/uniphier-ph1-sld8-ref.dts b/arch/arm/dts/uniphier-ph1-sld8-ref.dts index 2d1359c..b7ed275 100644 --- a/arch/arm/dts/uniphier-ph1-sld8-ref.dts +++ b/arch/arm/dts/uniphier-ph1-sld8-ref.dts @@ -1,9 +1,7 @@ /* * Device Tree Source for UniPhier PH1-sLD8 Reference Board * - * Copyright (C) 2014-2015 Panasonic Corporation - * Copyright (C) 2015 Socionext Inc. - * Author: Masahiro Yamada yamada.masahiro@socionext.com + * Copyright (C) 2014-2015 Masahiro Yamada yamada.masahiro@socionext.com * * SPDX-License-Identifier: GPL-2.0+ X11 */ @@ -57,3 +55,8 @@ &usb1 { status = "okay"; }; + +/* for U-boot only */ +&uart0 { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/mach-uniphier/ph1-ld4/Makefile b/arch/arm/mach-uniphier/ph1-ld4/Makefile index af815c3..1410b12 100644 --- a/arch/arm/mach-uniphier/ph1-ld4/Makefile +++ b/arch/arm/mach-uniphier/ph1-ld4/Makefile @@ -8,7 +8,6 @@ obj-y += bcu_init.o sg_init.o pll_init.o early_clkrst_init.o \ early_pinctrl.o pll_spectrum.o umc_init.o ddrphy_init.o obj-$(CONFIG_PFC_MICRO_SUPPORT_CARD) += sbc_init.o obj-$(CONFIG_DCC_MICRO_SUPPORT_CARD) += sbc_init_3cs.o -obj-$(CONFIG_SPL_DM) += platdevice.o else obj-$(CONFIG_BOARD_EARLY_INIT_F) += pinctrl.o clkrst_init.o endif diff --git a/arch/arm/mach-uniphier/ph1-ld4/platdevice.c b/arch/arm/mach-uniphier/ph1-ld4/platdevice.c deleted file mode 100644 index c0e6294..0000000 diff --git a/arch/arm/mach-uniphier/ph1-pro4/Makefile b/arch/arm/mach-uniphier/ph1-pro4/Makefile index f6a584e..229f443 100644 --- a/arch/arm/mach-uniphier/ph1-pro4/Makefile +++ b/arch/arm/mach-uniphier/ph1-pro4/Makefile @@ -8,7 +8,6 @@ obj-y += sg_init.o pll_init.o early_clkrst_init.o \ early_pinctrl.o pll_spectrum.o umc_init.o ddrphy_init.o obj-$(CONFIG_PFC_MICRO_SUPPORT_CARD) += sbc_init.o obj-$(CONFIG_DCC_MICRO_SUPPORT_CARD) += sbc_init_3cs.o -obj-$(CONFIG_SPL_DM) += platdevice.o else obj-$(CONFIG_BOARD_EARLY_INIT_F) += pinctrl.o clkrst_init.o endif diff --git a/arch/arm/mach-uniphier/ph1-pro4/platdevice.c b/arch/arm/mach-uniphier/ph1-pro4/platdevice.c deleted file mode 100644 index 7440ced..0000000 diff --git a/arch/arm/mach-uniphier/ph1-sld3/Makefile b/arch/arm/mach-uniphier/ph1-sld3/Makefile index f3f7ad4..aff5d64 100644 --- a/arch/arm/mach-uniphier/ph1-sld3/Makefile +++ b/arch/arm/mach-uniphier/ph1-sld3/Makefile @@ -8,7 +8,6 @@ obj-y += bcu_init.o memconf.o sg_init.o pll_init.o early_clkrst_init.o \ early_pinctrl.o pll_spectrum.o umc_init.o obj-$(CONFIG_PFC_MICRO_SUPPORT_CARD) += sbc_init.o obj-$(CONFIG_DCC_MICRO_SUPPORT_CARD) += sbc_init_3cs.o -obj-$(CONFIG_SPL_DM) += platdevice.o else obj-$(CONFIG_BOARD_EARLY_INIT_F) += pinctrl.o clkrst_init.o endif diff --git a/arch/arm/mach-uniphier/ph1-sld3/platdevice.c b/arch/arm/mach-uniphier/ph1-sld3/platdevice.c deleted file mode 100644 index 6521067..0000000 diff --git a/arch/arm/mach-uniphier/ph1-sld8/platdevice.c b/arch/arm/mach-uniphier/ph1-sld8/platdevice.c deleted file mode 100644 index aa334a1..0000000 diff --git a/doc/README.uniphier b/doc/README.uniphier index 52d681b..e936f40 100644 --- a/doc/README.uniphier +++ b/doc/README.uniphier @@ -52,12 +52,12 @@ Burn U-Boot images to NAND --------------------------
Write two files to the NAND device as follows: - - spl/u-boot-spl.bin at the offset address 0x00000000 - - u-boot-dtb.img at the offset address 0x00010000 + - spl/u-boot-spl-dtb.bin at the offset address 0x00000000 + - u-boot-dtb.img at the offset address 0x00010000
If a TFTP server is available, the images can be easily updated. -Just copy the u-boot-spl.bin and u-boot-dtb.img to the TFTP public directory, -and then run the following command at the U-Boot command line: +Just copy the u-boot-spl-dtb.bin and u-boot-dtb.img to the TFTP public +directory, and then run the following command at the U-Boot command line:
=> run nandupdate
@@ -129,4 +129,4 @@ newer SoCs. Even if it is, EA[25] is not connected on most of the boards.
-- Masahiro Yamada yamada.masahiro@socionext.com -Jul. 2015 +Aug. 2015 diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h index b0a7daa..d59564b 100644 --- a/include/configs/uniphier.h +++ b/include/configs/uniphier.h @@ -288,7 +288,7 @@ "netdev=eth0\0" \ "verify=n\0" \ "nandupdate=nand erase 0 0x00100000 &&" \ - "tftpboot u-boot-spl.bin &&" \ + "tftpboot u-boot-spl-dtb.bin &&" \ "nand write $loadaddr 0 0x00010000 &&" \ "tftpboot u-boot-dtb.img &&" \ "nand write $loadaddr 0x00010000 0x000f0000\0" \

On Friday, August 28, 2015 at 01:13:18 PM, Masahiro Yamada wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Acked-by: Marek Vasut marex@denx.de
Best regards, Marek Vasut

2015-08-28 20:28 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 01:13:18 PM, Masahiro Yamada wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Acked-by: Marek Vasut marex@denx.de
Do you mean, Reviewed-by ?
You do not have maintainership for any files this commit is touching.

On Friday, August 28, 2015 at 02:23:54 PM, Masahiro Yamada wrote:
2015-08-28 20:28 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 01:13:18 PM, Masahiro Yamada wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Acked-by: Marek Vasut marex@denx.de
Do you mean, Reviewed-by ?
You do not have maintainership for any files this commit is touching.
I meant acked-by, but I suspect the meaning of both acked-by and reviewed-by is a bit ambiguous. Is there some document which explains what acked-by and reviewed-by precisely mean ?
Anyway, to make it easier for you, add my: Reviewed-by: Marek Vasut marex@denx.de
HTH ;-)
Best regards, Marek Vasut

Hi Marek,
2015-08-29 6:41 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 02:23:54 PM, Masahiro Yamada wrote:
2015-08-28 20:28 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 01:13:18 PM, Masahiro Yamada wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Acked-by: Marek Vasut marex@denx.de
Do you mean, Reviewed-by ?
You do not have maintainership for any files this commit is touching.
I meant acked-by, but I suspect the meaning of both acked-by and reviewed-by is a bit ambiguous. Is there some document which explains what acked-by and reviewed-by precisely mean ?
Personally, I was very convinced with the last answer (Nov 14, 2012; 7:34am) in this thread: http://linux-kernel.2935.n7.nabble.com/acked-by-meaning-td551744.html
If you want to refer to a more official one, https://www.kernel.org/doc/Documentation/SubmittingPatches
------------->8------------ Acked-by: is often used by the maintainer of the affected code when that maintainer neither contributed to nor forwarded the patch.
[snip]
Acked-by: does not necessarily indicate acknowledgement of the entire patch. For example, if a patch affects multiple subsystems and has an Acked-by: from one subsystem maintainer then this usually indicates acknowledgement of just the part which affects that maintainer's code. --------------8<---------------
I think this is the typical usage of Acked-by: http://patchwork.ozlabs.org/patch/508716/
In the kernel development, patch committers give Signed-off-by, but it is not the custom in U-boot. So, I guess it makes sense that custodians issue Acked-by instead of Signed-off-by.

On Saturday, August 29, 2015 at 02:03:39 AM, Masahiro Yamada wrote:
Hi Marek,
Hi Masahiro,
2015-08-29 6:41 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 02:23:54 PM, Masahiro Yamada wrote:
2015-08-28 20:28 GMT+09:00 Marek Vasut marex@denx.de:
On Friday, August 28, 2015 at 01:13:18 PM, Masahiro Yamada wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Acked-by: Marek Vasut marex@denx.de
Do you mean, Reviewed-by ?
You do not have maintainership for any files this commit is touching.
I meant acked-by, but I suspect the meaning of both acked-by and reviewed-by is a bit ambiguous. Is there some document which explains what acked-by and reviewed-by precisely mean ?
Personally, I was very convinced with the last answer (Nov 14, 2012; 7:34am) in this thread: http://linux-kernel.2935.n7.nabble.com/acked-by-meaning-td551744.html
If you want to refer to a more official one, https://www.kernel.org/doc/Documentation/SubmittingPatches
Oh, they did formalize it here. I didn't know about that, thanks!
------------->8------------ Acked-by: is often used by the maintainer of the affected code when that maintainer neither contributed to nor forwarded the patch.
[snip]
Acked-by: does not necessarily indicate acknowledgement of the entire patch. For example, if a patch affects multiple subsystems and has an Acked-by: from one subsystem maintainer then this usually indicates acknowledgement of just the part which affects that maintainer's code. --------------8<---------------
I think this is the typical usage of Acked-by: http://patchwork.ozlabs.org/patch/508716/
In the kernel development, patch committers give Signed-off-by, but it is not the custom in U-boot.
We should certainly talk about the usage of SoB lines in U-Boot eventually.
So, I guess it makes sense that custodians issue Acked-by instead of Signed-off-by.
That I am not so sure about. But, feel free to add my R-B to this patch if you feel it's appropriate ;-)
Best regards, Marek Vasut

On 28 August 2015 at 05:13, Masahiro Yamada yamada.masahiro@socionext.com wrote:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
arch/arm/Kconfig | 1 + arch/arm/dts/uniphier-ph1-ld4-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-pro4-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-sld3-ref.dts | 9 ++++++--- arch/arm/dts/uniphier-ph1-sld8-ref.dts | 9 ++++++--- arch/arm/mach-uniphier/ph1-ld4/Makefile | 1 - arch/arm/mach-uniphier/ph1-ld4/platdevice.c | 15 --------------- arch/arm/mach-uniphier/ph1-pro4/Makefile | 1 - arch/arm/mach-uniphier/ph1-pro4/platdevice.c | 15 --------------- arch/arm/mach-uniphier/ph1-sld3/Makefile | 1 - arch/arm/mach-uniphier/ph1-sld3/platdevice.c | 1 - arch/arm/mach-uniphier/ph1-sld8/platdevice.c | 15 --------------- doc/README.uniphier | 10 +++++----- include/configs/uniphier.h | 2 +- 14 files changed, 31 insertions(+), 67 deletions(-) delete mode 100644 arch/arm/mach-uniphier/ph1-ld4/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-pro4/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-sld3/platdevice.c delete mode 100644 arch/arm/mach-uniphier/ph1-sld8/platdevice.c
Very nice!
Reviewed-by: Simon Glass sjg@chromium.org

2015-08-28 20:13 GMT+09:00 Masahiro Yamada yamada.masahiro@socionext.com:
Device Tree really improves code maintainability and is now available for SPL too.
This is the state-of-the-art implementation in U-boot.
The board files (platform data) are no longer needed.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Applied to u-boot-uniphier/master.

This driver is enabled only for UniPhier SoCs and ARCH_UNIPHIER now selects OF_CONTROL and SPL_OF_CONTROL.
This driver no longer needs to support platform data configuration.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
drivers/serial/serial_uniphier.c | 41 +++++++++++------------------- include/dm/platform_data/serial-uniphier.h | 18 ------------- 2 files changed, 15 insertions(+), 44 deletions(-) delete mode 100644 include/dm/platform_data/serial-uniphier.h
diff --git a/drivers/serial/serial_uniphier.c b/drivers/serial/serial_uniphier.c index abf362a..edb9203 100644 --- a/drivers/serial/serial_uniphier.c +++ b/drivers/serial/serial_uniphier.c @@ -8,7 +8,6 @@ #include <linux/serial_reg.h> #include <asm/errno.h> #include <dm/device.h> -#include <dm/platform_data/serial-uniphier.h> #include <mapmem.h> #include <serial.h> #include <fdtdec.h> @@ -34,6 +33,7 @@ struct uniphier_serial {
struct uniphier_serial_private_data { struct uniphier_serial __iomem *membase; + unsigned int uartclk; };
#define uniphier_serial_port(dev) \ @@ -41,12 +41,12 @@ struct uniphier_serial_private_data {
static int uniphier_serial_setbrg(struct udevice *dev, int baudrate) { - struct uniphier_serial_platform_data *plat = dev_get_platdata(dev); + struct uniphier_serial_private_data *priv = dev_get_priv(dev); struct uniphier_serial __iomem *port = uniphier_serial_port(dev); const unsigned int mode_x_div = 16; unsigned int divisor;
- divisor = DIV_ROUND_CLOSEST(plat->uartclk, mode_x_div * baudrate); + divisor = DIV_ROUND_CLOSEST(priv->uartclk, mode_x_div * baudrate);
writel(divisor, &port->dlr);
@@ -87,17 +87,24 @@ static int uniphier_serial_pending(struct udevice *dev, bool input)
static int uniphier_serial_probe(struct udevice *dev) { - u32 tmp; + DECLARE_GLOBAL_DATA_PTR; struct uniphier_serial_private_data *priv = dev_get_priv(dev); - struct uniphier_serial_platform_data *plat = dev_get_platdata(dev); struct uniphier_serial __iomem *port; + fdt_addr_t base; + fdt_size_t size; + u32 tmp;
- port = map_sysmem(plat->base, sizeof(struct uniphier_serial)); + base = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", &size); + + port = map_sysmem(base, size); if (!port) return -ENOMEM;
priv->membase = port;
+ priv->uartclk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, + "clock-frequency", 0); + tmp = readl(&port->lcr_mcr); tmp &= ~LCR_MASK; tmp |= UART_LCR_WLEN8 << LCR_SHIFT; @@ -113,25 +120,11 @@ static int uniphier_serial_remove(struct udevice *dev) return 0; }
-#if CONFIG_IS_ENABLED(OF_CONTROL) static const struct udevice_id uniphier_uart_of_match[] = { { .compatible = "socionext,uniphier-uart" }, { /* sentinel */ } };
-static int uniphier_serial_ofdata_to_platdata(struct udevice *dev) -{ - struct uniphier_serial_platform_data *plat = dev_get_platdata(dev); - DECLARE_GLOBAL_DATA_PTR; - - plat->base = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg"); - plat->uartclk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, - "clock-frequency", 0); - - return 0; -} -#endif - static const struct dm_serial_ops uniphier_serial_ops = { .setbrg = uniphier_serial_setbrg, .getc = uniphier_serial_getc, @@ -140,15 +133,11 @@ static const struct dm_serial_ops uniphier_serial_ops = { };
U_BOOT_DRIVER(uniphier_serial) = { - .name = DRIVER_NAME, + .name = "uniphier-uart", .id = UCLASS_SERIAL, - .of_match = of_match_ptr(uniphier_uart_of_match), - .ofdata_to_platdata = of_match_ptr(uniphier_serial_ofdata_to_platdata), + .of_match = uniphier_uart_of_match, .probe = uniphier_serial_probe, .remove = uniphier_serial_remove, .priv_auto_alloc_size = sizeof(struct uniphier_serial_private_data), - .platdata_auto_alloc_size = - sizeof(struct uniphier_serial_platform_data), .ops = &uniphier_serial_ops, - .flags = DM_FLAG_PRE_RELOC, }; diff --git a/include/dm/platform_data/serial-uniphier.h b/include/dm/platform_data/serial-uniphier.h deleted file mode 100644 index 52343e3..0000000

On 28 August 2015 at 05:13, Masahiro Yamada yamada.masahiro@socionext.com wrote:
This driver is enabled only for UniPhier SoCs and ARCH_UNIPHIER now selects OF_CONTROL and SPL_OF_CONTROL.
This driver no longer needs to support platform data configuration.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/serial/serial_uniphier.c | 41 +++++++++++------------------- include/dm/platform_data/serial-uniphier.h | 18 ------------- 2 files changed, 15 insertions(+), 44 deletions(-) delete mode 100644 include/dm/platform_data/serial-uniphier.h
Reviewed-by: Simon Glass sjg@chromium.org

2015-08-28 20:13 GMT+09:00 Masahiro Yamada yamada.masahiro@socionext.com:
This driver is enabled only for UniPhier SoCs and ARCH_UNIPHIER now selects OF_CONTROL and SPL_OF_CONTROL.
This driver no longer needs to support platform data configuration.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Applied to u-boot-uniphier/master.

2015-08-28 20:13 GMT+09:00 Masahiro Yamada yamada.masahiro@socionext.com:
Now UniPhier SoCs highly depend on Driver Model for SPL, too.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Applied to u-boot-uniphier/master.
participants (3)
-
Marek Vasut
-
Masahiro Yamada
-
Simon Glass