1902136e0SBjoern A. ZeebDEVDIR= ${SRCTOP}/sys/contrib/dev/broadcom/brcm80211/brcmfmac 2902136e0SBjoern A. Zeeb 3902136e0SBjoern A. Zeeb.PATH: ${DEVDIR} 4902136e0SBjoern A. Zeeb 5902136e0SBjoern A. Zeeb# Should split this up into a core driver and 3 more 6*98c44ccbSBjoern A. ZeebWITH_PCI=1 7902136e0SBjoern A. ZeebWITH_SDIO=0 8902136e0SBjoern A. ZeebWITH_USB=0 9902136e0SBjoern A. Zeeb 10902136e0SBjoern A. ZeebWITH_DMI=0 11902136e0SBjoern A. ZeebWITH_OF=0 12902136e0SBjoern A. ZeebWITH_DEBUG=1 13902136e0SBjoern A. ZeebWITH_TRACING=0 # ftrace probes; simple enough to change possibly; keep 0! 14902136e0SBjoern A. Zeeb 15902136e0SBjoern A. ZeebKMOD= if_brcmfmac 16902136e0SBjoern A. Zeeb 17902136e0SBjoern A. ZeebSRCS= core.c 18902136e0SBjoern A. ZeebSRCS+= btcoex.c cfg80211.c chip.c common.c feature.c firmware.c 19902136e0SBjoern A. ZeebSRCS+= fweh.c fwil.c fwvid.c p2p.c pno.c proto.c vendor.c xtlv.c 20902136e0SBjoern A. Zeeb 21902136e0SBjoern A. ZeebSRCS+= wcc/core.c cyw/core.c bca/core.c 22902136e0SBjoern A. Zeeb 23*98c44ccbSBjoern A. Zeeb# PCI parts; PCI needs to be compiled into the kernel and cannot be loaded. 24*98c44ccbSBjoern A. Zeeb.if defined(WITH_PCI) && ${WITH_PCI} > 0 && ${KERN_OPTS:MDEV_PCI} 25902136e0SBjoern A. ZeebSRCS+= pcie.c msgbuf.c commonring.c flowring.c 26*98c44ccbSBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMFMAC_PCIE=1 27902136e0SBjoern A. Zeeb.endif 28902136e0SBjoern A. Zeeb 29*98c44ccbSBjoern A. Zeeb# SDIO parts; SDIO depends on an MMCCAM kernel. 30*98c44ccbSBjoern A. Zeeb.if defined(WITH_SDIO) && ${WITH_SDIO} > 0 && ${KERN_OPTS:MMMCCAM} 31902136e0SBjoern A. ZeebSRCS+= sdio.c bcmsdh.c 32902136e0SBjoern A. ZeebSRCS+= sdio_if.h 33902136e0SBjoern A. ZeebSRCS+= sdiodevs.h 34*98c44ccbSBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMFMAC_SDIO=1 35902136e0SBjoern A. Zeeb.endif 36902136e0SBjoern A. Zeeb 37*98c44ccbSBjoern A. Zeeb# USB parts; USB can be loaded and is unconditional on any kernel config. 38902136e0SBjoern A. Zeeb.if defined(WITH_USB) && ${WITH_USB} > 0 39902136e0SBjoern A. ZeebSRCS+= usb.c 40*98c44ccbSBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMFMAC_USB=1 41902136e0SBjoern A. Zeeb.endif 42902136e0SBjoern A. Zeeb 43902136e0SBjoern A. Zeeb.if (defined(WITH_SDIO) && ${WITH_SDIO} > 0) || \ 44902136e0SBjoern A. Zeeb (defined(WITH_USB) && ${WITH_USB} > 0) 45902136e0SBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMFMAC_PROTO_BCDC=1 46902136e0SBjoern A. ZeebSRCS+= bcdc.c fwsignal.c 47902136e0SBjoern A. Zeeb.endif 48902136e0SBjoern A. Zeeb 49902136e0SBjoern A. Zeeb.if defined(WITH_DMI) && ${WITH_DMI} > 0 50902136e0SBjoern A. ZeebSRCS+= dmi.c 51902136e0SBjoern A. Zeeb.endif 52902136e0SBjoern A. Zeeb 53902136e0SBjoern A. Zeeb.if defined(WITH_OF) && ${WITH_OF} > 0 54902136e0SBjoern A. ZeebSRCS+= of.c 55902136e0SBjoern A. Zeeb.endif 56902136e0SBjoern A. Zeeb 57902136e0SBjoern A. Zeeb.if defined(WITH_DEBUG) && ${WITH_DEBUG} > 0 58902136e0SBjoern A. ZeebCFLAGS+= -DDEBUG=${WITH_DEBUG} 59902136e0SBjoern A. ZeebSRCS+= debug.c 60902136e0SBjoern A. Zeeb.endif 61902136e0SBjoern A. Zeeb 62902136e0SBjoern A. Zeeb.if defined(WITH_TRACING) && ${WITH_TRACING} > 0 63902136e0SBjoern A. ZeebSRCS+= tracepoint.c 64902136e0SBjoern A. Zeeb.endif 65902136e0SBjoern A. Zeeb 66902136e0SBjoern A. Zeeb# Other 67902136e0SBjoern A. ZeebSRCS+= bus_if.h device_if.h pci_if.h vnode_if.h 68902136e0SBjoern A. ZeebSRCS+= ${LINUXKPI_GENSRCS} 69902136e0SBjoern A. ZeebSRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h 70902136e0SBjoern A. Zeeb 71902136e0SBjoern A. ZeebCFLAGS+= -DKBUILD_MODNAME='"brcmfmac"' 72902136e0SBjoern A. ZeebCFLAGS+= -DLINUXKPI_VERSION=61700 73902136e0SBjoern A. Zeeb 74902136e0SBjoern A. ZeebCFLAGS+= -I${DEVDIR} 75902136e0SBjoern A. ZeebCFLAGS+= -I${DEVDIR}/../include 76902136e0SBjoern A. ZeebCFLAGS+= ${LINUXKPI_INCLUDES} 77902136e0SBjoern A. ZeebCFLAGS+= -ferror-limit=0 78902136e0SBjoern A. Zeeb 79902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_BRCM_TRACING=${WITH_TRACING} 80*98c44ccbSBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMFMAC_PROTO_MSGBUF=${WITH_PCI} 81902136e0SBjoern A. ZeebCFLAGS+= -DCONFIG_BRCMDBG=${WITH_DEBUG} 82902136e0SBjoern A. Zeeb 83902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_DMI=${WITH_DMI} 84902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_OF=${WITH_OF} 85902136e0SBjoern A. Zeeb 86902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_PM_SLEEP= 87902136e0SBjoern A. Zeeb 88902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_ACPI=0 89902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_PM 90902136e0SBjoern A. Zeeb#CFLAGS+= -DCONFIG_IPV6=0 91902136e0SBjoern A. Zeeb 92902136e0SBjoern A. Zeeb.include <bsd.kmod.mk> 93