mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 16:38:53 +09:00
![Neil Armstrong](/assets/img/avatar_default.png)
The Amlogic Meson SoCs ROM supports a boot over USB with a custom protocol. When no other boot medium are available (or by forcing the USB mode), the ROM sets the primary USB port as device mode and waits for a Host to enumerate. When enumerated, a custom protocol described at [1] permits writing to memory and execute some specific FIP init code to run the loaded Arm Trusted Firmware BL2 and BL3 stages before running the BL33 stage. In this mode, we can load different binaries that can be used by U-boot like a script image file. This adds support for a custom USB boot stage only available when the boot mode is USB and the script file at a pre-defined address is valid. This support was heavily copied from the Sunxi Allwinner FEL U-Boot support. The tool pyamlboot described at [2], permits using this boot mode on boards exposing the first USB port, either as OTG or Host port. [1] https://github.com/superna9999/pyamlboot/blob/master/PROTOCOL.md [2] https://github.com/superna9999/pyamlboot/blob/master/README.md Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
83 lines
1.5 KiB
Plaintext
83 lines
1.5 KiB
Plaintext
if ARCH_MESON
|
|
|
|
config MESON64_COMMON
|
|
bool
|
|
select ARM64
|
|
select CLK
|
|
select DM
|
|
select DM_SERIAL
|
|
select SYSCON
|
|
select REGMAP
|
|
select BOARD_LATE_INIT
|
|
imply CMD_DM
|
|
|
|
config MESON_GX
|
|
bool
|
|
select MESON64_COMMON
|
|
|
|
choice
|
|
prompt "Platform select"
|
|
default MESON_GXBB
|
|
|
|
config MESON_GXBB
|
|
bool "GXBB"
|
|
select MESON_GX
|
|
help
|
|
Select this if your SoC is an S905
|
|
|
|
config MESON_GXL
|
|
bool "GXL"
|
|
select MESON_GX
|
|
help
|
|
Select this if your SoC is an S905X/D or S805X
|
|
|
|
config MESON_GXM
|
|
bool "GXM"
|
|
select MESON_GX
|
|
help
|
|
Select this if your SoC is an S912
|
|
|
|
config MESON_AXG
|
|
bool "AXG"
|
|
select MESON64_COMMON
|
|
help
|
|
Select this if your SoC is an A113X/D
|
|
|
|
endchoice
|
|
|
|
config SYS_SOC
|
|
default "meson"
|
|
|
|
config SYS_MALLOC_F_LEN
|
|
default 0x1000
|
|
|
|
config SYS_VENDOR
|
|
string "Vendor name"
|
|
default "amlogic"
|
|
help
|
|
This option contains information about board name.
|
|
Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
|
|
be used.
|
|
|
|
config SYS_BOARD
|
|
string "Board name"
|
|
default "odroid-c2" if MESON_GXBB
|
|
default "p212" if MESON_GXL
|
|
default "q200" if MESON_GXM
|
|
default "s400" if MESON_AXG
|
|
default ""
|
|
help
|
|
This option contains information about board name.
|
|
Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
|
|
be used.
|
|
|
|
config SYS_CONFIG_NAME
|
|
string "Board configuration name"
|
|
default "meson64"
|
|
help
|
|
This option contains information about board configuration name.
|
|
Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
|
|
will be used for board configuration.
|
|
|
|
endif
|