1menu "Fastboot support" 2 3config FASTBOOT 4 bool 5 imply ANDROID_BOOT_IMAGE 6 imply CMD_FASTBOOT 7 8config USB_FUNCTION_FASTBOOT 9 bool "Enable USB fastboot gadget" 10 depends on USB_GADGET 11 default y if ARCH_SUNXI && USB_MUSB_GADGET 12 select FASTBOOT 13 select USB_GADGET_DOWNLOAD 14 help 15 This enables the USB part of the fastboot gadget. 16 17config UDP_FUNCTION_FASTBOOT 18 depends on NET 19 select FASTBOOT 20 bool "Enable fastboot protocol over UDP" 21 help 22 This enables the fastboot protocol over UDP. 23 24if FASTBOOT 25 26config FASTBOOT_BUF_ADDR 27 hex "Define FASTBOOT buffer address" 28 default 0x82000000 if MX6SX || MX6SL || MX6UL || MX6SLL 29 default 0x81000000 if ARCH_OMAP2PLUS 30 default 0x42000000 if ARCH_SUNXI && !MACH_SUN9I 31 default 0x22000000 if ARCH_SUNXI && MACH_SUN9I 32 default 0x60800800 if ROCKCHIP_RK3036 || ROCKCHIP_RK3188 || \ 33 ROCKCHIP_RK322X 34 default 0x800800 if ROCKCHIP_RK3288 || ROCKCHIP_RK3329 || \ 35 ROCKCHIP_RK3399 36 default 0x280000 if ROCKCHIP_RK3368 37 default 0x100000 if ARCH_ZYNQMP 38 default 0 if SANDBOX 39 help 40 The fastboot protocol requires a large memory buffer for 41 downloads. Define this to the starting RAM address to use for 42 downloaded images. 43 44config FASTBOOT_BUF_SIZE 45 hex "Define FASTBOOT buffer size" 46 default 0x8000000 if ARCH_ROCKCHIP 47 default 0x6000000 if ARCH_ZYNQMP 48 default 0x2000000 if ARCH_SUNXI 49 default 0x8192 if SANDBOX 50 default 0x7000000 51 help 52 The fastboot protocol requires a large memory buffer for 53 downloads. This buffer should be as large as possible for a 54 platform. Define this to the size available RAM for fastboot. 55 56config FASTBOOT_USB_DEV 57 int "USB controller number" 58 depends on USB_FUNCTION_FASTBOOT 59 default 0 60 help 61 Some boards have USB OTG controller other than 0. Define this 62 option so it can be used in compiled environment (e.g. in 63 CONFIG_BOOTCOMMAND). 64 65config FASTBOOT_FLASH 66 bool "Enable FASTBOOT FLASH command" 67 default y if ARCH_SUNXI || ARCH_ROCKCHIP 68 depends on MMC || (MTD_RAW_NAND && CMD_MTDPARTS) 69 select IMAGE_SPARSE 70 help 71 The fastboot protocol includes a "flash" command for writing 72 the downloaded image to a non-volatile storage device. Define 73 this to enable the "fastboot flash" command. 74 75config FASTBOOT_UUU_SUPPORT 76 bool "Enable FASTBOOT i.MX UUU special command" 77 help 78 The fastboot protocol includes "UCmd" and "ACmd" command. 79 Be aware that you provide full access to any U-Boot command, 80 including working with memory and may open a huge backdoor, 81 when enabling this option. 82 83choice 84 prompt "Flash provider for FASTBOOT" 85 depends on FASTBOOT_FLASH 86 87config FASTBOOT_FLASH_MMC 88 bool "FASTBOOT on MMC" 89 depends on MMC 90 91config FASTBOOT_FLASH_NAND 92 bool "FASTBOOT on NAND" 93 depends on MTD_RAW_NAND && CMD_MTDPARTS 94 95endchoice 96 97config FASTBOOT_FLASH_MMC_DEV 98 int "Define FASTBOOT MMC FLASH default device" 99 depends on FASTBOOT_FLASH_MMC 100 default 0 if ARCH_ROCKCHIP 101 default 0 if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1 102 default 1 if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1 103 help 104 The fastboot "flash" command requires additional information 105 regarding the non-volatile storage device. Define this to 106 the eMMC device that fastboot should use to store the image. 107 108config FASTBOOT_FLASH_NAND_TRIMFFS 109 bool "Skip empty pages when flashing NAND" 110 depends on FASTBOOT_FLASH_NAND 111 help 112 When flashing NAND enable the DROP_FFS flag to drop trailing all-0xff 113 pages. 114 115config FASTBOOT_MMC_BOOT_SUPPORT 116 bool "Enable EMMC_BOOT flash/erase" 117 depends on FASTBOOT_FLASH_MMC 118 help 119 The fastboot "flash" and "erase" commands normally does operations 120 on eMMC userdata. Define this to enable the special commands to 121 flash/erase eMMC boot partition. 122 The default target name for updating eMMC boot partition 1/2 is 123 CONFIG_FASTBOOT_MMC_BOOT1_NAME/CONFIG_FASTBOOT_MMC_BOOT2_NAME. 124 125config FASTBOOT_MMC_BOOT1_NAME 126 string "Target name for updating EMMC_BOOT1" 127 depends on FASTBOOT_MMC_BOOT_SUPPORT 128 default "mmc0boot0" 129 help 130 The fastboot "flash" and "erase" commands support operations on 131 EMMC_BOOT1. This occurs when the specified "EMMC_BOOT1 name" on 132 the "fastboot flash" and "fastboot erase" commands match the value 133 defined here. 134 The default target name for updating EMMC_BOOT1 is "mmc0boot0". 135 136config FASTBOOT_MMC_BOOT2_NAME 137 string "Target name for updating EMMC_BOOT2" 138 depends on FASTBOOT_MMC_BOOT_SUPPORT 139 default "mmc0boot1" 140 help 141 The fastboot "flash" and "erase" commands support operations on 142 EMMC_BOOT2. This occurs when the specified "EMMC_BOOT2 name" on 143 the "fastboot flash" and "fastboot erase" commands match the value 144 defined here. 145 The default target name for updating EMMC_BOOT2 is "mmc0boot1". 146 147config FASTBOOT_MMC_USER_SUPPORT 148 bool "Enable eMMC userdata partition flash/erase" 149 depends on FASTBOOT_FLASH_MMC 150 help 151 Define this to enable the support "flash" and "erase" command on 152 eMMC userdata. The "flash" command only update the MBR and GPT 153 header when CONFIG_EFI_PARTITION is supported. 154 The "erase" command erase all the userdata. 155 This occurs when the specified "partition name" on the 156 fastboot command line matches the value CONFIG_FASTBOOT_MMC_USER_NAME. 157 158config FASTBOOT_MMC_USER_NAME 159 string "Target name for updating EMMC_USER" 160 depends on FASTBOOT_MMC_USER_SUPPORT 161 default "mmc0" 162 help 163 The fastboot "flash" and "erase" command supports EMMC_USER. 164 This occurs when the specified "EMMC_USER name" on the 165 "fastboot flash" and the "fastboot erase" commands match the value 166 defined here. 167 The default target name for erasing EMMC_USER is "mmc0". 168 169config FASTBOOT_GPT_NAME 170 string "Target name for updating GPT" 171 depends on FASTBOOT_FLASH_MMC && EFI_PARTITION 172 default "gpt" 173 help 174 The fastboot "flash" command supports writing the downloaded 175 image to the Protective MBR and the Primary GUID Partition 176 Table. (Additionally, this downloaded image is post-processed 177 to generate and write the Backup GUID Partition Table.) 178 This occurs when the specified "partition name" on the 179 "fastboot flash" command line matches the value defined here. 180 The default target name for updating GPT is "gpt". 181 182config FASTBOOT_MBR_NAME 183 string "Target name for updating MBR" 184 depends on FASTBOOT_FLASH_MMC && DOS_PARTITION 185 default "mbr" 186 help 187 The fastboot "flash" command allows to write the downloaded image 188 to the Master Boot Record. This occurs when the "partition name" 189 specified on the "fastboot flash" command line matches the value 190 defined here. The default target name for updating MBR is "mbr". 191 192config FASTBOOT_CMD_OEM_FORMAT 193 bool "Enable the 'oem format' command" 194 depends on FASTBOOT_FLASH_MMC && CMD_GPT 195 help 196 Add support for the "oem format" command from a client. This 197 relies on the env variable partitions to contain the list of 198 partitions as required by the gpt command. 199 200config FASTBOOT_CMD_OEM_PARTCONF 201 bool "Enable the 'oem partconf' command" 202 depends on FASTBOOT_FLASH_MMC && SUPPORT_EMMC_BOOT 203 help 204 Add support for the "oem partconf" command from a client. This set 205 the mmc boot-partition for the selecting eMMC device. 206 207config FASTBOOT_CMD_OEM_BOOTBUS 208 bool "Enable the 'oem bootbus' command" 209 depends on FASTBOOT_FLASH_MMC && SUPPORT_EMMC_BOOT 210 help 211 Add support for the "oem bootbus" command from a client. This set 212 the mmc boot configuration for the selecting eMMC device. 213 214endif # FASTBOOT 215 216endmenu 217