From bf1dec110d517755e66125d4b8699f50b8e6dfcf Mon Sep 17 00:00:00 2001 From: Manel Caro Date: Thu, 7 Mar 2019 20:13:19 +0100 Subject: Calibrator and uim Initial Commit --- wl18xx_plt.h | 252 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 wl18xx_plt.h (limited to 'wl18xx_plt.h') diff --git a/wl18xx_plt.h b/wl18xx_plt.h new file mode 100644 index 0000000..48108cd --- /dev/null +++ b/wl18xx_plt.h @@ -0,0 +1,252 @@ +/* + * This file is part of calibrator + * + * Copyright (C) 2011 Texas Instruments + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef __WL18XX_PLT_H__ +#define __WL18XX_PLT_H__ + +enum wl18xx_test_cmds { + /* 0x1 */ WL18XX_TEST_CMD_PD_BUFFER_CAL = 0x1, + /* 0x2 */ WL18XX_TEST_CMD_P2G_CAL, + /* 0x3 */ WL18XX_TEST_CMD_RX_PLT_ENTER, + /* 0x4 */ WL18XX_TEST_CMD_RX_PLT_CAL, + /* 0x5 */ WL18XX_TEST_CMD_RX_PLT_EXIT, + /* 0x6 */ WL18XX_TEST_CMD_RX_PLT_GET, + /* 0x7 */ WL18XX_TEST_CMD_FCC, + /* 0x8 */ WL18XX_TEST_CMD_TELEC, + /* 0x9 */ WL18XX_TEST_CMD_STOP_TX, + /* 0xa */ WL18XX_TEST_CMD_PLT_TEMPLATE, + /* 0xb */ WL18XX_TEST_CMD_PLT_GAIN_ADJUST, + /* 0xc */ WL18XX_TEST_CMD_PLT_GAIN_GET, + /* 0xd */ WL18XX_TEST_CMD_CHANNEL_TUNE_OLD, + /* 0xe */ WL18XX_TEST_CMD_FREE_RUN_RSSI, + /* 0xf */ WL18XX_TEST_CMD_DEBUG, + /* 0x10 */ WL18XX_TEST_CMD_CLPC_COMMANDS, + /* 0x11 */ WL18XX_TEST_CMD_RESERVED, + /* 0x12 */ WL18XX_TEST_CMD_RX_STAT_STOP, + /* 0x13 */ WL18XX_TEST_CMD_RX_STAT_START, + /* 0x14 */ WL18XX_TEST_CMD_RX_STAT_RESET, + /* 0x15 */ WL18XX_TEST_CMD_RX_STAT_GET, + /* 0x16 */ WL18XX_TEST_CMD_LOOPBACK_START, + /* 0x17 */ WL18XX_TEST_CMD_LOOPBACK_STOP, + /* 0x18 */ WL18XX_TEST_CMD_GET_FW_VERSIONS, + /* 0x19 */ WL18XX_TEST_CMD_INI_FILE_RADIO_PARAM, + /* 0x1a */ WL18XX_TEST_CMD_RUN_CALIBRATION_TYPE, + /* 0x1b */ WL18XX_TEST_CMD_TX_GAIN_ADJUST, + /* 0x1c */ WL18XX_TEST_CMD_UPDATE_PD_BUFFER_ERRORS, + /* 0x1d */ WL18XX_TEST_CMD_UPDATE_PD_REFERENCE_POINT, + /* 0x1e */ WL18XX_TEST_CMD_INI_FILE_GENERAL_PARAM, + /* 0x1f */ WL18XX_TEST_CMD_SET_EFUSE, + /* 0x20 */ WL18XX_TEST_CMD_GET_EFUSE, + /* 0x21 */ WL18XX_TEST_CMD_TEST_TONE, + /* 0x22 */ WL18XX_TEST_CMD_POWER_MODE, + /* 0x23 */ WL18XX_TEST_CMD_SMART_REFLEX, + /* 0x24 */ WL18XX_TEST_CMD_CHANNEL_RESPONSE, + /* 0x25 */ WL18XX_TEST_CMD_DCO_ITRIM_FEATURE, + /* 0x26 */ WL18XX_TEST_CMD_START_TX_SIMULATION, + /* 0x27 */ WL18XX_TEST_CMD_STOP_TX_SIMULATION, + /* 0x28 */ WL18XX_TEST_CMD_START_RX_SIMULATION, + /* 0x29 */ WL18XX_TEST_CMD_STOP_RX_SIMULATION, + /* 0x2a */ WL18XX_TEST_CMD_GET_RX_STATISTICS, + /* 0x2b */ /*WL18XX_TEST_CMD_INI_FILE_RF_EXTENDED_PARAM*/ + /* 0x2c */ WL18XX_TEST_CMD_SET_NVS_VERSION, + /* 0x2d */ WL18XX_TEST_CMD_CHANNEL_TUNE, + /* 0x2e */ WL18XX_TEST_CMD_TX_POWER, + /* 0x2f */ WL18XX_TEST_CMD_SET_ANTENNA_MODE_24G, + /* 0x30 */ WL18XX_TEST_CMD_GET_CALIB_RESULT, + /* 0x31 */ WL18XX_TEST_CMD_SET_ANTENNA_MODE_5G, + /* 0x32 */ WL18XX_TEST_CMD_PHY_ADDR_READ, + /* 0x33 */ WL18XX_TEST_CMD_PHY_ADDR_WRITE, + /* 0x34 */ WL18XX_TEST_CMD_START_TX_TONE, + /* 0x35 */ WL18XX_TEST_CMD_STOP_TX_TONE, + /* 0x36 */ WL18XX_TEST_CMD_START_RF_PARAMS_SET, + /* 0x37 */ WL18XX_TEST_CMD_STOP_RF_PARAMS_SET, + /* 0x38 */ WL18XX_TEST_CMD_REG_DOMAIN_UPDATE, + /* 0x39 */ WL18XX_TEST_CMD_5GHZ_ANTENNA_DIVERSITY, +}; + +struct wl18xx_cmd_channel_tune { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le16 radio_status; + __u8 channel; + __u8 band; + __u8 bandwidth; + __u8 rfSetIdx; + __u8 padding[2]; +} __attribute__((packed)); + +struct wl18xx_cmd_start_rx { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __le32 magic_num; + __u8 src_addr[MAC_ADDR_LEN]; + __u8 dst_addr[MAC_ADDR_LEN]; +} __attribute__((packed)); + +struct wl18xx_cmd_stop_rx { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; +} __attribute__((packed)); + +struct wl18xx_cmd_rx_stats { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __le32 total; + __le32 errors; + __le32 addr_mm; + __le32 good; + __le32 rssi_soc; + __le32 rssi_ant; +} __attribute__((packed)); + +struct wl18xx_cmd_start_tx { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __le32 delay; + __le32 rate; + __le32 size; + __le32 mode; + __le32 data_type; + __le32 gi; + __le32 options1; + __le32 options2; + __u8 src_addr[MAC_ADDR_LEN]; + __u8 dst_addr[MAC_ADDR_LEN]; + __le32 bandwidth; + __le32 padding; +} __attribute__((packed)); + +struct wl18xx_cmd_stop_tx { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; +} __attribute__((packed)); + +struct wl18xx_cmd_set_tx_power { + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __s32 mac_des_pwr; + __le32 mac_lvl_idx; + __le32 freq_band; + __le32 freq_prim_chan_num; + __le32 freq_prim_chan_loc; + __le32 mac_ant_select; + __le32 mac_non_srv; + __le32 mac_chan_lim_dis; + __le32 mac_fem_lim_dis; + __le32 mac_gain_calc_mode; + __le32 mac_analog_gain_control_idx; + __le32 mac_post_dpd_gain; +} __attribute__((packed)); + +struct wl18xx_cmd_set_antenna_mode_24G { /* TEST_CMD_SET_ANTENNA_MODE24G */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __u8 mac_prim_rx_chain; + __u8 mac_prim_tx_chain; + __u8 mac_rx_chain1_en; + __u8 mac_rx_chain2_en; + __u8 mac_tx_chain1_en; + __u8 mac_tx_chain2_en; + __u8 res1; + __u8 res2; +} __attribute__((packed)); + +struct wl18xx_cmd_set_antenna_mode_5G { /* TEST_CMD_SET_ANTENNA_MODE5G */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __u8 mac_prim_rx_chain; + __u8 mac_rx_chain1_en; + __u8 mac_rx_chain2_en; + __u8 mac_tx_chain1_en; +} __attribute__((packed)); + +struct wl18xx_cmd_phy_reg_read { /* TEST_CMD_PHY_REG_READ */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __le32 data; + __le32 addr; +} __attribute__((packed)); + +struct wl18xx_cmd_phy_reg_write { /* TEST_CMD_PHY_REG_WRITE */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __le32 data; + __le32 addr; +} __attribute__((packed)); + +struct wl18xx_cmd_phy_tx_tone_start { /* TEST_CMD_START_TX_TONE */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __u8 mode; + __s8 bin_index; + __u8 trigger_iqram_recording; + __u8 sig_gen_cw_en; + __u8 sig_gen_mod_en; + __u8 ant_mode; + __u8 set_rx_aux_on; + __u8 gain_index; +} __attribute__((packed)); + +struct wl18xx_cmd_phy_tx_tone_stop { /* TEST_CMD_STOP_TX_TONE */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; +} __attribute__((packed)); + +struct wl18xx_cmd_set_antenna_diversity_5G { /* WL18XX_TEST_CMD_5GHZ_ANTENNA_DIVERSITY */ + struct wl1271_cmd_header header; + struct wl1271_cmd_test_header test; + + __le32 radio_status; + + __u8 mode; + __u8 padding[3]; + +} __attribute__((packed)); + +#endif /* __WL18XX_PLT_H__ */ -- cgit v1.1