#define CHAN2G(_freq, _idx) { \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 20, \ } #define CHAN5G(_freq, _idx) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 20, \ } static struct ieee80211_channel ath9k_2ghz_channels[] = { CHAN2G(2412, 0), /* Channel 1 */ CHAN2G(2417, 1), /* Channel 2 */ CHAN2G(2422, 2), /* Channel 3 */ CHAN2G(2427, 3), /* Channel 4 */ CHAN2G(2432, 4), /* Channel 5 */ CHAN2G(2437, 5), /* Channel 6 */ CHAN2G(2442, 6), /* Channel 7 */ CHAN2G(2447, 7), /* Channel 8 */ CHAN2G(2452, 8), /* Channel 9 */ CHAN2G(2457, 9), /* Channel 10 */ CHAN2G(2462, 10), /* Channel 11 */ CHAN2G(2467, 11), /* Channel 12 */ CHAN2G(2472, 12), /* Channel 13 */ CHAN2G(2484, 13), /* Channel 14 */ };
.flags = (_flags), \ .max_antenna_gain = 0, \ .max_power = 30, \ } #define CHAN5G(_channel, _flags) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = 5000 + (5 * (_channel)), \ .hw_value = (_channel), \ .flags = (_flags), \ .max_antenna_gain = 0, \ .max_power = 30, \ } static struct ieee80211_channel cw1200_2ghz_chantable[] = { CHAN2G(1, 2412, 0), CHAN2G(2, 2417, 0), CHAN2G(3, 2422, 0), CHAN2G(4, 2427, 0), CHAN2G(5, 2432, 0), CHAN2G(6, 2437, 0), CHAN2G(7, 2442, 0), CHAN2G(8, 2447, 0), CHAN2G(9, 2452, 0), CHAN2G(10, 2457, 0), CHAN2G(11, 2462, 0), CHAN2G(12, 2467, 0), CHAN2G(13, 2472, 0), CHAN2G(14, 2484, 0), };
#define CHAN2G(_idx, _freq) { \ .band = IEEE80211_BAND_2GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 30, \ } #define CHAN5G(_idx, _freq) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 30, \ } static const struct ieee80211_channel mt76_channels_2ghz[] = { CHAN2G(1, 2412), CHAN2G(2, 2417), CHAN2G(3, 2422), CHAN2G(4, 2427), CHAN2G(5, 2432), CHAN2G(6, 2437), CHAN2G(7, 2442), CHAN2G(8, 2447), CHAN2G(9, 2452), CHAN2G(10, 2457), CHAN2G(11, 2462), CHAN2G(12, 2467), CHAN2G(13, 2472), CHAN2G(14, 2484), };
#define CHAN2G(_freq) { \ .band = IEEE80211_BAND_2GHZ, \ .center_freq = (_freq), \ .hw_value = (_freq), \ .max_power = 20, \ } #define CHAN5G(_freq) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = (_freq), \ .hw_value = (_freq), \ .max_power = 20, \ } static const struct ieee80211_channel hwsim_channels_2ghz[] = { CHAN2G(2412), CHAN2G(2417), CHAN2G(2422), CHAN2G(2427), CHAN2G(2432), CHAN2G(2437), CHAN2G(2442), CHAN2G(2447), CHAN2G(2452), CHAN2G(2457), CHAN2G(2462), CHAN2G(2467), CHAN2G(2472), CHAN2G(2484), };
#define CHAN2G(_freq, _idx) { \ .band = IEEE80211_BAND_2GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 20, \ } #define CHAN5G(_freq, _idx) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 20, \ } static const struct ieee80211_channel ath9k_2ghz_chantable[] = { CHAN2G(2412, 0), CHAN2G(2417, 1), CHAN2G(2422, 2), CHAN2G(2427, 3), CHAN2G(2432, 4), CHAN2G(2437, 5), CHAN2G(2442, 6), CHAN2G(2447, 7), CHAN2G(2452, 8), CHAN2G(2457, 9), CHAN2G(2462, 10), CHAN2G(2467, 11), CHAN2G(2472, 12), CHAN2G(2484, 13), };
.max_power = 33, \ } #define CHAN5G(_freq, _idx) { \ .band = IEEE80211_BAND_5GHZ, \ .center_freq = (_freq), \ .hw_value = (_idx), \ .max_power = 33, \ } /* Some 2 GHz radios are actually tunable on 2312-2732 * on 5 MHz steps, we support the channels which we know * we have calibration data for all cards though to make * this static */ static const struct ieee80211_channel ath9k_2ghz_chantable[] = { CHAN2G(2407, 0), /* Channel 0 */ CHAN2G(2412, 1), /* Channel 1 */ CHAN2G(2417, 2), /* Channel 2 */ CHAN2G(2422, 3), /* Channel 3 */ CHAN2G(2427, 4), /* Channel 4 */ CHAN2G(2432, 6), /* Channel 5 */ CHAN2G(2437, 6), /* Channel 6 */ CHAN2G(2442, 7), /* Channel 7 */ CHAN2G(2447, 8), /* Channel 8 */ CHAN2G(2452, 9), /* Channel 9 */ CHAN2G(2457, 10), /* Channel 10 */ CHAN2G(2462, 11), /* Channel 11 */ CHAN2G(2467, 12), /* Channel 12 */ CHAN2G(2472, 13), /* Channel 13 */ CHAN2G(2484, 14), /* Channel 14 */ CHAN2G(2312, 237), /* Channel -19 */