[U-Boot] [PATCH 1/2] fastboot: implement Kconfig

Steve Rae steve.rae at raedomain.com
Tue Aug 16 02:26:26 CEST 2016


implement Kconfig for the 'fastboot' feature set

Signed-off-by: Steve Rae <steve.rae at raedomain.com>
---
It did not seem feasible to use the "moveconfig.py" tool -- mostly because
some of these configurations use defines rather than actual values...
In addition, implemented "config FASTBOOT" enable/disable for this entire
Kconfig capability, so that the existing "include/configs/*.h" capability
would not conflict....

 cmd/Kconfig                |  2 ++
 cmd/fastboot/Kconfig       | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 drivers/usb/gadget/Kconfig |  5 ++++
 3 files changed, 67 insertions(+)
 create mode 100644 cmd/fastboot/Kconfig

diff --git a/cmd/Kconfig b/cmd/Kconfig
index d69b817..308a0c8 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -114,6 +114,8 @@ config AUTOBOOT_STOP_STR_SHA256
 
 endmenu
 
+source "cmd/fastboot/Kconfig"
+
 comment "Commands"
 
 menu "Info commands"
diff --git a/cmd/fastboot/Kconfig b/cmd/fastboot/Kconfig
new file mode 100644
index 0000000..a93d1c0
--- /dev/null
+++ b/cmd/fastboot/Kconfig
@@ -0,0 +1,60 @@
+comment "FASTBOOT"
+
+config FASTBOOT
+	bool ""
+
+menu "Fastboot support"
+	depends on FASTBOOT
+
+config USB_FUNCTION_FASTBOOT
+	bool "Enable USB fastboot gadget"
+	help
+	  This enables the USB part of the fastboot gadget.
+
+config CMD_FASTBOOT
+	bool "Enable FASTBOOT command"
+	help
+	  This enables the command "fastboot" which enables the Android
+	  fastboot mode for the platform's USB device. Fastboot is a USB
+	  protocol for downloading images, flashing and device control
+	  used on Android devices.
+
+config ANDROID_BOOT_IMAGE
+	bool "Enable support for Android Boot Images"
+	help
+	  This enables support for booting images which use the Android
+	  image format header.
+
+if USB_FUNCTION_FASTBOOT
+
+config FASTBOOT_BUF_ADDR
+	hex "Define FASTBOOT buffer address"
+	help
+	  The fastboot protocol requires a large memory buffer for
+	  downloads. Define this to the starting RAM address to use for
+	  downloaded images.
+
+config FASTBOOT_BUF_SIZE
+	hex "Define FASTBOOT buffer size"
+	help
+	  The fastboot protocol requires a large memory buffer for
+	  downloads. This buffer should be as large as possible for a
+	  platform. Define this to the size available RAM for fastboot.
+
+config FASTBOOT_FLASH
+	bool "Enable FASTBOOT FLASH command"
+	help
+	  The fastboot protocol includes a "flash" command for writing
+	  the downloaded image to a non-volatile storage device. Define
+	  this to enable the "fastboot flash" command.
+
+config FASTBOOT_FLASH_MMC_DEV
+	int "Define FASTBOOT MMC FLASH default device"
+	help
+	  The fastboot "flash" command requires additional information
+	  regarding the non-volatile storage device. Define this to
+	  the eMMC device that fastboot should use to store the image.
+
+endif # USB_FUNCTION_FASTBOOT
+
+endmenu
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index ae62476..40839d8 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -43,6 +43,11 @@ config USB_GADGET_ATMEL_USBA
 	  USBA is the integrated high-speed USB Device controller on
 	  the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel.
 
+config USB_GADGET_BCM_UDC_OTG_PHY
+	bool "Broadcom UDC OTG PHY"
+	help
+	  Enable the Broadcom UDC OTG physical device interface.
+
 config USB_GADGET_DWC2_OTG
 	bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
 	select USB_GADGET_DUALSPEED
-- 
1.8.5



More information about the U-Boot mailing list