diff mbox series

mach-snapdragon: move default environment to a file

Message ID 20240617085629.1744017-1-caleb.connolly@linaro.org
State Accepted
Commit ca229a32ba9cc9c3799383487860757188624172
Headers show
Series mach-snapdragon: move default environment to a file | expand

Commit Message

Caleb Connolly June 17, 2024, 8:56 a.m. UTC
Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
environment to a file under board/qualcomm.

This is much cleaner and means we don't need to recompile on changing
the environment.

Additionally, extend the environment to include a boot menu and
auto-boot using EFI instead of bootm. Since we now support MMC and USB
on most platforms, these are much more useful defaults.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 board/qualcomm/default.env | 12 ++++++++++++
 configs/qcom_defconfig     |  2 ++
 include/configs/qcom.h     |  7 -------
 3 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 board/qualcomm/default.env

Comments

Sumit Garg June 21, 2024, 7:35 a.m. UTC | #1
Hi Caleb,

On Mon, 17 Jun 2024 at 14:26, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>
> Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
> environment to a file under board/qualcomm.
>
> This is much cleaner and means we don't need to recompile on changing
> the environment.
>
> Additionally, extend the environment to include a boot menu and
> auto-boot using EFI instead of bootm. Since we now support MMC and USB
> on most platforms, these are much more useful defaults.
>
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> ---
>  board/qualcomm/default.env | 12 ++++++++++++
>  configs/qcom_defconfig     |  2 ++
>  include/configs/qcom.h     |  7 -------
>  3 files changed, 14 insertions(+), 7 deletions(-)
>  create mode 100644 board/qualcomm/default.env
>
> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
> new file mode 100644
> index 000000000000..243aede77be7
> --- /dev/null
> +++ b/board/qualcomm/default.env
> @@ -0,0 +1,12 @@
> +stdin=serial,button-kbd
> +stdout=serial,vidconsole
> +stderr=serial,vidconsole
> +bootfile=/extlinux/extlinux.conf

Is this file used to perform EFI boot or is it redundantly copied from
somewhere?

-Sumit

> +preboot=scsi scan; usb start
> +fastboot=fastboot -l $fastboot_addr_r usb 0
> +do_boot=bootefi bootmgr
> +bootmenu_0=Boot first available device=run do_boot
> +bootmenu_1=Enable fastboot mode=run fastboot
> +bootmenu_2=Reset device=reset
> +menucmd=bootmenu
> +bootcmd=run do_boot
> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
> index 80ad3b32e139..a9e3797bb39a 100644
> --- a/configs/qcom_defconfig
> +++ b/configs/qcom_defconfig
> @@ -35,8 +35,10 @@ CONFIG_CMD_BMP=y
>  CONFIG_CMD_LOG=y
>  CONFIG_OF_LIVE=y
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_BUTTON_QCOM_PMIC=y
> +CONFIG_USE_DEFAULT_ENV_FILE=y
> +CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
>  CONFIG_CLK=y
>  CONFIG_CLK_QCOM_QCM2290=y
>  CONFIG_CLK_QCOM_QCS404=y
>  CONFIG_CLK_QCOM_SDM845=y
> diff --git a/include/configs/qcom.h b/include/configs/qcom.h
> index e50b3bce5cdd..5b5ebbd844df 100644
> --- a/include/configs/qcom.h
> +++ b/include/configs/qcom.h
> @@ -10,12 +10,5 @@
>  #define __CONFIGS_SNAPDRAGON_H
>
>  #define CFG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 }
>
> -/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
> -#define CFG_EXTRA_ENV_SETTINGS \
> -       "stdin=serial,button-kbd\0"     \
> -       "stdout=serial,vidconsole\0"    \
> -       "stderr=serial,vidconsole\0" \
> -       "bootcmd=bootm $prevbl_initrd_start_addr\0"
> -
>  #endif
> --
> 2.45.0
>
Caleb Connolly June 21, 2024, 7:49 a.m. UTC | #2
On 21/06/2024 09:35, Sumit Garg wrote:
> Hi Caleb,
> 
> On Mon, 17 Jun 2024 at 14:26, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>>
>> Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
>> environment to a file under board/qualcomm.
>>
>> This is much cleaner and means we don't need to recompile on changing
>> the environment.
>>
>> Additionally, extend the environment to include a boot menu and
>> auto-boot using EFI instead of bootm. Since we now support MMC and USB
>> on most platforms, these are much more useful defaults.
>>
>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>> ---
>>   board/qualcomm/default.env | 12 ++++++++++++
>>   configs/qcom_defconfig     |  2 ++
>>   include/configs/qcom.h     |  7 -------
>>   3 files changed, 14 insertions(+), 7 deletions(-)
>>   create mode 100644 board/qualcomm/default.env
>>
>> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
>> new file mode 100644
>> index 000000000000..243aede77be7
>> --- /dev/null
>> +++ b/board/qualcomm/default.env
>> @@ -0,0 +1,12 @@
>> +stdin=serial,button-kbd
>> +stdout=serial,vidconsole
>> +stderr=serial,vidconsole
>> +bootfile=/extlinux/extlinux.conf
> 
> Is this file used to perform EFI boot or is it redundantly copied from
> somewhere?

