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>
This commit is contained in:
Stephen Warren 2014-07-25 17:16:54 -06:00 committed by Tom Warren
parent df3443dfa4
commit 39446bcefa
4 changed files with 18 additions and 7 deletions

View File

@ -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 */

View File

@ -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 */

View File

@ -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_ */

View File

@ -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 */