u-boot/arch/arm/include/asm
Neil Armstrong d96a782d09 ARM: meson: Add boot device discovery
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>
2018-11-26 14:40:52 +01:00
..
arch-am33xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-armada8k SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-armada100 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-armv7 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-aspeed watchdog: aspeed: restore default value of reset_mask 2018-10-22 09:18:49 -04:00
arch-bcm235xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-bcm281xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-bcmcygnus SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-bcmnsp SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-ep93xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-fsl-layerscape armv8: ls1043a: add icid setup support 2018-09-27 08:58:15 -07:00
arch-hi3798cv200 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-hi6220 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-imx imx8: cpu: add uclass based CPU driver 2018-10-22 12:59:01 +02:00
arch-imx8 power: Add power domain driver for i.MX8 2018-10-22 12:59:01 +02:00
arch-lpc32xx Convert CONFIG_FLASH_CFI_DRIVER et al to Kconfig 2018-10-19 19:19:50 -04:00
arch-ls102xa armv7: ls102xa: Disable QE before enter deep sleep 2018-09-27 10:01:28 -07:00
arch-meson ARM: meson: Add boot device discovery 2018-11-26 14:40:52 +01:00
arch-mvebu SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-mx5 arm: mx5: Add LDB clock config code 2018-10-16 10:34:02 +02:00
arch-mx6 imx: imx6ull: fix pinmux input_val for uart5 rx pin 2018-09-14 15:22:52 +02:00
arch-mx7 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-mx7ulp imx_lpi2c: Update lpi2c driver to support imx8 2018-07-12 11:08:41 +02:00
arch-mx8m SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-mx25 watchdog: mx25: use the imx_watchdog driver for mx25 2018-09-04 08:47:23 +02:00
arch-mx27 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-mx31 mx31: Convert MX31_HCLK_FREQ and MX31_CLK32 to Kconfig. 2018-05-17 12:02:28 +02:00
arch-mx35 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-mxs SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-omap3 mmc: omap_hsmmc: Fix pbias for omap3_logic to enable CD pin 2018-09-25 21:49:18 -04:00
arch-omap4 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-omap5 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-orion5x SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-owl clk: Add Actions Semi OWL clock support 2018-07-09 15:25:31 -04:00
arch-pxa SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-rockchip usb: rockchip: implement K_FW_LBA_ERASE_10 command 2018-08-08 22:22:07 +02:00
arch-s32v234 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-sa1100 Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
arch-spear arm: spear: fix enabling of SSP2 clock 2018-09-25 21:49:18 -04:00
arch-stih410 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-stm32 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-stm32f4 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-stm32f7 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-stm32h7 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-stv0991 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-sunxi sun50i: A64: add support for R_I2C controller 2018-11-13 22:09:10 +05:30
arch-tegra SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra20 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra30 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra114 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra124 ARM: tegra: implement RAM repair 2018-07-26 13:15:29 -07:00
arch-tegra186 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra210 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-vf610 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-zynqmp arm64: zynqmp: Add new command for TCM initialization 2018-10-16 16:53:24 +02:00
armv8 Use _AC and UL macros from linux/const.h 2018-11-20 13:08:15 +01:00
iproc-common SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
kona-common SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-imx imx: add i.MX8 cpu type 2018-10-22 12:59:01 +02:00
proc-armv ARM: define MON_MODE 2018-07-26 13:15:30 -07:00
ti-common driver: net: ti: keystone_net: switch to use common mdio lib 2018-11-05 10:42:01 -06:00
armv7.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
armv7_mpu.h arm: v7R: Add support for MPU 2018-05-07 15:53:29 -04:00
armv7m.h arm: armv7m: clean up armv7m unified code compilation 2018-09-10 21:19:33 -04:00
assembler.h arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
atomic.h ARM: use asm-generic/atomic.h 2018-09-25 21:49:18 -04:00
barriers.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bitops.h arm/arm64: bitops: fix find_next_zero_bit to be compat with arm64 2018-07-19 16:31:36 -04:00
boot0-linux-kernel-header.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bootm.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
config.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci_rtc.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dma-mapping.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ehci-omap.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
emif.h cmd: ti: Generalize cmd_ddr3 command 2018-01-19 15:49:26 -05:00
fsl_secure_boot.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h arm: global_data: add scu_dev for i.MX8 2018-10-22 12:59:01 +02:00
gpio.h gpio: do not include <asm/arch/gpio.h> for ARCH_K3 2018-09-11 08:32:55 -04:00
hardware.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
io.h arm: Use asm-generic/io.h 2017-10-02 21:52:20 -04:00
linkage.h arm: adapt asm/linkage.h from Linux 2012-05-15 08:31:26 +02:00
mach-types.h arm: Re-sync with full list of MACH_TYPE_xxx values 2017-01-28 14:04:20 -05:00
macro.h ARMv8: Enable all asynchronous abort exceptions taken to EL3 2018-11-16 13:34:33 -05:00
memory.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
omap_common.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
omap_gpio.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
omap_mmc.h mmc: omap_mmc: Remove invert references 2018-09-29 08:06:56 -04:00
omap_musb.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
omap_sec_common.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opcodes-sec.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opcodes-virt.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opcodes.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pl310.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h psci: arm: remove armv7 function psci_save_target_pc 2018-05-07 11:52:55 -04:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
secure.h ARMv8: Setup PSCI memory and device tree 2016-12-15 11:57:51 -08:00
setjmp.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
setup.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
spin_table.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl.h arm: K3: am654: Add support for boot device detection 2018-09-11 08:32:55 -04:00
string.h ARM: revive CONFIG_USE_ARCH_MEMCPY/MEMSET for UniPhier and Tegra 2016-12-27 11:24:15 -05:00
system.h ARMv8: Enable all asynchronous abort exceptions taken to EL3 2018-11-16 13:34:33 -05:00
types.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
u-boot-arm.h arm: remove duplicated prototypes in u-boot.arm.h 2018-10-10 13:35:10 -04:00
u-boot.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
utils.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00