]> Git Repo - J-u-boot.git/blobdiff - drivers/usb/gadget/Kconfig
Merge tag 'v2023.10-rc4' into next
[J-u-boot.git] / drivers / usb / gadget / Kconfig
index d81a9c5a100d148c488ac49e24c76be87c2eb008..4eccc5e3370e12526654372866b1e3a00551ea81 100644 (file)
@@ -36,10 +36,17 @@ menuconfig USB_GADGET
           peripheral/device side bus controller, and a "gadget driver" for
           your peripheral protocol.
 
+config SPL_USB_GADGET
+       bool "USB Gadget Support in SPL"
+       help
+         Enable USB Gadget API which allows to enable USB device functions
+         in SPL.
+
 if USB_GADGET
 
 config USB_GADGET_MANUFACTURER
        string "Vendor name of the USB device"
+       default "NVIDIA" if ARCH_TEGRA
        default "Allwinner Technology" if ARCH_SUNXI
        default "Rockchip" if ARCH_ROCKCHIP
        default "U-Boot"
@@ -49,6 +56,7 @@ config USB_GADGET_MANUFACTURER
 
 config USB_GADGET_VENDOR_NUM
        hex "Vendor ID of the USB device"
+       default 0x0955 if ARCH_TEGRA
        default 0x1f3a if ARCH_SUNXI
        default 0x2207 if ARCH_ROCKCHIP
        default 0x0
@@ -59,8 +67,10 @@ config USB_GADGET_VENDOR_NUM
 
 config USB_GADGET_PRODUCT_NUM
        hex "Product ID of the USB device"
+       default 0x701a if ARCH_TEGRA
        default 0x1010 if ARCH_SUNXI
        default 0x310a if ROCKCHIP_RK3036
+       default 0x300a if ROCKCHIP_RK3066
        default 0x310c if ROCKCHIP_RK3128
        default 0x320a if ROCKCHIP_RK3229 || ROCKCHIP_RK3288
        default 0x330a if ROCKCHIP_RK3328
@@ -81,6 +91,10 @@ config USB_GADGET_BCM_UDC_OTG_PHY
        help
          Enable the Broadcom UDC OTG physical device interface.
 
+config USB_GADGET_AT91
+       bool "Atmel AT91 USB Gadget Controller"
+       depends on ARCH_AT91
+
 config USB_GADGET_DWC2_OTG
        bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
        select USB_GADGET_DUALSPEED
@@ -92,6 +106,11 @@ config USB_GADGET_DWC2_OTG
 
 if USB_GADGET_DWC2_OTG
 
+config USB_GADGET_DWC2_OTG_PHY
+       bool "DesignWare USB2.0 HS OTG PHY"
+       help
+         Enable the DesignWare USB2.0 HS OTG physical device interface.
+
 config USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8
        bool "DesignWare USB2.0 HS OTG controller 8-bit PHY bus width"
        help
@@ -141,7 +160,7 @@ config USB_GADGET_VBUS_DRAW
 
 config SDP_LOADADDR
        hex "Default load address at SDP_WRITE and SDP_JUMP"
-       default 0
+       default 0x0
 
 # Selected by UDC drivers that support high-speed operation.
 config USB_GADGET_DUALSPEED
@@ -235,7 +254,7 @@ config USB_ETH_RNDIS
 
 endchoice
 
-config USBNET_DEVADDR
+config USBNET_DEV_ADDR
        string "USB Gadget Ethernet device mac address"
        default "de:ad:be:ef:00:01"
        help
@@ -252,3 +271,85 @@ config USBNET_HOST_ADDR
 endif # USB_ETHER
 
 endif # USB_GADGET
+
+if SPL_USB_GADGET
+
+config SPL_USB_ETHER
+       bool "Support USB Ethernet drivers in SPL"
+       depends on SPL_NET
+       help
+         Enable access to the USB network subsystem and associated
+         drivers in SPL. This permits SPL to load U-Boot over a
+         USB-connected Ethernet link (such as a USB Ethernet dongle) rather
+         than from an onboard peripheral. Environment support is required
+         since the network stack uses a number of environment variables.
+         See also SPL_NET and SPL_ETH.
+
+if SPL_USB_ETHER
+
+choice
+       prompt "USB Ethernet Gadget Model in SPL"
+       default SPL_USB_ETH_RNDIS
+       help
+         There is several models (protocols) to implement Ethernet over USB
+         devices. The main ones are Microsoft's RNDIS and USB's CDC-Ethernet
+         (also called CDC-ECM). RNDIS is obviously compatible with Windows,
+         while CDC-ECM is not. Most other operating systems support both, so
+         if inter-operability is a concern, RNDIS is to be preferred.
+
+config SPL_USB_ETH_RNDIS
+       bool "RNDIS Protocol"
+       help
+         The RNDIS (Remote Network Driver Interface Specification) is a
+         Microsoft proprietary protocol to create an Ethernet device over USB.
+         Windows obviously supports it, as well as all the major operating
+         systems, so it's the best option for compatibility.
+
+endchoice
+
+endif # SPL_USB_ETHER
+
+config SPL_DFU
+       bool "Support DFU (Device Firmware Upgrade) in SPL"
+       select SPL_HASH
+       select SPL_DFU_NO_RESET
+       depends on SPL_RAM_SUPPORT
+       help
+         This feature enables the DFU (Device Firmware Upgrade) in SPL with
+         RAM memory device support. The ROM code will load and execute
+         the SPL built with dfu. The user can load binaries (u-boot/kernel) to
+         selected device partition from host-pc using dfu-utils.
+         This feature is useful to flash the binaries to factory or bare-metal
+         boards using USB interface.
+
+choice
+       bool "DFU device selection in SPL"
+       depends on SPL_DFU
+
+config SPL_DFU_RAM
+       bool "RAM device"
+       depends on SPL_DFU && SPL_RAM_SUPPORT
+       help
+        select RAM/DDR memory device for loading binary images
+        (u-boot/kernel) to the selected device partition using
+        DFU and execute the u-boot/kernel from RAM.
+
+endchoice
+
+config SPL_USB_SDP_SUPPORT
+       bool "Support SDP (Serial Download Protocol) in SPL"
+       depends on SPL_SERIAL
+       help
+         Enable Serial Download Protocol (SDP) device support in SPL. This
+         allows to download images into memory and execute (jump to) them
+         using the same protocol as implemented by the i.MX family's boot ROM.
+
+config SPL_SDP_USB_DEV
+       int "SDP USB controller index in SPL"
+       default 0
+       depends on SPL_USB_SDP_SUPPORT
+       help
+         Some boards have USB controller other than 0. Define this option
+         so it can be used in compiled environment.
+
+endif # SPL_USB_GADGET
This page took 0.025835 seconds and 4 git commands to generate.