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

2019-05-29 Thread Bartosz Golaszewski
śr., 29 maj 2019 o 15:47 Adam Ford  napisał(a):
>
> On Wed, May 29, 2019 at 8:23 AM Bartosz Golaszewski  wrote:
> >
> > śr., 29 maj 2019 o 15:04 Adam Ford  napisał(a):
> > >
> > > On Wed, May 29, 2019 at 4:40 AM Bartosz Golaszewski  wrote:
> > > >
> > > > wt., 28 maj 2019 o 17:05 Adam Ford  napisał(a):
> > > > >
> > > > > On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  
> > > > > wrote:
> > > > > >
> > > > > > From: Bartosz Golaszewski 
> > > > > >
> > > > > > 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 
> > > > > > ---
> > > > > >  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 
> > > > > >  #include 
> > > > > >  #include 
> > > > > > +#include 
> > > > > > +#include 
> > > > > >  #include 
> > > > > >  #include 
> > > > > >  #include 
> > > > > > @@ -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 = 22800,
> > > > > > +   .fcr = UART_FCR_DEFVAL,
> > > > > > +};
> > > > > > +
> > > > > > +U_BOOT_DEVICE(omapl138_uart) = {
> > > > > > +   .name = "ns16550_serial",
> > > > > > +   .platdata = _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@1c0 node in
> > > > da850-lcdk-u-boot.dtsi results in the final image being reported as
> > > > corrupted by the aisimage tool:
> > > >
> > > > [...]
> > > >   COPYspl/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
> > > >   COPYspl/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?
> > >
> > > I got the same 'AIS Image corrupted' message if the SPL + DTB image is
> > > too large.
> > >
> > > I enabled SPL_SYS_MALLOC_SIMPLE along with USE_TINY_PRINTF reduced my 
> > > code size:
> > > (see commit c4fa049a121457ff38b74daac32e18d7afbd4538)
> > > Original:
> > >   textdata bss dec hex filename
> > >   207601216  80   220565628 spl/u-boot-spl
> > >
> > > Tiny Printf
> > >textdata bss dec hex filename
> > >   179471216  80   192434b2b spl/u-boot-spl
> > >
> > > Malloc Simple + Tiny Printf
> > >textdata bss dec hex filename
> > >   15187 176  28   153913c1f spl/u-boot-spl
> > >
> > > I think you can also setup CONFIG_SPL_SYS_THUMB_BUILD to also reduce
> > > size.  The DA850 evm has that and CONFIG_SYS_THUMB_BUILD set to shrink
> > > U-Boot.
> > > I just ran some checks and disabling CONFIG_SPL_SYS_THUMB_BUILD makes
> > > the u-boot-spl file overflow the space requirements.  With it enabled,
> > > it builds
> > >   textdata bss dec hex filename
> > > 243561144  24   2552463b4 spl/u-boot-spl
> > >
> > > For U-Boot proper, the difference between CONFIG_SYS_THUMB_BUILD and
> 

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

2019-05-29 Thread Adam Ford
On Wed, May 29, 2019 at 8:23 AM Bartosz Golaszewski  wrote:
>
> śr., 29 maj 2019 o 15:04 Adam Ford  napisał(a):
> >
> > On Wed, May 29, 2019 at 4:40 AM Bartosz Golaszewski  wrote:
> > >
> > > wt., 28 maj 2019 o 17:05 Adam Ford  napisał(a):
> > > >
> > > > On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  
> > > > wrote:
> > > > >
> > > > > From: Bartosz Golaszewski 
> > > > >
> > > > > 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 
> > > > > ---
> > > > >  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 
> > > > >  #include 
> > > > >  #include 
> > > > > +#include 
> > > > > +#include 
> > > > >  #include 
> > > > >  #include 
> > > > >  #include 
> > > > > @@ -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 = 22800,
> > > > > +   .fcr = UART_FCR_DEFVAL,
> > > > > +};
> > > > > +
> > > > > +U_BOOT_DEVICE(omapl138_uart) = {
> > > > > +   .name = "ns16550_serial",
> > > > > +   .platdata = _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@1c0 node in
> > > da850-lcdk-u-boot.dtsi results in the final image being reported as
> > > corrupted by the aisimage tool:
> > >
> > > [...]
> > >   COPYspl/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
> > >   COPYspl/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?
> >
> > I got the same 'AIS Image corrupted' message if the SPL + DTB image is
> > too large.
> >
> > I enabled SPL_SYS_MALLOC_SIMPLE along with USE_TINY_PRINTF reduced my code 
> > size:
> > (see commit c4fa049a121457ff38b74daac32e18d7afbd4538)
> > Original:
> >   textdata bss dec hex filename
> >   207601216  80   220565628 spl/u-boot-spl
> >
> > Tiny Printf
> >textdata bss dec hex filename
> >   179471216  80   192434b2b spl/u-boot-spl
> >
> > Malloc Simple + Tiny Printf
> >textdata bss dec hex filename
> >   15187 176  28   153913c1f spl/u-boot-spl
> >
> > I think you can also setup CONFIG_SPL_SYS_THUMB_BUILD to also reduce
> > size.  The DA850 evm has that and CONFIG_SYS_THUMB_BUILD set to shrink
> > U-Boot.
> > I just ran some checks and disabling CONFIG_SPL_SYS_THUMB_BUILD makes
> > the u-boot-spl file overflow the space requirements.  With it enabled,
> > it builds
> >   textdata bss dec hex filename
> > 243561144  24   2552463b4 spl/u-boot-spl
> >
> > For U-Boot proper, the difference between CONFIG_SYS_THUMB_BUILD and
> > not using it is
> >
> > with CONFIG_SYS_THUMB_BUILD
> >textdata bss dec hex filename
> >  324147   19700   58256 402103   622b7 u-boot
> >
> > (not using it)
> >textdata bss dec hex filename
> >  423167   19700   58248 501115   7a57b u-boot
> >
>
> Even with 

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

2019-05-29 Thread Bartosz Golaszewski
śr., 29 maj 2019 o 15:04 Adam Ford  napisał(a):
>
> On Wed, May 29, 2019 at 4:40 AM Bartosz Golaszewski  wrote:
> >
> > wt., 28 maj 2019 o 17:05 Adam Ford  napisał(a):
> > >
> > > On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  wrote:
> > > >
> > > > From: Bartosz Golaszewski 
> > > >
> > > > 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 
> > > > ---
> > > >  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 
> > > >  #include 
> > > >  #include 
> > > > +#include 
> > > > +#include 
> > > >  #include 
> > > >  #include 
> > > >  #include 
> > > > @@ -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 = 22800,
> > > > +   .fcr = UART_FCR_DEFVAL,
> > > > +};
> > > > +
> > > > +U_BOOT_DEVICE(omapl138_uart) = {
> > > > +   .name = "ns16550_serial",
> > > > +   .platdata = _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@1c0 node in
> > da850-lcdk-u-boot.dtsi results in the final image being reported as
> > corrupted by the aisimage tool:
> >
> > [...]
> >   COPYspl/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
> >   COPYspl/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?
>
> I got the same 'AIS Image corrupted' message if the SPL + DTB image is
> too large.
>
> I enabled SPL_SYS_MALLOC_SIMPLE along with USE_TINY_PRINTF reduced my code 
> size:
> (see commit c4fa049a121457ff38b74daac32e18d7afbd4538)
> Original:
>   textdata bss dec hex filename
>   207601216  80   220565628 spl/u-boot-spl
>
> Tiny Printf
>textdata bss dec hex filename
>   179471216  80   192434b2b spl/u-boot-spl
>
> Malloc Simple + Tiny Printf
>textdata bss dec hex filename
>   15187 176  28   153913c1f spl/u-boot-spl
>
> I think you can also setup CONFIG_SPL_SYS_THUMB_BUILD to also reduce
> size.  The DA850 evm has that and CONFIG_SYS_THUMB_BUILD set to shrink
> U-Boot.
> I just ran some checks and disabling CONFIG_SPL_SYS_THUMB_BUILD makes
> the u-boot-spl file overflow the space requirements.  With it enabled,
> it builds
>   textdata bss dec hex filename
> 243561144  24   2552463b4 spl/u-boot-spl
>
> For U-Boot proper, the difference between CONFIG_SYS_THUMB_BUILD and
> not using it is
>
> with CONFIG_SYS_THUMB_BUILD
>textdata bss dec hex filename
>  324147   19700   58256 402103   622b7 u-boot
>
> (not using it)
>textdata bss dec hex filename
>  423167   19700   58248 501115   7a57b u-boot
>

Even with THUMB and other code shrinking options I still get the same
error. In fact I even disabled MMC support in SPL just to see if it'll
work and I still get the same error despite the size of the resulting
SPL image being well within limit:

   textdata bss dec hex filename
  1926936921368   243295f09 spl/u-boot-spl

as opposed 

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

2019-05-29 Thread Adam Ford
On Wed, May 29, 2019 at 4:40 AM Bartosz Golaszewski  wrote:
>
> wt., 28 maj 2019 o 17:05 Adam Ford  napisał(a):
> >
> > On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  wrote:
> > >
> > > From: Bartosz Golaszewski 
> > >
> > > 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 
> > > ---
> > >  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 
> > >  #include 
> > >  #include 
> > > +#include 
> > > +#include 
> > >  #include 
> > >  #include 
> > >  #include 
> > > @@ -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 = 22800,
> > > +   .fcr = UART_FCR_DEFVAL,
> > > +};
> > > +
> > > +U_BOOT_DEVICE(omapl138_uart) = {
> > > +   .name = "ns16550_serial",
> > > +   .platdata = _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@1c0 node in
> da850-lcdk-u-boot.dtsi results in the final image being reported as
> corrupted by the aisimage tool:
>
> [...]
>   COPYspl/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
>   COPYspl/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?

I got the same 'AIS Image corrupted' message if the SPL + DTB image is
too large.

I enabled SPL_SYS_MALLOC_SIMPLE along with USE_TINY_PRINTF reduced my code size:
(see commit c4fa049a121457ff38b74daac32e18d7afbd4538)
Original:
  textdata bss dec hex filename
  207601216  80   220565628 spl/u-boot-spl

Tiny Printf
   textdata bss dec hex filename
  179471216  80   192434b2b spl/u-boot-spl

Malloc Simple + Tiny Printf
   textdata bss dec hex filename
  15187 176  28   153913c1f spl/u-boot-spl

I think you can also setup CONFIG_SPL_SYS_THUMB_BUILD to also reduce
size.  The DA850 evm has that and CONFIG_SYS_THUMB_BUILD set to shrink
U-Boot.
I just ran some checks and disabling CONFIG_SPL_SYS_THUMB_BUILD makes
the u-boot-spl file overflow the space requirements.  With it enabled,
it builds
  textdata bss dec hex filename
243561144  24   2552463b4 spl/u-boot-spl

For U-Boot proper, the difference between CONFIG_SYS_THUMB_BUILD and
not using it is

with CONFIG_SYS_THUMB_BUILD
   textdata bss dec hex filename
 324147   19700   58256 402103   622b7 u-boot

(not using it)
   textdata bss dec hex filename
 423167   19700   58248 501115   7a57b u-boot

So the size is about 25% smaller with it enabled.

Unrelated to size, but something you want to consider is to increase
your available malloc pool size to accommodate the device tree stuff
once you've managed to shrink the code.  For da850evm,
SPL_SYS_MALLOC_F_LEN = 0x800

adam

>
> 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
> > >  

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

2019-05-29 Thread Bartosz Golaszewski
wt., 28 maj 2019 o 17:05 Adam Ford  napisał(a):
>
> On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  wrote:
> >
> > From: Bartosz Golaszewski 
> >
> > 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 
> > ---
> >  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 
> >  #include 
> >  #include 
> > +#include 
> > +#include 
> >  #include 
> >  #include 
> >  #include 
> > @@ -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 = 22800,
> > +   .fcr = UART_FCR_DEFVAL,
> > +};
> > +
> > +U_BOOT_DEVICE(omapl138_uart) = {
> > +   .name = "ns16550_serial",
> > +   .platdata = _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@1c0 node in
da850-lcdk-u-boot.dtsi results in the final image being reported as
corrupted by the aisimage tool:

[...]
  COPYspl/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
  COPYspl/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
> >
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2019-05-28 Thread Adam Ford
On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski  wrote:
>
> From: Bartosz Golaszewski 
>
> 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 
> ---
>  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 
>  #include 
>  #include 
> +#include 
> +#include 
>  #include 
>  #include 
>  #include 
> @@ -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 = 22800,
> +   .fcr = UART_FCR_DEFVAL,
> +};
> +
> +U_BOOT_DEVICE(omapl138_uart) = {
> +   .name = "ns16550_serial",
> +   .platdata = _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


>  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
>
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2019-05-28 Thread Bartosz Golaszewski
From: Bartosz Golaszewski 

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 
---
 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 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -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 = 22800,
+   .fcr = UART_FCR_DEFVAL,
+};
+
+U_BOOT_DEVICE(omapl138_uart) = {
+   .name = "ns16550_serial",
+   .platdata = _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
 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

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot