public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v1] arm: xea: Modify board code to generate single binary u-boot
@ 2021-10-23 15:03 Lukasz Majewski
  2021-10-31 23:47 ` Simon Glass
  0 siblings, 1 reply; 3+ messages in thread
From: Lukasz Majewski @ 2021-10-23 15:03 UTC (permalink / raw)
  To: u-boot, Stefano Babic
  Cc: Lukasz Majewski, "WARNING:Unknown", setting,
	ignore_warnings, Simon Glass, Tom Rini

This change provides the possibility to build XEA (imx287 based) board
U-Boot as a single binary (without support for CONFIG_SPL_FRAMEWORK).

The generated u-boot.sb can be used in the factory environment to for
example perform initial setup or HW testing.

It can be used with 'uuu' utility
(SDPS: boot -f /srv/tftp/xea/u-boot.sb)

In the configs/imx28_xea_defconfig one needs to disable following configs:

The board_init_ll() is used in arch/arm/cpu/arm926ejs/mxs/start.S, which
is utilized when CONFIG_SPL_FRAMEWORK is disabled.

However, when it is enabled the arch/arm/cpu/arm926ejs/start.S is used,
which requires the lowlevel_init() function.

Signed-off-by: Lukasz Majewski <lukma@denx.de>

---

 board/liebherr/xea/spl_xea.c | 7 +++++++
 board/liebherr/xea/xea.c     | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/board/liebherr/xea/spl_xea.c b/board/liebherr/xea/spl_xea.c
index 192f68fca5f..92ba08248b4 100644
--- a/board/liebherr/xea/spl_xea.c
+++ b/board/liebherr/xea/spl_xea.c
@@ -290,6 +290,7 @@ u32 mxs_dram_vals[] = {
 	0x00000000, 0xffffffff
 };
 
+#if CONFIG_IS_ENABLED(SPL_FRAMEWORK)
 void lowlevel_init(void)
 {
 	struct mxs_pinctrl_regs *pinctrl_regs =
@@ -301,3 +302,9 @@ void lowlevel_init(void)
 
 	mxs_common_spl_init(0, NULL, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
+#else
+void board_init_ll(const u32 arg, const uint32_t *resptr)
+{
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
+}
+#endif
diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index cd11b0ada77..4437f9cb265 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -58,7 +58,7 @@ static void init_clocks(void)
 	mxs_set_sspclk(MXC_SSPCLK3, 96000, 0);
 }
 
-#ifdef CONFIG_SPL_BUILD
+#if defined CONFIG_SPL_BUILD && defined CONFIG_SPL_FRAMEWORK
 void board_init_f(ulong arg)
 {
 	init_clocks();
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] arm: xea: Modify board code to generate single binary u-boot
  2021-10-23 15:03 [PATCH v1] arm: xea: Modify board code to generate single binary u-boot Lukasz Majewski
@ 2021-10-31 23:47 ` Simon Glass
  2021-11-01 11:42   ` Lukasz Majewski
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Glass @ 2021-10-31 23:47 UTC (permalink / raw)
  To: Lukasz Majewski
  Cc: u-boot, Stefano Babic,
	WARNING:Unknown, setting, ignore_warnings, Simon Glass <sjg@chromium.org>, Tom Rini

Hi Lukasz,

On Sat, 23 Oct 2021 at 09:04, Lukasz Majewski <lukma@denx.de> wrote:
>
> This change provides the possibility to build XEA (imx287 based) board
> U-Boot as a single binary (without support for CONFIG_SPL_FRAMEWORK).
>
> The generated u-boot.sb can be used in the factory environment to for
> example perform initial setup or HW testing.
>
> It can be used with 'uuu' utility
> (SDPS: boot -f /srv/tftp/xea/u-boot.sb)
>
> In the configs/imx28_xea_defconfig one needs to disable following configs:

Something is missing here.

>
> The board_init_ll() is used in arch/arm/cpu/arm926ejs/mxs/start.S, which
> is utilized when CONFIG_SPL_FRAMEWORK is disabled.
>
> However, when it is enabled the arch/arm/cpu/arm926ejs/start.S is used,
> which requires the lowlevel_init() function.
>
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
>
> ---
>
>  board/liebherr/xea/spl_xea.c | 7 +++++++
>  board/liebherr/xea/xea.c     | 2 +-
>  2 files changed, 8 insertions(+), 1 deletion(-)

Could you add a Kconifig to control this feature and add something to
the board docs?

Regards,
Simon

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] arm: xea: Modify board code to generate single binary u-boot
  2021-10-31 23:47 ` Simon Glass
@ 2021-11-01 11:42   ` Lukasz Majewski
  0 siblings, 0 replies; 3+ messages in thread
From: Lukasz Majewski @ 2021-11-01 11:42 UTC (permalink / raw)
  To: Simon Glass; +Cc: u-boot, Stefano Babic, Simon Glass, Tom Rini

[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]

Hi Simon,

> Hi Lukasz,
> 
> On Sat, 23 Oct 2021 at 09:04, Lukasz Majewski <lukma@denx.de> wrote:
> >
> > This change provides the possibility to build XEA (imx287 based)
> > board U-Boot as a single binary (without support for
> > CONFIG_SPL_FRAMEWORK).
> >
> > The generated u-boot.sb can be used in the factory environment to
> > for example perform initial setup or HW testing.
> >
> > It can be used with 'uuu' utility
> > (SDPS: boot -f /srv/tftp/xea/u-boot.sb)
> >
> > In the configs/imx28_xea_defconfig one needs to disable following
> > configs:  
> 
> Something is missing here.

I've posted the v2 of this patch with this information added.

> 
> >
> > The board_init_ll() is used in arch/arm/cpu/arm926ejs/mxs/start.S,
> > which is utilized when CONFIG_SPL_FRAMEWORK is disabled.
> >
> > However, when it is enabled the arch/arm/cpu/arm926ejs/start.S is
> > used, which requires the lowlevel_init() function.
> >
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> >
> > ---
> >
> >  board/liebherr/xea/spl_xea.c | 7 +++++++
> >  board/liebherr/xea/xea.c     | 2 +-
> >  2 files changed, 8 insertions(+), 1 deletion(-)  
> 
> Could you add a Kconifig to control this feature and add something to
> the board docs?

This don't need any special Kconfig option. You just undefine the
CONFIG_SPL_FRAMEWORK, and that's all.

As fair as I can tell - the CONFIG_SPL_FRAMEWORK option is used with
for example imx28evk board. The issue here is that imx28 SoC needs
u-boot.sb to boot up when USB is used to debrick it (this is somewhat
the legacy approach with a single binary u-boot).

> 
> Regards,
> Simon




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-11-01 11:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-23 15:03 [PATCH v1] arm: xea: Modify board code to generate single binary u-boot Lukasz Majewski
2021-10-31 23:47 ` Simon Glass
2021-11-01 11:42   ` Lukasz Majewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox