1# 2# 3# Copyright (c) 2008 Hans Petter Selasky. All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer. 10# 2. Redistributions in binary form must reproduce the above copyright 11# notice, this list of conditions and the following disclaimer in the 12# documentation and/or other materials provided with the distribution. 13# 14# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24# SUCH DAMAGE. 25# 26 27SYSDIR?=${SRCTOP}/sys 28.include "${SYSDIR}/conf/kern.opts.mk" 29 30# 31# Check for common USB debug flags to pass when building the USB 32# modules in this directory: 33# 34.if defined(USB_DEBUG) 35MAKE+=" DEBUG_FLAGS+=-DUSB_DEBUG" 36.endif 37 38.if defined(USB_DEBUG) && defined(USB_REQ_DEBUG) 39MAKE+=" DEBUG_FLAGS+=-DUSB_REQ_DEBUG" 40.endif 41 42# Modules that include binary-only blobs of microcode should be selectable by 43# MK_SOURCELESS_UCODE option (see below). 44 45SUBDIR = usb 46SUBDIR += ${_dwc_otg} ehci ${_musb} ohci uhci xhci ${_uss820dci} \ 47 ${_atmegadci} ${_avr32dci} ${_rsu} ${_rsufw} ${_bcm2838_xhci} 48SUBDIR += ${_rum} ${_run} ${_runfw} ${_uath} upgt usie ural ${_zyd} ${_urtw} 49SUBDIR += atp cfumass uhid uhid_snes ukbd ums udbp uep wmt wsp ugold uled \ 50 usbhid 51SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \ 52 umct umcs umodem umoscom uplcom uslcom uvisor uvscom 53SUBDIR += i2ctinyusb 54SUBDIR += cp2112 55SUBDIR += udl 56SUBDIR += uether aue axe axge cdce cdceem cue ${_kue} mos rue smsc udav uhso \ 57 ipheth 58SUBDIR += muge 59SUBDIR += ure urndis 60SUBDIR += usfs umass urio 61SUBDIR += ${_uacpi} 62SUBDIR += quirk template 63SUBDIR += ${_g_audio} ${_g_keyboard} ${_g_modem} ${_g_mouse} 64 65.if ${MK_USB_GADGET_EXAMPLES} == "yes" 66_g_audio= g_audio 67_g_keyboard= g_keyboard 68_g_modem= g_modem 69_g_mouse= g_mouse 70.endif 71 72.if ${MK_SOURCELESS_UCODE} != "no" 73_rum= rum 74_uath= uath 75_zyd= zyd 76_kue= kue 77_run= run 78_rsu= rsu 79_rsufw= rsufw 80_runfw= runfw 81.endif 82 83.if ${MACHINE_CPUARCH} == "amd64" 84_urtw= urtw 85.endif 86 87.if ${MACHINE_CPUARCH} == "arm" 88_atmegadci= atmegadci 89_dwc_otg= dwc_otg 90_musb= musb 91_uss820dci= uss820dci 92.endif 93 94.if ${MACHINE_CPUARCH} == "i386" 95_urtw= urtw 96.endif 97 98.if ${MACHINE_CPUARCH} == "avr32" 99_avr32dci= avr32dci 100.endif 101 102.if ${MACHINE_CPUARCH} == "aarch64" 103# The bcm2838_xhci shim is specific to the Raspberry Pi 4 SoC. 104_bcm2838_xhci= bcm2838_xhci 105.endif 106 107.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 108 ${MACHINE_CPUARCH} == "i386" 109_uacpi= uacpi 110.endif 111 112.include <bsd.subdir.mk> 113