xref: /rk3399_rockchip-uboot/cmd/fastboot/Kconfig (revision 5821df21ae36d9ef252d346a5abb76be773c5d69)
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
85endif # USB_FUNCTION_FASTBOOT || UDP_FUNCTION_FASTBOOT
86
87endif # FASTBOOT
88