1# 2# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting 3# 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# without modification. 11# 2. Redistributions in binary form must reproduce at minimum a disclaimer 12# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13# redistribution must be conditioned upon including a substantially 14# similar Disclaimer requirement for further binary redistribution. 15# 16# NO WARRANTY 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27# THE POSSIBILITY OF SUCH DAMAGES. 28# 29# $FreeBSD$ 30# 31 32ATH_RATE?= sample # tx rate control algorithm 33 34.PATH: ${.CURDIR}/../../dev/ath 35.PATH: ${.CURDIR}/../../dev/ath/ath_hal 36 37KMOD= if_ath 38SRCS= if_ath.c if_ath_pci.c 39# NB: v3 eeprom support used by both AR5211 and AR5212; just include it 40SRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c 41SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h 42 43# 44# AR5210 support; these are first generation 11a-only devices. 45# 46.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5210 47SRCS+= ah_eeprom_v1.c \ 48 ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \ 49 ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \ 50 ar5210_recv.c ar5210_reset.c ar5210_xmit.c 51 52# 53# AR5211 support; these are second generation 11b/g/a devices 54# (but 11g was OFDM only and is not supported). 55# 56.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5211 57SRCS+= ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \ 58 ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \ 59 ar5211_recv.c ar5211_reset.c ar5211_xmit.c 60 61# 62# AR5212 support; this covers all other pci/cardbus legacy parts. 63# 64.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5212 65SRCS+= ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \ 66 ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \ 67 ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \ 68 ar5212_rfgain.c ar5212_xmit.c 69# RF backends 70SRCS+= ar5111.c 71SRCS+= ar5112.c 72SRCS+= ar2413.c 73SRCS+= ar2425.c 74SRCS+= ar5413.c 75 76# 77# AR5416, AR9160 support; these are 11n parts but only really 78# supported (right now) operating in legacy mode. Note enabling 79# this support requires defining AH_SUPPORT_AR5416 in opt_ah.h 80# so the 11n tx/rx descriptor format is handled. 81# 82# NB: 9160 depends on 5416 but 5416 does not require 9160 83# 84.PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar5416 85SRCS+= ah_eeprom_v14.c \ 86 ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \ 87 ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \ 88 ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \ 89 ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_recv.c \ 90 ar5416_reset.c ar5416_xmit.c 91SRCS+= ar9160_attach.c 92# RF backend for 5416 and 9160 93SRCS+= ar2133.c 94 95# NB: rate control is bound to the driver by symbol names so only pick one 96.if ${ATH_RATE} == "sample" 97.PATH: ${.CURDIR}/../../dev/ath/ath_rate/sample 98SRCS+= sample.c 99.elif ${ATH_RATE} == "onoe" 100.PATH: ${.CURDIR}/../../dev/ath/ath_rate/onoe 101SRCS+= onoe.c 102.elif ${ATH_RATE} == "amrr" 103.PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr 104SRCS+= amrr.c 105.endif 106 107CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal 108 109opt_ah.h: 110 echo '#define AH_SUPPORT_AR5416 1' > $@ 111 112.include <bsd.kmod.mk> 113