1250008Sadrian#ifndef	__AR9300_STUB_FUNCS_H__
2250008Sadrian#define	__AR9300_STUB_FUNCS_H__
3250008Sadrian
4250008Sadrianextern	uint32_t ar9300_Stub_GetRadioRev(struct ath_hal *ah);
5250008Sadrian
6250008Sadrian#if 0
7250008Sadrianextern	void ar9300_Stub_InitState(struct ath_hal_5212 *, uint16_t devid, HAL_SOFTC,
8250008Sadrian		HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status);
9250008Sadrian#endif
10250008Sadrianextern	void ar9300_Stub_Detach(struct ath_hal *ah);
11250008Sadrianextern  HAL_BOOL ar9300_Stub_ChipTest(struct ath_hal *ah);
12250008Sadrianextern  HAL_BOOL ar9300_Stub_GetChannelEdges(struct ath_hal *ah,
13250008Sadrian                uint16_t flags, uint16_t *low, uint16_t *high);
14250008Sadrianextern	HAL_BOOL ar9300_Stub_FillCapabilityInfo(struct ath_hal *ah);
15250008Sadrian
16250008Sadrianextern	void ar9300_Stub_SetBeaconTimers(struct ath_hal *ah,
17250008Sadrian		const HAL_BEACON_TIMERS *);
18250008Sadrianextern	void ar9300_Stub_BeaconInit(struct ath_hal *ah,
19250008Sadrian		uint32_t next_beacon, uint32_t beacon_period);
20250008Sadrianextern	void ar9300_Stub_ResetStaBeaconTimers(struct ath_hal *ah);
21250008Sadrianextern	void ar9300_Stub_SetStaBeaconTimers(struct ath_hal *ah,
22250008Sadrian		const HAL_BEACON_STATE *);
23250008Sadrianextern	uint64_t ar9300_Stub_GetNextTBTT(struct ath_hal *);
24250008Sadrian
25250008Sadrianextern	HAL_BOOL ar9300_Stub_IsInterruptPending(struct ath_hal *ah);
26250008Sadrianextern	HAL_BOOL ar9300_Stub_GetPendingInterrupts(struct ath_hal *ah, HAL_INT *);
27250008Sadrianextern	HAL_INT ar9300_Stub_GetInterrupts(struct ath_hal *ah);
28250008Sadrianextern	HAL_INT ar9300_Stub_SetInterrupts(struct ath_hal *ah, HAL_INT ints);
29250008Sadrian
30250008Sadrianextern	uint32_t ar9300_Stub_GetKeyCacheSize(struct ath_hal *);
31250008Sadrianextern	HAL_BOOL ar9300_Stub_IsKeyCacheEntryValid(struct ath_hal *, uint16_t entry);
32250008Sadrianextern	HAL_BOOL ar9300_Stub_ResetKeyCacheEntry(struct ath_hal *ah, uint16_t entry);
33250008Sadrianextern	HAL_BOOL ar9300_Stub_SetKeyCacheEntryMac(struct ath_hal *,
34250008Sadrian			uint16_t entry, const uint8_t *mac);
35250008Sadrianextern	HAL_BOOL ar9300_Stub_SetKeyCacheEntry(struct ath_hal *ah, uint16_t entry,
36250008Sadrian                       const HAL_KEYVAL *k, const uint8_t *mac, int xorKey);
37250008Sadrian
38250008Sadrianextern	void ar9300_Stub_GetMacAddress(struct ath_hal *ah, uint8_t *mac);
39250008Sadrianextern	HAL_BOOL ar9300_Stub_SetMacAddress(struct ath_hal *ah, const uint8_t *);
40250008Sadrianextern	void ar9300_Stub_GetBssIdMask(struct ath_hal *ah, uint8_t *mac);
41250008Sadrianextern	HAL_BOOL ar9300_Stub_SetBssIdMask(struct ath_hal *, const uint8_t *);
42250008Sadrianextern	HAL_BOOL ar9300_Stub_EepromRead(struct ath_hal *, u_int off, uint16_t *data);
43250008Sadrianextern	HAL_BOOL ar9300_Stub_EepromWrite(struct ath_hal *, u_int off, uint16_t data);
44250008Sadrianextern	HAL_BOOL ar9300_Stub_SetRegulatoryDomain(struct ath_hal *ah,
45250008Sadrian		uint16_t regDomain, HAL_STATUS *stats);
46250008Sadrianextern	u_int ar9300_Stub_GetWirelessModes(struct ath_hal *ah);
47250008Sadrianextern	void ar9300_Stub_EnableRfKill(struct ath_hal *);
48250008Sadrianextern	HAL_BOOL ar9300_Stub_GpioCfgOutput(struct ath_hal *, uint32_t gpio,
49250008Sadrian		HAL_GPIO_MUX_TYPE);
50250008Sadrianextern	HAL_BOOL ar9300_Stub_GpioCfgInput(struct ath_hal *, uint32_t gpio);
51250008Sadrianextern	HAL_BOOL ar9300_Stub_GpioSet(struct ath_hal *, uint32_t gpio, uint32_t val);
52250008Sadrianextern	uint32_t ar9300_Stub_GpioGet(struct ath_hal *ah, uint32_t gpio);
53250008Sadrianextern	void ar9300_Stub_GpioSetIntr(struct ath_hal *ah, u_int, uint32_t ilevel);
54250008Sadrianextern	void ar9300_Stub_SetLedState(struct ath_hal *ah, HAL_LED_STATE state);
55250008Sadrianextern	void ar9300_Stub_WriteAssocid(struct ath_hal *ah, const uint8_t *bssid,
56250008Sadrian		uint16_t assocId);
57250008Sadrianextern	uint32_t ar9300_Stub_GetTsf32(struct ath_hal *ah);
58250008Sadrianextern	uint64_t ar9300_Stub_GetTsf64(struct ath_hal *ah);
59250008Sadrianextern	void ar9300_Stub_SetTsf64(struct ath_hal *ah, uint64_t tsf64);
60250008Sadrianextern	void ar9300_Stub_ResetTsf(struct ath_hal *ah);
61250008Sadrianextern	void ar9300_Stub_SetBasicRate(struct ath_hal *ah, HAL_RATE_SET *pSet);
62250008Sadrianextern	uint32_t ar9300_Stub_GetRandomSeed(struct ath_hal *ah);
63250008Sadrianextern	HAL_BOOL ar9300_Stub_DetectCardPresent(struct ath_hal *ah);
64250008Sadrianextern	void ar9300_Stub_EnableMibCounters(struct ath_hal *);
65250008Sadrianextern	void ar9300_Stub_DisableMibCounters(struct ath_hal *);
66250008Sadrianextern	void ar9300_Stub_UpdateMibCounters(struct ath_hal *ah, HAL_MIB_STATS* stats);
67250008Sadrianextern	HAL_BOOL ar9300_Stub_IsJapanChannelSpreadSupported(struct ath_hal *ah);
68250008Sadrianextern	uint32_t ar9300_Stub_GetCurRssi(struct ath_hal *ah);
69250008Sadrianextern	u_int ar9300_Stub_GetDefAntenna(struct ath_hal *ah);
70250008Sadrianextern	void ar9300_Stub_SetDefAntenna(struct ath_hal *ah, u_int antenna);
71250008Sadrianextern	HAL_ANT_SETTING ar9300_Stub_GetAntennaSwitch(struct ath_hal *);
72250008Sadrianextern	HAL_BOOL ar9300_Stub_SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING);
73250008Sadrianextern	HAL_BOOL ar9300_Stub_IsSleepAfterBeaconBroken(struct ath_hal *ah);
74250008Sadrianextern	HAL_BOOL ar9300_Stub_SetSifsTime(struct ath_hal *, u_int);
75250008Sadrianextern	u_int ar9300_Stub_GetSifsTime(struct ath_hal *);
76250008Sadrianextern	HAL_BOOL ar9300_Stub_SetSlotTime(struct ath_hal *, u_int);
77250008Sadrianextern	u_int ar9300_Stub_GetSlotTime(struct ath_hal *);
78250008Sadrianextern	HAL_BOOL ar9300_Stub_SetAckTimeout(struct ath_hal *, u_int);
79250008Sadrianextern	u_int ar9300_Stub_GetAckTimeout(struct ath_hal *);
80250008Sadrianextern	HAL_BOOL ar9300_Stub_SetAckCTSRate(struct ath_hal *, u_int);
81250008Sadrianextern	u_int ar9300_Stub_GetAckCTSRate(struct ath_hal *);
82250008Sadrianextern	HAL_BOOL ar9300_Stub_SetCTSTimeout(struct ath_hal *, u_int);
83250008Sadrianextern	u_int ar9300_Stub_GetCTSTimeout(struct ath_hal *);
84250008Sadrianextern  HAL_BOOL ar9300_Stub_SetDecompMask(struct ath_hal *, uint16_t, int);
85250008Sadrianvoid 	ar9300_Stub_SetCoverageClass(struct ath_hal *, uint8_t, int);
86250008Sadrianextern	void ar9300_Stub_SetPCUConfig(struct ath_hal *);
87250008Sadrianextern	HAL_BOOL ar9300_Stub_Use32KHzclock(struct ath_hal *ah, HAL_OPMODE opmode);
88250008Sadrianextern	void ar9300_Stub_SetupClock(struct ath_hal *ah, HAL_OPMODE opmode);
89250008Sadrianextern	void ar9300_Stub_RestoreClock(struct ath_hal *ah, HAL_OPMODE opmode);
90250008Sadrianextern	int16_t ar9300_Stub_GetNfAdjust(struct ath_hal *,
91250008Sadrian		const HAL_CHANNEL_INTERNAL *);
92250008Sadrianextern	void ar9300_Stub_SetCompRegs(struct ath_hal *ah);
93250008Sadrianextern	HAL_STATUS ar9300_Stub_GetCapability(struct ath_hal *, HAL_CAPABILITY_TYPE,
94250008Sadrian		uint32_t, uint32_t *);
95250008Sadrianextern	HAL_BOOL ar9300_Stub_SetCapability(struct ath_hal *, HAL_CAPABILITY_TYPE,
96250008Sadrian		uint32_t, uint32_t, HAL_STATUS *);
97250008Sadrianextern	HAL_BOOL ar9300_Stub_GetDiagState(struct ath_hal *ah, int request,
98250008Sadrian		const void *args, uint32_t argsize,
99250008Sadrian		void **result, uint32_t *resultsize);
100250008Sadrianextern	HAL_STATUS ar9300_Stub_SetQuiet(struct ath_hal *ah, uint32_t period,
101250008Sadrian		uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag);
102250008Sadrianextern	HAL_BOOL ar9300_Stub_GetMibCycleCounts(struct ath_hal *,
103250008Sadrian		HAL_SURVEY_SAMPLE *);
104250008Sadrian
105250008Sadrianextern	HAL_BOOL ar9300_Stub_SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode,
106250008Sadrian		int setChip);
107250008Sadrianextern	HAL_POWER_MODE ar9300_Stub_GetPowerMode(struct ath_hal *ah);
108250008Sadrianextern	HAL_BOOL ar9300_Stub_GetPowerStatus(struct ath_hal *ah);
109250008Sadrian
110250008Sadrianextern	uint32_t ar9300_Stub_GetRxDP(struct ath_hal *ath, HAL_RX_QUEUE);
111250008Sadrianextern	void ar9300_Stub_SetRxDP(struct ath_hal *ah, uint32_t rxdp,
112250008Sadrian	    HAL_RX_QUEUE);
113250008Sadrianextern	void ar9300_Stub_EnableReceive(struct ath_hal *ah);
114250008Sadrianextern	HAL_BOOL ar9300_Stub_StopDmaReceive(struct ath_hal *ah);
115250008Sadrianextern	void ar9300_Stub_StartPcuReceive(struct ath_hal *ah);
116250008Sadrianextern	void ar9300_Stub_StopPcuReceive(struct ath_hal *ah);
117250008Sadrianextern	void ar9300_Stub_SetMulticastFilter(struct ath_hal *ah,
118250008Sadrian		uint32_t filter0, uint32_t filter1);
119250008Sadrianextern	HAL_BOOL ar9300_Stub_ClrMulticastFilterIndex(struct ath_hal *, uint32_t ix);
120250008Sadrianextern	HAL_BOOL ar9300_Stub_SetMulticastFilterIndex(struct ath_hal *, uint32_t ix);
121250008Sadrianextern	uint32_t ar9300_Stub_GetRxFilter(struct ath_hal *ah);
122250008Sadrianextern	void ar9300_Stub_SetRxFilter(struct ath_hal *ah, uint32_t bits);
123250008Sadrianextern	HAL_BOOL ar9300_Stub_SetupRxDesc(struct ath_hal *,
124250008Sadrian		struct ath_desc *, uint32_t size, u_int flags);
125250008Sadrianextern	HAL_STATUS ar9300_Stub_ProcRxDesc(struct ath_hal *ah, struct ath_desc *,
126250008Sadrian		uint32_t, struct ath_desc *, uint64_t,
127250008Sadrian		struct ath_rx_status *);
128250008Sadrian
129250008Sadrianextern	HAL_BOOL ar9300_Stub_Reset(struct ath_hal *ah, HAL_OPMODE opmode,
130250008Sadrian		struct ieee80211_channel *chan, HAL_BOOL bChannelChange,
131290612Sadrian		HAL_RESET_TYPE resetType,
132250008Sadrian		HAL_STATUS *status);
133250008Sadrianextern	HAL_BOOL ar9300_Stub_SetChannel(struct ath_hal *,
134250008Sadrian		const struct ieee80211_channel *);
135250008Sadrianextern	void ar9300_Stub_SetOperatingMode(struct ath_hal *ah, int opmode);
136250008Sadrianextern	HAL_BOOL ar9300_Stub_PhyDisable(struct ath_hal *ah);
137250008Sadrianextern	HAL_BOOL ar9300_Stub_Disable(struct ath_hal *ah);
138250008Sadrianextern	HAL_BOOL ar9300_Stub_ChipReset(struct ath_hal *ah,
139250008Sadrian		const struct ieee80211_channel *);
140250008Sadrianextern	HAL_BOOL ar9300_Stub_PerCalibration(struct ath_hal *ah,
141250008Sadrian		struct ieee80211_channel *chan, HAL_BOOL *isIQdone);
142250008Sadrianextern	HAL_BOOL ar9300_Stub_PerCalibrationN(struct ath_hal *ah,
143250008Sadrian		struct ieee80211_channel *chan, u_int chainMask,
144250008Sadrian		HAL_BOOL longCal, HAL_BOOL *isCalDone);
145250008Sadrianextern	HAL_BOOL ar9300_Stub_ResetCalValid(struct ath_hal *ah,
146250008Sadrian		const struct ieee80211_channel *);
147250008Sadrianextern	int16_t ar9300_Stub_GetNoiseFloor(struct ath_hal *ah);
148250008Sadrianextern	void ar9300_Stub_InitNfCalHistBuffer(struct ath_hal *);
149250008Sadrianextern	int16_t ar9300_Stub_GetNfHistMid(const int16_t calData[]);
150250008Sadrianextern	void ar9300_Stub_SetSpurMitigation(struct ath_hal *,
151250008Sadrian		 const struct ieee80211_channel *);
152250008Sadrianextern	HAL_BOOL ar9300_Stub_SetAntennaSwitchInternal(struct ath_hal *ah,
153250008Sadrian		HAL_ANT_SETTING settings, const struct ieee80211_channel *);
154250008Sadrianextern	HAL_BOOL ar9300_Stub_SetTxPowerLimit(struct ath_hal *ah, uint32_t limit);
155250008Sadrianextern	HAL_BOOL ar9300_Stub_GetChipPowerLimits(struct ath_hal *ah,
156250008Sadrian		struct ieee80211_channel *chan);
157250008Sadrianextern	void ar9300_Stub_InitializeGainValues(struct ath_hal *);
158250008Sadrianextern	HAL_RFGAIN ar9300_Stub_GetRfgain(struct ath_hal *ah);
159250008Sadrianextern	void ar9300_Stub_RequestRfgain(struct ath_hal *);
160250008Sadrian
161250008Sadrianextern	HAL_BOOL ar9300_Stub_UpdateTxTrigLevel(struct ath_hal *,
162250008Sadrian		HAL_BOOL IncTrigLevel);
163250008Sadrianextern  HAL_BOOL ar9300_Stub_SetTxQueueProps(struct ath_hal *ah, int q,
164250008Sadrian		const HAL_TXQ_INFO *qInfo);
165250008Sadrianextern	HAL_BOOL ar9300_Stub_GetTxQueueProps(struct ath_hal *ah, int q,
166250008Sadrian		HAL_TXQ_INFO *qInfo);
167250008Sadrianextern	int ar9300_Stub_SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type,
168250008Sadrian		const HAL_TXQ_INFO *qInfo);
169250008Sadrianextern	HAL_BOOL ar9300_Stub_ReleaseTxQueue(struct ath_hal *ah, u_int q);
170250008Sadrianextern	HAL_BOOL ar9300_Stub_ResetTxQueue(struct ath_hal *ah, u_int q);
171250008Sadrianextern	uint32_t ar9300_Stub_GetTxDP(struct ath_hal *ah, u_int q);
172250008Sadrianextern	HAL_BOOL ar9300_Stub_SetTxDP(struct ath_hal *ah, u_int q, uint32_t txdp);
173250008Sadrianextern	HAL_BOOL ar9300_Stub_StartTxDma(struct ath_hal *ah, u_int q);
174250008Sadrianextern	uint32_t ar9300_Stub_NumTxPending(struct ath_hal *ah, u_int q);
175250008Sadrianextern	HAL_BOOL ar9300_Stub_StopTxDma(struct ath_hal *ah, u_int q);
176250008Sadrianextern	HAL_BOOL ar9300_Stub_SetupTxDesc(struct ath_hal *ah, struct ath_desc *ds,
177250008Sadrian		u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower,
178250008Sadrian		u_int txRate0, u_int txTries0,
179250008Sadrian		u_int keyIx, u_int antMode, u_int flags,
180250008Sadrian		u_int rtsctsRate, u_int rtsctsDuration,
181250008Sadrian		u_int compicvLen, u_int compivLen, u_int comp);
182250008Sadrianextern	HAL_BOOL ar9300_Stub_SetupXTxDesc(struct ath_hal *, struct ath_desc *,
183250008Sadrian		u_int txRate1, u_int txRetries1,
184250008Sadrian		u_int txRate2, u_int txRetries2,
185250008Sadrian		u_int txRate3, u_int txRetries3);
186250008Sadrianextern	HAL_BOOL ar9300_Stub_FillTxDesc(struct ath_hal *ah, struct ath_desc *ds,
187250008Sadrian		HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList,
188250008Sadrian		u_int descId, u_int qcuId,
189250008Sadrian		HAL_BOOL firstSeg, HAL_BOOL lastSeg,
190250008Sadrian		const struct ath_desc *ds0);
191250008Sadrianextern	HAL_STATUS ar9300_Stub_ProcTxDesc(struct ath_hal *ah,
192250008Sadrian		struct ath_desc *, struct ath_tx_status *);
193250008Sadrianextern  void ar9300_Stub_GetTxIntrQueue(struct ath_hal *ah, uint32_t *);
194250008Sadrianextern  void ar9300_Stub_IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *);
195250008Sadrianextern	HAL_BOOL ar9300_Stub_GetTxCompletionRates(struct ath_hal *ah,
196250008Sadrian		const struct ath_desc *ds0, int *rates, int *tries);
197250008Sadrian
198250008Sadrianextern	const HAL_RATE_TABLE * ar9300_Stub_GetRateTable(struct ath_hal *, u_int mode);
199250008Sadrian
200250008Sadrian#if 0
201250008Sadrianextern	void ar9300_Stub_AniAttach(struct ath_hal *, const struct ar9300_Stub_AniParams *,
202250008Sadrian		const struct ar9300_Stub_AniParams *, HAL_BOOL ena);
203250008Sadrian#endif
204250008Sadrianextern	void ar9300_Stub_AniDetach(struct ath_hal *);
205250008Sadrianextern	struct ar9300_Stub_AniState *ar5212AniGetCurrentState(struct ath_hal *);
206250008Sadrianextern	struct ar9300_Stub_Stats *ar5212AniGetCurrentStats(struct ath_hal *);
207250008Sadrianextern	HAL_BOOL ar9300_Stub_AniControl(struct ath_hal *, HAL_ANI_CMD cmd, int param);
208250008Sadrian#if 0
209250008Sadrianextern	HAL_BOOL ar9300_Stub_AniSetParams(struct ath_hal *,
210250008Sadrian		const struct ar9300_Stub_AniParams *, const struct ar9300_Stub_AniParams *);
211250008Sadrian#endif
212250008Sadrianstruct ath_rx_status;
213250008Sadrianextern	void ar9300_Stub_AniPhyErrReport(struct ath_hal *ah,
214250008Sadrian		const struct ath_rx_status *rs);
215250008Sadrianextern	void ar9300_Stub_ProcessMibIntr(struct ath_hal *, const HAL_NODE_STATS *);
216250008Sadrianextern	void ar9300_Stub_RxMonitor(struct ath_hal *, const HAL_NODE_STATS *,
217250008Sadrian			     const struct ieee80211_channel *);
218250008Sadrianextern	void ar9300_Stub_AniPoll(struct ath_hal *, const struct ieee80211_channel *);
219250008Sadrianextern	void ar9300_Stub_AniReset(struct ath_hal *, const struct ieee80211_channel *,
220250008Sadrian		HAL_OPMODE, int);
221250008Sadrian
222250008Sadrianextern	HAL_BOOL ar9300_Stub_IsNFCalInProgress(struct ath_hal *ah);
223250008Sadrianextern	HAL_BOOL ar9300_Stub_WaitNFCalComplete(struct ath_hal *ah, int i);
224250008Sadrianextern	void ar9300_Stub_EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe);
225250008Sadrianextern	void ar9300_Stub_GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe);
226250008Sadrianextern	HAL_BOOL ar9300_Stub_ProcessRadarEvent(struct ath_hal *ah,
227250008Sadrian	    struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf,
228250008Sadrian	    HAL_DFS_EVENT *event);
229250008Sadrianextern	HAL_BOOL ar9300_Stub_IsFastClockEnabled(struct ath_hal *ah);
230250008Sadrianextern	uint32_t ar9300_Stub_Get11nExtBusy(struct ath_hal *ah);
231250008Sadrian
232250008Sadrianextern	void ar9300_Stub_ConfigPCIE(struct ath_hal *ah, HAL_BOOL restore,
233250008Sadrian	HAL_BOOL powerOff);
234250008Sadrianextern	void ar9300_Stub_DisablePCIE(struct ath_hal *ah);
235250008Sadrian
236250008Sadrian
237250008Sadrian
238250008Sadrian#endif	/* __AR9300_STUB_FUNCS_H__ */
239