Makefile revision 248079
1128526Stjr# 2128526Stjr# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting 3128526Stjr# All rights reserved. 4128526Stjr# 5128526Stjr# Redistribution and use in source and binary forms, with or without 6174990Sache# modification, are permitted provided that the following conditions 7128526Stjr# are met: 8128526Stjr# 1. Redistributions of source code must retain the above copyright 9128526Stjr# notice, this list of conditions and the following disclaimer, 10128526Stjr# without modification. 11128526Stjr# 2. Redistributions in binary form must reproduce at minimum a disclaimer 12128526Stjr# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13128526Stjr# redistribution must be conditioned upon including a substantially 14128526Stjr# similar Disclaimer requirement for further binary redistribution. 15128526Stjr# 16128526Stjr# NO WARRANTY 17128526Stjr# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18128526Stjr# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19128526Stjr# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20174990Sache# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21128526Stjr# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22128526Stjr# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23128526Stjr# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24128526Stjr# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25128526Stjr# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26128526Stjr# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27128526Stjr# THE POSSIBILITY OF SUCH DAMAGES. 28128526Stjr# 29128526Stjr# $FreeBSD: head/sys/modules/ath/Makefile 248079 2013-03-09 01:05:36Z adrian $ 30128526Stjr# 31128526Stjr 32128526StjrATH_RATE?= sample # tx rate control algorithm 33128526Stjr 34128526Stjr.PATH: ${.CURDIR}/../../dev/ath 35128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal 36128526Stjr 37128526StjrKMOD= if_ath 38128526StjrSRCS= if_ath.c if_ath_alq.c if_ath_debug.c if_ath_keycache.c if_ath_sysctl.c 39128526StjrSRCS+= if_ath_tx.c if_ath_tx_ht.c if_ath_led.c if_ath_rx.c if_ath_tdma.c 40128526StjrSRCS+= if_ath_beacon.c if_ath_rx_edma.c if_ath_tx_edma.c if_ath_spectral.c 41128526Stjr# NB: v3 eeprom support used by both AR5211 and AR5212; just include it 42128526StjrSRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c 43128526StjrSRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h 44128526Stjr 45128526Stjr# 46128526Stjr# AR5210 support; these are first generation 11a-only devices. 47128526Stjr# 48128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5210 49128526StjrSRCS+= ah_eeprom_v1.c \ 50128526Stjr ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \ 51128526Stjr ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \ 52128526Stjr ar5210_recv.c ar5210_reset.c ar5210_xmit.c 53128526Stjr 54128526Stjr# 55128526Stjr# AR5211 support; these are second generation 11b/g/a devices 56128526Stjr# (but 11g was OFDM only and is not supported). 57128526Stjr# 58128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5211 59128526StjrSRCS+= ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \ 60128526Stjr ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \ 61128526Stjr ar5211_recv.c ar5211_reset.c ar5211_xmit.c 62128526Stjr 63128526Stjr# 64128526Stjr# AR5212 support; this covers all other pci/cardbus legacy parts. 65128526Stjr# 66128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5212 67128526StjrSRCS+= ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \ 68128526Stjr ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \ 69128526Stjr ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \ 70128526Stjr ar5212_rfgain.c ar5212_xmit.c 71128526Stjr# RF backends 72128526StjrSRCS+= ar5111.c 73128526StjrSRCS+= ar5112.c 74128526StjrSRCS+= ar2413.c 75128526StjrSRCS+= ar2425.c 76128526StjrSRCS+= ar5413.c 77128526Stjr 78128526Stjr# 79174990Sache# AR5416, AR9130, AR9160, AR9220, AR9280, AR9285, AR9287 support. 80128526Stjr 81128526Stjr# Note enabling this support requires defining AH_SUPPORT_AR5416 82128526Stjr# in opt_ah.h so the 11n tx/rx descriptor format is handled. 83128526Stjr# 84128526Stjr# NB: 9160 depends on 5416 but 5416 does not require 9160 85128526Stjr# 86128526Stjr# + 5416 (Owl) 87128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5416 88128526StjrSRCS+= ah_eeprom_v14.c ah_eeprom_v4k.c \ 89128526Stjr ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_btcoex.c \ 90128526Stjr ar5416_cal.c ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \ 91128526Stjr ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \ 92128526Stjr ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_radar.c ar5416_spectral.c \ 93128526Stjr ar5416_recv.c ar5416_reset.c ar5416_xmit.c 94128526Stjr 95128526Stjr# RF backend for 5416, 9130 and 9160 96128526StjrSRCS+= ar2133.c 97128526Stjr 98128526Stjr# + AR9160 (Sowl) 99128526Stjr.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9001 100128526StjrSRCS+= ar9160_attach.c 101128526Stjr 102# + AR9130 - (Sowl) - Embedded (AR913x SoC) 103# 104# This requires AH_SUPPORT_AR9130 in order to function as some 105# register values have shifted for this chipset. Definig this however 106# (currently) breaks non-AR9130 chipsets - since this is an embedded 107# chipset and no other radios are glued to it, this shouldn't pose a 108# problem. 109SRCS+= ar9130_attach.c ar9130_eeprom.c ar9130_phy.c 110 111# AR9002 series chips 112# + AR9220/AR9280 - Merlin 113.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 114SRCS+= ar9280.c ar9280_attach.c ar9280_olc.c 115 116# + AR9285 - Kite 117SRCS+= ar9285.c ar9285_reset.c ar9285_attach.c ar9285_cal.c ar9285_phy.c 118SRCS+= ar9285_diversity.c ar9285_btcoex.c 119 120# + AR9287 - Kiwi 121.PATH: ${.CURDIR}/../../dev/ath/ath_hal 122SRCS+= ah_eeprom_9287.c 123.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9002 124SRCS+= ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c 125 126# + AR9300 HAL 127# .PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9003 128#SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c 129#SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c 130#SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c 131#SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c 132#SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c 133#SRCS+= ar9300_power.c ar9300_timer.c 134 135# NB: rate control is bound to the driver by symbol names so only pick one 136.if ${ATH_RATE} == "sample" 137.PATH: ${.CURDIR}/../../dev/ath/ath_rate/sample 138SRCS+= sample.c 139.elif ${ATH_RATE} == "onoe" 140.PATH: ${.CURDIR}/../../dev/ath/ath_rate/onoe 141SRCS+= onoe.c 142.elif ${ATH_RATE} == "amrr" 143.PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr 144SRCS+= amrr.c 145.endif 146 147# DFS 148.PATH: ${.CURDIR}/../../dev/ath/ath_dfs/null 149SRCS+= dfs_null.c 150 151CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal 152 153.if !defined(KERNBUILDDIR) 154opt_ah.h: 155 echo '#define AH_SUPPORT_AR5416 1' > $@ 156.endif 157 158.include <bsd.kmod.mk> 159 160CWARNFLAGS.ah_regdomain.c= ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} 161# XXX Work around clang warnings, until maintainer approves fix. 162CWARNFLAGS.if_ath.c= ${NO_WSOMETIMES_UNINITIALIZED} 163CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} 164