root/drivers/net/wireless/ath/ath9k/ar9003_aic.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2015 Qualcomm Atheros Inc.
   3  *
   4  * Permission to use, copy, modify, and/or distribute this software for any
   5  * purpose with or without fee is hereby granted, provided that the above
   6  * copyright notice and this permission notice appear in all copies.
   7  *
   8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15  */
  16 
  17 #ifndef AR9003_AIC_H
  18 #define AR9003_AIC_H
  19 
  20 #define ATH_AIC_MAX_COM_ATT_DB_TABLE    6
  21 #define ATH_AIC_MAX_AIC_LIN_TABLE       69
  22 #define ATH_AIC_MIN_ROT_DIR_ATT_DB      0
  23 #define ATH_AIC_MIN_ROT_QUAD_ATT_DB     0
  24 #define ATH_AIC_MAX_ROT_DIR_ATT_DB      37
  25 #define ATH_AIC_MAX_ROT_QUAD_ATT_DB     37
  26 #define ATH_AIC_SRAM_AUTO_INCREMENT     0x80000000
  27 #define ATH_AIC_SRAM_GAIN_TABLE_OFFSET  0x280
  28 #define ATH_AIC_SRAM_CAL_OFFSET         0x140
  29 #define ATH_AIC_SRAM_OFFSET             0x00
  30 #define ATH_AIC_MEAS_MAG_THRESH         20
  31 #define ATH_AIC_BT_JUPITER_CTRL         0x66820
  32 #define ATH_AIC_BT_AIC_ENABLE           0x02
  33 
  34 enum aic_cal_state {
  35         AIC_CAL_STATE_IDLE = 0,
  36         AIC_CAL_STATE_STARTED,
  37         AIC_CAL_STATE_DONE,
  38         AIC_CAL_STATE_ERROR
  39 };
  40 
  41 struct ath_aic_sram_info {
  42         bool valid:1;
  43         bool vga_quad_sign:1;
  44         bool vga_dir_sign:1;
  45         u8 rot_quad_att_db;
  46         u8 rot_dir_att_db;
  47         u8 com_att_6db;
  48 };
  49 
  50 struct ath_aic_out_info {
  51         int16_t dir_path_gain_lin;
  52         int16_t quad_path_gain_lin;
  53 };
  54 
  55 u8 ar9003_aic_calibration(struct ath_hw *ah);
  56 u8 ar9003_aic_start_normal(struct ath_hw *ah);
  57 u8 ar9003_aic_cal_reset(struct ath_hw *ah);
  58 u8 ar9003_aic_calibration_single(struct ath_hw *ah);
  59 
  60 #endif /* AR9003_AIC_H */

/* [<][>][^][v][top][bottom][index][help] */