Makefile revision 248259
1178825Sdfr# 2233294Sstas# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting 3233294Sstas# All rights reserved. 4233294Sstas# 5178825Sdfr# Redistribution and use in source and binary forms, with or without 6233294Sstas# modification, are permitted provided that the following conditions 7233294Sstas# are met: 8233294Sstas# 1. Redistributions of source code must retain the above copyright 9178825Sdfr# notice, this list of conditions and the following disclaimer, 10233294Sstas# without modification. 11233294Sstas# 2. Redistributions in binary form must reproduce at minimum a disclaimer 12178825Sdfr# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13233294Sstas# redistribution must be conditioned upon including a substantially 14233294Sstas# similar Disclaimer requirement for further binary redistribution. 15233294Sstas# 16178825Sdfr# NO WARRANTY 17178825Sdfr# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18178825Sdfr# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19178825Sdfr# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20178825Sdfr# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21178825Sdfr# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22178825Sdfr# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23178825Sdfr# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24178825Sdfr# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25178825Sdfr# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26178825Sdfr# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27178825Sdfr# THE POSSIBILITY OF SUCH DAMAGES. 28178825Sdfr# 29178825Sdfr# $FreeBSD: head/sys/modules/ath/Makefile 248259 2013-03-14 00:27:53Z adrian $ 30178825Sdfr# 31178825Sdfr 32178825SdfrATH_RATE?= sample # tx rate control algorithm 33178825Sdfr 34178825Sdfr.PATH: ${.CURDIR}/../../dev/ath 35178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal 36178825Sdfr 37178825SdfrKMOD= if_ath 38178825SdfrSRCS= if_ath.c if_ath_alq.c if_ath_debug.c if_ath_keycache.c if_ath_sysctl.c 39178825SdfrSRCS+= if_ath_tx.c if_ath_tx_ht.c if_ath_led.c if_ath_rx.c if_ath_tdma.c 40178825SdfrSRCS+= if_ath_beacon.c if_ath_rx_edma.c if_ath_tx_edma.c if_ath_spectral.c 41178825Sdfr# NB: v3 eeprom support used by both AR5211 and AR5212; just include it 42178825SdfrSRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c 43178825SdfrSRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h 44178825Sdfr 45178825Sdfr# 46178825Sdfr# AR5210 support; these are first generation 11a-only devices. 47178825Sdfr# 48178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5210 49178825SdfrSRCS+= ah_eeprom_v1.c \ 50178825Sdfr ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \ 51178825Sdfr ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \ 52178825Sdfr ar5210_recv.c ar5210_reset.c ar5210_xmit.c 53178825Sdfr 54178825Sdfr# 55178825Sdfr# AR5211 support; these are second generation 11b/g/a devices 56178825Sdfr# (but 11g was OFDM only and is not supported). 57178825Sdfr# 58178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5211 59178825SdfrSRCS+= ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \ 60178825Sdfr ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \ 61178825Sdfr ar5211_recv.c ar5211_reset.c ar5211_xmit.c 62178825Sdfr 63178825Sdfr# 64178825Sdfr# AR5212 support; this covers all other pci/cardbus legacy parts. 65178825Sdfr# 66178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5212 67178825SdfrSRCS+= ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \ 68178825Sdfr ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \ 69178825Sdfr ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \ 70178825Sdfr ar5212_rfgain.c ar5212_xmit.c 71178825Sdfr# RF backends 72178825SdfrSRCS+= ar5111.c 73178825SdfrSRCS+= ar5112.c 74178825SdfrSRCS+= ar2413.c 75178825SdfrSRCS+= ar2425.c 76178825SdfrSRCS+= ar5413.c 77178825Sdfr 78178825Sdfr# 79178825Sdfr# AR5416, AR9130, AR9160, AR9220, AR9280, AR9285, AR9287 support. 80178825Sdfr 81178825Sdfr# Note enabling this support requires defining AH_SUPPORT_AR5416 82178825Sdfr# in opt_ah.h so the 11n tx/rx descriptor format is handled. 83178825Sdfr# 84178825Sdfr# NB: 9160 depends on 5416 but 5416 does not require 9160 85178825Sdfr# 86178825Sdfr# + 5416 (Owl) 87178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5416 88178825SdfrSRCS+= ah_eeprom_v14.c ah_eeprom_v4k.c \ 89178825Sdfr ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_btcoex.c \ 90178825Sdfr ar5416_cal.c ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \ 91178825Sdfr ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \ 92178825Sdfr ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_radar.c ar5416_spectral.c \ 93178825Sdfr ar5416_recv.c ar5416_reset.c ar5416_xmit.c 94178825Sdfr 95178825Sdfr# RF backend for 5416, 9130 and 9160 96178825SdfrSRCS+= ar2133.c 97178825Sdfr 98178825Sdfr# + AR9160 (Sowl) 99178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9001 100178825SdfrSRCS+= ar9160_attach.c 101178825Sdfr 102178825Sdfr# + AR9130 - (Sowl) - Embedded (AR913x SoC) 103178825Sdfr# 104178825Sdfr# This requires AH_SUPPORT_AR9130 in order to function as some 105178825Sdfr# register values have shifted for this chipset. Definig this however 106178825Sdfr# (currently) breaks non-AR9130 chipsets - since this is an embedded 107178825Sdfr# chipset and no other radios are glued to it, this shouldn't pose a 108178825Sdfr# problem. 109178825SdfrSRCS+= ar9130_attach.c ar9130_eeprom.c ar9130_phy.c 110178825Sdfr 111178825Sdfr# AR9002 series chips 112178825Sdfr# + AR9220/AR9280 - Merlin 113178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 114178825SdfrSRCS+= ar9280.c ar9280_attach.c ar9280_olc.c 115178825Sdfr 116178825Sdfr# + AR9285 - Kite 117178825SdfrSRCS+= ar9285.c ar9285_reset.c ar9285_attach.c ar9285_cal.c ar9285_phy.c 118178825SdfrSRCS+= ar9285_diversity.c ar9285_btcoex.c 119178825Sdfr 120178825Sdfr# + AR9287 - Kiwi 121178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal 122178825SdfrSRCS+= ah_eeprom_9287.c 123178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 124178825SdfrSRCS+= ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c 125233294Sstas 126233294Sstas# + AR9300 HAL 127178825Sdfr# .PATH: ${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ar9300 128178825Sdfr#SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c 129178825Sdfr#SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c 130233294Sstas#SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c 131178825Sdfr#SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c 132178825Sdfr#SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c 133178825Sdfr#SRCS+= ar9300_power.c ar9300_timer.c 134178825Sdfr 135178825Sdfr# NB: rate control is bound to the driver by symbol names so only pick one 136178825Sdfr.if ${ATH_RATE} == "sample" 137178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_rate/sample 138178825SdfrSRCS+= sample.c 139178825Sdfr.elif ${ATH_RATE} == "onoe" 140178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_rate/onoe 141233294SstasSRCS+= onoe.c 142178825Sdfr.elif ${ATH_RATE} == "amrr" 143178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr 144178825SdfrSRCS+= amrr.c 145178825Sdfr.endif 146178825Sdfr 147178825Sdfr# DFS 148178825Sdfr.PATH: ${.CURDIR}/../../dev/ath/ath_dfs/null 149178825SdfrSRCS+= dfs_null.c 150178825Sdfr 151178825SdfrCFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal 152178825Sdfr# CFLAGS+= -I. -I${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ 153178825Sdfr 154178825Sdfr.if !defined(KERNBUILDDIR) 155178825Sdfropt_ah.h: 156178825Sdfr echo '#define AH_SUPPORT_AR5416 1' > $@ 157178825Sdfr.endif 158233294Sstas 159233294Sstas.include <bsd.kmod.mk> 160178825Sdfr 161178825SdfrCWARNFLAGS.ah_regdomain.c= ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} 162178825Sdfr# XXX Work around clang warnings, until maintainer approves fix. 163178825SdfrCWARNFLAGS.if_ath.c= ${NO_WSOMETIMES_UNINITIALIZED} 164178825SdfrCWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} 165178825Sdfr 166178825Sdfr# AR9300 HAL build overrides, as there's still some code to tidy up 167#CWARNFLAGS.ar9300_eeprom.c= ${NO_WCONSTANT_CONVERSION} 168#CWARNFLAGS.ar9300_reset.c= ${NO_WSOMETIMES_UNINITIALIZED} 169