1*98d0edefSAdrian Chadd /*- 2*98d0edefSAdrian Chadd * Copyright (c) 2016 Adrian Chadd <adrian@FreeBSD.org>. 3*98d0edefSAdrian Chadd * All rights reserved. 4*98d0edefSAdrian Chadd * 5*98d0edefSAdrian Chadd * Redistribution and use in source and binary forms, with or without 6*98d0edefSAdrian Chadd * modification, are permitted provided that the following conditions 7*98d0edefSAdrian Chadd * are met: 8*98d0edefSAdrian Chadd * 1. Redistributions of source code must retain the above copyright 9*98d0edefSAdrian Chadd * notice, this list of conditions and the following disclaimer, 10*98d0edefSAdrian Chadd * without modification. 11*98d0edefSAdrian Chadd * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12*98d0edefSAdrian Chadd * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13*98d0edefSAdrian Chadd * redistribution must be conditioned upon including a substantially 14*98d0edefSAdrian Chadd * similar Disclaimer requirement for further binary redistribution. 15*98d0edefSAdrian Chadd * 16*98d0edefSAdrian Chadd * NO WARRANTY 17*98d0edefSAdrian Chadd * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18*98d0edefSAdrian Chadd * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19*98d0edefSAdrian Chadd * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20*98d0edefSAdrian Chadd * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21*98d0edefSAdrian Chadd * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22*98d0edefSAdrian Chadd * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23*98d0edefSAdrian Chadd * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24*98d0edefSAdrian Chadd * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25*98d0edefSAdrian Chadd * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26*98d0edefSAdrian Chadd * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27*98d0edefSAdrian Chadd * THE POSSIBILITY OF SUCH DAMAGES. 28*98d0edefSAdrian Chadd */ 29*98d0edefSAdrian Chadd 30*98d0edefSAdrian Chadd #ifndef __IF_BWN_PHY_N_H__ 31*98d0edefSAdrian Chadd #define __IF_BWN_PHY_N_H__ 32*98d0edefSAdrian Chadd 33*98d0edefSAdrian Chadd extern int bwn_phy_n_attach(struct bwn_mac *mac); 34*98d0edefSAdrian Chadd extern void bwn_phy_n_detach(struct bwn_mac *mac); 35*98d0edefSAdrian Chadd extern int bwn_phy_n_prepare_hw(struct bwn_mac *mac); 36*98d0edefSAdrian Chadd extern void bwn_phy_n_init_pre(struct bwn_mac *mac); 37*98d0edefSAdrian Chadd extern int bwn_phy_n_init(struct bwn_mac *mac); 38*98d0edefSAdrian Chadd extern void bwn_phy_n_exit(struct bwn_mac *mac); 39*98d0edefSAdrian Chadd extern uint16_t bwn_phy_n_read(struct bwn_mac *mac, uint16_t reg); 40*98d0edefSAdrian Chadd extern void bwn_phy_n_write(struct bwn_mac *mac, uint16_t reg, uint16_t value); 41*98d0edefSAdrian Chadd extern uint16_t bwn_phy_n_rf_read(struct bwn_mac *mac, uint16_t reg); 42*98d0edefSAdrian Chadd extern void bwn_phy_n_rf_write(struct bwn_mac *mac, uint16_t reg, uint16_t value); 43*98d0edefSAdrian Chadd extern int bwn_phy_n_hwpctl(struct bwn_mac *mac); 44*98d0edefSAdrian Chadd extern void bwn_phy_n_rf_onoff(struct bwn_mac *mac, int on); 45*98d0edefSAdrian Chadd extern void bwn_phy_n_switch_analog(struct bwn_mac *mac, int on); 46*98d0edefSAdrian Chadd extern int bwn_phy_n_switch_channel(struct bwn_mac *mac, uint32_t newchan); 47*98d0edefSAdrian Chadd extern uint32_t bwn_phy_n_get_default_chan(struct bwn_mac *mac); 48*98d0edefSAdrian Chadd extern void bwn_phy_n_set_antenna(struct bwn_mac *mac, int antenna); 49*98d0edefSAdrian Chadd extern int bwn_phy_n_im(struct bwn_mac *mac, int mode); 50*98d0edefSAdrian Chadd extern bwn_txpwr_result_t bwn_phy_n_recalc_txpwr(struct bwn_mac *mac, int ignore_tssi); 51*98d0edefSAdrian Chadd extern void bwn_phy_n_set_txpwr(struct bwn_mac *mac); 52*98d0edefSAdrian Chadd extern void bwn_phy_n_task_15s(struct bwn_mac *mac); 53*98d0edefSAdrian Chadd extern void bwn_phy_n_task_60s(struct bwn_mac *mac); 54*98d0edefSAdrian Chadd 55*98d0edefSAdrian Chadd #endif /* __IF_BWN_PHY_N_H__ */ 56