[U-Boot] [PATCH 2/4] usb: Fastboot function config for better consistency with other functions

Lukasz Majewski
2015-05-18T13:02:20Z

Hi Paul,

> USB download gadget functions such as thor and dfu have a separate
> config option for the USB gadget part of the code, independent from
> the command part. This switches the fastboot USB gadget to the same
> scheme, for better consistency.
>
> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> ---
> README | 3 +++
> arch/arm/cpu/armv7/omap-common/boot-common.c | 2 +-
> doc/README.android-fastboot | 4 ++--
> drivers/usb/gadget/Makefile | 2 +-
> include/configs/am335x_evm.h | 1 +
> include/configs/bav335x.h | 1 +
> include/configs/dra7xx_evm.h | 1 +
> include/configs/nitrogen6x.h | 1 +
> include/configs/omap3_beagle.h | 1 +
> 9 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/README b/README
> index ba3fa49..470210a 100644
> --- a/README
> +++ b/README
> @@ -1717,6 +1717,9 @@ The following options need to be configured:
> sending again an USB request to the device.
>
> - USB Device Android Fastboot support:
> + CONFIG_USB_FUNCTION_FASTBOOT
> + This enables the USB part of the fastboot gadget
> +
> CONFIG_CMD_FASTBOOT
> This enables the command "fastboot" which enables
> the Android fastboot mode for the platform's USB device. Fastboot is
> a USB diff --git a/arch/arm/cpu/armv7/omap-common/boot-common.c
> b/arch/arm/cpu/armv7/omap-common/boot-common.c index bbc6bed..7fc0a56
> 100644 --- a/arch/arm/cpu/armv7/omap-common/boot-common.c
> +++ b/arch/arm/cpu/armv7/omap-common/boot-common.c
> @@ -163,7 +163,7 @@ void arch_preboot_os(void)
> }
> #endif
>
> -#if defined(CONFIG_CMD_FASTBOOT) && !defined(CONFIG_ENV_IS_NOWHERE)
> +#if defined(CONFIG_USB_FUNCTION_FASTBOOT)
> && !defined(CONFIG_ENV_IS_NOWHERE) int fb_set_reboot_flag(void)
> {
> printf("Setting reboot to fastboot flag ...\n");
> diff --git a/doc/README.android-fastboot b/doc/README.android-fastboot
> index c2a2418..92f2897 100644
> --- a/doc/README.android-fastboot
> +++ b/doc/README.android-fastboot
> @@ -42,8 +42,8 @@ NOTE: The CONFIG_G_DNL_VENDOR_NUM must be one of
> the numbers supported by the fastboot client. The list of vendor IDs
> supported can be found in the fastboot client source code
> (fastboot.c) mentioned above.
> -The fastboot function is enabled by defining CONFIG_CMD_FASTBOOT and
> -CONFIG_ANDROID_BOOT_IMAGE.
> +The fastboot function is enabled by defining
> CONFIG_USB_FUNCTION_FASTBOOT, +CONFIG_CMD_FASTBOOT and
> CONFIG_ANDROID_BOOT_IMAGE.
> The fastboot protocol requires a large memory buffer for downloads.
> This buffer should be as large as possible for a platform. The
> location of the diff --git a/drivers/usb/gadget/Makefile
> b/drivers/usb/gadget/Makefile index 46d7d94..4e15323 100644
> --- a/drivers/usb/gadget/Makefile
> +++ b/drivers/usb/gadget/Makefile
> @@ -19,7 +19,7 @@ obj-$(CONFIG_USB_GADGET_DOWNLOAD) += g_dnl.o
> obj-$(CONFIG_USB_FUNCTION_THOR) += f_thor.o
> obj-$(CONFIG_USB_FUNCTION_DFU) += f_dfu.o
> obj-$(CONFIG_USB_FUNCTION_MASS_STORAGE) += f_mass_storage.o
> -obj-$(CONFIG_CMD_FASTBOOT) += f_fastboot.o
> +obj-$(CONFIG_USB_FUNCTION_FASTBOOT) += f_fastboot.o
> endif
> ifdef CONFIG_USB_ETHER
> obj-y += ether.o
> diff --git a/include/configs/am335x_evm.h
> b/include/configs/am335x_evm.h index b94e4b5..8aa3fd7 100644
> --- a/include/configs/am335x_evm.h
> +++ b/include/configs/am335x_evm.h
> @@ -298,6 +298,7 @@
>
> #ifndef CONFIG_SPL_USBETH_SUPPORT
> /* Fastboot */
> +#define CONFIG_USB_FUNCTION_FASTBOOT
> #define CONFIG_CMD_FASTBOOT
> #define CONFIG_ANDROID_BOOT_IMAGE
> #define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
> diff --git a/include/configs/bav335x.h b/include/configs/bav335x.h
> index 7ce568b..99e3a00 100644
> --- a/include/configs/bav335x.h
> +++ b/include/configs/bav335x.h
> @@ -455,6 +455,7 @@ DEFAULT_LINUX_BOOT_ENV \
>
> #ifndef CONFIG_SPL_USBETH_SUPPORT
> /* Fastboot */
> +#define CONFIG_USB_FUNCTION_FASTBOOT
> #define CONFIG_CMD_FASTBOOT
> #define CONFIG_ANDROID_BOOT_IMAGE
> #define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
> diff --git a/include/configs/dra7xx_evm.h
> b/include/configs/dra7xx_evm.h index c5ce741..0826235 100644
> --- a/include/configs/dra7xx_evm.h
> +++ b/include/configs/dra7xx_evm.h
> @@ -85,6 +85,7 @@
> DFU_ALT_INFO_RAM
>
> /* Fastboot */
> +#define CONFIG_USB_FUNCTION_FASTBOOT
> #define CONFIG_CMD_FASTBOOT
> #define CONFIG_ANDROID_BOOT_IMAGE
> #define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
> diff --git a/include/configs/nitrogen6x.h
> b/include/configs/nitrogen6x.h index 53ee997..3ba7476 100644
> --- a/include/configs/nitrogen6x.h
> +++ b/include/configs/nitrogen6x.h
> @@ -416,6 +416,7 @@
> #define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5
> #define CONFIG_G_DNL_MANUFACTURER "Boundary"
>
> +#define CONFIG_USB_FUNCTION_FASTBOOT
> #define CONFIG_CMD_FASTBOOT
> #define CONFIG_ANDROID_BOOT_IMAGE
> #define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
> diff --git a/include/configs/omap3_beagle.h
> b/include/configs/omap3_beagle.h index 1e7a158..293a2d7 100644
> --- a/include/configs/omap3_beagle.h
> +++ b/include/configs/omap3_beagle.h
> @@ -72,6 +72,7 @@
> #define CONFIG_G_DNL_VENDOR_NUM 0x0451
> #define CONFIG_G_DNL_PRODUCT_NUM 0xd022
> #define CONFIG_G_DNL_MANUFACTURER "TI"
> +#define CONFIG_USB_FUNCTION_FASTBOOT
> #define CONFIG_CMD_FASTBOOT
> #define CONFIG_ANDROID_BOOT_IMAGE
> #define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR

Acked-by: Lukasz Majewski <l.majewski@samsung.com>

I will test this patch on my devices and then pull it to u-boot-dfu
tree.

Thanks for your work!

--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group