From 39446bcefafa178e4072bd28c4f8325835d473d2 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Fri, 25 Jul 2014 17:16:54 -0600 Subject: [PATCH] ARM: tegra: enable DFU too Enable DFU protocol support (via the "dfu" command) on Tegra boards where USB device/gadget mode is enabled. Note that for DFU to operate correctly on Tegra, we still need some DFU fixes/enhancements that are going through the DFU -> USB trees. However, the code builds just fine without those changes, and applying this patch now will allow both sets of patches to meet in the main U-Boot tree much more quickly. In order to run test/dfu/dfu_gadget_test.sh, you would need to add the following to the board configuration: CONFIG_EXT4_WRITE CONFIG_CMD_EXT4_WRITE However, I haven't enabled those here, since I believe the main use-case for DFU on Tegra is raw flash writing, rather than filesystem access, so we don't need the additional code-size hit. However, I could be persuaded otherwise! We should probably add a separate test script for raw flash access. Signed-off-by: Stephen Warren Acked-by: Simon Glass Signed-off-by: Tom Warren --- include/configs/beaver.h | 2 +- include/configs/jetson-tk1.h | 2 +- ...common-ums.h => tegra-common-usb-gadget.h} | 19 +++++++++++++++---- include/configs/venice2.h | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) rename include/configs/{tegra-common-ums.h => tegra-common-usb-gadget.h} (57%) diff --git a/include/configs/beaver.h b/include/configs/beaver.h index ae83112798..d8ed717f5a 100644 --- a/include/configs/beaver.h +++ b/include/configs/beaver.h @@ -88,7 +88,7 @@ #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP -#include "tegra-common-ums.h" +#include "tegra-common-usb-gadget.h" #include "tegra-common-post.h" #endif /* __CONFIG_H */ diff --git a/include/configs/jetson-tk1.h b/include/configs/jetson-tk1.h index 0b9e5b699f..d03a66cd22 100644 --- a/include/configs/jetson-tk1.h +++ b/include/configs/jetson-tk1.h @@ -75,7 +75,7 @@ #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP -#include "tegra-common-ums.h" +#include "tegra-common-usb-gadget.h" #include "tegra-common-post.h" #endif /* __CONFIG_H */ diff --git a/include/configs/tegra-common-ums.h b/include/configs/tegra-common-usb-gadget.h similarity index 57% rename from include/configs/tegra-common-ums.h rename to include/configs/tegra-common-usb-gadget.h index 578ca68b57..287460c132 100644 --- a/include/configs/tegra-common-ums.h +++ b/include/configs/tegra-common-usb-gadget.h @@ -5,11 +5,11 @@ * SPDX-License-Identifier: GPL-2.0 */ -#ifndef _TEGRA_COMMON_UMS_H_ -#define _TEGRA_COMMON_UMS_H_ +#ifndef _TEGRA_COMMON_USB_GADGET_H_ +#define _TEGRA_COMMON_USB_GADGET_H_ #ifndef CONFIG_SPL_BUILD -/* USB gadget, and mass storage protocol */ +/* USB gadget mode support*/ #define CONFIG_USB_GADGET #define CONFIG_USB_GADGET_VBUS_DRAW 2 #define CONFIG_CI_UDC @@ -19,8 +19,19 @@ #define CONFIG_G_DNL_PRODUCT_NUM 0x701A #define CONFIG_G_DNL_MANUFACTURER "NVIDIA" #define CONFIG_USBDOWNLOAD_GADGET +/* USB mass storage protocol */ #define CONFIG_USB_GADGET_MASS_STORAGE #define CONFIG_CMD_USB_MASS_STORAGE +/* DFU protocol */ +#define CONFIG_DFU_FUNCTION +#define CONFIG_SYS_DFU_DATA_BUF_SIZE (1 * 1024 * 1024) +#define CONFIG_CMD_DFU +#ifdef CONFIG_MMC +#define CONFIG_DFU_MMC +#endif +#ifdef CONFIG_SPI_FLASH +#define CONFIG_DFU_SF +#endif #endif -#endif /* _TEGRA_COMMON_UMS_H */ +#endif /* _TEGRA_COMMON_USB_GADGET_H_ */ diff --git a/include/configs/venice2.h b/include/configs/venice2.h index c4a1b94b98..6d4e9991a1 100644 --- a/include/configs/venice2.h +++ b/include/configs/venice2.h @@ -75,7 +75,7 @@ #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP -#include "tegra-common-ums.h" +#include "tegra-common-usb-gadget.h" #include "tegra-common-post.h" #endif /* __CONFIG_H */ -- 2.39.5