forked from OERV-BSP/u-boot
Phones don't have keyboards! Introduce a phone-specific config fragment and associated environment file to make U-Boot more useful on these devices. This allows for navigating via the buttons and enabling various USB gadget modes or displaying info about U-Boot. Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Danila Tikhonov <danila@jiaxyga.com> # google-sunfish Tested-by: Jens Reidel <adrian@mainlining.org> # xiaomi-davinci Link: https://lore.kernel.org/r/20250331-qcom-phones-v4-1-f52e57d3b8c6@linaro.org Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
48 lines
1.7 KiB
Bash
48 lines
1.7 KiB
Bash
bootdelay=0
|
|
bootretry=1
|
|
stdin=serial,button-kbd
|
|
stdout=serial,vidconsole
|
|
stderr=serial,vidconsole
|
|
|
|
# Fastboot is keen to use the address from kconfig, but we
|
|
# allocate its buffer at runtime.
|
|
fastboot=fastboot -l $fastboot_addr_r usb 0
|
|
|
|
# Always probe for UFS storage, though it should be done by board code.
|
|
preboot=scsi scan
|
|
|
|
# Shortcut to enable USB serial gadget and disable bootretry
|
|
serial_gadget=setenv stdin serial,button-kbd,usbacm; \
|
|
setenv stdout serial,vidconsole,usbacm; \
|
|
setenv stderr serial,vidconsole,usbacm; \
|
|
setenv bootretry -1; \
|
|
echo Enabled U-Boot console serial gadget
|
|
|
|
# bootretry will run this command over and over, if we fail once
|
|
# then bail out to the boot menu instead (with a pause to read
|
|
# the error message)
|
|
bootcmd=bootefi bootmgr; pause; run menucmd
|
|
|
|
# When entering the menu (either from button press or failed boot)
|
|
# remap bootcmd so it will re-open the menu and we won't get stuck
|
|
# at the console with no way to type
|
|
menucmd=setenv bootcmd run menucmd; bootmenu -1
|
|
|
|
# Pause is used so the output can be read on the display
|
|
bootmenu_0=Boot=bootefi bootmgr; pause
|
|
bootmenu_1=Enable serial console gadget=run serial_gadget
|
|
bootmenu_2=Enable USB mass storage=echo "Press any key to exit UMS mode"; ums 0 scsi 0
|
|
bootmenu_3=Enable fastboot mode=run fastboot
|
|
# Disabling bootretry means we'll just drop the shell
|
|
bootmenu_4=Drop to shell=setenv bootretry -1
|
|
bootmenu_5=Reset device=reset
|
|
bootmenu_6=Dump clocks=clk dump; pause
|
|
bootmenu_7=Dump environment=printenv; pause
|
|
bootmenu_8=Board info=bdinfo; pause
|
|
bootmenu_9=Dump bootargs=fdt print /chosen bootargs; pause
|
|
|
|
# Allow holding the volume down button while U-Boot loads to enter
|
|
# the boot menu
|
|
button_cmd_0_name=Volume Down
|
|
button_cmd_0=run menucmd
|