1e016f0b2SSteve Raecomment "FASTBOOT" 2e016f0b2SSteve Rae 3c2948731SYann E. MORINmenuconfig FASTBOOT 4c2948731SYann E. MORIN bool "Fastboot support" 548f6232eSTom Rini depends on USB_GADGET 6e016f0b2SSteve Rae 7c2948731SYann E. MORINif FASTBOOT 8e016f0b2SSteve Rae 9e016f0b2SSteve Raeconfig USB_FUNCTION_FASTBOOT 10e016f0b2SSteve Rae bool "Enable USB fastboot gadget" 11e016f0b2SSteve Rae help 12e016f0b2SSteve Rae This enables the USB part of the fastboot gadget. 13e016f0b2SSteve Rae 14965eda41SJocelyn Bohrconfig UDP_FUNCTION_FASTBOOT 15965eda41SJocelyn Bohr select NET 16965eda41SJocelyn Bohr bool "Enable fastboot protocol over UDP" 17965eda41SJocelyn Bohr help 18965eda41SJocelyn Bohr This enables the fastboot protocol over UDP. 19965eda41SJocelyn Bohr 20e016f0b2SSteve Raeconfig CMD_FASTBOOT 21e016f0b2SSteve Rae bool "Enable FASTBOOT command" 22965eda41SJocelyn Bohr depends on USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT 23e016f0b2SSteve Rae help 24e016f0b2SSteve Rae This enables the command "fastboot" which enables the Android 25965eda41SJocelyn Bohr fastboot mode for the platform. Fastboot is a protocol for 26965eda41SJocelyn Bohr downloading images, flashing and device control used on 27965eda41SJocelyn Bohr Android devices. Fastboot requires either network stack 28965eda41SJocelyn Bohr enabled or support for acting as a USB device. 29e016f0b2SSteve Rae 3000fd59ddSSimon Glass See doc/README.android-fastboot for more information. 3100fd59ddSSimon Glass 32965eda41SJocelyn Bohrif USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT 33e016f0b2SSteve Rae 34e016f0b2SSteve Raeconfig FASTBOOT_BUF_ADDR 35e016f0b2SSteve Rae hex "Define FASTBOOT buffer address" 3648f6232eSTom Rini default 0x82000000 if MX6SX || MX6SL || MX6UL || MX6SLL 3748f6232eSTom Rini default 0x81000000 if ARCH_OMAP2PLUS 3848f6232eSTom Rini default 0x42000000 if ARCH_SUNXI && !MACH_SUN9I 3948f6232eSTom Rini default 0x22000000 if ARCH_SUNXI && MACH_SUN9I 4081ae24d4SKever Yang default 0x60800800 if ROCKCHIP_RK3036 || ROCKCHIP_RK3066 || \ 4181ae24d4SKever Yang ROCKCHIP_RK3188 || ROCKCHIP_RK322X 4248f6232eSTom Rini default 0x800800 if ROCKCHIP_RK3288 || ROCKCHIP_RK3329 || \ 4348f6232eSTom Rini ROCKCHIP_RK3399 4448f6232eSTom Rini default 0x280000 if ROCKCHIP_RK3368 4548f6232eSTom Rini default 0x100000 if ARCH_ZYNQMP 46e016f0b2SSteve Rae help 47e016f0b2SSteve Rae The fastboot protocol requires a large memory buffer for 48e016f0b2SSteve Rae downloads. Define this to the starting RAM address to use for 49e016f0b2SSteve Rae downloaded images. 50e016f0b2SSteve Rae 51e016f0b2SSteve Raeconfig FASTBOOT_BUF_SIZE 52e016f0b2SSteve Rae hex "Define FASTBOOT buffer size" 5348f6232eSTom Rini default 0x8000000 if ARCH_ROCKCHIP 5448f6232eSTom Rini default 0x6000000 if ARCH_ZYNQMP 5548f6232eSTom Rini default 0x2000000 if ARCH_SUNXI 5648f6232eSTom Rini default 0x7000000 57e016f0b2SSteve Rae help 58e016f0b2SSteve Rae The fastboot protocol requires a large memory buffer for 59e016f0b2SSteve Rae downloads. This buffer should be as large as possible for a 60e016f0b2SSteve Rae platform. Define this to the size available RAM for fastboot. 61e016f0b2SSteve Rae 629af5ba87SSemen Protsenkoconfig FASTBOOT_USB_DEV 639af5ba87SSemen Protsenko int "USB controller number" 649af5ba87SSemen Protsenko default 0 659af5ba87SSemen Protsenko help 669af5ba87SSemen Protsenko Some boards have USB OTG controller other than 0. Define this 679af5ba87SSemen Protsenko option so it can be used in compiled environment (e.g. in 689af5ba87SSemen Protsenko CONFIG_BOOTCOMMAND). 699af5ba87SSemen Protsenko 70e016f0b2SSteve Raeconfig FASTBOOT_FLASH 71e016f0b2SSteve Rae bool "Enable FASTBOOT FLASH command" 72e016f0b2SSteve Rae help 73e016f0b2SSteve Rae The fastboot protocol includes a "flash" command for writing 74e016f0b2SSteve Rae the downloaded image to a non-volatile storage device. Define 75e016f0b2SSteve Rae this to enable the "fastboot flash" command. 76e016f0b2SSteve Rae 77e016f0b2SSteve Raeconfig FASTBOOT_FLASH_MMC_DEV 78e016f0b2SSteve Rae int "Define FASTBOOT MMC FLASH default device" 7948f6232eSTom Rini depends on FASTBOOT_FLASH && MMC 80e016f0b2SSteve Rae help 81e016f0b2SSteve Rae The fastboot "flash" command requires additional information 82e016f0b2SSteve Rae regarding the non-volatile storage device. Define this to 83e016f0b2SSteve Rae the eMMC device that fastboot should use to store the image. 84e016f0b2SSteve Rae 8565413a00SJian Qiuconfig FASTBOOT_OEM_UNLOCK 8665413a00SJian Qiu bool "Enable FASTBOOT OEM UNLOCK command" 87c2ba77d9SJian Qiu depends on ANDROID_KEYMASTER_CA 8865413a00SJian Qiu help 8965413a00SJian Qiu This enables the command "fastboot oem unlock" the fastboot 9065413a00SJian Qiu oem unlock command requires tee security storage to store 9165413a00SJian Qiu unlock status. oem unlock status attach to bootargs on boot. 9265413a00SJian Qiu 93*d38ae1a6Szain wangconfig RK_AVB_LIBAVB_ENABLE_ATH_UNLOCK 94*d38ae1a6Szain wang bool "AVB Authenticated unlock function" 95*d38ae1a6Szain wang depends on ANDROID_AVB 96*d38ae1a6Szain wang help 97*d38ae1a6Szain wang Enabled authenticated unlock function can prevent lock state 98*d38ae1a6Szain wang from invalid unlock cmd. 9965413a00SJian Qiu 100965eda41SJocelyn Bohrendif # USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT 101e016f0b2SSteve Rae 102c2948731SYann E. MORINendif # FASTBOOT 103