config USB
    bool

config USB_UHCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select USB

config USB_OHCI
    bool
    select USB

config USB_OHCI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select USB_OHCI

config USB_EHCI
    bool
    select USB

config USB_EHCI_PCI
    bool
    default y if PCI_DEVICES
    select USB_EHCI

config USB_EHCI_SYSBUS
    bool
    select USB_EHCI

config USB_XHCI
    bool
    select USB

config USB_XHCI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select USB_XHCI

config USB_XHCI_NEC
    bool
    default y if PCI_DEVICES
    select USB_XHCI_PCI

config USB_XHCI_SYSBUS
    bool
    select USB_XHCI

config USB_MUSB
    bool
    select USB

config USB_DWC2
    bool
    select USB

config TUSB6010
    bool
    select USB_MUSB

config USB_TABLET_WACOM
    bool
    default y
    depends on USB

config USB_STORAGE_CORE
    bool
    depends on USB
    select SCSI

config USB_STORAGE_CLASSIC
    bool
    default y
    depends on USB
    select USB_STORAGE_CORE

config USB_STORAGE_BOT
    bool
    default y
    depends on USB
    select USB_STORAGE_CORE

config USB_STORAGE_UAS
    bool
    default y
    depends on USB
    select SCSI

config USB_AUDIO
    bool
    default y
    depends on USB

config USB_SERIAL
    bool
    default y
    depends on USB

config USB_NETWORK
    bool
    default y
    depends on USB

config USB_SMARTCARD
    bool
    default y
    depends on USB

config USB_STORAGE_MTP
    bool
    default y
    depends on USB

config USB_U2F
    bool
    default y
    depends on USB

config USB_CANOKEY
    bool
    default y
    depends on USB

config IMX_USBPHY
    bool
    default y
    depends on USB

config USB_DWC3
    bool
    select USB_XHCI_SYSBUS
    select REGISTER

config XLNX_USB_SUBSYS
    bool
    select USB_DWC3
