Makefile revision 231927
1116744Ssam# 2185522Ssam# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting 3116744Ssam# All rights reserved. 4116744Ssam# 5116744Ssam# Redistribution and use in source and binary forms, with or without 6116744Ssam# modification, are permitted provided that the following conditions 7116744Ssam# are met: 8116744Ssam# 1. Redistributions of source code must retain the above copyright 9116744Ssam# notice, this list of conditions and the following disclaimer, 10116744Ssam# without modification. 11116744Ssam# 2. Redistributions in binary form must reproduce at minimum a disclaimer 12116744Ssam# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13116744Ssam# redistribution must be conditioned upon including a substantially 14116744Ssam# similar Disclaimer requirement for further binary redistribution. 15116744Ssam# 16116744Ssam# NO WARRANTY 17116744Ssam# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18116744Ssam# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19116744Ssam# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20116744Ssam# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21116744Ssam# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22116744Ssam# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23116744Ssam# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24116744Ssam# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25116744Ssam# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26116744Ssam# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27116744Ssam# THE POSSIBILITY OF SUCH DAMAGES. 28116744Ssam# 29116744Ssam# $FreeBSD: head/sys/modules/ath/Makefile 231927 2012-02-20 03:07:07Z adrian $ 30116744Ssam# 31116744Ssam 32186094SsamATH_RATE?= sample # tx rate control algorithm 33116744Ssam 34186094Ssam.PATH: ${.CURDIR}/../../dev/ath 35186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_hal 36186094Ssam 37186094SsamKMOD= if_ath 38220185SadrianSRCS= if_ath.c if_ath_debug.c if_ath_keycache.c if_ath_sysctl.c 39228887SadrianSRCS+= if_ath_tx.c if_ath_tx_ht.c if_ath_led.c 40186094Ssam# NB: v3 eeprom support used by both AR5211 and AR5212; just include it 41203286SrpauloSRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c 42190571SsamSRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h 43186094Ssam 44186094Ssam# 45186094Ssam# AR5210 support; these are first generation 11a-only devices. 46186094Ssam# 47186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5210 48186094SsamSRCS+= ah_eeprom_v1.c \ 49185522Ssam ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \ 50185522Ssam ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \ 51185522Ssam ar5210_recv.c ar5210_reset.c ar5210_xmit.c 52186094Ssam 53186094Ssam# 54186094Ssam# AR5211 support; these are second generation 11b/g/a devices 55186094Ssam# (but 11g was OFDM only and is not supported). 56186094Ssam# 57186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5211 58186094SsamSRCS+= ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \ 59185522Ssam ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \ 60185522Ssam ar5211_recv.c ar5211_reset.c ar5211_xmit.c 61186094Ssam 62186094Ssam# 63186094Ssam# AR5212 support; this covers all other pci/cardbus legacy parts. 64186094Ssam# 65186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5212 66186094SsamSRCS+= ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \ 67185522Ssam ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \ 68185522Ssam ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \ 69186094Ssam ar5212_rfgain.c ar5212_xmit.c 70186094Ssam# RF backends 71186094SsamSRCS+= ar5111.c 72186094SsamSRCS+= ar5112.c 73186094SsamSRCS+= ar2413.c 74186094SsamSRCS+= ar2425.c 75186094SsamSRCS+= ar5413.c 76186094Ssam 77186094Ssam# 78227421Sadrian# AR5416, AR9130, AR9160, AR9220, AR9280, AR9285, AR9287 support. 79221163Sadrian 80221163Sadrian# Note enabling this support requires defining AH_SUPPORT_AR5416 81221163Sadrian# in opt_ah.h so the 11n tx/rx descriptor format is handled. 82186094Ssam# 83186094Ssam# NB: 9160 depends on 5416 but 5416 does not require 9160 84186094Ssam# 85221163Sadrian# + 5416 (Owl) 86186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5416 87203286SrpauloSRCS+= ah_eeprom_v14.c ah_eeprom_v4k.c \ 88185522Ssam ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \ 89185522Ssam ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \ 90185522Ssam ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \ 91231927Sadrian ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_radar.c \ 92231927Sadrian ar5416_recv.c ar5416_reset.c ar5416_xmit.c 93217631Sadrian 94221163Sadrian# RF backend for 5416, 9130 and 9160 95217631SadrianSRCS+= ar2133.c 96217631Sadrian 97221163Sadrian# + AR9160 (Sowl) 98217631Sadrian.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9001 99186094SsamSRCS+= ar9160_attach.c 100217631Sadrian 101221163Sadrian# + AR9130 - (Sowl) - Embedded (AR913x SoC) 102221163Sadrian# 103221163Sadrian# This requires AH_SUPPORT_AR9130 in order to function as some 104221163Sadrian# register values have shifted for this chipset. Definig this however 105221163Sadrian# (currently) breaks non-AR9130 chipsets - since this is an embedded 106221163Sadrian# chipset and no other radios are glued to it, this shouldn't pose a 107221163Sadrian# problem. 108221163SadrianSRCS+= ar9130_attach.c ar9130_eeprom.c ar9130_phy.c 109221163Sadrian 110221163Sadrian# AR9002 series chips 111221163Sadrian# + AR9220/AR9280 - Merlin 112217631Sadrian.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 113219393SadrianSRCS+= ar9280.c ar9280_attach.c ar9280_olc.c 114221163Sadrian 115221163Sadrian# + AR9285 - Kite 116220587SadrianSRCS+= ar9285.c ar9285_reset.c ar9285_attach.c ar9285_cal.c ar9285_phy.c 117220593SadrianSRCS+= ar9285_diversity.c 118185522Ssam 119222325Sadrian# + AR9287 - Kiwi 120222325Sadrian.PATH: ${.CURDIR}/../../dev/ath/ath_hal 121222325SadrianSRCS+= ah_eeprom_9287.c 122222325Sadrian.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 123222325SadrianSRCS+= ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c 124222325Sadrian 125186094Ssam# NB: rate control is bound to the driver by symbol names so only pick one 126186094Ssam.if ${ATH_RATE} == "sample" 127186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_rate/sample 128190571SsamSRCS+= sample.c 129186094Ssam.elif ${ATH_RATE} == "onoe" 130186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_rate/onoe 131186094SsamSRCS+= onoe.c 132186094Ssam.elif ${ATH_RATE} == "amrr" 133186094Ssam.PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr 134186094SsamSRCS+= amrr.c 135186094Ssam.endif 136116744Ssam 137222585Sadrian# DFS 138222585Sadrian.PATH: ${.CURDIR}/../../dev/ath/ath_dfs/null 139222585SadrianSRCS+= dfs_null.c 140222585Sadrian 141185522SsamCFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal 142116744Ssam 143229560Sadrian.if !defined(KERNBUILDDIR) 144185522Ssamopt_ah.h: 145185522Ssam echo '#define AH_SUPPORT_AR5416 1' > $@ 146229560Sadrian.endif 147157438Ssam 148116744Ssam.include <bsd.kmod.mk> 149228818Sdim 150228818SdimCWARNFLAGS.ah_regdomain.c= ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} 151228818SdimCWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} 152