[U-Boot] [PATCH 4/4] davinci: omapl138-lcdk: enable driver-model in SPL

Bartosz Golaszewski brgl at bgdev.pl
Wed May 29 09:40:14 UTC 2019


wt., 28 maj 2019 o 17:05 Adam Ford <aford173 at gmail.com> napisaƂ(a):
>
> On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski <brgl at bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski at 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 at 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 156d61d9fb..b20747ba01 100644
> > --- a/board/davinci/da8xxevm/omapl138_lcdk.c
> > +++ b/board/davinci/da8xxevm/omapl138_lcdk.c
> > @@ -15,6 +15,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>
> > @@ -369,3 +371,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 b375da50df..f53a51321c 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
>
> If SPL_OF_CONTROL is being added, why do you need to manually add the
> stuff above for the serial port?  Checkout the da850-evm-u-boot.dtsi
> file.  I adds the device tree entries for the serial port to appear in
> the SPL DTB.
>
> See http://git.denx.de/?p=u-boot.git;a=commit;h=f7c1d53605d9ec528abacda9ba1763c67221fc88
>

I tried to follow the example from this patch but for some reason
adding u-boot,dm-spl; to the soc at 1c00000 node in
da850-lcdk-u-boot.dtsi results in the final image being reported as
corrupted by the aisimage tool:

[...]
  COPY    spl/u-boot-spl.dtb
  CC      spl/common/spl/spl.o
  LD      spl/common/spl/built-in.o
  CC      spl/lib/display_options.o
  LD      spl/lib/built-in.o
  LD      spl/u-boot-spl
  OBJCOPY spl/u-boot-spl-nodtb.bin
  CAT     spl/u-boot-spl-dtb.bin
  COPY    spl/u-boot-spl.bin
  MKIMAGE spl/u-boot-spl.ais
Error: -  AIS Image corrupted
  CAT     u-boot.ais
  CFGCHK  u-boot.cfg

The image doen't boot (or at least there's nothing on the console).

I'm not sure what's causing it. Any idea?

Bart

>
> >  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_DM_I2C_COMPAT=y
> >  CONFIG_SYS_I2C_DAVINCI=y
> > @@ -53,8 +56,10 @@ CONFIG_SPI_FLASH_STMICRO=y
> >  CONFIG_SPI_FLASH_WINBOND=y
> >  CONFIG_MII=y
> >  CONFIG_DRIVER_TI_EMAC=y
> > +CONFIG_SPECIFY_CONSOLE_INDEX=y
> >  CONFIG_DM_SERIAL=y
> >  CONFIG_SYS_NS16550=y
> >  CONFIG_SPI=y
> >  CONFIG_DAVINCI_SPI=y
> >  CONFIG_USE_TINY_PRINTF=y
> > +# CONFIG_SPL_OF_LIBFDT is not set
> > --
> > 2.21.0
> >


More information about the U-Boot mailing list