All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] configs: stm32mp: force empty PREBOOT
@ 2020-10-07  8:10 Patrick Delaunay
  2020-10-08 14:16 ` Tom Rini
  0 siblings, 1 reply; 3+ messages in thread
From: Patrick Delaunay @ 2020-10-07  8:10 UTC (permalink / raw)
  To: u-boot

This patch remove the default preboot command 'usb start' for
STMicroelectronics board. These command is added by the
commit 324d77998ed6 ("Define default CONFIG_PREBOOT with right config
option")' and commit 44758771eefb ("arm: move CONFIG_PREBOOT="usb start"
to KConfig").

The USB storage boot (not activated in stm32mp1.h) is correctly
managed by distro boot command 'usb_boot' (defined in
include/config_distro_bootcmd.h, it include 'usb start')
and USB keyboard is not supported in stm32mp15 defconfig.

So this patch avoids unnecessary USB initialization which slows
down the start-up:
  starting USB...
  Bus usbh-ehci at 5800d000: USB EHCI 1.00
  scanning bus usbh-ehci at 5800d000 for devices... 3 USB Device(s) found
         scanning usb for storage devices... 1 Storage Device(s) found

Cc: Peter Robinson <pbrobinson@gmail.com>
Cc: Jonas Smedegaard <dr@jones.dk>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
---

 configs/stm32mp15_basic_defconfig   | 1 +
 configs/stm32mp15_trusted_defconfig | 1 +
 2 files changed, 2 insertions(+)

diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index a8c4112dbe..f937a0278d 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -19,6 +19,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
+CONFIG_PREBOOT=""
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=3
diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
index 0792884a9d..b0be064cc3 100644
--- a/configs/stm32mp15_trusted_defconfig
+++ b/configs/stm32mp15_trusted_defconfig
@@ -12,6 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
+CONFIG_PREBOOT=""
 CONFIG_SYS_PROMPT="STM32MP> "
 CONFIG_CMD_ADTIMG=y
 # CONFIG_CMD_ELF is not set
-- 
2.17.1

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

* [PATCH] configs: stm32mp: force empty PREBOOT
  2020-10-07  8:10 [PATCH] configs: stm32mp: force empty PREBOOT Patrick Delaunay
@ 2020-10-08 14:16 ` Tom Rini
  2020-10-09  7:46   ` Patrick DELAUNAY
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Rini @ 2020-10-08 14:16 UTC (permalink / raw)
  To: u-boot

On Wed, Oct 07, 2020 at 10:10:20AM +0200, Patrick Delaunay wrote:

> This patch remove the default preboot command 'usb start' for
> STMicroelectronics board. These command is added by the
> commit 324d77998ed6 ("Define default CONFIG_PREBOOT with right config
> option")' and commit 44758771eefb ("arm: move CONFIG_PREBOOT="usb start"
> to KConfig").
> 
> The USB storage boot (not activated in stm32mp1.h) is correctly
> managed by distro boot command 'usb_boot' (defined in
> include/config_distro_bootcmd.h, it include 'usb start')
> and USB keyboard is not supported in stm32mp15 defconfig.
> 
> So this patch avoids unnecessary USB initialization which slows
> down the start-up:
>   starting USB...
>   Bus usbh-ehci at 5800d000: USB EHCI 1.00
>   scanning bus usbh-ehci at 5800d000 for devices... 3 USB Device(s) found
>          scanning usb for storage devices... 1 Storage Device(s) found
> 
> Cc: Peter Robinson <pbrobinson@gmail.com>
> Cc: Jonas Smedegaard <dr@jones.dk>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
> 
>  configs/stm32mp15_basic_defconfig   | 1 +
>  configs/stm32mp15_trusted_defconfig | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
> index a8c4112dbe..f937a0278d 100644
> --- a/configs/stm32mp15_basic_defconfig
> +++ b/configs/stm32mp15_basic_defconfig
> @@ -19,6 +19,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_FIT=y
>  CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
> +CONFIG_PREBOOT=""
>  CONFIG_BOARD_EARLY_INIT_F=y
>  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
>  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=3
> diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
> index 0792884a9d..b0be064cc3 100644
> --- a/configs/stm32mp15_trusted_defconfig
> +++ b/configs/stm32mp15_trusted_defconfig
> @@ -12,6 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_FIT=y
>  CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
> +CONFIG_PREBOOT=""
>  CONFIG_SYS_PROMPT="STM32MP> "
>  CONFIG_CMD_ADTIMG=y
>  # CONFIG_CMD_ELF is not set

In this case you should disable CONFIG_USE_PREBOOT.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20201008/99715eae/attachment.sig>

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

* [PATCH] configs: stm32mp: force empty PREBOOT
  2020-10-08 14:16 ` Tom Rini
