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