1 *06677ce1SPaolo Bonzinihw_usb_modules = {} 2 *06677ce1SPaolo Bonzini 3 *06677ce1SPaolo Bonzini# usb subsystem core 4 *06677ce1SPaolo Bonzinisoftmmu_ss.add(files( 5 *06677ce1SPaolo Bonzini 'bus.c', 6 *06677ce1SPaolo Bonzini 'combined-packet.c', 7 *06677ce1SPaolo Bonzini 'core.c', 8 *06677ce1SPaolo Bonzini 'libhw.c' 9 *06677ce1SPaolo Bonzini)) 10 *06677ce1SPaolo Bonzini 11 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB', if_true: files( 12 *06677ce1SPaolo Bonzini 'desc.c', 13 *06677ce1SPaolo Bonzini 'desc-msos.c', 14 *06677ce1SPaolo Bonzini)) 15 *06677ce1SPaolo Bonzini 16 *06677ce1SPaolo Bonzini# usb host adapters 17 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_UHCI', if_true: files('hcd-uhci.c')) 18 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_OHCI', if_true: files('hcd-ohci.c')) 19 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_OHCI_PCI', if_true: files('hcd-ohci-pci.c')) 20 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_EHCI', if_true: files('hcd-ehci.c')) 21 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_EHCI_PCI', if_true: files('hcd-ehci-pci.c')) 22 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_EHCI_SYSBUS', if_true: files('hcd-ehci.c', 'hcd-ehci-sysbus.c')) 23 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_XHCI', if_true: files('hcd-xhci.c')) 24 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c')) 25 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_MUSB', if_true: files('hcd-musb.c')) 26 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c')) 27 *06677ce1SPaolo Bonzini 28 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_TUSB6010', if_true: files('tusb6010.c')) 29 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c')) 30 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c')) 31 *06677ce1SPaolo Bonzini 32 *06677ce1SPaolo Bonzini# emulated usb devices 33 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hub.c')) 34 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hid.c')) 35 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_TABLET_WACOM', if_true: files('dev-wacom.c')) 36 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_STORAGE_BOT', if_true: files('dev-storage.c')) 37 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_STORAGE_UAS', if_true: files('dev-uas.c')) 38 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_AUDIO', if_true: files('dev-audio.c')) 39 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_SERIAL', if_true: files('dev-serial.c')) 40 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_NETWORK', if_true: files('dev-network.c')) 41 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: ['CONFIG_POSIX', 'CONFIG_USB_STORAGE_MTP'], if_true: files('dev-mtp.c')) 42 *06677ce1SPaolo Bonzini 43 *06677ce1SPaolo Bonzini# smartcard 44 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reader.c')) 45 *06677ce1SPaolo Bonzini 46 *06677ce1SPaolo Bonziniif config_host.has_key('CONFIG_SMARTCARD') 47 *06677ce1SPaolo Bonzini usbsmartcard_ss = ss.source_set() 48 *06677ce1SPaolo Bonzini usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD', 49 *06677ce1SPaolo Bonzini if_true: [cacard, files('ccid-card-emulated.c', 'ccid-card-passthru.c')]) 50 *06677ce1SPaolo Bonzini hw_usb_modules += {'smartcard': usbsmartcard_ss} 51 *06677ce1SPaolo Bonziniendif 52 *06677ce1SPaolo Bonzini 53 *06677ce1SPaolo Bonzini# usb redirect 54 *06677ce1SPaolo Bonziniif config_host.has_key('CONFIG_USB_REDIR') 55 *06677ce1SPaolo Bonzini usbredir_ss = ss.source_set() 56 *06677ce1SPaolo Bonzini usbredir_ss.add(when: 'CONFIG_USB', 57 *06677ce1SPaolo Bonzini if_true: [usbredir, files('redirect.c', 'quirks.c')]) 58 *06677ce1SPaolo Bonzini hw_usb_modules += {'redirect': usbredir_ss} 59 *06677ce1SPaolo Bonziniendif 60 *06677ce1SPaolo Bonzini 61 *06677ce1SPaolo Bonzini# usb pass-through 62 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_USB_LIBUSB', libusb], 63 *06677ce1SPaolo Bonzini if_true: files('host-libusb.c'), 64 *06677ce1SPaolo Bonzini if_false: files('host-stub.c')) 65 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: 'CONFIG_ALL', if_true: files('host-stub.c')) 66 *06677ce1SPaolo Bonzini 67 *06677ce1SPaolo Bonzinisoftmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN', libusb], if_true: files('xen-usb.c')) 68 *06677ce1SPaolo Bonzini 69 *06677ce1SPaolo Bonzinimodules += { 'hw-usb': hw_usb_modules } 70