summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2014-07-25 17:16:54 -0600
committerTom Warren <twarren@nvidia.com>2014-08-18 16:57:03 -0700
commit39446bcefafa178e4072bd28c4f8325835d473d2 (patch)
tree415dd3c9a0944913893c155dc3538e49026d69d3
parentdf3443dfa449ad02bef8ddf6e2c90a6fd9394fc9 (diff)
downloadu-boot-imx-39446bcefafa178e4072bd28c4f8325835d473d2.zip
u-boot-imx-39446bcefafa178e4072bd28c4f8325835d473d2.tar.gz
u-boot-imx-39446bcefafa178e4072bd28c4f8325835d473d2.tar.bz2
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 <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
-rw-r--r--include/configs/beaver.h2
-rw-r--r--include/configs/jetson-tk1.h2
-rw-r--r--include/configs/tegra-common-usb-gadget.h (renamed from include/configs/tegra-common-ums.h)19
-rw-r--r--include/configs/venice2.h2
4 files changed, 18 insertions, 7 deletions
diff --git a/include/configs/beaver.h b/include/configs/beaver.h
index ae83112..d8ed717 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 0b9e5b6..d03a66c 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
index 578ca68..287460c 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 c4a1b94..6d4e999 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 */