summaryrefslogtreecommitdiff
path: root/sys/dev/ic/ar5xxx.h
diff options
context:
space:
mode:
authorReyk Floeter <reyk@cvs.openbsd.org>2008-07-30 07:15:40 +0000
committerReyk Floeter <reyk@cvs.openbsd.org>2008-07-30 07:15:40 +0000
commit2c279d86a8e846c71f5302965d5205367531cccb (patch)
tree66861ff671cdf2c82023a1984f120d63e46a4d5a /sys/dev/ic/ar5xxx.h
parentf34f301f42651ae9879010be50d6449bd1044721 (diff)
Update the RF, RFGAIN, MODE, INI, and BBGAIN initialization tables
with different versions for various ar5212 variants and add an extra table for PCI-E devices. This fixes support for various newer devices (like the 1st generation MacBook, T61 variants) but it still does not work on a number of other devices. Tested by many ok deraadt@
Diffstat (limited to 'sys/dev/ic/ar5xxx.h')
-rw-r--r--sys/dev/ic/ar5xxx.h596
1 files changed, 458 insertions, 138 deletions
diff --git a/sys/dev/ic/ar5xxx.h b/sys/dev/ic/ar5xxx.h
index b632e11e3b0..9ddfe679253 100644
--- a/sys/dev/ic/ar5xxx.h
+++ b/sys/dev/ic/ar5xxx.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ar5xxx.h,v 1.43 2008/07/29 00:18:25 reyk Exp $ */
+/* $OpenBSD: ar5xxx.h,v 1.44 2008/07/30 07:15:39 reyk Exp $ */
/*
* Copyright (c) 2004, 2005, 2006, 2007 Reyk Floeter <reyk@openbsd.org>
@@ -74,6 +74,9 @@ enum ar5k_radio {
AR5K_AR5110 = 0,
AR5K_AR5111 = 1,
AR5K_AR5112 = 2,
+ AR5K_AR2413 = 3,
+ AR5K_AR5413 = 4,
+ AR5K_AR2425 = 5
};
/*
@@ -1128,7 +1131,9 @@ struct ath_hal {
enum ar5k_version ah_version;
enum ar5k_radio ah_radio;
+
u_int32_t ah_phy;
+ u_int32_t ah_phy_spending;
HAL_BOOL ah_5ghz;
HAL_BOOL ah_2ghz;
@@ -1226,9 +1231,9 @@ struct ar5k_srev_name {
{ "5112a", AR5K_VERSION_RAD, AR5K_SREV_RAD_5112A }, \
{ "2112", AR5K_VERSION_RAD, AR5K_SREV_RAD_2112 }, \
{ "2112a", AR5K_VERSION_RAD, AR5K_SREV_RAD_2112A }, \
- { "2413", AR5K_VERSION_RAD, AR5K_SREV_RAD_2413 }, \
- { "2414", AR5K_VERSION_RAD, AR5K_SREV_RAD_5413 }, \
- { "5424", AR5K_VERSION_RAD, AR5K_SREV_RAD_5424 }, \
+ { "2413", AR5K_VERSION_RAD, AR5K_SREV_RAD_SC0 }, \
+ { "2414", AR5K_VERSION_RAD, AR5K_SREV_RAD_SC1 }, \
+ { "5424", AR5K_VERSION_RAD, AR5K_SREV_RAD_SC2 }, \
{ "xxxx", AR5K_VERSION_RAD, AR5K_SREV_UNKNOWN }, \
{ "2413", AR5K_VERSION_DEV, AR5K_DEVID_AR2413 }, \
{ "5413", AR5K_VERSION_DEV, AR5K_DEVID_AR5413 }, \
@@ -1265,9 +1270,9 @@ struct ar5k_srev_name {
#define AR5K_SREV_RAD_5112A 0x35
#define AR5K_SREV_RAD_2112 0x40
#define AR5K_SREV_RAD_2112A 0x45
-#define AR5K_SREV_RAD_2413 0x56
-#define AR5K_SREV_RAD_5413 0x63
-#define AR5K_SREV_RAD_5424 0xa2
+#define AR5K_SREV_RAD_SC0 0x56
+#define AR5K_SREV_RAD_SC1 0x63
+#define AR5K_SREV_RAD_SC2 0xa2
#define AR5K_SREV_RAD_5133 0xc0
#define AR5K_SREV_RAD_UNSUPP 0xff
@@ -1479,6 +1484,9 @@ struct ar5k_ini {
} ini_mode;
};
+#define AR5K_PCU_MIN 0x8000
+#define AR5K_PCU_MAX 0x8fff
+
#define AR5K_INI_VAL_11A 0
#define AR5K_INI_VAL_11A_TURBO 1
#define AR5K_INI_VAL_11B 2
@@ -1487,6 +1495,11 @@ struct ar5k_ini {
#define AR5K_INI_VAL_XR 0
#define AR5K_INI_VAL_MAX 5
+struct ar5k_mode {
+ u_int16_t mode_register;
+ u_int32_t mode_value[AR5K_INI_VAL_MAX];
+};
+
#define AR5K_INI_PHY_5111 0
#define AR5K_INI_PHY_5112 1
#define AR5K_INI_PHY_511X 1
@@ -1819,143 +1832,445 @@ struct ar5k_ini_rf {
{ 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003 } }, \
}
+#define AR5K_AR5413_INI_RF { \
+ { 1, 0x98d4, \
+ { 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020 } }, \
+ { 2, 0x98d0, \
+ { 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008 } }, \
+ { 3, 0x98dc, \
+ { 0x00a000c0, 0x00a000c0, 0x00e000c0, 0x00e000c0, 0x00e000c0 } }, \
+ { 6, 0x989c, \
+ { 0x33000000, 0x33000000, 0x33000000, 0x33000000, 0x33000000 } }, \
+ { 6, 0x989c, \
+ { 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000 } }, \
+ { 6, 0x989c, \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x1f000000, 0x1f000000, 0x1f000000, 0x1f000000, 0x1f000000 } }, \
+ { 6, 0x989c, \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x00b80000, 0x00b80000, 0x00b80000, 0x00b80000, 0x00b80000 } }, \
+ { 6, 0x989c, \
+ { 0x00b70000, 0x00b70000, 0x00b70000, 0x00b70000, 0x00b70000 } }, \
+ { 6, 0x989c, \
+ { 0x00840000, 0x00840000, 0x00840000, 0x00840000, 0x00840000 } }, \
+ { 6, 0x989c, \
+ { 0x00980000, 0x00980000, 0x00980000, 0x00980000, 0x00980000 } }, \
+ { 6, 0x989c, \
+ { 0x00c00000, 0x00c00000, 0x00c00000, 0x00c00000, 0x00c00000 } }, \
+ { 6, 0x989c, \
+ { 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000 } }, \
+ { 6, 0x989c, \
+ { 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000 } }, \
+ { 6, 0x989c, \
+ { 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000 } }, \
+ { 6, 0x989c, \
+ { 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000 } }, \
+ { 6, 0x989c, \
+ { 0x00d70000, 0x00d70000, 0x00d70000, 0x00d70000, 0x00d70000 } }, \
+ { 6, 0x989c, \
+ { 0x00610000, 0x00610000, 0x00610000, 0x00610000, 0x00610000 } }, \
+ { 6, 0x989c, \
+ { 0x00fe0000, 0x00fe0000, 0x00fe0000, 0x00fe0000, 0x00fe0000 } }, \
+ { 6, 0x989c, \
+ { 0x00de0000, 0x00de0000, 0x00de0000, 0x00de0000, 0x00de0000 } }, \
+ { 6, 0x989c, \
+ { 0x007f0000, 0x007f0000, 0x007f0000, 0x007f0000, 0x007f0000 } }, \
+ { 6, 0x989c, \
+ { 0x043d0000, 0x043d0000, 0x043d0000, 0x043d0000, 0x043d0000 } }, \
+ { 6, 0x989c, \
+ { 0x00770000, 0x00770000, 0x00770000, 0x00770000, 0x00770000 } }, \
+ { 6, 0x989c, \
+ { 0x00440000, 0x00440000, 0x00440000, 0x00440000, 0x00440000 } }, \
+ { 6, 0x989c, \
+ { 0x00980000, 0x00980000, 0x00980000, 0x00980000, 0x00980000 } }, \
+ { 6, 0x989c, \
+ { 0x00100080, 0x00100080, 0x00100080, 0x00100080, 0x00100080 } }, \
+ { 6, 0x989c, \
+ { 0x0005c034, 0x0005c034, 0x0005c034, 0x0005c034, 0x0005c034 } }, \
+ { 6, 0x989c, \
+ { 0x003100f0, 0x003100f0, 0x003100f0, 0x003100f0, 0x003100f0 } }, \
+ { 6, 0x989c, \
+ { 0x000c011f, 0x000c011f, 0x000c011f, 0x000c011f, 0x000c011f } }, \
+ { 6, 0x989c, \
+ { 0x00510040, 0x00510040, 0x005100a0, 0x005100a0, 0x005100a0 } }, \
+ { 6, 0x989c, \
+ { 0x0050006a, 0x0050006a, 0x005000dd, 0x005000dd, 0x005000dd } }, \
+ { 6, 0x989c, \
+ { 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x00004044, 0x00004044, 0x00004044, 0x00004044, 0x00004044 } }, \
+ { 6, 0x989c, \
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, \
+ { 0x000060c0, 0x000060c0, 0x000060c0, 0x000060c0, 0x000060c0 } }, \
+ { 6, 0x989c, \
+ { 0x00002c00, 0x00002c00, 0x00003600, 0x00003600, 0x00003600 } }, \
+ { 6, 0x98c8, \
+ { 0x00000403, 0x00000403, 0x00040403, 0x00040403, 0x00040403 } }, \
+ { 7, 0x989c, \
+ { 0x00006400, 0x00006400, 0x00006400, 0x00006400, 0x00006400 } }, \
+ { 7, 0x989c, \
+ { 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800 } }, \
+ { 7, 0x98cc, \
+ { 0x0000000e, 0x0000000e, 0x0000000e, 0x0000000e, 0x0000000e } }, \
+}
+
+#define AR5K_AR2413_INI_RF { \
+ { 1, 0x98d4, { 0, 0, 0x00000020, 0x00000020, 0x00000020 } }, \
+ { 2, 0x98d0, { 0, 0, 0x02001408, 0x02001408, 0x02001408 } }, \
+ { 3, 0x98dc, { 0, 0, 0x00e020c0, 0x00e020c0, 0x00e020c0 } }, \
+ { 6, 0x989c, { 0, 0, 0xf0000000, 0xf0000000, 0xf0000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x03000000, 0x03000000, 0x03000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x40400000, 0x40400000, 0x40400000 } }, \
+ { 6, 0x989c, { 0, 0, 0x65050000, 0x65050000, 0x65050000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00420000, 0x00420000, 0x00420000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00b50000, 0x00b50000, 0x00b50000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00030000, 0x00030000, 0x00030000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00f70000, 0x00f70000, 0x00f70000 } }, \
+ { 6, 0x989c, { 0, 0, 0x009d0000, 0x009d0000, 0x009d0000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00220000, 0x00220000, 0x00220000 } }, \
+ { 6, 0x989c, { 0, 0, 0x04220000, 0x04220000, 0x04220000 } }, \
+ { 6, 0x989c, { 0, 0, 0x00230018, 0x00230018, 0x00230018 } }, \
+ { 6, 0x989c, { 0, 0, 0x00280050, 0x00280050, 0x00280050 } }, \
+ { 6, 0x989c, { 0, 0, 0x005000c3, 0x005000c3, 0x005000c3 } }, \
+ { 6, 0x989c, { 0, 0, 0x0004007f, 0x0004007f, 0x0004007f } }, \
+ { 6, 0x989c, { 0, 0, 0x00000458, 0x00000458, 0x00000458 } }, \
+ { 6, 0x989c, { 0, 0, 0x00000000, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0x0000c000, 0x0000c000, 0x0000c000 } }, \
+ { 6, 0x98d8, { 0, 0, 0x00400230, 0x00400230, 0x00400230 } }, \
+ { 7, 0x989c, { 0, 0, 0x00006400, 0x00006400, 0x00006400 } }, \
+ { 7, 0x989c, { 0, 0, 0x00000800, 0x00000800, 0x00000800 } }, \
+ { 7, 0x98cc, { 0, 0, 0x0000000e, 0x0000000e, 0x0000000e } }, \
+}
+
+#define AR5K_AR2425_INI_RF { \
+ { 1, 0x98d4, { 0, 0, 0, 0x00000020, 0x00000020 } }, \
+ { 2, 0x98d0, { 0, 0, 0, 0x02001408, 0x02001408 } }, \
+ { 3, 0x98dc, { 0, 0, 0, 0x00e020c0, 0x00e020c0 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x10000000, 0x10000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x002a0000, 0x002a0000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00100000, 0x00100000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00020000, 0x00020000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00730000, 0x00730000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00f80000, 0x00f80000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00e70000, 0x00e70000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00140000, 0x00140000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00910040, 0x00910040 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x0007001a, 0x0007001a } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00410000, 0x00410000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00810060, 0x00810060 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00020803, 0x00020803 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00000000, 0x00000000 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00001660, 0x00001660 } }, \
+ { 6, 0x989c, { 0, 0, 0, 0x00001688, 0x00001688 } }, \
+ { 6, 0x98c4, { 0, 0, 0, 0x00000001, 0x00000001 } }, \
+ { 7, 0x989c, { 0, 0, 0, 0x00006400, 0x00006400 } }, \
+ { 7, 0x989c, { 0, 0, 0, 0x00000800, 0x00000800 } }, \
+ { 7, 0x98cc, { 0, 0, 0, 0x0000000e, 0x0000000e } } \
+}
+
struct ar5k_ini_rfgain {
u_int16_t rfg_register;
- u_int32_t rfg_value[2][2];
+ u_int32_t rfg_value[2];
#define AR5K_INI_RFGAIN_5GHZ 0
#define AR5K_INI_RFGAIN_2GHZ 1
+#define AR5K_INI_RFGAIN(_n) (0x9a00 + ((_n) << 2))
};
-#define AR5K_INI_RFGAIN { \
- { 0x9a00, { \
- { 0x000001a9, 0x00000000 }, { 0x00000007, 0x00000007 } } }, \
- { 0x9a04, { \
- { 0x000001e9, 0x00000040 }, { 0x00000047, 0x00000047 } } }, \
- { 0x9a08, { \
- { 0x00000029, 0x00000080 }, { 0x00000087, 0x00000087 } } }, \
- { 0x9a0c, { \
- { 0x00000069, 0x00000150 }, { 0x000001a0, 0x000001a0 } } }, \
- { 0x9a10, { \
- { 0x00000199, 0x00000190 }, { 0x000001e0, 0x000001e0 } } }, \
- { 0x9a14, { \
- { 0x000001d9, 0x000001d0 }, { 0x00000020, 0x00000020 } } }, \
- { 0x9a18, { \
- { 0x00000019, 0x00000010 }, { 0x00000060, 0x00000060 } } }, \
- { 0x9a1c, { \
- { 0x00000059, 0x00000044 }, { 0x000001a1, 0x000001a1 } } }, \
- { 0x9a20, { \
- { 0x00000099, 0x00000084 }, { 0x000001e1, 0x000001e1 } } }, \
- { 0x9a24, { \
- { 0x000001a5, 0x00000148 }, { 0x00000021, 0x00000021 } } }, \
- { 0x9a28, { \
- { 0x000001e5, 0x00000188 }, { 0x00000061, 0x00000061 } } }, \
- { 0x9a2c, { \
- { 0x00000025, 0x000001c8 }, { 0x00000162, 0x00000162 } } }, \
- { 0x9a30, { \
- { 0x000001c8, 0x00000014 }, { 0x000001a2, 0x000001a2 } } }, \
- { 0x9a34, { \
- { 0x00000008, 0x00000042 }, { 0x000001e2, 0x000001e2 } } }, \
- { 0x9a38, { \
- { 0x00000048, 0x00000082 }, { 0x00000022, 0x00000022 } } }, \
- { 0x9a3c, { \
- { 0x00000088, 0x00000178 }, { 0x00000062, 0x00000062 } } }, \
- { 0x9a40, { \
- { 0x00000198, 0x000001b8 }, { 0x00000163, 0x00000163 } } }, \
- { 0x9a44, { \
- { 0x000001d8, 0x000001f8 }, { 0x000001a3, 0x000001a3 } } }, \
- { 0x9a48, { \
- { 0x00000018, 0x00000012 }, { 0x000001e3, 0x000001e3 } } }, \
- { 0x9a4c, { \
- { 0x00000058, 0x00000052 }, { 0x00000023, 0x00000023 } } }, \
- { 0x9a50, { \
- { 0x00000098, 0x00000092 }, { 0x00000063, 0x00000063 } } }, \
- { 0x9a54, { \
- { 0x000001a4, 0x0000017c }, { 0x00000184, 0x00000184 } } }, \
- { 0x9a58, { \
- { 0x000001e4, 0x000001bc }, { 0x000001c4, 0x000001c4 } } }, \
- { 0x9a5c, { \
- { 0x00000024, 0x000001fc }, { 0x00000004, 0x00000004 } } }, \
- { 0x9a60, { \
- { 0x00000064, 0x0000000a }, { 0x000001ea, 0x0000000b } } }, \
- { 0x9a64, { \
- { 0x000000a4, 0x0000004a }, { 0x0000002a, 0x0000004b } } }, \
- { 0x9a68, { \
- { 0x000000e4, 0x0000008a }, { 0x0000006a, 0x0000008b } } }, \
- { 0x9a6c, { \
- { 0x0000010a, 0x0000015a }, { 0x000000aa, 0x000001ac } } }, \
- { 0x9a70, { \
- { 0x0000014a, 0x0000019a }, { 0x000001ab, 0x000001ec } } }, \
- { 0x9a74, { \
- { 0x0000018a, 0x000001da }, { 0x000001eb, 0x0000002c } } }, \
- { 0x9a78, { \
- { 0x000001ca, 0x0000000e }, { 0x0000002b, 0x00000012 } } }, \
- { 0x9a7c, { \
- { 0x0000000a, 0x0000004e }, { 0x0000006b, 0x00000052 } } }, \
- { 0x9a80, { \
- { 0x0000004a, 0x0000008e }, { 0x000000ab, 0x00000092 } } }, \
- { 0x9a84, { \
- { 0x0000008a, 0x0000015e }, { 0x000001ac, 0x00000193 } } }, \
- { 0x9a88, { \
- { 0x000001ba, 0x0000019e }, { 0x000001ec, 0x000001d3 } } }, \
- { 0x9a8c, { \
- { 0x000001fa, 0x000001de }, { 0x0000002c, 0x00000013 } } }, \
- { 0x9a90, { \
- { 0x0000003a, 0x00000009 }, { 0x0000003a, 0x00000053 } } }, \
- { 0x9a94, { \
- { 0x0000007a, 0x00000049 }, { 0x0000007a, 0x00000093 } } }, \
- { 0x9a98, { \
- { 0x00000186, 0x00000089 }, { 0x000000ba, 0x00000194 } } }, \
- { 0x9a9c, { \
- { 0x000001c6, 0x00000179 }, { 0x000001bb, 0x000001d4 } } }, \
- { 0x9aa0, { \
- { 0x00000006, 0x000001b9 }, { 0x000001fb, 0x00000014 } } }, \
- { 0x9aa4, { \
- { 0x00000046, 0x000001f9 }, { 0x0000003b, 0x0000003a } } }, \
- { 0x9aa8, { \
- { 0x00000086, 0x00000039 }, { 0x0000007b, 0x0000007a } } }, \
- { 0x9aac, { \
- { 0x000000c6, 0x00000079 }, { 0x000000bb, 0x000000ba } } }, \
- { 0x9ab0, { \
- { 0x000000c6, 0x000000b9 }, { 0x000001bc, 0x000001bb } } }, \
- { 0x9ab4, { \
- { 0x000000c6, 0x000001bd }, { 0x000001fc, 0x000001fb } } }, \
- { 0x9ab8, { \
- { 0x000000c6, 0x000001fd }, { 0x0000003c, 0x0000003b } } }, \
- { 0x9abc, { \
- { 0x000000c6, 0x0000003d }, { 0x0000007c, 0x0000007b } } }, \
- { 0x9ac0, { \
- { 0x000000c6, 0x0000007d }, { 0x000000bc, 0x000000bb } } }, \
- { 0x9ac4, { \
- { 0x000000c6, 0x000000bd }, { 0x000000fc, 0x000001bc } } }, \
- { 0x9ac8, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000001fc } } }, \
- { 0x9acc, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x0000003c } } }, \
- { 0x9ad0, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x0000007c } } }, \
- { 0x9ad4, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000bc } } }, \
- { 0x9ad8, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9adc, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9ae0, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9ae4, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9ae8, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9aec, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9af0, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9af4, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9af8, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
- { 0x9afc, { \
- { 0x000000c6, 0x000000fd }, { 0x000000fc, 0x000000fc } } }, \
+#define AR5K_AR5111_INI_RFGAIN { \
+ { AR5K_INI_RFGAIN(0), { 0x000001a9, 0x00000000 } }, \
+ { AR5K_INI_RFGAIN(1), { 0x000001e9, 0x00000040 } }, \
+ { AR5K_INI_RFGAIN(2), { 0x00000029, 0x00000080 } }, \
+ { AR5K_INI_RFGAIN(3), { 0x00000069, 0x00000150 } }, \
+ { AR5K_INI_RFGAIN(4), { 0x00000199, 0x00000190 } }, \
+ { AR5K_INI_RFGAIN(5), { 0x000001d9, 0x000001d0 } }, \
+ { AR5K_INI_RFGAIN(6), { 0x00000019, 0x00000010 } }, \
+ { AR5K_INI_RFGAIN(7), { 0x00000059, 0x00000044 } }, \
+ { AR5K_INI_RFGAIN(8), { 0x00000099, 0x00000084 } }, \
+ { AR5K_INI_RFGAIN(9), { 0x000001a5, 0x00000148 } }, \
+ { AR5K_INI_RFGAIN(10), { 0x000001e5, 0x00000188 } }, \
+ { AR5K_INI_RFGAIN(11), { 0x00000025, 0x000001c8 } }, \
+ { AR5K_INI_RFGAIN(12), { 0x000001c8, 0x00000014 } }, \
+ { AR5K_INI_RFGAIN(13), { 0x00000008, 0x00000042 } }, \
+ { AR5K_INI_RFGAIN(14), { 0x00000048, 0x00000082 } }, \
+ { AR5K_INI_RFGAIN(15), { 0x00000088, 0x00000178 } }, \
+ { AR5K_INI_RFGAIN(16), { 0x00000198, 0x000001b8 } }, \
+ { AR5K_INI_RFGAIN(17), { 0x000001d8, 0x000001f8 } }, \
+ { AR5K_INI_RFGAIN(18), { 0x00000018, 0x00000012 } }, \
+ { AR5K_INI_RFGAIN(19), { 0x00000058, 0x00000052 } }, \
+ { AR5K_INI_RFGAIN(20), { 0x00000098, 0x00000092 } }, \
+ { AR5K_INI_RFGAIN(21), { 0x000001a4, 0x0000017c } }, \
+ { AR5K_INI_RFGAIN(22), { 0x000001e4, 0x000001bc } }, \
+ { AR5K_INI_RFGAIN(23), { 0x00000024, 0x000001fc } }, \
+ { AR5K_INI_RFGAIN(24), { 0x00000064, 0x0000000a } }, \
+ { AR5K_INI_RFGAIN(25), { 0x000000a4, 0x0000004a } }, \
+ { AR5K_INI_RFGAIN(26), { 0x000000e4, 0x0000008a } }, \
+ { AR5K_INI_RFGAIN(27), { 0x0000010a, 0x0000015a } }, \
+ { AR5K_INI_RFGAIN(28), { 0x0000014a, 0x0000019a } }, \
+ { AR5K_INI_RFGAIN(29), { 0x0000018a, 0x000001da } }, \
+ { AR5K_INI_RFGAIN(30), { 0x000001ca, 0x0000000e } }, \
+ { AR5K_INI_RFGAIN(31), { 0x0000000a, 0x0000004e } }, \
+ { AR5K_INI_RFGAIN(32), { 0x0000004a, 0x0000008e } }, \
+ { AR5K_INI_RFGAIN(33), { 0x0000008a, 0x0000015e } }, \
+ { AR5K_INI_RFGAIN(34), { 0x000001ba, 0x0000019e } }, \
+ { AR5K_INI_RFGAIN(35), { 0x000001fa, 0x000001de } }, \
+ { AR5K_INI_RFGAIN(36), { 0x0000003a, 0x00000009 } }, \
+ { AR5K_INI_RFGAIN(37), { 0x0000007a, 0x00000049 } }, \
+ { AR5K_INI_RFGAIN(38), { 0x00000186, 0x00000089 } }, \
+ { AR5K_INI_RFGAIN(39), { 0x000001c6, 0x00000179 } }, \
+ { AR5K_INI_RFGAIN(40), { 0x00000006, 0x000001b9 } }, \
+ { AR5K_INI_RFGAIN(41), { 0x00000046, 0x000001f9 } }, \
+ { AR5K_INI_RFGAIN(42), { 0x00000086, 0x00000039 } }, \
+ { AR5K_INI_RFGAIN(43), { 0x000000c6, 0x00000079 } }, \
+ { AR5K_INI_RFGAIN(44), { 0x000000c6, 0x000000b9 } }, \
+ { AR5K_INI_RFGAIN(45), { 0x000000c6, 0x000001bd } }, \
+ { AR5K_INI_RFGAIN(46), { 0x000000c6, 0x000001fd } }, \
+ { AR5K_INI_RFGAIN(47), { 0x000000c6, 0x0000003d } }, \
+ { AR5K_INI_RFGAIN(48), { 0x000000c6, 0x0000007d } }, \
+ { AR5K_INI_RFGAIN(49), { 0x000000c6, 0x000000bd } }, \
+ { AR5K_INI_RFGAIN(50), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(51), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(52), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(53), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(54), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(55), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(56), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(57), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(58), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(59), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(60), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(61), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(62), { 0x000000c6, 0x000000fd } }, \
+ { AR5K_INI_RFGAIN(63), { 0x000000c6, 0x000000fd } } \
+}
+
+#define AR5K_AR5112_INI_RFGAIN { \
+ { AR5K_INI_RFGAIN(0), { 0x00000007, 0x00000007 } }, \
+ { AR5K_INI_RFGAIN(1), { 0x00000047, 0x00000047 } }, \
+ { AR5K_INI_RFGAIN(2), { 0x00000087, 0x00000087 } }, \
+ { AR5K_INI_RFGAIN(3), { 0x000001a0, 0x000001a0 } }, \
+ { AR5K_INI_RFGAIN(4), { 0x000001e0, 0x000001e0 } }, \
+ { AR5K_INI_RFGAIN(5), { 0x00000020, 0x00000020 } }, \
+ { AR5K_INI_RFGAIN(6), { 0x00000060, 0x00000060 } }, \
+ { AR5K_INI_RFGAIN(7), { 0x000001a1, 0x000001a1 } }, \
+ { AR5K_INI_RFGAIN(8), { 0x000001e1, 0x000001e1 } }, \
+ { AR5K_INI_RFGAIN(9), { 0x00000021, 0x00000021 } }, \
+ { AR5K_INI_RFGAIN(10), { 0x00000061, 0x00000061 } }, \
+ { AR5K_INI_RFGAIN(11), { 0x00000162, 0x00000162 } }, \
+ { AR5K_INI_RFGAIN(12), { 0x000001a2, 0x000001a2 } }, \
+ { AR5K_INI_RFGAIN(13), { 0x000001e2, 0x000001e2 } }, \
+ { AR5K_INI_RFGAIN(14), { 0x00000022, 0x00000022 } }, \
+ { AR5K_INI_RFGAIN(15), { 0x00000062, 0x00000062 } }, \
+ { AR5K_INI_RFGAIN(16), { 0x00000163, 0x00000163 } }, \
+ { AR5K_INI_RFGAIN(17), { 0x000001a3, 0x000001a3 } }, \
+ { AR5K_INI_RFGAIN(18), { 0x000001e3, 0x000001e3 } }, \
+ { AR5K_INI_RFGAIN(19), { 0x00000023, 0x00000023 } }, \
+ { AR5K_INI_RFGAIN(20), { 0x00000063, 0x00000063 } }, \
+ { AR5K_INI_RFGAIN(21), { 0x00000184, 0x00000184 } }, \
+ { AR5K_INI_RFGAIN(22), { 0x000001c4, 0x000001c4 } }, \
+ { AR5K_INI_RFGAIN(23), { 0x00000004, 0x00000004 } }, \
+ { AR5K_INI_RFGAIN(24), { 0x000001ea, 0x0000000b } }, \
+ { AR5K_INI_RFGAIN(25), { 0x0000002a, 0x0000004b } }, \
+ { AR5K_INI_RFGAIN(26), { 0x0000006a, 0x0000008b } }, \
+ { AR5K_INI_RFGAIN(27), { 0x000000aa, 0x000001ac } }, \
+ { AR5K_INI_RFGAIN(28), { 0x000001ab, 0x000001ec } }, \
+ { AR5K_INI_RFGAIN(29), { 0x000001eb, 0x0000002c } }, \
+ { AR5K_INI_RFGAIN(30), { 0x0000002b, 0x00000012 } }, \
+ { AR5K_INI_RFGAIN(31), { 0x0000006b, 0x00000052 } }, \
+ { AR5K_INI_RFGAIN(32), { 0x000000ab, 0x00000092 } }, \
+ { AR5K_INI_RFGAIN(33), { 0x000001ac, 0x00000193 } }, \
+ { AR5K_INI_RFGAIN(34), { 0x000001ec, 0x000001d3 } }, \
+ { AR5K_INI_RFGAIN(35), { 0x0000002c, 0x00000013 } }, \
+ { AR5K_INI_RFGAIN(36), { 0x0000003a, 0x00000053 } }, \
+ { AR5K_INI_RFGAIN(37), { 0x0000007a, 0x00000093 } }, \
+ { AR5K_INI_RFGAIN(38), { 0x000000ba, 0x00000194 } }, \
+ { AR5K_INI_RFGAIN(39), { 0x000001bb, 0x000001d4 } }, \
+ { AR5K_INI_RFGAIN(40), { 0x000001fb, 0x00000014 } }, \
+ { AR5K_INI_RFGAIN(41), { 0x0000003b, 0x0000003a } }, \
+ { AR5K_INI_RFGAIN(42), { 0x0000007b, 0x0000007a } }, \
+ { AR5K_INI_RFGAIN(43), { 0x000000bb, 0x000000ba } }, \
+ { AR5K_INI_RFGAIN(44), { 0x000001bc, 0x000001bb } }, \
+ { AR5K_INI_RFGAIN(45), { 0x000001fc, 0x000001fb } }, \
+ { AR5K_INI_RFGAIN(46), { 0x0000003c, 0x0000003b } }, \
+ { AR5K_INI_RFGAIN(47), { 0x0000007c, 0x0000007b } }, \
+ { AR5K_INI_RFGAIN(48), { 0x000000bc, 0x000000bb } }, \
+ { AR5K_INI_RFGAIN(49), { 0x000000fc, 0x000001bc } }, \
+ { AR5K_INI_RFGAIN(50), { 0x000000fc, 0x000001fc } }, \
+ { AR5K_INI_RFGAIN(51), { 0x000000fc, 0x0000003c } }, \
+ { AR5K_INI_RFGAIN(52), { 0x000000fc, 0x0000007c } }, \
+ { AR5K_INI_RFGAIN(53), { 0x000000fc, 0x000000bc } }, \
+ { AR5K_INI_RFGAIN(54), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(55), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(56), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(57), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(58), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(59), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(60), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(61), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(62), { 0x000000fc, 0x000000fc } }, \
+ { AR5K_INI_RFGAIN(63), { 0x000000fc, 0x000000fc } }, \
+}
+
+#define AR5K_AR5413_INI_RFGAIN { \
+ { AR5K_INI_RFGAIN(0), { 0x00000000, 0x00000000 } }, \
+ { AR5K_INI_RFGAIN(1), { 0x00000040, 0x00000040 } }, \
+ { AR5K_INI_RFGAIN(2), { 0x00000080, 0x00000080 } }, \
+ { AR5K_INI_RFGAIN(3), { 0x000001a1, 0x00000161 } }, \
+ { AR5K_INI_RFGAIN(4), { 0x000001e1, 0x000001a1 } }, \
+ { AR5K_INI_RFGAIN(5), { 0x00000021, 0x000001e1 } }, \
+ { AR5K_INI_RFGAIN(6), { 0x00000061, 0x00000021 } }, \
+ { AR5K_INI_RFGAIN(7), { 0x00000188, 0x00000061 } }, \
+ { AR5K_INI_RFGAIN(8), { 0x000001c8, 0x00000188 } }, \
+ { AR5K_INI_RFGAIN(9), { 0x00000008, 0x000001c8 } }, \
+ { AR5K_INI_RFGAIN(10), { 0x00000048, 0x00000008 } }, \
+ { AR5K_INI_RFGAIN(11), { 0x00000088, 0x00000048 } }, \
+ { AR5K_INI_RFGAIN(12), { 0x000001a9, 0x00000088 } }, \
+ { AR5K_INI_RFGAIN(13), { 0x000001e9, 0x00000169 } }, \
+ { AR5K_INI_RFGAIN(14), { 0x00000029, 0x000001a9 } }, \
+ { AR5K_INI_RFGAIN(15), { 0x00000069, 0x000001e9 } }, \
+ { AR5K_INI_RFGAIN(16), { 0x000001d0, 0x00000029 } }, \
+ { AR5K_INI_RFGAIN(17), { 0x00000010, 0x00000069 } }, \
+ { AR5K_INI_RFGAIN(18), { 0x00000050, 0x00000190 } }, \
+ { AR5K_INI_RFGAIN(19), { 0x00000090, 0x000001d0 } }, \
+ { AR5K_INI_RFGAIN(20), { 0x000001b1, 0x00000010 } }, \
+ { AR5K_INI_RFGAIN(21), { 0x000001f1, 0x00000050 } }, \
+ { AR5K_INI_RFGAIN(22), { 0x00000031, 0x00000090 } }, \
+ { AR5K_INI_RFGAIN(23), { 0x00000071, 0x00000171 } }, \
+ { AR5K_INI_RFGAIN(24), { 0x000001b8, 0x000001b1 } }, \
+ { AR5K_INI_RFGAIN(25), { 0x000001f8, 0x000001f1 } }, \
+ { AR5K_INI_RFGAIN(26), { 0x00000038, 0x00000031 } }, \
+ { AR5K_INI_RFGAIN(27), { 0x00000078, 0x00000071 } }, \
+ { AR5K_INI_RFGAIN(28), { 0x00000199, 0x00000198 } }, \
+ { AR5K_INI_RFGAIN(29), { 0x000001d9, 0x000001d8 } }, \
+ { AR5K_INI_RFGAIN(30), { 0x00000019, 0x00000018 } }, \
+ { AR5K_INI_RFGAIN(31), { 0x00000059, 0x00000058 } }, \
+ { AR5K_INI_RFGAIN(32), { 0x00000099, 0x00000098 } }, \
+ { AR5K_INI_RFGAIN(33), { 0x000000d9, 0x00000179 } }, \
+ { AR5K_INI_RFGAIN(34), { 0x000000f9, 0x000001b9 } }, \
+ { AR5K_INI_RFGAIN(35), { 0x000000f9, 0x000001f9 } }, \
+ { AR5K_INI_RFGAIN(36), { 0x000000f9, 0x00000039 } }, \
+ { AR5K_INI_RFGAIN(37), { 0x000000f9, 0x00000079 } }, \
+ { AR5K_INI_RFGAIN(38), { 0x000000f9, 0x000000b9 } }, \
+ { AR5K_INI_RFGAIN(39), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(40), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(41), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(42), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(43), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(44), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(45), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(46), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(47), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(48), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(49), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(50), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(51), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(52), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(53), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(54), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(55), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(56), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(57), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(58), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(59), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(60), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(61), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(62), { 0x000000f9, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(63), { 0x000000f9, 0x000000f9 } } \
+}
+
+#define AR5K_AR2413_INI_RFGAIN { \
+ { AR5K_INI_RFGAIN(0), { 0, 0x00000000 } }, \
+ { AR5K_INI_RFGAIN(1), { 0, 0x00000040 } }, \
+ { AR5K_INI_RFGAIN(2), { 0, 0x00000080 } }, \
+ { AR5K_INI_RFGAIN(3), { 0, 0x00000181 } }, \
+ { AR5K_INI_RFGAIN(4), { 0, 0x000001c1 } }, \
+ { AR5K_INI_RFGAIN(5), { 0, 0x00000001 } }, \
+ { AR5K_INI_RFGAIN(6), { 0, 0x00000041 } }, \
+ { AR5K_INI_RFGAIN(7), { 0, 0x00000081 } }, \
+ { AR5K_INI_RFGAIN(8), { 0, 0x00000168 } }, \
+ { AR5K_INI_RFGAIN(9), { 0, 0x000001a8 } }, \
+ { AR5K_INI_RFGAIN(10), { 0, 0x000001e8 } }, \
+ { AR5K_INI_RFGAIN(11), { 0, 0x00000028 } }, \
+ { AR5K_INI_RFGAIN(12), { 0, 0x00000068 } }, \
+ { AR5K_INI_RFGAIN(13), { 0, 0x00000189 } }, \
+ { AR5K_INI_RFGAIN(14), { 0, 0x000001c9 } }, \
+ { AR5K_INI_RFGAIN(15), { 0, 0x00000009 } }, \
+ { AR5K_INI_RFGAIN(16), { 0, 0x00000049 } }, \
+ { AR5K_INI_RFGAIN(17), { 0, 0x00000089 } }, \
+ { AR5K_INI_RFGAIN(18), { 0, 0x00000190 } }, \
+ { AR5K_INI_RFGAIN(19), { 0, 0x000001d0 } }, \
+ { AR5K_INI_RFGAIN(20), { 0, 0x00000010 } }, \
+ { AR5K_INI_RFGAIN(21), { 0, 0x00000050 } }, \
+ { AR5K_INI_RFGAIN(22), { 0, 0x00000090 } }, \
+ { AR5K_INI_RFGAIN(23), { 0, 0x00000191 } }, \
+ { AR5K_INI_RFGAIN(24), { 0, 0x000001d1 } }, \
+ { AR5K_INI_RFGAIN(25), { 0, 0x00000011 } }, \
+ { AR5K_INI_RFGAIN(26), { 0, 0x00000051 } }, \
+ { AR5K_INI_RFGAIN(27), { 0, 0x00000091 } }, \
+ { AR5K_INI_RFGAIN(28), { 0, 0x00000178 } }, \
+ { AR5K_INI_RFGAIN(29), { 0, 0x000001b8 } }, \
+ { AR5K_INI_RFGAIN(30), { 0, 0x000001f8 } }, \
+ { AR5K_INI_RFGAIN(31), { 0, 0x00000038 } }, \
+ { AR5K_INI_RFGAIN(32), { 0, 0x00000078 } }, \
+ { AR5K_INI_RFGAIN(33), { 0, 0x00000199 } }, \
+ { AR5K_INI_RFGAIN(34), { 0, 0x000001d9 } }, \
+ { AR5K_INI_RFGAIN(35), { 0, 0x00000019 } }, \
+ { AR5K_INI_RFGAIN(36), { 0, 0x00000059 } }, \
+ { AR5K_INI_RFGAIN(37), { 0, 0x00000099 } }, \
+ { AR5K_INI_RFGAIN(38), { 0, 0x000000d9 } }, \
+ { AR5K_INI_RFGAIN(39), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(40), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(41), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(42), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(43), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(44), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(45), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(46), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(47), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(48), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(49), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(50), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(51), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(52), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(53), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(54), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(55), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(56), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(57), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(58), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(59), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(60), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(61), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(62), { 0, 0x000000f9 } }, \
+ { AR5K_INI_RFGAIN(63), { 0, 0x000000f9 } }, \
}
/*
@@ -1999,11 +2314,16 @@ HAL_BOOL ar5k_rfregs(struct ath_hal *, HAL_CHANNEL *, u_int);
u_int32_t ar5k_rfregs_gainf_corr(struct ath_hal *);
HAL_BOOL ar5k_rfregs_gain_readback(struct ath_hal *);
int32_t ar5k_rfregs_gain_adjust(struct ath_hal *);
-HAL_BOOL ar5k_rfgain(struct ath_hal *, u_int, u_int);
+HAL_BOOL ar5k_rfgain(struct ath_hal *, u_int);
void ar5k_txpower_table(struct ath_hal *, HAL_CHANNEL *,
int16_t);
+void ar5k_write_ini(struct ath_hal *,
+ const struct ar5k_ini *, size_t, HAL_BOOL);
+void ar5k_write_mode(struct ath_hal *,
+ const struct ar5k_mode *, size_t, u_int);
+
__END_DECLS
#endif /* _AR5K_H */