This is here because there's a bunch of codepaths in U-Boot that 
implicitly expect the bootfile environment variable to have something 
useful in. It stops a whole class of null pointer exceptions.

extlinux isn't used for EFI booting, but it's supported, and having a 
sensible default here is nice-to-have regardless.

Kind regards,
> 
> -Sumit
> 
>> +preboot=scsi scan; usb start
>> +fastboot=fastboot -l $fastboot_addr_r usb 0
>> +do_boot=bootefi bootmgr
>> +bootmenu_0=Boot first available device=run do_boot
>> +bootmenu_1=Enable fastboot mode=run fastboot
>> +bootmenu_2=Reset device=reset
>> +menucmd=bootmenu
>> +bootcmd=run do_boot
>> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
>> index 80ad3b32e139..a9e3797bb39a 100644
>> --- a/configs/qcom_defconfig
>> +++ b/configs/qcom_defconfig
>> @@ -35,8 +35,10 @@ CONFIG_CMD_BMP=y
>>   CONFIG_CMD_LOG=y
>>   CONFIG_OF_LIVE=y
>>   CONFIG_OF_BOARD_SETUP=y
>>   CONFIG_BUTTON_QCOM_PMIC=y
>> +CONFIG_USE_DEFAULT_ENV_FILE=y
>> +CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
>>   CONFIG_CLK=y
>>   CONFIG_CLK_QCOM_QCM2290=y
>>   CONFIG_CLK_QCOM_QCS404=y
>>   CONFIG_CLK_QCOM_SDM845=y
>> diff --git a/include/configs/qcom.h b/include/configs/qcom.h
>> index e50b3bce5cdd..5b5ebbd844df 100644
>> --- a/include/configs/qcom.h
>> +++ b/include/configs/qcom.h
>> @@ -10,12 +10,5 @@
>>   #define __CONFIGS_SNAPDRAGON_H
>>
>>   #define CFG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 }
>>
>> -/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
>> -#define CFG_EXTRA_ENV_SETTINGS \
>> -       "stdin=serial,button-kbd\0"     \
>> -       "stdout=serial,vidconsole\0"    \
>> -       "stderr=serial,vidconsole\0" \
>> -       "bootcmd=bootm $prevbl_initrd_start_addr\0"
>> -
>>   #endif
>> --
>> 2.45.0
>>
Sumit Garg June 21, 2024, 8:07 a.m. UTC | #3
On Fri, 21 Jun 2024 at 13:19, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>
>
>
> On 21/06/2024 09:35, Sumit Garg wrote:
> > Hi Caleb,
> >
> > On Mon, 17 Jun 2024 at 14:26, Caleb Connolly <caleb.connolly@linaro.org> wrote:
> >>
> >> Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
> >> environment to a file under board/qualcomm.
> >>
> >> This is much cleaner and means we don't need to recompile on changing
> >> the environment.
> >>
> >> Additionally, extend the environment to include a boot menu and
> >> auto-boot using EFI instead of bootm. Since we now support MMC and USB
> >> on most platforms, these are much more useful defaults.
> >>
> >> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> >> ---
> >>   board/qualcomm/default.env | 12 ++++++++++++
> >>   configs/qcom_defconfig     |  2 ++
> >>   include/configs/qcom.h     |  7 -------
> >>   3 files changed, 14 insertions(+), 7 deletions(-)
> >>   create mode 100644 board/qualcomm/default.env
> >>
> >> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
> >> new file mode 100644
> >> index 000000000000..243aede77be7
> >> --- /dev/null
> >> +++ b/board/qualcomm/default.env
> >> @@ -0,0 +1,12 @@
> >> +stdin=serial,button-kbd
> >> +stdout=serial,vidconsole
> >> +stderr=serial,vidconsole
> >> +bootfile=/extlinux/extlinux.conf
> >
> > Is this file used to perform EFI boot or is it redundantly copied from
> > somewhere?
>
> This is here because there's a bunch of codepaths in U-Boot that
> implicitly expect the bootfile environment variable to have something
> useful in. It stops a whole class of null pointer exceptions.
>
> extlinux isn't used for EFI booting, but it's supported, and having a
> sensible default here is nice-to-have regardless.

