implement Kconfig for the 'fastboot' feature set

Signed-off-by: Steve Rae <steve....@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to