1aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter/* 2aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * Shared Atheros AR9170 Header 3aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 4aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * EEPROM layout 5aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 6aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * Copyright 2008, Johannes Berg <johannes@sipsolutions.net> 7aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 8aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * This program is free software; you can redistribute it and/or modify 9aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * it under the terms of the GNU General Public License as published by 10aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * the Free Software Foundation; either version 2 of the License, or 11aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * (at your option) any later version. 12aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 13aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * This program is distributed in the hope that it will be useful, 14aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * but WITHOUT ANY WARRANTY; without even the implied warranty of 15aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * GNU General Public License for more details. 17aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 18aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * You should have received a copy of the GNU General Public License 19aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * along with this program; see the file COPYING. If not, see 20aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * http://www.gnu.org/licenses/. 21aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 22aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * This file incorporates work covered by the following copyright and 23aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * permission notice: 24aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * Copyright (c) 2007-2008 Atheros Communications, Inc. 25aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 26aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * Permission to use, copy, modify, and/or distribute this software for any 27aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * purpose with or without fee is hereby granted, provided that the above 28aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * copyright notice and this permission notice appear in all copies. 29aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * 30aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 31aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 32aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 33aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 34aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 35aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 36aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 37aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter */ 38aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#ifndef __CARL9170_SHARED_EEPROM_H 39aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define __CARL9170_SHARED_EEPROM_H 40aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 41aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_EEPROM_START 0x1600 42aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 43aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_MAX_CHAINS 2 44aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_MODAL_SPURS 5 45aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 46aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_eeprom_modal { 47aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le32 antCtrlChain[AR5416_MAX_CHAINS]; 48aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le32 antCtrlCommon; 49aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 antennaGainCh[AR5416_MAX_CHAINS]; 50aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 switchSettling; 51aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txRxAttenCh[AR5416_MAX_CHAINS]; 52aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 rxTxMarginCh[AR5416_MAX_CHAINS]; 53aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 adcDesiredSize; 54aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 pgaDesiredSize; 55aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 xlnaGainCh[AR5416_MAX_CHAINS]; 56aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txEndToXpaOff; 57aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txEndToRxOn; 58aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txFrameToXpaOn; 59aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 thresh62; 60aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 noiseFloorThreshCh[AR5416_MAX_CHAINS]; 61aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 xpdGain; 62aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 xpd; 63aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 iqCalICh[AR5416_MAX_CHAINS]; 64aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter s8 iqCalQCh[AR5416_MAX_CHAINS]; 65aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 pdGainOverlap; 66aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 ob; 67aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 db; 68aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 xpaBiasLvl; 69aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 pwrDecreaseFor2Chain; 70aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 pwrDecreaseFor3Chain; 71aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txFrameToDataStart; 72aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 txFrameToPaOn; 73aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 ht40PowerIncForPdadc; 74aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 bswAtten[AR5416_MAX_CHAINS]; 75aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 bswMargin[AR5416_MAX_CHAINS]; 76aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 swSettleHt40; 77aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 reserved[22]; 78aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct spur_channel { 79aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 spurChan; 80aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 spurRangeLow; 81aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 spurRangeHigh; 82aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter } __packed spur_channels[AR5416_MODAL_SPURS]; 83aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 84aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 85aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_PD_GAINS 4 86aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_PD_GAIN_ICEPTS 5 87aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 88aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_calibration_data_per_freq { 89aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 pwr_pdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS]; 90aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 vpd_pdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS]; 91aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 92aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 93aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_5G_CAL_PIERS 8 94aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_2G_CAL_PIERS 4 95aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 96aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_5G_TARGET_PWRS 8 97aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_2G_CCK_TARGET_PWRS 3 98aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_2G_OFDM_TARGET_PWRS 4 99aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_MAX_NUM_TGT_PWRS 8 100aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 101aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_calibration_target_power_legacy { 102aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 freq; 103aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 power[4]; 104aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 105aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 106aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_calibration_target_power_ht { 107aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 freq; 108aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 power[8]; 109aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 110aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 111aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_CTLS 24 112aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 113aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_calctl_edges { 114aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 channel; 115aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_CALCTL_EDGE_FLAGS 0xC0 116aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 power_flags; 117aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 118aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 119aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR5416_NUM_BAND_EDGES 8 120aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 121aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_calctl_data { 122aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calctl_edges 123aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter control_edges[AR5416_MAX_CHAINS][AR5416_NUM_BAND_EDGES]; 124aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 125aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 126aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_eeprom { 127aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 length; 128aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 checksum; 129aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 version; 130aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 operating_flags; 131aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_OPFLAG_5GHZ 1 132aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_OPFLAG_2GHZ 2 133aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 misc; 134aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 reg_domain[2]; 135aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 mac_address[6]; 136aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 rx_mask; 137aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 tx_mask; 138aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 rf_silent; 139aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 bluetooth_options; 140aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 device_capabilities; 141aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le32 build_number; 142aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 deviceType; 143aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 reserved[33]; 144aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 145aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 customer_data[64]; 146aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 147aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_eeprom_modal 148aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter modal_header[2]; 149aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 150aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 cal_freq_pier_5G[AR5416_NUM_5G_CAL_PIERS]; 151aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 cal_freq_pier_2G[AR5416_NUM_2G_CAL_PIERS]; 152aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 153aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calibration_data_per_freq 154aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_pier_data_5G[AR5416_MAX_CHAINS][AR5416_NUM_5G_CAL_PIERS], 155aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_pier_data_2G[AR5416_MAX_CHAINS][AR5416_NUM_2G_CAL_PIERS]; 156aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 157aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter /* power calibration data */ 158aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calibration_target_power_legacy 159aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_5G[AR5416_NUM_5G_TARGET_PWRS]; 160aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calibration_target_power_ht 161aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_5G_ht20[AR5416_NUM_5G_TARGET_PWRS], 162aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_5G_ht40[AR5416_NUM_5G_TARGET_PWRS]; 163aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 164aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calibration_target_power_legacy 165aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_2G_cck[AR5416_NUM_2G_CCK_TARGET_PWRS], 166aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_2G_ofdm[AR5416_NUM_2G_OFDM_TARGET_PWRS]; 167aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calibration_target_power_ht 168aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_2G_ht20[AR5416_NUM_2G_OFDM_TARGET_PWRS], 169aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter cal_tgt_pwr_2G_ht40[AR5416_NUM_2G_OFDM_TARGET_PWRS]; 170aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 171aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter /* conformance testing limits */ 172aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 ctl_index[AR5416_NUM_CTLS]; 173aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter struct ar9170_calctl_data 174aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter ctl_data[AR5416_NUM_CTLS]; 175aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 176aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter u8 pad; 177aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 subsystem_id; 178aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter} __packed; 179aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 180aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_POWER_ON 0x0001 181aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_RESERVED 0x0002 182aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_DISABLE_STATE 0x0004 183aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_OFF_IN_PSM 0x0008 184aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 185aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter/* AR9170_LED_MODE BIT is set */ 186aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY_S 4 187aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY 0x0030 188aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY_1HZ 0x0000 189aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY_0_5HZ 0x0010 190aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY_0_25HZ 0x0020 191aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_FREQUENCY_0_125HZ 0x0030 192aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 193aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter/* AR9170_LED_MODE BIT is not set */ 194aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE_S 4 195aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE 0x0030 196aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE_FORCE_OFF 0x0000 197aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE_FORCE_ON 0x0010 198aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter/* Idle off / Active on */ 199aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE_IOFF_AON 0x0020 200aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter/* Idle on / Active off */ 201aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_CONN_STATE_ION_AOFF 0x0010 202aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 203aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_MODE 0x0040 204aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_RESERVED2 0x0080 205aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 206aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_TON_SCAN_S 8 207aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_TON_SCAN 0x0f00 208aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 209aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_TOFF_SCAN_S 12 210aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#define AR9170_LED_MODE_TOFF_SCAN 0xf000 211aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 212aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparterstruct ar9170_led_mode { 213aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter __le16 led; 214aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter}; 215aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter 216aae9af605a41cb3e9bbad15df72076423a22f903Christian Lamparter#endif /* __CARL9170_SHARED_EEPROM_H */ 217