extlinux is a different boot method as compared to EFI, so it looks
confusing to use extlinux as default when we want EFI to be the
default. AFAICS, bootfile simply means the file to load and boot which
makes it more suitable for Linux image ("Image") to be the default
option.

With that change, feel free to add

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>

-Sumit

>
> Kind regards,
> >
> > -Sumit
> >
> >> +preboot=scsi scan; usb start
> >> +fastboot=fastboot -l $fastboot_addr_r usb 0
> >> +do_boot=bootefi bootmgr
> >> +bootmenu_0=Boot first available device=run do_boot
> >> +bootmenu_1=Enable fastboot mode=run fastboot
> >> +bootmenu_2=Reset device=reset
> >> +menucmd=bootmenu
> >> +bootcmd=run do_boot
> >> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
> >> index 80ad3b32e139..a9e3797bb39a 100644
> >> --- a/configs/qcom_defconfig
> >> +++ b/configs/qcom_defconfig
> >> @@ -35,8 +35,10 @@ CONFIG_CMD_BMP=y
> >>   CONFIG_CMD_LOG=y
> >>   CONFIG_OF_LIVE=y
> >>   CONFIG_OF_BOARD_SETUP=y
> >>   CONFIG_BUTTON_QCOM_PMIC=y
> >> +CONFIG_USE_DEFAULT_ENV_FILE=y
> >> +CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
> >>   CONFIG_CLK=y
> >>   CONFIG_CLK_QCOM_QCM2290=y
> >>   CONFIG_CLK_QCOM_QCS404=y
> >>   CONFIG_CLK_QCOM_SDM845=y
> >> diff --git a/include/configs/qcom.h b/include/configs/qcom.h
> >> index e50b3bce5cdd..5b5ebbd844df 100644
> >> --- a/include/configs/qcom.h
> >> +++ b/include/configs/qcom.h
> >> @@ -10,12 +10,5 @@
> >>   #define __CONFIGS_SNAPDRAGON_H
> >>
> >>   #define CFG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 }
> >>
> >> -/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
> >> -#define CFG_EXTRA_ENV_SETTINGS \
> >> -       "stdin=serial,button-kbd\0"     \
> >> -       "stdout=serial,vidconsole\0"    \
> >> -       "stderr=serial,vidconsole\0" \
> >> -       "bootcmd=bootm $prevbl_initrd_start_addr\0"
> >> -
> >>   #endif
> >> --
> >> 2.45.0
> >>
>
> --
> // Caleb (they/them)
Caleb Connolly June 21, 2024, 9:44 a.m. UTC | #4
On 21/06/2024 10:07, Sumit Garg wrote:
> On Fri, 21 Jun 2024 at 13:19, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>>
>>
>>
>> On 21/06/2024 09:35, Sumit Garg wrote:
>>> Hi Caleb,
>>>
>>> On Mon, 17 Jun 2024 at 14:26, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>>>>
>>>> Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
>>>> environment to a file under board/qualcomm.
>>>>
>>>> This is much cleaner and means we don't need to recompile on changing
>>>> the environment.
>>>>
>>>> Additionally, extend the environment to include a boot menu and
>>>> auto-boot using EFI instead of bootm. Since we now support MMC and USB
>>>> on most platforms, these are much more useful defaults.
>>>>
>>>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>>>> ---
>>>>    board/qualcomm/default.env | 12 ++++++++++++
>>>>    configs/qcom_defconfig     |  2 ++
>>>>    include/configs/qcom.h     |  7 -------
>>>>    3 files changed, 14 insertions(+), 7 deletions(-)
>>>>    create mode 100644 board/qualcomm/default.env
>>>>
>>>> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
>>>> new file mode 100644
>>>> index 000000000000..243aede77be7
>>>> --- /dev/null
>>>> +++ b/board/qualcomm/default.env
>>>> @@ -0,0 +1,12 @@
>>>> +stdin=serial,button-kbd
>>>> +stdout=serial,vidconsole
>>>> +stderr=serial,vidconsole
>>>> +bootfile=/extlinux/extlinux.conf
>>>
>>> Is this file used to perform EFI boot or is it redundantly copied from
>>> somewhere?
>>
>> This is here because there's a bunch of codepaths in U-Boot that
>> implicitly expect the bootfile environment variable to have something
>> useful in. It stops a whole class of null pointer exceptions.
>>
>> extlinux isn't used for EFI booting, but it's supported, and having a
>> sensible default here is nice-to-have regardless.
> 
> extlinux is a different boot method as compared to EFI, so it looks
> confusing to use extlinux as default when we want EFI to be the
> default. AFAICS, bootfile simply means the file to load and boot which
> makes it more suitable for Linux image ("Image") to be the default
> option.

