6f612bbc77851a1304955fb922093bfe03e2391c
[dragonfly.git] / sys / dev / netif / ath / hal / Makefile
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: src/sys/modules/ath/Makefile,v 1.5.2.1.2.1 2009/04/15 03:14:26 kensmith Exp $
30 #
31
32 ATH_RATE?=      sample          # tx rate control algorithm
33
34 HAL=${.CURDIR}/ath_hal
35 .PATH:  ${.CURDIR}
36 .PATH:  ${HAL}
37 KMOD=   ath_hal
38 #SRCS=  if_ath.c if_ath_pci.c
39 #SRCS    = ah_osdep.c
40 #SRCS    += bus_if.h device_if.h pci_if.h opt_ah.h 
41 # NB: v3 eeprom support used by both AR5211 and AR5212; just include it
42 SRCS=   ah_osdep.c ah_osdep.h ah.c ah_regdomain.c ah_eeprom_v3.c
43 SRCS+=  device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h
44
45 #
46 # AR5210 support; these are first generation 11a-only devices.
47 #
48 .PATH:  ${HAL}/ar5210
49 .PATH:  ${HAL}
50 SRCS+=  ah_eeprom_v1.c \
51         ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \
52         ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \
53         ar5210_recv.c ar5210_reset.c ar5210_xmit.c
54
55 #
56 # AR5211 support; these are second generation 11b/g/a devices
57 # (but 11g was OFDM only and is not supported).
58 #
59 .PATH:  ${HAL}/ar5211
60 SRCS+=  ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \
61         ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \
62         ar5211_recv.c ar5211_reset.c ar5211_xmit.c
63
64 #
65 # AR5212 support; this covers all other pci/cardbus legacy parts.
66 #
67 .PATH:  ${HAL}/ar5212
68 SRCS+=  ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \
69         ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \
70         ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \
71         ar5212_rfgain.c ar5212_xmit.c
72 # RF backends
73 SRCS+=  ar5111.c
74 SRCS+=  ar5112.c
75 SRCS+=  ar2413.c
76 SRCS+=  ar2425.c
77 SRCS+=  ar5413.c
78
79 #
80 # AR5416, AR9160 support; these are 11n parts but only really
81 # supported (right now) operating in legacy mode.  Note enabling
82 # this support requires defining AH_SUPPORT_AR5416 in opt_ah.h
83 # so the 11n tx/rx descriptor format is handled.
84 #
85 # NB: 9160 depends on 5416 but 5416 does not require 9160
86 #
87 .PATH:  ${HAL}/ar5416
88 SRCS+=  ah_eeprom_v14.c \
89         ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \
90         ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \
91         ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \
92         ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_recv.c \
93         ar5416_reset.c ar5416_xmit.c
94 SRCS+=  ar9160_attach.c
95 # RF backend for 5416 and 9160
96 SRCS+=  ar2133.c
97 SRCS+=  ar9280_attach.c
98 # RF backend for 9280
99 SRCS+=  ar9280.c
100 SRCS+=  ah_eeprom_v4k.c ar9285_reset.c ar9285_attach.c
101 # RF backend for 9285
102 SRCS+=  ar9285.c
103
104 # NB: rate control is bound to the driver by symbol names so only pick one
105 #.if ${ATH_RATE} == "sample"
106 #.PATH: ${.CURDIR}/../../dev/ath/ath_rate/sample
107 #SRCS+= sample.c opt_wlan.h
108 #.elif ${ATH_RATE} == "onoe"
109 #.PATH: ${.CURDIR}/../../dev/ath/ath_rate/onoe
110 #SRCS+= onoe.c
111 #.elif ${ATH_RATE} == "amrr"
112 #.PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr
113 #SRCS+= amrr.c
114 #.endif
115
116 CFLAGS+=  -I. -I${HAL} -DAH_SUPPORT_AR5416
117
118 .if !defined(BUILDING_WITH_KERNEL)
119 opt_ah.h:
120         echo '#define AH_SUPPORT_AR5416 1' > opt_ah.h
121 .endif
122
123 .include <bsd.kmod.mk>