1
2/*-
3 * Copyright (c) 2009-2010 Alexander Egorenkov <egorenar@gmail.com>
4 * Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#ifndef _RT2860_RF_H_
20#define _RT2860_RF_H_
21
22#include <dev/rt2860/rt2860_softc.h>
23
24const char *rt2860_rf_name(int rf_rev);
25
26void rt2860_rf_select_chan_group(struct rt2860_softc *sc,
27	struct ieee80211_channel *c);
28
29void rt2860_rf_set_chan(struct rt2860_softc *sc,
30	struct ieee80211_channel *c);
31
32uint8_t rt3090_rf_read(struct rt2860_softc *sc, uint8_t reg);
33
34void rt3090_rf_write(struct rt2860_softc *sc, uint8_t reg, uint8_t val);
35
36void rt3090_set_chan(struct rt2860_softc *sc, u_int chan);
37
38int rt3090_rf_init(struct rt2860_softc *sc);
39
40void rt3090_set_rx_antenna(struct rt2860_softc *, int);
41
42void rt3090_rf_wakeup(struct rt2860_softc *sc);
43
44int rt3090_filter_calib(struct rt2860_softc *sc, uint8_t init, uint8_t target,
45    uint8_t *val);
46
47void rt3090_rf_setup(struct rt2860_softc *sc);
48
49#endif /* #ifndef _RT2860_RF_H_ */
50