Image? Why not Image.gz, vmlinuz, or vmlinuz.efi?

The value is meaningless, since all this does is stop U-Boot crashing if 
you run some commands without arguments.

The only times I've ever encountered bootfile has been in pxe or 
something related, where extlinux.conf was expected. Obviously this is a 
heavily overloaded variable...

Maybe I should just leave it unset to encourage folks to fix more of 
those unchecked accesses...

I don't think changing this to Image would be any more sensible than its 
current value.
> 
> With that change, feel free to add
> 
> Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
> 
> -Sumit
> 
>>
>> Kind regards,
>>>
>>> -Sumit
>>>
>>>> +preboot=scsi scan; usb start
>>>> +fastboot=fastboot -l $fastboot_addr_r usb 0
>>>> +do_boot=bootefi bootmgr
>>>> +bootmenu_0=Boot first available device=run do_boot
>>>> +bootmenu_1=Enable fastboot mode=run fastboot
>>>> +bootmenu_2=Reset device=reset
>>>> +menucmd=bootmenu
>>>> +bootcmd=run do_boot
>>>> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
>>>> index 80ad3b32e139..a9e3797bb39a 100644
>>>> --- a/configs/qcom_defconfig
>>>> +++ b/configs/qcom_defconfig
>>>> @@ -35,8 +35,10 @@ CONFIG_CMD_BMP=y
>>>>    CONFIG_CMD_LOG=y
>>>>    CONFIG_OF_LIVE=y
>>>>    CONFIG_OF_BOARD_SETUP=y
>>>>    CONFIG_BUTTON_QCOM_PMIC=y
>>>> +CONFIG_USE_DEFAULT_ENV_FILE=y
>>>> +CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
>>>>    CONFIG_CLK=y
>>>>    CONFIG_CLK_QCOM_QCM2290=y
>>>>    CONFIG_CLK_QCOM_QCS404=y
>>>>    CONFIG_CLK_QCOM_SDM845=y
>>>> diff --git a/include/configs/qcom.h b/include/configs/qcom.h
>>>> index e50b3bce5cdd..5b5ebbd844df 100644
>>>> --- a/include/configs/qcom.h
>>>> +++ b/include/configs/qcom.h
>>>> @@ -10,12 +10,5 @@
>>>>    #define __CONFIGS_SNAPDRAGON_H
>>>>
>>>>    #define CFG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 }
>>>>
>>>> -/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
>>>> -#define CFG_EXTRA_ENV_SETTINGS \
>>>> -       "stdin=serial,button-kbd\0"     \
>>>> -       "stdout=serial,vidconsole\0"    \
>>>> -       "stderr=serial,vidconsole\0" \
>>>> -       "bootcmd=bootm $prevbl_initrd_start_addr\0"
>>>> -
>>>>    #endif
>>>> --
>>>> 2.45.0
>>>>
>>
>> --
>> // Caleb (they/them)
Sumit Garg June 21, 2024, 12:19 p.m. UTC | #5
On Fri, 21 Jun 2024 at 15:14, Caleb Connolly <caleb.connolly@linaro.org> wrote:
>
>
>
> On 21/06/2024 10:07, Sumit Garg wrote:
> > On Fri, 21 Jun 2024 at 13:19, Caleb Connolly <caleb.connolly@linaro.org> wrote:
> >>
> >>
> >>
> >> On 21/06/2024 09:35, Sumit Garg wrote:
> >>> Hi Caleb,
> >>>
> >>> On Mon, 17 Jun 2024 at 14:26, Caleb Connolly <caleb.connolly@linaro.org> wrote:
> >>>>
> >>>> Make use of CONFIG_DEFAULT_ENV_FILE and move the default qcom
> >>>> environment to a file under board/qualcomm.
> >>>>
> >>>> This is much cleaner and means we don't need to recompile on changing
> >>>> the environment.
> >>>>
> >>>> Additionally, extend the environment to include a boot menu and
> >>>> auto-boot using EFI instead of bootm. Since we now support MMC and USB
> >>>> on most platforms, these are much more useful defaults.
> >>>>
> >>>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> >>>> ---
> >>>>    board/qualcomm/default.env | 12 ++++++++++++
> >>>>    configs/qcom_defconfig     |  2 ++
> >>>>    include/configs/qcom.h     |  7 -------
> >>>>    3 files changed, 14 insertions(+), 7 deletions(-)
> >>>>    create mode 100644 board/qualcomm/default.env
> >>>>
> >>>> diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
> >>>> new file mode 100644
> >>>> index 000000000000..243aede77be7
> >>>> --- /dev/null
> >>>> +++ b/board/qualcomm/default.env
> >>>> @@ -0,0 +1,12 @@
> >>>> +stdin=serial,button-kbd
> >>>> +stdout=serial,vidconsole
> >>>> +stderr=serial,vidconsole
> >>>> +bootfile=/extlinux/extlinux.conf
> >>>
> >>> Is this file used to perform EFI boot or is it redundantly copied from
> >>> somewhere?
> >>
> >> This is here because there's a bunch of codepaths in U-Boot that
> >> implicitly expect the bootfile environment variable to have something
> >> useful in. It stops a whole class of null pointer exceptions.
> >>
> >> extlinux isn't used for EFI booting, but it's supported, and having a
> >> sensible default here is nice-to-have regardless.
> >
> > extlinux is a different boot method as compared to EFI, so it looks
> > confusing to use extlinux as default when we want EFI to be the
> > default. AFAICS, bootfile simply means the file to load and boot which
> > makes it more suitable for Linux image ("Image") to be the default
> > option.
>
> Image? Why not Image.gz, vmlinuz, or vmlinuz.efi?
>
> The value is meaningless, since all this does is stop U-Boot crashing if
> you run some commands without arguments.
>
> The only times I've ever encountered bootfile has been in pxe or
> something related, where extlinux.conf was expected. Obviously this is a
> heavily overloaded variable...
>
> Maybe I should just leave it unset to encourage folks to fix more of
> those unchecked accesses...