@ 2020-10-09  7:46   ` Patrick DELAUNAY
  0 siblings, 0 replies; 3+ messages in thread
From: Patrick DELAUNAY @ 2020-10-09  7:46 UTC (permalink / raw)
  To: u-boot

Hi Tom,

> From: Tom Rini <trini@konsulko.com>
> Sent: jeudi 8 octobre 2020 16:16
> 
> On Wed, Oct 07, 2020 at 10:10:20AM +0200, Patrick Delaunay wrote:
> 
> > This patch remove the default preboot command 'usb start' for
> > STMicroelectronics board. These command is added by the commit
> > 324d77998ed6 ("Define default CONFIG_PREBOOT with right config
> > option")' and commit 44758771eefb ("arm: move CONFIG_PREBOOT="usb
> start"
> > to KConfig").
> >
> > The USB storage boot (not activated in stm32mp1.h) is correctly
> > managed by distro boot command 'usb_boot' (defined in
> > include/config_distro_bootcmd.h, it include 'usb start') and USB
> > keyboard is not supported in stm32mp15 defconfig.
> >
> > So this patch avoids unnecessary USB initialization which slows down
> > the start-up:
> >   starting USB...
> >   Bus usbh-ehci at 5800d000: USB EHCI 1.00
> >   scanning bus usbh-ehci at 5800d000 for devices... 3 USB Device(s) found
> >          scanning usb for storage devices... 1 Storage Device(s) found
> >
> > Cc: Peter Robinson <pbrobinson@gmail.com>
> > Cc: Jonas Smedegaard <dr@jones.dk>
> > Cc: Neil Armstrong <narmstrong@baylibre.com>
> > Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> > ---
> >
> >  configs/stm32mp15_basic_defconfig   | 1 +
> >  configs/stm32mp15_trusted_defconfig | 1 +
> >  2 files changed, 2 insertions(+)
> >
> > diff --git a/configs/stm32mp15_basic_defconfig
> > b/configs/stm32mp15_basic_defconfig
> > index a8c4112dbe..f937a0278d 100644
> > --- a/configs/stm32mp15_basic_defconfig
> > +++ b/configs/stm32mp15_basic_defconfig
> > @@ -19,6 +19,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-
> ev1"
> >  CONFIG_DISTRO_DEFAULTS=y
> >  CONFIG_FIT=y
> >  CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
> > +CONFIG_PREBOOT=""
> >  CONFIG_BOARD_EARLY_INIT_F=y
> >  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
> >  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=3
> > diff --git a/configs/stm32mp15_trusted_defconfig
> > b/configs/stm32mp15_trusted_defconfig
> > index 0792884a9d..b0be064cc3 100644
> > --- a/configs/stm32mp15_trusted_defconfig
> > +++ b/configs/stm32mp15_trusted_defconfig
> > @@ -12,6 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-
> ev1"
> >  CONFIG_DISTRO_DEFAULTS=y
> >  CONFIG_FIT=y
> >  CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
> > +CONFIG_PREBOOT=""
> >  CONFIG_SYS_PROMPT="STM32MP> "
> >  CONFIG_CMD_ADTIMG=y
> >  # CONFIG_CMD_ELF is not set
> 
> In this case you should disable CONFIG_USE_PREBOOT.

I activate CONFIG_USE_PREBOOT to handle the "preboot" variable in
common/main.c::main_loop()

	if (IS_ENABLED(CONFIG_USE_PREBOOT))
		run_preboot_environment_command();

But I expect that the "preboot" varibale in empty by default,
as it is the case until now.

In my case the preboot variable is dynamically build in 
arch/arm/mach-stm32mp/cpu.c::setup_boot_mode()

it is why I activate the USE_PREBOOT by default:
  with imply in mach-stm32mp Kconfig.

I use this feature to handle the 'forced' boot request,
and I preferred don't override the bootcmd
(I handle the fastboot 'continue' command without any effort:
  the bootcmd is executed after preboot=fastboot)

And it is managed by linux with reboot mode driver:

tamp: tamp at 5c00a000 {
	compatible = "simple-bus", "syscon", "simple-mfd";
	reg = <0x5c00a000 0x400>;

	reboot-mode {
		compatible = "syscon-reboot-mode";
		offset = <0x150>; /* reg20 */
		mask = <0xff>;
		mode-normal = <0>;
		mode-fastboot = <0x1>;
		mode-recovery = <0x2>;
		mode-stm32cubeprogrammer = <0x3>;
		mode-ums_mmc0 = <0x10>;
		mode-ums_mmc1 = <0x11>;
		mode-ums_mmc2 = <0x12>;
	};
};

So the expected configuration for me is 
- CONFIG_USE_PREBOOT=y		=> variable preboot is handle
- CONFIG_PREBOOT=""		=> default value of variable


> --
> Tom

Regards
Patrick

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

end of thread, other threads:[~2020-10-09  7:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-07  8:10 [PATCH] configs: stm32mp: force empty PREBOOT Patrick Delaunay
2020-10-08 14:16 ` Tom Rini
2020-10-09  7:46   ` Patrick DELAUNAY

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.