# SPDX-License-Identifier: GPL-2.0-only

if USB_GADGET

config USB_SUNXI_CONFIGFS_F_HID
	tristate "Allwinner HID function"
        depends on USB_SUNXI_GADGET
	depends on USB_CONFIGFS
	select USB_F_HID
	help
	  The HID function driver provides generic emulation of USB
	  Human Interface Devices (HID).

	  For more information, see Documentation/usb/gadget_hid.rst.

config USB_SUNXI_F_UVC
	tristate

config USB_SUNXI_CONFIGFS_F_UVC
	tristate "Allwinner USB Webcam function"
	depends on USB_SUNXI_GADGET
	depends on USB_CONFIGFS
	depends on VIDEO_V4L2
	depends on VIDEO_DEV
	select VIDEOBUF2_VMALLOC
	select USB_SUNXI_F_UVC
	help
	  The Webcam function acts as a composite USB Audio and Video Class
	  device. It provides a userspace API to process UVC control requests
	  and stream video data to the host.

config USB_SUNXI_F_UAC1
	tristate

config USB_SUNXI_CONFIGFS_F_UAC1
	tristate "Allwinner Audio Class 1.0"
	depends on USB_SUNXI_GADGET
	depends on USB_CONFIGFS
	depends on SND
	select USB_LIBCOMPOSITE
	select SND_PCM
	select USB_SUNXI_F_UAC1
	help
	  This Audio function implements 1 AudioControl interface,
	  1 AudioStreaming Interface each for USB-OUT and USB-IN.
	  This driver doesn't expect any real Audio codec to be present
	  on the device - the audio streams are simply sinked to and
	  sourced from a virtual ALSA sound card created. The user-space
	  application may choose to do whatever it wants with the data
	  received from the USB Host and choose to provide whatever it
	  wants as audio data to the USB Host.

endif # USB_GADGET