That was my original suggestion too, drop it and feel free to keep a
review tag with that.

-Sumit

>
> I don't think changing this to Image would be any more sensible than its
> current value.
> >
> > With that change, feel free to add
> >
> > Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
> >
> > -Sumit
> >
> >>
> >> Kind regards,
> >>>
> >>> -Sumit
> >>>
> >>>> +preboot=scsi scan; usb start
> >>>> +fastboot=fastboot -l $fastboot_addr_r usb 0
> >>>> +do_boot=bootefi bootmgr
> >>>> +bootmenu_0=Boot first available device=run do_boot
> >>>> +bootmenu_1=Enable fastboot mode=run fastboot
> >>>> +bootmenu_2=Reset device=reset
> >>>> +menucmd=bootmenu
> >>>> +bootcmd=run do_boot
> >>>> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
> >>>> index 80ad3b32e139..a9e3797bb39a 100644
> >>>> --- a/configs/qcom_defconfig
> >>>> +++ b/configs/qcom_defconfig
> >>>> @@ -35,8 +35,10 @@ CONFIG_CMD_BMP=y
> >>>>    CONFIG_CMD_LOG=y
> >>>>    CONFIG_OF_LIVE=y
> >>>>    CONFIG_OF_BOARD_SETUP=y
> >>>>    CONFIG_BUTTON_QCOM_PMIC=y
> >>>> +CONFIG_USE_DEFAULT_ENV_FILE=y
> >>>> +CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
> >>>>    CONFIG_CLK=y
> >>>>    CONFIG_CLK_QCOM_QCM2290=y
> >>>>    CONFIG_CLK_QCOM_QCS404=y
> >>>>    CONFIG_CLK_QCOM_SDM845=y
> >>>> diff --git a/include/configs/qcom.h b/include/configs/qcom.h
> >>>> index e50b3bce5cdd..5b5ebbd844df 100644
> >>>> --- a/include/configs/qcom.h
> >>>> +++ b/include/configs/qcom.h
> >>>> @@ -10,12 +10,5 @@
> >>>>    #define __CONFIGS_SNAPDRAGON_H
> >>>>
> >>>>    #define CFG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 }
> >>>>
> >>>> -/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
> >>>> -#define CFG_EXTRA_ENV_SETTINGS \
> >>>> -       "stdin=serial,button-kbd\0"     \
> >>>> -       "stdout=serial,vidconsole\0"    \
> >>>> -       "stderr=serial,vidconsole\0" \
> >>>> -       "bootcmd=bootm $prevbl_initrd_start_addr\0"
> >>>> -
> >>>>    #endif
> >>>> --
> >>>> 2.45.0
> >>>>
> >>
> >> --
> >> // Caleb (they/them)
>
> --
> // Caleb (they/them)
diff mbox series

