diff mbox series

[U-Boot,13/14] davinci: omapl138-lcdk: enable driver-model in SPL

Message ID 20190709075529.15423-14-brgl@bgdev.pl
State Superseded
Delegated to: Tom Rini
Headers show
Series ARM: davinci: driver-model improvements | expand

Commit Message

Bartosz Golaszewski July 9, 2019, 7:55 a.m. UTC
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(+)

Comments

Adam Ford July 9, 2019, 1:34 p.m. UTC | #1
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
>
Bartosz Golaszewski July 9, 2019, 2:41 p.m. UTC | #2
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
> >
Adam Ford July 9, 2019, 2:46 p.m. UTC | #3
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 mbox series

Patch

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