Message ID | 20190709075529.15423-14-brgl@bgdev.pl |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | ARM: davinci: driver-model improvements | expand |
On Tue, Jul 9, 2019 at 2:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Enable CONFIG_SPL_DM and enable the driver model for serial by defining > an appropriate device in the board file for da850-lcdk. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > board/davinci/da8xxevm/omapl138_lcdk.c | 16 ++++++++++++++++ > configs/omapl138_lcdk_defconfig | 5 +++++ > 2 files changed, 21 insertions(+) > > diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c > index 7f8c28b953..578d928443 100644 > --- a/board/davinci/da8xxevm/omapl138_lcdk.c > +++ b/board/davinci/da8xxevm/omapl138_lcdk.c > @@ -14,6 +14,8 @@ > #include <asm/arch/hardware.h> > #include <asm/ti-common/davinci_nand.h> > #include <asm/io.h> > +#include <ns16550.h> > +#include <dm/platdata.h> > #include <linux/errno.h> > #include <asm/mach-types.h> > #include <asm/arch/davinci_misc.h> > @@ -355,3 +357,17 @@ int board_mmc_init(bd_t *bis) > } > #endif > #endif > + > +#ifdef CONFIG_SPL_BUILD > +static const struct ns16550_platdata serial_pdata = { > + .base = DAVINCI_UART2_BASE, > + .reg_shift = 2, > + .clock = 228000000, > + .fcr = UART_FCR_DEFVAL, > +}; > + > +U_BOOT_DEVICE(omapl138_uart) = { > + .name = "ns16550_serial", > + .platdata = &serial_pdata, > +}; > +#endif Is the above part necessary since SPL_OF_CONTROL is defined? I know the da850evm doesn't need this anymore and I was able to remove it when converting to SPL_OF_CONTROL. See: https://patchwork.ozlabs.org/patch/1048078/ adam > diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig > index c4eebb3612..26b4950f8f 100644 > --- a/configs/omapl138_lcdk_defconfig > +++ b/configs/omapl138_lcdk_defconfig > @@ -33,10 +33,13 @@ CONFIG_CMD_MTDPARTS=y > CONFIG_CMD_DIAG=y > CONFIG_CMD_UBI=y > CONFIG_OF_CONTROL=y > +CONFIG_SPL_OF_CONTROL=y > CONFIG_DEFAULT_DEVICE_TREE="da850-lcdk" > +CONFIG_SPL_OF_PLATDATA=y > CONFIG_ENV_IS_IN_NAND=y > CONFIG_NET_RANDOM_ETHADDR=y > CONFIG_DM=y > +CONFIG_SPL_DM=y > CONFIG_DM_I2C=y > CONFIG_SYS_I2C_DAVINCI=y > CONFIG_DM_MMC=y > @@ -51,6 +54,8 @@ CONFIG_SF_DEFAULT_SPEED=30000000 > CONFIG_DM_ETH=y > CONFIG_MII=y > CONFIG_DRIVER_TI_EMAC=y > +CONFIG_SPECIFY_CONSOLE_INDEX=y > CONFIG_DM_SERIAL=y > CONFIG_SYS_NS16550=y > CONFIG_USE_TINY_PRINTF=y > +# CONFIG_SPL_OF_LIBFDT is not set > -- > 2.21.0 >
wt., 9 lip 2019 o 15:34 Adam Ford <aford173@gmail.com> napisał(a): > > On Tue, Jul 9, 2019 at 2:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > Enable CONFIG_SPL_DM and enable the driver model for serial by defining > > an appropriate device in the board file for da850-lcdk. > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > --- > > board/davinci/da8xxevm/omapl138_lcdk.c | 16 ++++++++++++++++ > > configs/omapl138_lcdk_defconfig | 5 +++++ > > 2 files changed, 21 insertions(+) > > > > diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c > > index 7f8c28b953..578d928443 100644 > > --- a/board/davinci/da8xxevm/omapl138_lcdk.c > > +++ b/board/davinci/da8xxevm/omapl138_lcdk.c > > @@ -14,6 +14,8 @@ > > #include <asm/arch/hardware.h> > > #include <asm/ti-common/davinci_nand.h> > > #include <asm/io.h> > > +#include <ns16550.h> > > +#include <dm/platdata.h> > > #include <linux/errno.h> > > #include <asm/mach-types.h> > > #include <asm/arch/davinci_misc.h> > > @@ -355,3 +357,17 @@ int board_mmc_init(bd_t *bis) > > } > > #endif > > #endif > > + > > +#ifdef CONFIG_SPL_BUILD > > +static const struct ns16550_platdata serial_pdata = { > > + .base = DAVINCI_UART2_BASE, > > + .reg_shift = 2, > > + .clock = 228000000, > > + .fcr = UART_FCR_DEFVAL, > > +}; > > + > > +U_BOOT_DEVICE(omapl138_uart) = { > > + .name = "ns16550_serial", > > + .platdata = &serial_pdata, > > +}; > > +#endif > > Is the above part necessary since SPL_OF_CONTROL is defined? I know > the da850evm doesn't need this anymore and I was able to remove it > when converting to SPL_OF_CONTROL. > > See: https://patchwork.ozlabs.org/patch/1048078/ > > adam > Hi Adam, we discussed it last time[1]: I tried to follow your example but got stuck on a nasty build error and we agreed to merge it in this form and try to improve it later. I hope you're still ok with that. Bart [1] https://patchwork.ozlabs.org/patch/1106229/ > > diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig > > index c4eebb3612..26b4950f8f 100644 > > --- a/configs/omapl138_lcdk_defconfig > > +++ b/configs/omapl138_lcdk_defconfig > > @@ -33,10 +33,13 @@ CONFIG_CMD_MTDPARTS=y > > CONFIG_CMD_DIAG=y > > CONFIG_CMD_UBI=y > > CONFIG_OF_CONTROL=y > > +CONFIG_SPL_OF_CONTROL=y > > CONFIG_DEFAULT_DEVICE_TREE="da850-lcdk" > > +CONFIG_SPL_OF_PLATDATA=y > > CONFIG_ENV_IS_IN_NAND=y > > CONFIG_NET_RANDOM_ETHADDR=y > > CONFIG_DM=y > > +CONFIG_SPL_DM=y > > CONFIG_DM_I2C=y > > CONFIG_SYS_I2C_DAVINCI=y > > CONFIG_DM_MMC=y > > @@ -51,6 +54,8 @@ CONFIG_SF_DEFAULT_SPEED=30000000 > > CONFIG_DM_ETH=y > > CONFIG_MII=y > > CONFIG_DRIVER_TI_EMAC=y > > +CONFIG_SPECIFY_CONSOLE_INDEX=y > > CONFIG_DM_SERIAL=y > > CONFIG_SYS_NS16550=y > > CONFIG_USE_TINY_PRINTF=y > > +# CONFIG_SPL_OF_LIBFDT is not set > > -- > > 2.21.0 > >
On Tue, Jul 9, 2019 at 9:41 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > wt., 9 lip 2019 o 15:34 Adam Ford <aford173@gmail.com> napisał(a): > > > > On Tue, Jul 9, 2019 at 2:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > > Enable CONFIG_SPL_DM and enable the driver model for serial by defining > > > an appropriate device in the board file for da850-lcdk. > > > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > --- > > > board/davinci/da8xxevm/omapl138_lcdk.c | 16 ++++++++++++++++ > > > configs/omapl138_lcdk_defconfig | 5 +++++ > > > 2 files changed, 21 insertions(+) > > > > > > diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c > > > index 7f8c28b953..578d928443 100644 > > > --- a/board/davinci/da8xxevm/omapl138_lcdk.c > > > +++ b/board/davinci/da8xxevm/omapl138_lcdk.c > > > @@ -14,6 +14,8 @@ > > > #include <asm/arch/hardware.h> > > > #include <asm/ti-common/davinci_nand.h> > > > #include <asm/io.h> > > > +#include <ns16550.h> > > > +#include <dm/platdata.h> > > > #include <linux/errno.h> > > > #include <asm/mach-types.h> > > > #include <asm/arch/davinci_misc.h> > > > @@ -355,3 +357,17 @@ int board_mmc_init(bd_t *bis) > > > } > > > #endif > > > #endif > > > + > > > +#ifdef CONFIG_SPL_BUILD > > > +static const struct ns16550_platdata serial_pdata = { > > > + .base = DAVINCI_UART2_BASE, > > > + .reg_shift = 2, > > > + .clock = 228000000, > > > + .fcr = UART_FCR_DEFVAL, > > > +}; > > > + > > > +U_BOOT_DEVICE(omapl138_uart) = { > > > + .name = "ns16550_serial", > > > + .platdata = &serial_pdata, > > > +}; > > > +#endif > > > > Is the above part necessary since SPL_OF_CONTROL is defined? I know > > the da850evm doesn't need this anymore and I was able to remove it > > when converting to SPL_OF_CONTROL. > > > > See: https://patchwork.ozlabs.org/patch/1048078/ > > > > adam > > > > Hi Adam, > > we discussed it last time[1]: I tried to follow your example but got > stuck on a nasty build error and we agreed to merge it in this form > and try to improve it later. > > I hope you're still ok with that. I am fine with it, but for some reason, I thought that had resolved itself. I have an LCDK in my possession now. I'll try to help when I can. I haven't had a chance to fire it up yet. adam > > Bart > > [1] https://patchwork.ozlabs.org/patch/1106229/ > > > > diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig > > > index c4eebb3612..26b4950f8f 100644 > > > --- a/configs/omapl138_lcdk_defconfig > > > +++ b/configs/omapl138_lcdk_defconfig > > > @@ -33,10 +33,13 @@ CONFIG_CMD_MTDPARTS=y > > > CONFIG_CMD_DIAG=y > > > CONFIG_CMD_UBI=y > > > CONFIG_OF_CONTROL=y > > > +CONFIG_SPL_OF_CONTROL=y > > > CONFIG_DEFAULT_DEVICE_TREE="da850-lcdk" > > > +CONFIG_SPL_OF_PLATDATA=y > > > CONFIG_ENV_IS_IN_NAND=y > > > CONFIG_NET_RANDOM_ETHADDR=y > > > CONFIG_DM=y > > > +CONFIG_SPL_DM=y > > > CONFIG_DM_I2C=y > > > CONFIG_SYS_I2C_DAVINCI=y > > > CONFIG_DM_MMC=y > > > @@ -51,6 +54,8 @@ CONFIG_SF_DEFAULT_SPEED=30000000 > > > CONFIG_DM_ETH=y > > > CONFIG_MII=y > > > CONFIG_DRIVER_TI_EMAC=y > > > +CONFIG_SPECIFY_CONSOLE_INDEX=y > > > CONFIG_DM_SERIAL=y > > > CONFIG_SYS_NS16550=y > > > CONFIG_USE_TINY_PRINTF=y > > > +# CONFIG_SPL_OF_LIBFDT is not set > > > -- > > > 2.21.0 > > >
diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c index 7f8c28b953..578d928443 100644 --- a/board/davinci/da8xxevm/omapl138_lcdk.c +++ b/board/davinci/da8xxevm/omapl138_lcdk.c @@ -14,6 +14,8 @@ #include <asm/arch/hardware.h> #include <asm/ti-common/davinci_nand.h> #include <asm/io.h> +#include <ns16550.h> +#include <dm/platdata.h> #include <linux/errno.h> #include <asm/mach-types.h> #include <asm/arch/davinci_misc.h> @@ -355,3 +357,17 @@ int board_mmc_init(bd_t *bis) } #endif #endif + +#ifdef CONFIG_SPL_BUILD +static const struct ns16550_platdata serial_pdata = { + .base = DAVINCI_UART2_BASE, + .reg_shift = 2, + .clock = 228000000, + .fcr = UART_FCR_DEFVAL, +}; + +U_BOOT_DEVICE(omapl138_uart) = { + .name = "ns16550_serial", + .platdata = &serial_pdata, +}; +#endif diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig index c4eebb3612..26b4950f8f 100644 --- a/configs/omapl138_lcdk_defconfig +++ b/configs/omapl138_lcdk_defconfig @@ -33,10 +33,13 @@ CONFIG_CMD_MTDPARTS=y CONFIG_CMD_DIAG=y CONFIG_CMD_UBI=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="da850-lcdk" +CONFIG_SPL_OF_PLATDATA=y CONFIG_ENV_IS_IN_NAND=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SPL_DM=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_DAVINCI=y CONFIG_DM_MMC=y @@ -51,6 +54,8 @@ CONFIG_SF_DEFAULT_SPEED=30000000 CONFIG_DM_ETH=y CONFIG_MII=y CONFIG_DRIVER_TI_EMAC=y +CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_DM_SERIAL=y CONFIG_SYS_NS16550=y CONFIG_USE_TINY_PRINTF=y +# CONFIG_SPL_OF_LIBFDT is not set