Patch

diff --git a/board/qualcomm/default.env b/board/qualcomm/default.env
new file mode 100644
index 000000000000..243aede77be7
--- /dev/null
+++ b/board/qualcomm/default.env
@@ -0,0 +1,12 @@ 
+stdin=serial,button-kbd
+stdout=serial,vidconsole
+stderr=serial,vidconsole
+bootfile=/extlinux/extlinux.conf
+preboot=scsi scan; usb start
+fastboot=fastboot -l $fastboot_addr_r usb 0
+do_boot=bootefi bootmgr
+bootmenu_0=Boot first available device=run do_boot
+bootmenu_1=Enable fastboot mode=run fastboot
+bootmenu_2=Reset device=reset
+menucmd=bootmenu
+bootcmd=run do_boot
diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
index 80ad3b32e139..a9e3797bb39a 100644
--- a/configs/qcom_defconfig
+++ b/configs/qcom_defconfig
@@ -35,8 +35,10 @@  CONFIG_CMD_BMP=y
 CONFIG_CMD_LOG=y
 CONFIG_OF_LIVE=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BUTTON_QCOM_PMIC=y
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="board/qualcomm/default.env"
 CONFIG_CLK=y
 CONFIG_CLK_QCOM_QCM2290=y
 CONFIG_CLK_QCOM_QCS404=y
 CONFIG_CLK_QCOM_SDM845=y
diff --git a/include/configs/qcom.h b/include/configs/qcom.h
index e50b3bce5cdd..5b5ebbd844df 100644
--- a/include/configs/qcom.h
+++ b/include/configs/qcom.h
@@ -10,12 +10,5 @@ 
 #define __CONFIGS_SNAPDRAGON_H
 
 #define CFG_SYS_BAUDRATE_TABLE	{ 115200, 230400, 460800, 921600 }
 
-/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
-#define CFG_EXTRA_ENV_SETTINGS \
-	"stdin=serial,button-kbd\0"	\
-	"stdout=serial,vidconsole\0"	\
-	"stderr=serial,vidconsole\0" \
-	"bootcmd=bootm $prevbl_initrd_start_addr\0"
-
 #endif