1*312a10f1SAlex Kiernanmenu "Fastboot support" 2*312a10f1SAlex Kiernan 3*312a10f1SAlex Kiernanconfig FASTBOOT 4*312a10f1SAlex Kiernan bool 5*312a10f1SAlex Kiernan imply ANDROID_BOOT_IMAGE 6*312a10f1SAlex Kiernan imply CMD_FASTBOOT 7*312a10f1SAlex Kiernan 8*312a10f1SAlex Kiernanconfig USB_FUNCTION_FASTBOOT 9*312a10f1SAlex Kiernan bool "Enable USB fastboot gadget" 10*312a10f1SAlex Kiernan depends on USB_GADGET 11*312a10f1SAlex Kiernan default y if ARCH_SUNXI && USB_MUSB_GADGET 12*312a10f1SAlex Kiernan select FASTBOOT 13*312a10f1SAlex Kiernan select USB_GADGET_DOWNLOAD 14*312a10f1SAlex Kiernan help 15*312a10f1SAlex Kiernan This enables the USB part of the fastboot gadget. 16*312a10f1SAlex Kiernan 17*312a10f1SAlex Kiernanif FASTBOOT 18*312a10f1SAlex Kiernan 19*312a10f1SAlex Kiernanconfig FASTBOOT_BUF_ADDR 20*312a10f1SAlex Kiernan hex "Define FASTBOOT buffer address" 21*312a10f1SAlex Kiernan default 0x82000000 if MX6SX || MX6SL || MX6UL || MX6SLL 22*312a10f1SAlex Kiernan default 0x81000000 if ARCH_OMAP2PLUS 23*312a10f1SAlex Kiernan default 0x42000000 if ARCH_SUNXI && !MACH_SUN9I 24*312a10f1SAlex Kiernan default 0x22000000 if ARCH_SUNXI && MACH_SUN9I 25*312a10f1SAlex Kiernan default 0x60800800 if ROCKCHIP_RK3036 || ROCKCHIP_RK3188 || \ 26*312a10f1SAlex Kiernan ROCKCHIP_RK322X 27*312a10f1SAlex Kiernan default 0x800800 if ROCKCHIP_RK3288 || ROCKCHIP_RK3329 || \ 28*312a10f1SAlex Kiernan ROCKCHIP_RK3399 29*312a10f1SAlex Kiernan default 0x280000 if ROCKCHIP_RK3368 30*312a10f1SAlex Kiernan default 0x100000 if ARCH_ZYNQMP 31*312a10f1SAlex Kiernan help 32*312a10f1SAlex Kiernan The fastboot protocol requires a large memory buffer for 33*312a10f1SAlex Kiernan downloads. Define this to the starting RAM address to use for 34*312a10f1SAlex Kiernan downloaded images. 35*312a10f1SAlex Kiernan 36*312a10f1SAlex Kiernanconfig FASTBOOT_BUF_SIZE 37*312a10f1SAlex Kiernan hex "Define FASTBOOT buffer size" 38*312a10f1SAlex Kiernan default 0x8000000 if ARCH_ROCKCHIP 39*312a10f1SAlex Kiernan default 0x6000000 if ARCH_ZYNQMP 40*312a10f1SAlex Kiernan default 0x2000000 if ARCH_SUNXI 41*312a10f1SAlex Kiernan default 0x7000000 42*312a10f1SAlex Kiernan help 43*312a10f1SAlex Kiernan The fastboot protocol requires a large memory buffer for 44*312a10f1SAlex Kiernan downloads. This buffer should be as large as possible for a 45*312a10f1SAlex Kiernan platform. Define this to the size available RAM for fastboot. 46*312a10f1SAlex Kiernan 47*312a10f1SAlex Kiernanconfig FASTBOOT_USB_DEV 48*312a10f1SAlex Kiernan int "USB controller number" 49*312a10f1SAlex Kiernan depends on USB_FUNCTION_FASTBOOT 50*312a10f1SAlex Kiernan default 0 51*312a10f1SAlex Kiernan help 52*312a10f1SAlex Kiernan Some boards have USB OTG controller other than 0. Define this 53*312a10f1SAlex Kiernan option so it can be used in compiled environment (e.g. in 54*312a10f1SAlex Kiernan CONFIG_BOOTCOMMAND). 55*312a10f1SAlex Kiernan 56*312a10f1SAlex Kiernanconfig FASTBOOT_FLASH 57*312a10f1SAlex Kiernan bool "Enable FASTBOOT FLASH command" 58*312a10f1SAlex Kiernan default y if ARCH_SUNXI 59*312a10f1SAlex Kiernan help 60*312a10f1SAlex Kiernan The fastboot protocol includes a "flash" command for writing 61*312a10f1SAlex Kiernan the downloaded image to a non-volatile storage device. Define 62*312a10f1SAlex Kiernan this to enable the "fastboot flash" command. 63*312a10f1SAlex Kiernan 64*312a10f1SAlex Kiernanchoice 65*312a10f1SAlex Kiernan prompt "Flash provider for FASTBOOT" 66*312a10f1SAlex Kiernan depends on FASTBOOT_FLASH 67*312a10f1SAlex Kiernan 68*312a10f1SAlex Kiernanconfig FASTBOOT_FLASH_MMC 69*312a10f1SAlex Kiernan bool "FASTBOOT on MMC" 70*312a10f1SAlex Kiernan depends on MMC 71*312a10f1SAlex Kiernan 72*312a10f1SAlex Kiernanconfig FASTBOOT_FLASH_NAND 73*312a10f1SAlex Kiernan bool "FASTBOOT on NAND" 74*312a10f1SAlex Kiernan depends on NAND 75*312a10f1SAlex Kiernan 76*312a10f1SAlex Kiernanendchoice 77*312a10f1SAlex Kiernan 78*312a10f1SAlex Kiernanconfig FASTBOOT_FLASH_MMC_DEV 79*312a10f1SAlex Kiernan int "Define FASTBOOT MMC FLASH default device" 80*312a10f1SAlex Kiernan depends on FASTBOOT_FLASH_MMC 81*312a10f1SAlex Kiernan default 0 if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1 82*312a10f1SAlex Kiernan default 1 if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1 83*312a10f1SAlex Kiernan help 84*312a10f1SAlex Kiernan The fastboot "flash" command requires additional information 85*312a10f1SAlex Kiernan regarding the non-volatile storage device. Define this to 86*312a10f1SAlex Kiernan the eMMC device that fastboot should use to store the image. 87*312a10f1SAlex Kiernan 88*312a10f1SAlex Kiernanconfig FASTBOOT_FLASH_NAND_DEV 89*312a10f1SAlex Kiernan int "Define FASTBOOT NAND FLASH default device" 90*312a10f1SAlex Kiernan depends on FASTBOOT_FLASH_NAND 91*312a10f1SAlex Kiernan depends on CMD_MTDPARTS 92*312a10f1SAlex Kiernan default 0 if ARCH_SUNXI && NAND_SUNXI 93*312a10f1SAlex Kiernan help 94*312a10f1SAlex Kiernan The fastboot "flash" command requires additional information 95*312a10f1SAlex Kiernan regarding the non-volatile storage device. Define this to 96*312a10f1SAlex Kiernan the NAND device that fastboot should use to store the image. 97*312a10f1SAlex Kiernan 98*312a10f1SAlex Kiernanconfig FASTBOOT_GPT_NAME 99*312a10f1SAlex Kiernan string "Target name for updating GPT" 100*312a10f1SAlex Kiernan depends on FASTBOOT_FLASH 101*312a10f1SAlex Kiernan default "gpt" 102*312a10f1SAlex Kiernan help 103*312a10f1SAlex Kiernan The fastboot "flash" command supports writing the downloaded 104*312a10f1SAlex Kiernan image to the Protective MBR and the Primary GUID Partition 105*312a10f1SAlex Kiernan Table. (Additionally, this downloaded image is post-processed 106*312a10f1SAlex Kiernan to generate and write the Backup GUID Partition Table.) 107*312a10f1SAlex Kiernan This occurs when the specified "partition name" on the 108*312a10f1SAlex Kiernan "fastboot flash" command line matches the value defined here. 109*312a10f1SAlex Kiernan The default target name for updating GPT is "gpt". 110*312a10f1SAlex Kiernan 111*312a10f1SAlex Kiernanconfig FASTBOOT_MBR_NAME 112*312a10f1SAlex Kiernan string "Target name for updating MBR" 113*312a10f1SAlex Kiernan depends on FASTBOOT_FLASH 114*312a10f1SAlex Kiernan default "mbr" 115*312a10f1SAlex Kiernan help 116*312a10f1SAlex Kiernan The fastboot "flash" command allows to write the downloaded image 117*312a10f1SAlex Kiernan to the Master Boot Record. This occurs when the "partition name" 118*312a10f1SAlex Kiernan specified on the "fastboot flash" command line matches the value 119*312a10f1SAlex Kiernan defined here. The default target name for updating MBR is "mbr". 120*312a10f1SAlex Kiernan 121*312a10f1SAlex Kiernanendif # FASTBOOT 122*312a10f1SAlex Kiernan 123*312a10f1SAlex Kiernanendmenu 124