xref: /OK3568_Linux_fs/u-boot/cmd/fastboot/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1comment "FASTBOOT"
2
3menuconfig FASTBOOT
4	bool "Fastboot support"
5	depends on USB_GADGET
6
7if FASTBOOT
8
9config USB_FUNCTION_FASTBOOT
10	bool "Enable USB fastboot gadget"
11	help
12	  This enables the USB part of the fastboot gadget.
13
14config UDP_FUNCTION_FASTBOOT
15	select NET
16	bool "Enable fastboot protocol over UDP"
17	help
18	  This enables the fastboot protocol over UDP.
19
20config CMD_FASTBOOT
21	bool "Enable FASTBOOT command"
22	depends on USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT
23	help
24	  This enables the command "fastboot" which enables the Android
25	  fastboot mode for the platform. Fastboot is a protocol for
26	  downloading images, flashing and device control used on
27	  Android devices. Fastboot requires either network stack
28	  enabled or support for acting as a USB device.
29
30	  See doc/README.android-fastboot for more information.
31
32if USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT
33
34config FASTBOOT_BUF_ADDR
35	hex "Define FASTBOOT buffer address"
36	default 0x82000000 if MX6SX || MX6SL || MX6UL || MX6SLL
37	default 0x81000000 if ARCH_OMAP2PLUS
38	default 0x42000000 if ARCH_SUNXI && !MACH_SUN9I
39	default 0x22000000 if ARCH_SUNXI && MACH_SUN9I
40	default 0x60800800 if ROCKCHIP_RK3036 || ROCKCHIP_RK3066 || \
41				ROCKCHIP_RK3188 || ROCKCHIP_RK322X
42	default 0x800800 if ROCKCHIP_RK3288 || ROCKCHIP_RK3329 || \
43				ROCKCHIP_RK3399
44	default 0x280000 if ROCKCHIP_RK3368
45	default 0x100000 if ARCH_ZYNQMP
46	help
47	  The fastboot protocol requires a large memory buffer for
48	  downloads. Define this to the starting RAM address to use for
49	  downloaded images.
50
51config FASTBOOT_BUF_SIZE
52	hex "Define FASTBOOT buffer size"
53	default 0x8000000 if ARCH_ROCKCHIP
54	default 0x6000000 if ARCH_ZYNQMP
55	default 0x2000000 if ARCH_SUNXI
56	default 0x7000000
57	help
58	  The fastboot protocol requires a large memory buffer for
59	  downloads. This buffer should be as large as possible for a
60	  platform. Define this to the size available RAM for fastboot.
61
62config FASTBOOT_USB_DEV
63	int "USB controller number"
64	default 0
65	help
66	  Some boards have USB OTG controller other than 0. Define this
67	  option so it can be used in compiled environment (e.g. in
68	  CONFIG_BOOTCOMMAND).
69
70config FASTBOOT_FLASH
71	bool "Enable FASTBOOT FLASH command"
72	help
73	  The fastboot protocol includes a "flash" command for writing
74	  the downloaded image to a non-volatile storage device. Define
75	  this to enable the "fastboot flash" command.
76
77config FASTBOOT_FLASH_MMC_DEV
78	int "Define FASTBOOT MMC FLASH default device"
79	depends on FASTBOOT_FLASH && MMC
80	help
81	  The fastboot "flash" command requires additional information
82	  regarding the non-volatile storage device. Define this to
83	  the eMMC device that fastboot should use to store the image.
84
85config FASTBOOT_OEM_UNLOCK
86	bool "Enable FASTBOOT OEM UNLOCK command"
87	depends on ANDROID_KEYMASTER_CA
88	help
89	  This enables the command "fastboot oem unlock" the fastboot
90	  oem unlock command requires tee security storage to store
91	  unlock status. oem unlock status attach to bootargs on boot.
92
93config RK_AVB_LIBAVB_ENABLE_ATH_UNLOCK
94	bool "AVB Authenticated unlock function"
95	depends on ANDROID_AVB
96	help
97	  Enabled authenticated unlock function can prevent lock state
98	  from invalid unlock cmd.
99
100endif # USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT
101
102endif # FASTBOOT
103