This patch-set contain patches for the initvals tool.
The first seven patches are fixing minor bugs, the next
three imporves the code a bit and the last four patches
are adding suport for AR9550.
Changes since v1:
- rebase against the current version
- add four new patch to fix more issues
Gabor Juhos (13):
qca-swiss-army-knife: refresh checksums.txt
qca-swiss-army-knife: fix ar9330_1p2_initvals.h
qca-swiss-army-knife: print AR9565 initvals
qca-swiss-army-knife: fix comment in ar9340_initvals.h
qca-swiss-army-knife: add missing families to verify_checksums.sh
qca-swiss-army-knife: fix string length for ar9340
qca-swiss-army-knife: add ar9462-2p0 to the usage text
qca-swiss-army-knife: reformat INI_PRINT_* macros
qca-swiss-army-knife: simplify initval family handling
qca-swiss-army-knife: allow to print initvals with more than 5 columns
qca-swiss-army-knife: add initval support for AR955X
qca-swiss-army-knife: add checksums for AR955X initvals
qca-swiss-army-knife: allow to verify AR955X initvals
tools/initvals/Makefile | 2 +
tools/initvals/ar9330_1p2_initvals.h | 132 +++-
tools/initvals/ar9340_initvals.h | 2 +-
tools/initvals/ar955x_1p0_initvals.h | 1284 ++++++++++++++++++++++++++++++++++
tools/initvals/checksums.txt | 89 ++-
tools/initvals/initvals.c | 315 +++++----
tools/initvals/verify_checksums.sh | 2 +-
7 files changed, 1659 insertions(+), 167 deletions(-)
create mode 100644 tools/initvals/ar955x_1p0_initvals.h
--
1.7.10
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/initvals.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index cff2c4e..0ab4d7f 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -795,7 +795,7 @@ static void usage()
{
printf("Usage: initvals [-w] "
"[-f ar5008 | ar9001 | ar9002 | "
- "ar9003-2p2 | ar9330-1p1 | ar9330-1p2 | ar9485 | ar9580-1p0 | ar9565-1p0 ]\n");
+ "ar9003-2p2 | ar9330-1p1 | ar9330-1p2 | ar9462-2p0 | ar9485 | ar9580-1p0 | ar9565-1p0 ]\n");
}
static void print_initvals_family(char *family, bool check)
--
1.7.10
On Fri, Dec 7, 2012 at 8:23 AM, Gabor Juhos <[email protected]> wrote:
> 2012.12.07. 0:02 keltezéssel, Luis R. Rodriguez írta:
>> On Thu, Dec 6, 2012 at 10:17 AM, Gabor Juhos <[email protected]> wrote:
>>> @@ -416,19 +423,26 @@ static u32 ath9k_patch_initval(u32 idx, u32 val)
>>> return val;
>>> }
>>>
>>> -static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows, u32 columns, bool onedim)
>>> +static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
>>> + u32 columns, bool onedim, bool wide)
>>> {
>>> - u32 p_columns = columns > 5 ? 5 : columns;
>>> + u32 p_columns;
>>> u32 col, row;
>>>
>>> - /*
>>> - * This checksum stuff is designed for columns <= 8),
>>> - * and spreads the checksum over 64 bits but since currently
>>> - * the initval max column size is 6 we only use the first 48
>>> - * bits.
>>> - */
>>> - if (columns > 6)
>>> - return;
>>> + if (wide) {
>>> + p_columns = columns;
>>> + } else {
>>> + p_columns = columns > 5 ? 5 : columns;
>>> +
>>> + /*
>>> + * This checksum stuff is designed for columns <= 8),
>>> + * and spreads the checksum over 64 bits but since currently
>>> + * the initval max column size is 6 we only use the first 48
>>> + * bits.
>>> + */
>>> + if (columns > 6)
>>> + return;
>>> + }
>>
>> The comment here was for the case that we were using the old nasty
>> checksum thingy I invented, prior to you adding SHA1 checksum support.
>> The column limitation therefore seems artificial here ?
>
> Well, the comment and the 'if (columns > 6)' block can be removed.
> However, the
> p_columns = columns > 5 ? 5 : columns;
> line ensures that we don't print the values for 'Turbo' modes. Although it can
> be removed (along with the 'wide' argument) but that needs more changes.
Sure.
>> Also, as per Adrian's advice on the eeprom dump tool, perhaps we can
>> remove clutter from the initvals tool by allowing us to copy to the
>> local directory the initval files from a linux-next tag.
>>
>> git show next-20121204:drivers/net/wireless/ath/ath9k/ar9002_initvals.h
>>> path/ar9002_initvals.h
>>
>> For example. But this would mean requiring us to get diffs by using a
>> kernel git tree, separate from where we are. Not sure if there are
>> gains with this strategy. Its unclear.
>
> Copying the initval headers from a git tree would add unnecessary complexity
> IMHO. If we want to check the validity of the initval headers in a given kernel
> tree, that can be achieved in a simpler way. The path which contains the ath9k
> specific initval headers can be defined as an include dir while compiling the
> initval tool.
Makes sense.
Luis
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/Makefile | 1 +
tools/initvals/ar955x_1p0_initvals.h | 1284 ++++++++++++++++++++++++++++++++++
tools/initvals/initvals.c | 44 ++
3 files changed, 1329 insertions(+)
create mode 100644 tools/initvals/ar955x_1p0_initvals.h
diff --git a/tools/initvals/Makefile b/tools/initvals/Makefile
index 35bf82f..010b68c 100644
--- a/tools/initvals/Makefile
+++ b/tools/initvals/Makefile
@@ -20,6 +20,7 @@ ATHEROS_DEPS += \
ar9330_12.ini \
ar9340.ini \
ar9485.ini \
+ ar955x.ini \
ar9580.ini \
ar9300_jupiter20.ini \
ar9300_aphrodite10.ini
diff --git a/tools/initvals/ar955x_1p0_initvals.h b/tools/initvals/ar955x_1p0_initvals.h
new file mode 100644
index 0000000..df97f21
--- /dev/null
+++ b/tools/initvals/ar955x_1p0_initvals.h
@@ -0,0 +1,1284 @@
+/*
+ * Copyright (c) 2010-2011 Atheros Communications Inc.
+ * Copyright (c) 2011-2012 Qualcomm Atheros Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef INITVALS_955X_1P0_H
+#define INITVALS_955X_1P0_H
+
+/* AR955X 1.0 */
+
+static const u32 ar955x_1p0_radio_postamble[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00016098, 0xd2dd5554, 0xd2dd5554, 0xd28b3330, 0xd28b3330},
+ {0x0001609c, 0x0a566f3a, 0x0a566f3a, 0x06345f2a, 0x06345f2a},
+ {0x000160ac, 0xa4647c00, 0xa4647c00, 0xa4646800, 0xa4646800},
+ {0x000160b0, 0x01885f52, 0x01885f52, 0x04accf3a, 0x04accf3a},
+ {0x00016104, 0xb7a00001, 0xb7a00001, 0xb7a00001, 0xb7a00001},
+ {0x0001610c, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000},
+ {0x00016140, 0x10804008, 0x10804008, 0x10804008, 0x10804008},
+ {0x00016504, 0xb7a00001, 0xb7a00001, 0xb7a00001, 0xb7a00001},
+ {0x0001650c, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000},
+ {0x00016540, 0x10804008, 0x10804008, 0x10804008, 0x10804008},
+ {0x00016904, 0xb7a00001, 0xb7a00001, 0xb7a00001, 0xb7a00001},
+ {0x0001690c, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000},
+ {0x00016940, 0x10804008, 0x10804008, 0x10804008, 0x10804008},
+};
+
+static const u32 ar955x_1p0_baseband_core_txfir_coeff_japan_2484[][2] = {
+ /* Addr allmodes */
+ {0x0000a398, 0x00000000},
+ {0x0000a39c, 0x6f7f0301},
+ {0x0000a3a0, 0xca9228ee},
+};
+
+static const u32 ar955x_1p0_baseband_postamble[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a8011},
+ {0x00009820, 0x206a022e, 0x206a022e, 0x206a012e, 0x206a012e},
+ {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
+ {0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881},
+ {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
+ {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c},
+ {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4},
+ {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0},
+ {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020},
+ {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2},
+ {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec84d2e},
+ {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3379605e, 0x33795d5e},
+ {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
+ {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
+ {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
+ {0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcfa10822, 0xcfa10822},
+ {0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
+ {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
+ {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
+ {0x0000a204, 0x005c0ec0, 0x005c0ec4, 0x005c0ec4, 0x005c0ec0},
+ {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
+ {0x0000a22c, 0x07e26a2f, 0x07e26a2f, 0x01026a2f, 0x01026a2f},
+ {0x0000a230, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b},
+ {0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff},
+ {0x0000a238, 0xffb01018, 0xffb01018, 0xffb01018, 0xffb01018},
+ {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
+ {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
+ {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
+ {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e},
+ {0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501},
+ {0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
+ {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
+ {0x0000a284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
+ {0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110},
+ {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
+ {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
+ {0x0000a2cc, 0x18c50033, 0x18c43433, 0x18c41033, 0x18c44c33},
+ {0x0000a2d0, 0x00041982, 0x00041982, 0x00041982, 0x00041982},
+ {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
+ {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
+ {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000},
+ {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
+ {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce},
+ {0x0000b284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
+ {0x0000b830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
+ {0x0000be04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000},
+ {0x0000be18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000be1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
+ {0x0000be20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce},
+ {0x0000c284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
+};
+
+static const u32 ar955x_1p0_radio_core[][2] = {
+ /* Addr allmodes */
+ {0x00016000, 0x36db6db6},
+ {0x00016004, 0x6db6db40},
+ {0x00016008, 0x73f00000},
+ {0x0001600c, 0x00000000},
+ {0x00016040, 0x7f80fff8},
+ {0x0001604c, 0x76d005b5},
+ {0x00016050, 0x557cf031},
+ {0x00016054, 0x13449440},
+ {0x00016058, 0x0c51c92c},
+ {0x0001605c, 0x3db7fffc},
+ {0x00016060, 0xfffffffc},
+ {0x00016064, 0x000f0278},
+ {0x00016068, 0x6db6db6c},
+ {0x0001606c, 0x6db60000},
+ {0x00016080, 0x00080000},
+ {0x00016084, 0x0e48048c},
+ {0x00016088, 0x14214514},
+ {0x0001608c, 0x119f101e},
+ {0x00016090, 0x24926490},
+ {0x00016094, 0x00000000},
+ {0x000160a0, 0x0a108ffe},
+ {0x000160a4, 0x812fc370},
+ {0x000160a8, 0x423c8000},
+ {0x000160b4, 0x92480080},
+ {0x000160c0, 0x006db6d0},
+ {0x000160c4, 0x6db6db60},
+ {0x000160c8, 0x6db6db6c},
+ {0x000160cc, 0x01e6c000},
+ {0x00016100, 0x11999601},
+ {0x00016108, 0x00080010},
+ {0x00016144, 0x02084080},
+ {0x00016148, 0x000080c0},
+ {0x00016280, 0x01800804},
+ {0x00016284, 0x00038dc5},
+ {0x00016288, 0x00000000},
+ {0x0001628c, 0x00000040},
+ {0x00016380, 0x00000000},
+ {0x00016384, 0x00000000},
+ {0x00016388, 0x00400705},
+ {0x0001638c, 0x00800700},
+ {0x00016390, 0x00800700},
+ {0x00016394, 0x00000000},
+ {0x00016398, 0x00000000},
+ {0x0001639c, 0x00000000},
+ {0x000163a0, 0x00000001},
+ {0x000163a4, 0x00000001},
+ {0x000163a8, 0x00000000},
+ {0x000163ac, 0x00000000},
+ {0x000163b0, 0x00000000},
+ {0x000163b4, 0x00000000},
+ {0x000163b8, 0x00000000},
+ {0x000163bc, 0x00000000},
+ {0x000163c0, 0x000000a0},
+ {0x000163c4, 0x000c0000},
+ {0x000163c8, 0x14021402},
+ {0x000163cc, 0x00001402},
+ {0x000163d0, 0x00000000},
+ {0x000163d4, 0x00000000},
+ {0x00016400, 0x36db6db6},
+ {0x00016404, 0x6db6db40},
+ {0x00016408, 0x73f00000},
+ {0x0001640c, 0x00000000},
+ {0x00016440, 0x7f80fff8},
+ {0x0001644c, 0x76d005b5},
+ {0x00016450, 0x557cf031},
+ {0x00016454, 0x13449440},
+ {0x00016458, 0x0c51c92c},
+ {0x0001645c, 0x3db7fffc},
+ {0x00016460, 0xfffffffc},
+ {0x00016464, 0x000f0278},
+ {0x00016468, 0x6db6db6c},
+ {0x0001646c, 0x6db60000},
+ {0x00016500, 0x11999601},
+ {0x00016508, 0x00080010},
+ {0x00016544, 0x02084080},
+ {0x00016548, 0x000080c0},
+ {0x00016780, 0x00000000},
+ {0x00016784, 0x00000000},
+ {0x00016788, 0x00400705},
+ {0x0001678c, 0x00800700},
+ {0x00016790, 0x00800700},
+ {0x00016794, 0x00000000},
+ {0x00016798, 0x00000000},
+ {0x0001679c, 0x00000000},
+ {0x000167a0, 0x00000001},
+ {0x000167a4, 0x00000001},
+ {0x000167a8, 0x00000000},
+ {0x000167ac, 0x00000000},
+ {0x000167b0, 0x00000000},
+ {0x000167b4, 0x00000000},
+ {0x000167b8, 0x00000000},
+ {0x000167bc, 0x00000000},
+ {0x000167c0, 0x000000a0},
+ {0x000167c4, 0x000c0000},
+ {0x000167c8, 0x14021402},
+ {0x000167cc, 0x00001402},
+ {0x000167d0, 0x00000000},
+ {0x000167d4, 0x00000000},
+ {0x00016800, 0x36db6db6},
+ {0x00016804, 0x6db6db40},
+ {0x00016808, 0x73f00000},
+ {0x0001680c, 0x00000000},
+ {0x00016840, 0x7f80fff8},
+ {0x0001684c, 0x76d005b5},
+ {0x00016850, 0x557cf031},
+ {0x00016854, 0x13449440},
+ {0x00016858, 0x0c51c92c},
+ {0x0001685c, 0x3db7fffc},
+ {0x00016860, 0xfffffffc},
+ {0x00016864, 0x000f0278},
+ {0x00016868, 0x6db6db6c},
+ {0x0001686c, 0x6db60000},
+ {0x00016900, 0x11999601},
+ {0x00016908, 0x00080010},
+ {0x00016944, 0x02084080},
+ {0x00016948, 0x000080c0},
+ {0x00016b80, 0x00000000},
+ {0x00016b84, 0x00000000},
+ {0x00016b88, 0x00400705},
+ {0x00016b8c, 0x00800700},
+ {0x00016b90, 0x00800700},
+ {0x00016b94, 0x00000000},
+ {0x00016b98, 0x00000000},
+ {0x00016b9c, 0x00000000},
+ {0x00016ba0, 0x00000001},
+ {0x00016ba4, 0x00000001},
+ {0x00016ba8, 0x00000000},
+ {0x00016bac, 0x00000000},
+ {0x00016bb0, 0x00000000},
+ {0x00016bb4, 0x00000000},
+ {0x00016bb8, 0x00000000},
+ {0x00016bbc, 0x00000000},
+ {0x00016bc0, 0x000000a0},
+ {0x00016bc4, 0x000c0000},
+ {0x00016bc8, 0x14021402},
+ {0x00016bcc, 0x00001402},
+ {0x00016bd0, 0x00000000},
+ {0x00016bd4, 0x00000000},
+};
+
+static const u32 ar955x_1p0_modes_xpa_tx_gain_table[][9] = {
+ /* Addr 5G_HT20_L 5G_HT40_L 5G_HT20_M 5G_HT40_M 5G_HT20_H 5G_HT40_H 2G_HT40 2G_HT20 */
+ {0x0000a2dc, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xfffd5aaa, 0xfffd5aaa},
+ {0x0000a2e0, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000a2e4, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xffffe0f0, 0xffffe0f0},
+ {0x0000a2e8, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xfffcff00, 0xfffcff00},
+ {0x0000a410, 0x000050de, 0x000050de, 0x000050de, 0x000050de, 0x000050de, 0x000050de, 0x000050da, 0x000050da},
+ {0x0000a500, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000000, 0x00000000},
+ {0x0000a504, 0x04000005, 0x04000005, 0x04000005, 0x04000005, 0x04000005, 0x04000005, 0x04000002, 0x04000002},
+ {0x0000a508, 0x08000009, 0x08000009, 0x08000009, 0x08000009, 0x08000009, 0x08000009, 0x08000004, 0x08000004},
+ {0x0000a50c, 0x0c00000b, 0x0c00000b, 0x0c00000b, 0x0c00000b, 0x0c00000b, 0x0c00000b, 0x0c000006, 0x0c000006},
+ {0x0000a510, 0x1000000d, 0x1000000d, 0x1000000d, 0x1000000d, 0x1000000d, 0x1000000d, 0x0f00000a, 0x0f00000a},
+ {0x0000a514, 0x14000011, 0x14000011, 0x14000011, 0x14000011, 0x14000011, 0x14000011, 0x1300000c, 0x1300000c},
+ {0x0000a518, 0x19004008, 0x19004008, 0x19004008, 0x19004008, 0x18004008, 0x18004008, 0x1700000e, 0x1700000e},
+ {0x0000a51c, 0x1d00400a, 0x1d00400a, 0x1d00400a, 0x1d00400a, 0x1c00400a, 0x1c00400a, 0x1b000064, 0x1b000064},
+ {0x0000a520, 0x230020a2, 0x230020a2, 0x210020a2, 0x210020a2, 0x200020a2, 0x200020a2, 0x1f000242, 0x1f000242},
+ {0x0000a524, 0x2500006e, 0x2500006e, 0x2500006e, 0x2500006e, 0x2400006e, 0x2400006e, 0x23000229, 0x23000229},
+ {0x0000a528, 0x29022221, 0x29022221, 0x28022221, 0x28022221, 0x27022221, 0x27022221, 0x270002a2, 0x270002a2},
+ {0x0000a52c, 0x2d00062a, 0x2d00062a, 0x2c00062a, 0x2c00062a, 0x2a00062a, 0x2a00062a, 0x2c001203, 0x2c001203},
+ {0x0000a530, 0x340220a5, 0x340220a5, 0x320220a5, 0x320220a5, 0x2f0220a5, 0x2f0220a5, 0x30001803, 0x30001803},
+ {0x0000a534, 0x380022c5, 0x380022c5, 0x350022c5, 0x350022c5, 0x320022c5, 0x320022c5, 0x33000881, 0x33000881},
+ {0x0000a538, 0x3b002486, 0x3b002486, 0x39002486, 0x39002486, 0x36002486, 0x36002486, 0x38001809, 0x38001809},
+ {0x0000a53c, 0x3f00248a, 0x3f00248a, 0x3d00248a, 0x3d00248a, 0x3a00248a, 0x3a00248a, 0x3a000814, 0x3a000814},
+ {0x0000a540, 0x4202242c, 0x4202242c, 0x4102242c, 0x4102242c, 0x3f02242c, 0x3f02242c, 0x3f001a0c, 0x3f001a0c},
+ {0x0000a544, 0x490044c6, 0x490044c6, 0x460044c6, 0x460044c6, 0x420044c6, 0x420044c6, 0x43001a0e, 0x43001a0e},
+ {0x0000a548, 0x4d024485, 0x4d024485, 0x4a024485, 0x4a024485, 0x46024485, 0x46024485, 0x46001812, 0x46001812},
+ {0x0000a54c, 0x51044483, 0x51044483, 0x4e044483, 0x4e044483, 0x4a044483, 0x4a044483, 0x49001884, 0x49001884},
+ {0x0000a550, 0x5404a40c, 0x5404a40c, 0x5204a40c, 0x5204a40c, 0x4d04a40c, 0x4d04a40c, 0x4d001e84, 0x4d001e84},
+ {0x0000a554, 0x57024632, 0x57024632, 0x55024632, 0x55024632, 0x52024632, 0x52024632, 0x50001e69, 0x50001e69},
+ {0x0000a558, 0x5c00a634, 0x5c00a634, 0x5900a634, 0x5900a634, 0x5600a634, 0x5600a634, 0x550006f4, 0x550006f4},
+ {0x0000a55c, 0x5f026832, 0x5f026832, 0x5d026832, 0x5d026832, 0x5a026832, 0x5a026832, 0x59000ad3, 0x59000ad3},
+ {0x0000a560, 0x6602b012, 0x6602b012, 0x6202b012, 0x6202b012, 0x5d02b012, 0x5d02b012, 0x5e000ad5, 0x5e000ad5},
+ {0x0000a564, 0x6e02d0e1, 0x6e02d0e1, 0x6802d0e1, 0x6802d0e1, 0x6002d0e1, 0x6002d0e1, 0x61001ced, 0x61001ced},
+ {0x0000a568, 0x7202b4c4, 0x7202b4c4, 0x6c02b4c4, 0x6c02b4c4, 0x6502b4c4, 0x6502b4c4, 0x660018d4, 0x660018d4},
+ {0x0000a56c, 0x75007894, 0x75007894, 0x70007894, 0x70007894, 0x6b007894, 0x6b007894, 0x660018d4, 0x660018d4},
+ {0x0000a570, 0x7b025c74, 0x7b025c74, 0x75025c74, 0x75025c74, 0x70025c74, 0x70025c74, 0x660018d4, 0x660018d4},
+ {0x0000a574, 0x8300bcb5, 0x8300bcb5, 0x7a00bcb5, 0x7a00bcb5, 0x7600bcb5, 0x7600bcb5, 0x660018d4, 0x660018d4},
+ {0x0000a578, 0x8a04dc74, 0x8a04dc74, 0x7f04dc74, 0x7f04dc74, 0x7c04dc74, 0x7c04dc74, 0x660018d4, 0x660018d4},
+ {0x0000a57c, 0x8a04dc74, 0x8a04dc74, 0x7f04dc74, 0x7f04dc74, 0x7c04dc74, 0x7c04dc74, 0x660018d4, 0x660018d4},
+ {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03804000, 0x03804000},
+ {0x0000a610, 0x04c08c01, 0x04c08c01, 0x04808b01, 0x04808b01, 0x04808a01, 0x04808a01, 0x0300ca02, 0x0300ca02},
+ {0x0000a614, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00000e04, 0x00000e04},
+ {0x0000a618, 0x04010c01, 0x04010c01, 0x03c10b01, 0x03c10b01, 0x03810a01, 0x03810a01, 0x03014000, 0x03014000},
+ {0x0000a61c, 0x03814e05, 0x03814e05, 0x03414d05, 0x03414d05, 0x03414d05, 0x03414d05, 0x00000000, 0x00000000},
+ {0x0000a620, 0x04010303, 0x04010303, 0x03c10303, 0x03c10303, 0x03810303, 0x03810303, 0x00000000, 0x00000000},
+ {0x0000a624, 0x03814e05, 0x03814e05, 0x03414d05, 0x03414d05, 0x03414d05, 0x03414d05, 0x03014000, 0x03014000},
+ {0x0000a628, 0x00c0c000, 0x00c0c000, 0x00c0c000, 0x00c0c000, 0x00c0c000, 0x00c0c000, 0x03804c05, 0x03804c05},
+ {0x0000a62c, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x00c0c303, 0x0701de06, 0x0701de06},
+ {0x0000a630, 0x03418000, 0x03418000, 0x03018000, 0x03018000, 0x02c18000, 0x02c18000, 0x07819c07, 0x07819c07},
+ {0x0000a634, 0x03815004, 0x03815004, 0x03414f04, 0x03414f04, 0x03414e04, 0x03414e04, 0x0701dc07, 0x0701dc07},
+ {0x0000a638, 0x03005302, 0x03005302, 0x02c05202, 0x02c05202, 0x02805202, 0x02805202, 0x0701dc07, 0x0701dc07},
+ {0x0000a63c, 0x04c09302, 0x04c09302, 0x04809202, 0x04809202, 0x04809202, 0x04809202, 0x0701dc07, 0x0701dc07},
+ {0x0000b2dc, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xfffd5aaa, 0xfffd5aaa},
+ {0x0000b2e0, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000b2e4, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xffffe0f0, 0xffffe0f0},
+ {0x0000b2e8, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xfffcff00, 0xfffcff00},
+ {0x0000c2dc, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xffffaaaa, 0xfffd5aaa, 0xfffd5aaa},
+ {0x0000c2e0, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xffffcccc, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000c2e4, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xfffff0f0, 0xffffe0f0, 0xffffe0f0},
+ {0x0000c2e8, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xfffcff00, 0xfffcff00},
+ {0x00016044, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x010002d4, 0x010002d4},
+ {0x00016048, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x66482401, 0x66482401},
+ {0x00016280, 0x01801e84, 0x01801e84, 0x01801e84, 0x01801e84, 0x01801e84, 0x01801e84, 0x01808e84, 0x01808e84},
+ {0x00016444, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x010002d4, 0x010002d4},
+ {0x00016448, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x66482401, 0x66482401},
+ {0x00016844, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x010002d4, 0x010002d4},
+ {0x00016848, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x62482401, 0x66482401, 0x66482401},
+};
+
+static const u32 ar955x_1p0_mac_core[][2] = {
+ /* Addr allmodes */
+ {0x00000008, 0x00000000},
+ {0x00000030, 0x00020085},
+ {0x00000034, 0x00000005},
+ {0x00000040, 0x00000000},
+ {0x00000044, 0x00000000},
+ {0x00000048, 0x00000008},
+ {0x0000004c, 0x00000010},
+ {0x00000050, 0x00000000},
+ {0x00001040, 0x002ffc0f},
+ {0x00001044, 0x002ffc0f},
+ {0x00001048, 0x002ffc0f},
+ {0x0000104c, 0x002ffc0f},
+ {0x00001050, 0x002ffc0f},
+ {0x00001054, 0x002ffc0f},
+ {0x00001058, 0x002ffc0f},
+ {0x0000105c, 0x002ffc0f},
+ {0x00001060, 0x002ffc0f},
+ {0x00001064, 0x002ffc0f},
+ {0x000010f0, 0x00000100},
+ {0x00001270, 0x00000000},
+ {0x000012b0, 0x00000000},
+ {0x000012f0, 0x00000000},
+ {0x0000143c, 0x00000000},
+ {0x0000147c, 0x00000000},
+ {0x00008000, 0x00000000},
+ {0x00008004, 0x00000000},
+ {0x00008008, 0x00000000},
+ {0x0000800c, 0x00000000},
+ {0x00008018, 0x00000000},
+ {0x00008020, 0x00000000},
+ {0x00008038, 0x00000000},
+ {0x0000803c, 0x00000000},
+ {0x00008040, 0x00000000},
+ {0x00008044, 0x00000000},
+ {0x00008048, 0x00000000},
+ {0x0000804c, 0xffffffff},
+ {0x00008054, 0x00000000},
+ {0x00008058, 0x00000000},
+ {0x0000805c, 0x000fc78f},
+ {0x00008060, 0x0000000f},
+ {0x00008064, 0x00000000},
+ {0x00008070, 0x00000310},
+ {0x00008074, 0x00000020},
+ {0x00008078, 0x00000000},
+ {0x0000809c, 0x0000000f},
+ {0x000080a0, 0x00000000},
+ {0x000080a4, 0x02ff0000},
+ {0x000080a8, 0x0e070605},
+ {0x000080ac, 0x0000000d},
+ {0x000080b0, 0x00000000},
+ {0x000080b4, 0x00000000},
+ {0x000080b8, 0x00000000},
+ {0x000080bc, 0x00000000},
+ {0x000080c0, 0x2a800000},
+ {0x000080c4, 0x06900168},
+ {0x000080c8, 0x13881c22},
+ {0x000080cc, 0x01f40000},
+ {0x000080d0, 0x00252500},
+ {0x000080d4, 0x00a00000},
+ {0x000080d8, 0x00400000},
+ {0x000080dc, 0x00000000},
+ {0x000080e0, 0xffffffff},
+ {0x000080e4, 0x0000ffff},
+ {0x000080e8, 0x3f3f3f3f},
+ {0x000080ec, 0x00000000},
+ {0x000080f0, 0x00000000},
+ {0x000080f4, 0x00000000},
+ {0x000080fc, 0x00020000},
+ {0x00008100, 0x00000000},
+ {0x00008108, 0x00000052},
+ {0x0000810c, 0x00000000},
+ {0x00008110, 0x00000000},
+ {0x00008114, 0x000007ff},
+ {0x00008118, 0x000000aa},
+ {0x0000811c, 0x00003210},
+ {0x00008124, 0x00000000},
+ {0x00008128, 0x00000000},
+ {0x0000812c, 0x00000000},
+ {0x00008130, 0x00000000},
+ {0x00008134, 0x00000000},
+ {0x00008138, 0x00000000},
+ {0x0000813c, 0x0000ffff},
+ {0x00008140, 0x000000fe},
+ {0x00008144, 0xffffffff},
+ {0x00008168, 0x00000000},
+ {0x0000816c, 0x00000000},
+ {0x000081c0, 0x00000000},
+ {0x000081c4, 0x33332210},
+ {0x000081ec, 0x00000000},
+ {0x000081f0, 0x00000000},
+ {0x000081f4, 0x00000000},
+ {0x000081f8, 0x00000000},
+ {0x000081fc, 0x00000000},
+ {0x00008240, 0x00100000},
+ {0x00008244, 0x0010f400},
+ {0x00008248, 0x00000800},
+ {0x0000824c, 0x0001e800},
+ {0x00008250, 0x00000000},
+ {0x00008254, 0x00000000},
+ {0x00008258, 0x00000000},
+ {0x0000825c, 0x40000000},
+ {0x00008260, 0x00080922},
+ {0x00008264, 0x9d400010},
+ {0x00008268, 0xffffffff},
+ {0x0000826c, 0x0000ffff},
+ {0x00008270, 0x00000000},
+ {0x00008274, 0x40000000},
+ {0x00008278, 0x003e4180},
+ {0x0000827c, 0x00000004},
+ {0x00008284, 0x0000002c},
+ {0x00008288, 0x0000002c},
+ {0x0000828c, 0x000000ff},
+ {0x00008294, 0x00000000},
+ {0x00008298, 0x00000000},
+ {0x0000829c, 0x00000000},
+ {0x00008300, 0x00001d40},
+ {0x00008314, 0x00000000},
+ {0x0000831c, 0x0000010d},
+ {0x00008328, 0x00000000},
+ {0x0000832c, 0x0000001f},
+ {0x00008330, 0x00000302},
+ {0x00008334, 0x00000700},
+ {0x00008338, 0xffff0000},
+ {0x0000833c, 0x02400000},
+ {0x00008340, 0x000107ff},
+ {0x00008344, 0xaa48107b},
+ {0x00008348, 0x008f0000},
+ {0x0000835c, 0x00000000},
+ {0x00008360, 0xffffffff},
+ {0x00008364, 0xffffffff},
+ {0x00008368, 0x00000000},
+ {0x00008370, 0x00000000},
+ {0x00008374, 0x000000ff},
+ {0x00008378, 0x00000000},
+ {0x0000837c, 0x00000000},
+ {0x00008380, 0xffffffff},
+ {0x00008384, 0xffffffff},
+ {0x00008390, 0xffffffff},
+ {0x00008394, 0xffffffff},
+ {0x00008398, 0x00000000},
+ {0x0000839c, 0x00000000},
+ {0x000083a0, 0x00000000},
+ {0x000083a4, 0x0000fa14},
+ {0x000083a8, 0x000f0c00},
+ {0x000083ac, 0x33332210},
+ {0x000083b0, 0x33332210},
+ {0x000083b4, 0x33332210},
+ {0x000083b8, 0x33332210},
+ {0x000083bc, 0x00000000},
+ {0x000083c0, 0x00000000},
+ {0x000083c4, 0x00000000},
+ {0x000083c8, 0x00000000},
+ {0x000083cc, 0x00000200},
+ {0x000083d0, 0x8c7901ff},
+};
+
+static const u32 ar955x_1p0_common_rx_gain_table[][2] = {
+ /* Addr allmodes */
+ {0x0000a000, 0x00010000},
+ {0x0000a004, 0x00030002},
+ {0x0000a008, 0x00050004},
+ {0x0000a00c, 0x00810080},
+ {0x0000a010, 0x00830082},
+ {0x0000a014, 0x01810180},
+ {0x0000a018, 0x01830182},
+ {0x0000a01c, 0x01850184},
+ {0x0000a020, 0x01890188},
+ {0x0000a024, 0x018b018a},
+ {0x0000a028, 0x018d018c},
+ {0x0000a02c, 0x01910190},
+ {0x0000a030, 0x01930192},
+ {0x0000a034, 0x01950194},
+ {0x0000a038, 0x038a0196},
+ {0x0000a03c, 0x038c038b},
+ {0x0000a040, 0x0390038d},
+ {0x0000a044, 0x03920391},
+ {0x0000a048, 0x03940393},
+ {0x0000a04c, 0x03960395},
+ {0x0000a050, 0x00000000},
+ {0x0000a054, 0x00000000},
+ {0x0000a058, 0x00000000},
+ {0x0000a05c, 0x00000000},
+ {0x0000a060, 0x00000000},
+ {0x0000a064, 0x00000000},
+ {0x0000a068, 0x00000000},
+ {0x0000a06c, 0x00000000},
+ {0x0000a070, 0x00000000},
+ {0x0000a074, 0x00000000},
+ {0x0000a078, 0x00000000},
+ {0x0000a07c, 0x00000000},
+ {0x0000a080, 0x22222229},
+ {0x0000a084, 0x1d1d1d1d},
+ {0x0000a088, 0x1d1d1d1d},
+ {0x0000a08c, 0x1d1d1d1d},
+ {0x0000a090, 0x171d1d1d},
+ {0x0000a094, 0x11111717},
+ {0x0000a098, 0x00030311},
+ {0x0000a09c, 0x00000000},
+ {0x0000a0a0, 0x00000000},
+ {0x0000a0a4, 0x00000000},
+ {0x0000a0a8, 0x00000000},
+ {0x0000a0ac, 0x00000000},
+ {0x0000a0b0, 0x00000000},
+ {0x0000a0b4, 0x00000000},
+ {0x0000a0b8, 0x00000000},
+ {0x0000a0bc, 0x00000000},
+ {0x0000a0c0, 0x001f0000},
+ {0x0000a0c4, 0x01000101},
+ {0x0000a0c8, 0x011e011f},
+ {0x0000a0cc, 0x011c011d},
+ {0x0000a0d0, 0x02030204},
+ {0x0000a0d4, 0x02010202},
+ {0x0000a0d8, 0x021f0200},
+ {0x0000a0dc, 0x0302021e},
+ {0x0000a0e0, 0x03000301},
+ {0x0000a0e4, 0x031e031f},
+ {0x0000a0e8, 0x0402031d},
+ {0x0000a0ec, 0x04000401},
+ {0x0000a0f0, 0x041e041f},
+ {0x0000a0f4, 0x0502041d},
+ {0x0000a0f8, 0x05000501},
+ {0x0000a0fc, 0x051e051f},
+ {0x0000a100, 0x06010602},
+ {0x0000a104, 0x061f0600},
+ {0x0000a108, 0x061d061e},
+ {0x0000a10c, 0x07020703},
+ {0x0000a110, 0x07000701},
+ {0x0000a114, 0x00000000},
+ {0x0000a118, 0x00000000},
+ {0x0000a11c, 0x00000000},
+ {0x0000a120, 0x00000000},
+ {0x0000a124, 0x00000000},
+ {0x0000a128, 0x00000000},
+ {0x0000a12c, 0x00000000},
+ {0x0000a130, 0x00000000},
+ {0x0000a134, 0x00000000},
+ {0x0000a138, 0x00000000},
+ {0x0000a13c, 0x00000000},
+ {0x0000a140, 0x001f0000},
+ {0x0000a144, 0x01000101},
+ {0x0000a148, 0x011e011f},
+ {0x0000a14c, 0x011c011d},
+ {0x0000a150, 0x02030204},
+ {0x0000a154, 0x02010202},
+ {0x0000a158, 0x021f0200},
+ {0x0000a15c, 0x0302021e},
+ {0x0000a160, 0x03000301},
+ {0x0000a164, 0x031e031f},
+ {0x0000a168, 0x0402031d},
+ {0x0000a16c, 0x04000401},
+ {0x0000a170, 0x041e041f},
+ {0x0000a174, 0x0502041d},
+ {0x0000a178, 0x05000501},
+ {0x0000a17c, 0x051e051f},
+ {0x0000a180, 0x06010602},
+ {0x0000a184, 0x061f0600},
+ {0x0000a188, 0x061d061e},
+ {0x0000a18c, 0x07020703},
+ {0x0000a190, 0x07000701},
+ {0x0000a194, 0x00000000},
+ {0x0000a198, 0x00000000},
+ {0x0000a19c, 0x00000000},
+ {0x0000a1a0, 0x00000000},
+ {0x0000a1a4, 0x00000000},
+ {0x0000a1a8, 0x00000000},
+ {0x0000a1ac, 0x00000000},
+ {0x0000a1b0, 0x00000000},
+ {0x0000a1b4, 0x00000000},
+ {0x0000a1b8, 0x00000000},
+ {0x0000a1bc, 0x00000000},
+ {0x0000a1c0, 0x00000000},
+ {0x0000a1c4, 0x00000000},
+ {0x0000a1c8, 0x00000000},
+ {0x0000a1cc, 0x00000000},
+ {0x0000a1d0, 0x00000000},
+ {0x0000a1d4, 0x00000000},
+ {0x0000a1d8, 0x00000000},
+ {0x0000a1dc, 0x00000000},
+ {0x0000a1e0, 0x00000000},
+ {0x0000a1e4, 0x00000000},
+ {0x0000a1e8, 0x00000000},
+ {0x0000a1ec, 0x00000000},
+ {0x0000a1f0, 0x00000396},
+ {0x0000a1f4, 0x00000396},
+ {0x0000a1f8, 0x00000396},
+ {0x0000a1fc, 0x00000196},
+ {0x0000b000, 0x00010000},
+ {0x0000b004, 0x00030002},
+ {0x0000b008, 0x00050004},
+ {0x0000b00c, 0x00810080},
+ {0x0000b010, 0x00830082},
+ {0x0000b014, 0x01810180},
+ {0x0000b018, 0x01830182},
+ {0x0000b01c, 0x01850184},
+ {0x0000b020, 0x02810280},
+ {0x0000b024, 0x02830282},
+ {0x0000b028, 0x02850284},
+ {0x0000b02c, 0x02890288},
+ {0x0000b030, 0x028b028a},
+ {0x0000b034, 0x0388028c},
+ {0x0000b038, 0x038a0389},
+ {0x0000b03c, 0x038c038b},
+ {0x0000b040, 0x0390038d},
+ {0x0000b044, 0x03920391},
+ {0x0000b048, 0x03940393},
+ {0x0000b04c, 0x03960395},
+ {0x0000b050, 0x00000000},
+ {0x0000b054, 0x00000000},
+ {0x0000b058, 0x00000000},
+ {0x0000b05c, 0x00000000},
+ {0x0000b060, 0x00000000},
+ {0x0000b064, 0x00000000},
+ {0x0000b068, 0x00000000},
+ {0x0000b06c, 0x00000000},
+ {0x0000b070, 0x00000000},
+ {0x0000b074, 0x00000000},
+ {0x0000b078, 0x00000000},
+ {0x0000b07c, 0x00000000},
+ {0x0000b080, 0x23232323},
+ {0x0000b084, 0x21232323},
+ {0x0000b088, 0x19191c1e},
+ {0x0000b08c, 0x12141417},
+ {0x0000b090, 0x07070e0e},
+ {0x0000b094, 0x03030305},
+ {0x0000b098, 0x00000003},
+ {0x0000b09c, 0x00000000},
+ {0x0000b0a0, 0x00000000},
+ {0x0000b0a4, 0x00000000},
+ {0x0000b0a8, 0x00000000},
+ {0x0000b0ac, 0x00000000},
+ {0x0000b0b0, 0x00000000},
+ {0x0000b0b4, 0x00000000},
+ {0x0000b0b8, 0x00000000},
+ {0x0000b0bc, 0x00000000},
+ {0x0000b0c0, 0x003f0020},
+ {0x0000b0c4, 0x00400041},
+ {0x0000b0c8, 0x0140005f},
+ {0x0000b0cc, 0x0160015f},
+ {0x0000b0d0, 0x017e017f},
+ {0x0000b0d4, 0x02410242},
+ {0x0000b0d8, 0x025f0240},
+ {0x0000b0dc, 0x027f0260},
+ {0x0000b0e0, 0x0341027e},
+ {0x0000b0e4, 0x035f0340},
+ {0x0000b0e8, 0x037f0360},
+ {0x0000b0ec, 0x04400441},
+ {0x0000b0f0, 0x0460045f},
+ {0x0000b0f4, 0x0541047f},
+ {0x0000b0f8, 0x055f0540},
+ {0x0000b0fc, 0x057f0560},
+ {0x0000b100, 0x06400641},
+ {0x0000b104, 0x0660065f},
+ {0x0000b108, 0x067e067f},
+ {0x0000b10c, 0x07410742},
+ {0x0000b110, 0x075f0740},
+ {0x0000b114, 0x077f0760},
+ {0x0000b118, 0x07800781},
+ {0x0000b11c, 0x07a0079f},
+ {0x0000b120, 0x07c107bf},
+ {0x0000b124, 0x000007c0},
+ {0x0000b128, 0x00000000},
+ {0x0000b12c, 0x00000000},
+ {0x0000b130, 0x00000000},
+ {0x0000b134, 0x00000000},
+ {0x0000b138, 0x00000000},
+ {0x0000b13c, 0x00000000},
+ {0x0000b140, 0x003f0020},
+ {0x0000b144, 0x00400041},
+ {0x0000b148, 0x0140005f},
+ {0x0000b14c, 0x0160015f},
+ {0x0000b150, 0x017e017f},
+ {0x0000b154, 0x02410242},
+ {0x0000b158, 0x025f0240},
+ {0x0000b15c, 0x027f0260},
+ {0x0000b160, 0x0341027e},
+ {0x0000b164, 0x035f0340},
+ {0x0000b168, 0x037f0360},
+ {0x0000b16c, 0x04400441},
+ {0x0000b170, 0x0460045f},
+ {0x0000b174, 0x0541047f},
+ {0x0000b178, 0x055f0540},
+ {0x0000b17c, 0x057f0560},
+ {0x0000b180, 0x06400641},
+ {0x0000b184, 0x0660065f},
+ {0x0000b188, 0x067e067f},
+ {0x0000b18c, 0x07410742},
+ {0x0000b190, 0x075f0740},
+ {0x0000b194, 0x077f0760},
+ {0x0000b198, 0x07800781},
+ {0x0000b19c, 0x07a0079f},
+ {0x0000b1a0, 0x07c107bf},
+ {0x0000b1a4, 0x000007c0},
+ {0x0000b1a8, 0x00000000},
+ {0x0000b1ac, 0x00000000},
+ {0x0000b1b0, 0x00000000},
+ {0x0000b1b4, 0x00000000},
+ {0x0000b1b8, 0x00000000},
+ {0x0000b1bc, 0x00000000},
+ {0x0000b1c0, 0x00000000},
+ {0x0000b1c4, 0x00000000},
+ {0x0000b1c8, 0x00000000},
+ {0x0000b1cc, 0x00000000},
+ {0x0000b1d0, 0x00000000},
+ {0x0000b1d4, 0x00000000},
+ {0x0000b1d8, 0x00000000},
+ {0x0000b1dc, 0x00000000},
+ {0x0000b1e0, 0x00000000},
+ {0x0000b1e4, 0x00000000},
+ {0x0000b1e8, 0x00000000},
+ {0x0000b1ec, 0x00000000},
+ {0x0000b1f0, 0x00000396},
+ {0x0000b1f4, 0x00000396},
+ {0x0000b1f8, 0x00000396},
+ {0x0000b1fc, 0x00000196},
+};
+
+static const u32 ar955x_1p0_baseband_core[][2] = {
+ /* Addr allmodes */
+ {0x00009800, 0xafe68e30},
+ {0x00009804, 0xfd14e000},
+ {0x00009808, 0x9c0a9f6b},
+ {0x0000980c, 0x04900000},
+ {0x00009814, 0x0280c00a},
+ {0x00009818, 0x00000000},
+ {0x0000981c, 0x00020028},
+ {0x00009834, 0x6400a190},
+ {0x00009838, 0x0108ecff},
+ {0x0000983c, 0x14000600},
+ {0x00009880, 0x201fff00},
+ {0x00009884, 0x00001042},
+ {0x000098a4, 0x00200400},
+ {0x000098b0, 0x32840bbe},
+ {0x000098bc, 0x00000002},
+ {0x000098d0, 0x004b6a8e},
+ {0x000098d4, 0x00000820},
+ {0x000098dc, 0x00000000},
+ {0x000098f0, 0x00000000},
+ {0x000098f4, 0x00000000},
+ {0x00009c04, 0xff55ff55},
+ {0x00009c08, 0x0320ff55},
+ {0x00009c0c, 0x00000000},
+ {0x00009c10, 0x00000000},
+ {0x00009c14, 0x00046384},
+ {0x00009c18, 0x05b6b440},
+ {0x00009c1c, 0x00b6b440},
+ {0x00009d00, 0xc080a333},
+ {0x00009d04, 0x40206c10},
+ {0x00009d08, 0x009c4060},
+ {0x00009d0c, 0x9883800a},
+ {0x00009d10, 0x01834061},
+ {0x00009d14, 0x00c0040b},
+ {0x00009d18, 0x00000000},
+ {0x00009e08, 0x0038230c},
+ {0x00009e24, 0x990bb515},
+ {0x00009e28, 0x0c6f0000},
+ {0x00009e30, 0x06336f77},
+ {0x00009e34, 0x6af6532f},
+ {0x00009e38, 0x0cc80c00},
+ {0x00009e40, 0x0d261820},
+ {0x00009e4c, 0x00001004},
+ {0x00009e50, 0x00ff03f1},
+ {0x00009fc0, 0x813e4788},
+ {0x00009fc4, 0x0001efb5},
+ {0x00009fcc, 0x40000014},
+ {0x00009fd0, 0x01193b93},
+ {0x0000a20c, 0x00000000},
+ {0x0000a220, 0x00000000},
+ {0x0000a224, 0x00000000},
+ {0x0000a228, 0x10002310},
+ {0x0000a23c, 0x00000000},
+ {0x0000a244, 0x0c000000},
+ {0x0000a248, 0x00000140},
+ {0x0000a2a0, 0x00000007},
+ {0x0000a2c0, 0x00000007},
+ {0x0000a2c8, 0x00000000},
+ {0x0000a2d4, 0x00000000},
+ {0x0000a2ec, 0x00000000},
+ {0x0000a2f0, 0x00000000},
+ {0x0000a2f4, 0x00000000},
+ {0x0000a2f8, 0x00000000},
+ {0x0000a344, 0x00000000},
+ {0x0000a34c, 0x00000000},
+ {0x0000a350, 0x0000a000},
+ {0x0000a364, 0x00000000},
+ {0x0000a370, 0x00000000},
+ {0x0000a390, 0x00000001},
+ {0x0000a394, 0x00000444},
+ {0x0000a398, 0x1f020503},
+ {0x0000a39c, 0x29180c03},
+ {0x0000a3a0, 0x9a8b6844},
+ {0x0000a3a4, 0x00000000},
+ {0x0000a3a8, 0xaaaaaaaa},
+ {0x0000a3ac, 0x3c466478},
+ {0x0000a3c0, 0x20202020},
+ {0x0000a3c4, 0x22222220},
+ {0x0000a3c8, 0x20200020},
+ {0x0000a3cc, 0x20202020},
+ {0x0000a3d0, 0x20202020},
+ {0x0000a3d4, 0x20202020},
+ {0x0000a3d8, 0x20202020},
+ {0x0000a3dc, 0x20202020},
+ {0x0000a3e0, 0x20202020},
+ {0x0000a3e4, 0x20202020},
+ {0x0000a3e8, 0x20202020},
+ {0x0000a3ec, 0x20202020},
+ {0x0000a3f0, 0x00000000},
+ {0x0000a3f4, 0x00000000},
+ {0x0000a3f8, 0x0c9bd380},
+ {0x0000a3fc, 0x000f0f01},
+ {0x0000a400, 0x8fa91f01},
+ {0x0000a404, 0x00000000},
+ {0x0000a408, 0x0e79e5c6},
+ {0x0000a40c, 0x00820820},
+ {0x0000a414, 0x1ce739ce},
+ {0x0000a418, 0x2d001dce},
+ {0x0000a41c, 0x1ce739ce},
+ {0x0000a420, 0x000001ce},
+ {0x0000a424, 0x1ce739ce},
+ {0x0000a428, 0x000001ce},
+ {0x0000a42c, 0x1ce739ce},
+ {0x0000a430, 0x1ce739ce},
+ {0x0000a434, 0x00000000},
+ {0x0000a438, 0x00001801},
+ {0x0000a43c, 0x00100000},
+ {0x0000a444, 0x00000000},
+ {0x0000a448, 0x05000080},
+ {0x0000a44c, 0x00000001},
+ {0x0000a450, 0x00010000},
+ {0x0000a458, 0x00000000},
+ {0x0000a644, 0x3fad9d74},
+ {0x0000a648, 0x0048060a},
+ {0x0000a64c, 0x00003c37},
+ {0x0000a670, 0x03020100},
+ {0x0000a674, 0x09080504},
+ {0x0000a678, 0x0d0c0b0a},
+ {0x0000a67c, 0x13121110},
+ {0x0000a680, 0x31301514},
+ {0x0000a684, 0x35343332},
+ {0x0000a688, 0x00000036},
+ {0x0000a690, 0x00000838},
+ {0x0000a7cc, 0x00000000},
+ {0x0000a7d0, 0x00000000},
+ {0x0000a7d4, 0x00000004},
+ {0x0000a7dc, 0x00000000},
+ {0x0000a8d0, 0x004b6a8e},
+ {0x0000a8d4, 0x00000820},
+ {0x0000a8dc, 0x00000000},
+ {0x0000a8f0, 0x00000000},
+ {0x0000a8f4, 0x00000000},
+ {0x0000b2d0, 0x00000080},
+ {0x0000b2d4, 0x00000000},
+ {0x0000b2ec, 0x00000000},
+ {0x0000b2f0, 0x00000000},
+ {0x0000b2f4, 0x00000000},
+ {0x0000b2f8, 0x00000000},
+ {0x0000b408, 0x0e79e5c0},
+ {0x0000b40c, 0x00820820},
+ {0x0000b420, 0x00000000},
+ {0x0000b8d0, 0x004b6a8e},
+ {0x0000b8d4, 0x00000820},
+ {0x0000b8dc, 0x00000000},
+ {0x0000b8f0, 0x00000000},
+ {0x0000b8f4, 0x00000000},
+ {0x0000c2d0, 0x00000080},
+ {0x0000c2d4, 0x00000000},
+ {0x0000c2ec, 0x00000000},
+ {0x0000c2f0, 0x00000000},
+ {0x0000c2f4, 0x00000000},
+ {0x0000c2f8, 0x00000000},
+ {0x0000c408, 0x0e79e5c0},
+ {0x0000c40c, 0x00820820},
+ {0x0000c420, 0x00000000},
+};
+
+static const u32 ar955x_1p0_common_wo_xlna_rx_gain_table[][2] = {
+ /* Addr allmodes */
+ {0x0000a000, 0x00010000},
+ {0x0000a004, 0x00030002},
+ {0x0000a008, 0x00050004},
+ {0x0000a00c, 0x00810080},
+ {0x0000a010, 0x00830082},
+ {0x0000a014, 0x01810180},
+ {0x0000a018, 0x01830182},
+ {0x0000a01c, 0x01850184},
+ {0x0000a020, 0x01890188},
+ {0x0000a024, 0x018b018a},
+ {0x0000a028, 0x018d018c},
+ {0x0000a02c, 0x03820190},
+ {0x0000a030, 0x03840383},
+ {0x0000a034, 0x03880385},
+ {0x0000a038, 0x038a0389},
+ {0x0000a03c, 0x038c038b},
+ {0x0000a040, 0x0390038d},
+ {0x0000a044, 0x03920391},
+ {0x0000a048, 0x03940393},
+ {0x0000a04c, 0x03960395},
+ {0x0000a050, 0x00000000},
+ {0x0000a054, 0x00000000},
+ {0x0000a058, 0x00000000},
+ {0x0000a05c, 0x00000000},
+ {0x0000a060, 0x00000000},
+ {0x0000a064, 0x00000000},
+ {0x0000a068, 0x00000000},
+ {0x0000a06c, 0x00000000},
+ {0x0000a070, 0x00000000},
+ {0x0000a074, 0x00000000},
+ {0x0000a078, 0x00000000},
+ {0x0000a07c, 0x00000000},
+ {0x0000a080, 0x29292929},
+ {0x0000a084, 0x29292929},
+ {0x0000a088, 0x29292929},
+ {0x0000a08c, 0x29292929},
+ {0x0000a090, 0x22292929},
+ {0x0000a094, 0x1d1d2222},
+ {0x0000a098, 0x0c111117},
+ {0x0000a09c, 0x00030303},
+ {0x0000a0a0, 0x00000000},
+ {0x0000a0a4, 0x00000000},
+ {0x0000a0a8, 0x00000000},
+ {0x0000a0ac, 0x00000000},
+ {0x0000a0b0, 0x00000000},
+ {0x0000a0b4, 0x00000000},
+ {0x0000a0b8, 0x00000000},
+ {0x0000a0bc, 0x00000000},
+ {0x0000a0c0, 0x001f0000},
+ {0x0000a0c4, 0x01000101},
+ {0x0000a0c8, 0x011e011f},
+ {0x0000a0cc, 0x011c011d},
+ {0x0000a0d0, 0x02030204},
+ {0x0000a0d4, 0x02010202},
+ {0x0000a0d8, 0x021f0200},
+ {0x0000a0dc, 0x0302021e},
+ {0x0000a0e0, 0x03000301},
+ {0x0000a0e4, 0x031e031f},
+ {0x0000a0e8, 0x0402031d},
+ {0x0000a0ec, 0x04000401},
+ {0x0000a0f0, 0x041e041f},
+ {0x0000a0f4, 0x0502041d},
+ {0x0000a0f8, 0x05000501},
+ {0x0000a0fc, 0x051e051f},
+ {0x0000a100, 0x06010602},
+ {0x0000a104, 0x061f0600},
+ {0x0000a108, 0x061d061e},
+ {0x0000a10c, 0x07020703},
+ {0x0000a110, 0x07000701},
+ {0x0000a114, 0x00000000},
+ {0x0000a118, 0x00000000},
+ {0x0000a11c, 0x00000000},
+ {0x0000a120, 0x00000000},
+ {0x0000a124, 0x00000000},
+ {0x0000a128, 0x00000000},
+ {0x0000a12c, 0x00000000},
+ {0x0000a130, 0x00000000},
+ {0x0000a134, 0x00000000},
+ {0x0000a138, 0x00000000},
+ {0x0000a13c, 0x00000000},
+ {0x0000a140, 0x001f0000},
+ {0x0000a144, 0x01000101},
+ {0x0000a148, 0x011e011f},
+ {0x0000a14c, 0x011c011d},
+ {0x0000a150, 0x02030204},
+ {0x0000a154, 0x02010202},
+ {0x0000a158, 0x021f0200},
+ {0x0000a15c, 0x0302021e},
+ {0x0000a160, 0x03000301},
+ {0x0000a164, 0x031e031f},
+ {0x0000a168, 0x0402031d},
+ {0x0000a16c, 0x04000401},
+ {0x0000a170, 0x041e041f},
+ {0x0000a174, 0x0502041d},
+ {0x0000a178, 0x05000501},
+ {0x0000a17c, 0x051e051f},
+ {0x0000a180, 0x06010602},
+ {0x0000a184, 0x061f0600},
+ {0x0000a188, 0x061d061e},
+ {0x0000a18c, 0x07020703},
+ {0x0000a190, 0x07000701},
+ {0x0000a194, 0x00000000},
+ {0x0000a198, 0x00000000},
+ {0x0000a19c, 0x00000000},
+ {0x0000a1a0, 0x00000000},
+ {0x0000a1a4, 0x00000000},
+ {0x0000a1a8, 0x00000000},
+ {0x0000a1ac, 0x00000000},
+ {0x0000a1b0, 0x00000000},
+ {0x0000a1b4, 0x00000000},
+ {0x0000a1b8, 0x00000000},
+ {0x0000a1bc, 0x00000000},
+ {0x0000a1c0, 0x00000000},
+ {0x0000a1c4, 0x00000000},
+ {0x0000a1c8, 0x00000000},
+ {0x0000a1cc, 0x00000000},
+ {0x0000a1d0, 0x00000000},
+ {0x0000a1d4, 0x00000000},
+ {0x0000a1d8, 0x00000000},
+ {0x0000a1dc, 0x00000000},
+ {0x0000a1e0, 0x00000000},
+ {0x0000a1e4, 0x00000000},
+ {0x0000a1e8, 0x00000000},
+ {0x0000a1ec, 0x00000000},
+ {0x0000a1f0, 0x00000396},
+ {0x0000a1f4, 0x00000396},
+ {0x0000a1f8, 0x00000396},
+ {0x0000a1fc, 0x00000196},
+ {0x0000b000, 0x00010000},
+ {0x0000b004, 0x00030002},
+ {0x0000b008, 0x00050004},
+ {0x0000b00c, 0x00810080},
+ {0x0000b010, 0x00830082},
+ {0x0000b014, 0x01810180},
+ {0x0000b018, 0x01830182},
+ {0x0000b01c, 0x01850184},
+ {0x0000b020, 0x02810280},
+ {0x0000b024, 0x02830282},
+ {0x0000b028, 0x02850284},
+ {0x0000b02c, 0x02890288},
+ {0x0000b030, 0x028b028a},
+ {0x0000b034, 0x0388028c},
+ {0x0000b038, 0x038a0389},
+ {0x0000b03c, 0x038c038b},
+ {0x0000b040, 0x0390038d},
+ {0x0000b044, 0x03920391},
+ {0x0000b048, 0x03940393},
+ {0x0000b04c, 0x03960395},
+ {0x0000b050, 0x00000000},
+ {0x0000b054, 0x00000000},
+ {0x0000b058, 0x00000000},
+ {0x0000b05c, 0x00000000},
+ {0x0000b060, 0x00000000},
+ {0x0000b064, 0x00000000},
+ {0x0000b068, 0x00000000},
+ {0x0000b06c, 0x00000000},
+ {0x0000b070, 0x00000000},
+ {0x0000b074, 0x00000000},
+ {0x0000b078, 0x00000000},
+ {0x0000b07c, 0x00000000},
+ {0x0000b080, 0x32323232},
+ {0x0000b084, 0x2f2f3232},
+ {0x0000b088, 0x23282a2d},
+ {0x0000b08c, 0x1c1e2123},
+ {0x0000b090, 0x14171919},
+ {0x0000b094, 0x0e0e1214},
+ {0x0000b098, 0x03050707},
+ {0x0000b09c, 0x00030303},
+ {0x0000b0a0, 0x00000000},
+ {0x0000b0a4, 0x00000000},
+ {0x0000b0a8, 0x00000000},
+ {0x0000b0ac, 0x00000000},
+ {0x0000b0b0, 0x00000000},
+ {0x0000b0b4, 0x00000000},
+ {0x0000b0b8, 0x00000000},
+ {0x0000b0bc, 0x00000000},
+ {0x0000b0c0, 0x003f0020},
+ {0x0000b0c4, 0x00400041},
+ {0x0000b0c8, 0x0140005f},
+ {0x0000b0cc, 0x0160015f},
+ {0x0000b0d0, 0x017e017f},
+ {0x0000b0d4, 0x02410242},
+ {0x0000b0d8, 0x025f0240},
+ {0x0000b0dc, 0x027f0260},
+ {0x0000b0e0, 0x0341027e},
+ {0x0000b0e4, 0x035f0340},
+ {0x0000b0e8, 0x037f0360},
+ {0x0000b0ec, 0x04400441},
+ {0x0000b0f0, 0x0460045f},
+ {0x0000b0f4, 0x0541047f},
+ {0x0000b0f8, 0x055f0540},
+ {0x0000b0fc, 0x057f0560},
+ {0x0000b100, 0x06400641},
+ {0x0000b104, 0x0660065f},
+ {0x0000b108, 0x067e067f},
+ {0x0000b10c, 0x07410742},
+ {0x0000b110, 0x075f0740},
+ {0x0000b114, 0x077f0760},
+ {0x0000b118, 0x07800781},
+ {0x0000b11c, 0x07a0079f},
+ {0x0000b120, 0x07c107bf},
+ {0x0000b124, 0x000007c0},
+ {0x0000b128, 0x00000000},
+ {0x0000b12c, 0x00000000},
+ {0x0000b130, 0x00000000},
+ {0x0000b134, 0x00000000},
+ {0x0000b138, 0x00000000},
+ {0x0000b13c, 0x00000000},
+ {0x0000b140, 0x003f0020},
+ {0x0000b144, 0x00400041},
+ {0x0000b148, 0x0140005f},
+ {0x0000b14c, 0x0160015f},
+ {0x0000b150, 0x017e017f},
+ {0x0000b154, 0x02410242},
+ {0x0000b158, 0x025f0240},
+ {0x0000b15c, 0x027f0260},
+ {0x0000b160, 0x0341027e},
+ {0x0000b164, 0x035f0340},
+ {0x0000b168, 0x037f0360},
+ {0x0000b16c, 0x04400441},
+ {0x0000b170, 0x0460045f},
+ {0x0000b174, 0x0541047f},
+ {0x0000b178, 0x055f0540},
+ {0x0000b17c, 0x057f0560},
+ {0x0000b180, 0x06400641},
+ {0x0000b184, 0x0660065f},
+ {0x0000b188, 0x067e067f},
+ {0x0000b18c, 0x07410742},
+ {0x0000b190, 0x075f0740},
+ {0x0000b194, 0x077f0760},
+ {0x0000b198, 0x07800781},
+ {0x0000b19c, 0x07a0079f},
+ {0x0000b1a0, 0x07c107bf},
+ {0x0000b1a4, 0x000007c0},
+ {0x0000b1a8, 0x00000000},
+ {0x0000b1ac, 0x00000000},
+ {0x0000b1b0, 0x00000000},
+ {0x0000b1b4, 0x00000000},
+ {0x0000b1b8, 0x00000000},
+ {0x0000b1bc, 0x00000000},
+ {0x0000b1c0, 0x00000000},
+ {0x0000b1c4, 0x00000000},
+ {0x0000b1c8, 0x00000000},
+ {0x0000b1cc, 0x00000000},
+ {0x0000b1d0, 0x00000000},
+ {0x0000b1d4, 0x00000000},
+ {0x0000b1d8, 0x00000000},
+ {0x0000b1dc, 0x00000000},
+ {0x0000b1e0, 0x00000000},
+ {0x0000b1e4, 0x00000000},
+ {0x0000b1e8, 0x00000000},
+ {0x0000b1ec, 0x00000000},
+ {0x0000b1f0, 0x00000396},
+ {0x0000b1f4, 0x00000396},
+ {0x0000b1f8, 0x00000396},
+ {0x0000b1fc, 0x00000196},
+};
+
+static const u32 ar955x_1p0_soc_preamble[][2] = {
+ /* Addr allmodes */
+ {0x00007000, 0x00000000},
+ {0x00007004, 0x00000000},
+ {0x00007008, 0x00000000},
+ {0x0000700c, 0x00000000},
+ {0x0000701c, 0x00000000},
+ {0x00007020, 0x00000000},
+ {0x00007024, 0x00000000},
+ {0x00007028, 0x00000000},
+ {0x0000702c, 0x00000000},
+ {0x00007030, 0x00000000},
+ {0x00007034, 0x00000002},
+ {0x00007038, 0x000004c2},
+ {0x00007048, 0x00000000},
+};
+
+static const u32 ar955x_1p0_common_wo_xlna_rx_gain_bounds[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
+ {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
+};
+
+static const u32 ar955x_1p0_mac_postamble[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160},
+ {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c},
+ {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38},
+ {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00},
+ {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b},
+ {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810},
+ {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a},
+ {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440},
+};
+
+static const u32 ar955x_1p0_common_rx_gain_bounds[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
+ {0x00009e48, 0x5030201a, 0x5030201a, 0x50302018, 0x50302018},
+};
+
+static const u32 ar955x_1p0_modes_no_xpa_tx_gain_table[][9] = {
+ /* Addr 5G_HT20_L 5G_HT40_L 5G_HT20_M 5G_HT40_M 5G_HT20_H 5G_HT40_H 2G_HT40 2G_HT20 */
+ {0x0000a2dc, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0xfffe5aaa, 0xfffe5aaa},
+ {0x0000a2e0, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0xffffe0f0, 0xffffe0f0},
+ {0x0000a2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffef00, 0xffffef00},
+ {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d8, 0x000050d8, 0x000050d8, 0x000050d8, 0x000050d7, 0x000050d7},
+ {0x0000a500, 0x00002220, 0x00002220, 0x00002220, 0x00002220, 0x00002220, 0x00002220, 0x00000000, 0x00000000},
+ {0x0000a504, 0x04002222, 0x04002222, 0x04002222, 0x04002222, 0x04002222, 0x04002222, 0x04000002, 0x04000002},
+ {0x0000a508, 0x09002421, 0x09002421, 0x09002421, 0x09002421, 0x09002421, 0x09002421, 0x08000004, 0x08000004},
+ {0x0000a50c, 0x0d002621, 0x0d002621, 0x0d002621, 0x0d002621, 0x0d002621, 0x0d002621, 0x0b000006, 0x0b000006},
+ {0x0000a510, 0x13004620, 0x13004620, 0x13004620, 0x13004620, 0x13004620, 0x13004620, 0x0f00000a, 0x0f00000a},
+ {0x0000a514, 0x19004a20, 0x19004a20, 0x19004a20, 0x19004a20, 0x19004a20, 0x19004a20, 0x1300000c, 0x1300000c},
+ {0x0000a518, 0x1d004e20, 0x1d004e20, 0x1d004e20, 0x1d004e20, 0x1d004e20, 0x1d004e20, 0x1700000e, 0x1700000e},
+ {0x0000a51c, 0x21005420, 0x21005420, 0x21005420, 0x21005420, 0x21005420, 0x21005420, 0x1b000012, 0x1b000012},
+ {0x0000a520, 0x26005e20, 0x26005e20, 0x26005e20, 0x26005e20, 0x26005e20, 0x26005e20, 0x1f00004a, 0x1f00004a},
+ {0x0000a524, 0x2b005e40, 0x2b005e40, 0x2b005e40, 0x2b005e40, 0x2b005e40, 0x2b005e40, 0x23000244, 0x23000244},
+ {0x0000a528, 0x2f005e42, 0x2f005e42, 0x2f005e42, 0x2f005e42, 0x2f005e42, 0x2f005e42, 0x2700022b, 0x2700022b},
+ {0x0000a52c, 0x33005e44, 0x33005e44, 0x33005e44, 0x33005e44, 0x33005e44, 0x33005e44, 0x2b000625, 0x2b000625},
+ {0x0000a530, 0x38005e65, 0x38005e65, 0x38005e65, 0x38005e65, 0x38005e65, 0x38005e65, 0x2f001006, 0x2f001006},
+ {0x0000a534, 0x3c005e69, 0x3c005e69, 0x3c005e69, 0x3c005e69, 0x3c005e69, 0x3c005e69, 0x330008a0, 0x330008a0},
+ {0x0000a538, 0x40005e6b, 0x40005e6b, 0x40005e6b, 0x40005e6b, 0x40005e6b, 0x40005e6b, 0x37000a2a, 0x37000a2a},
+ {0x0000a53c, 0x44005e6d, 0x44005e6d, 0x44005e6d, 0x44005e6d, 0x44005e6d, 0x44005e6d, 0x3b001c23, 0x3b001c23},
+ {0x0000a540, 0x49005e72, 0x49005e72, 0x49005e72, 0x49005e72, 0x49005e72, 0x49005e72, 0x3f0014a0, 0x3f0014a0},
+ {0x0000a544, 0x4e005eb2, 0x4e005eb2, 0x4e005eb2, 0x4e005eb2, 0x4e005eb2, 0x4e005eb2, 0x43001882, 0x43001882},
+ {0x0000a548, 0x53005f12, 0x53005f12, 0x53005f12, 0x53005f12, 0x53005f12, 0x53005f12, 0x47001ca2, 0x47001ca2},
+ {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x59025eb2, 0x59025eb2, 0x59025eb2, 0x59025eb2, 0x4b001ec3, 0x4b001ec3},
+ {0x0000a550, 0x5e025f12, 0x5e025f12, 0x5e025f12, 0x5e025f12, 0x5e025f12, 0x5e025f12, 0x4f00148c, 0x4f00148c},
+ {0x0000a554, 0x61027f12, 0x61027f12, 0x61027f12, 0x61027f12, 0x61027f12, 0x61027f12, 0x53001c6e, 0x53001c6e},
+ {0x0000a558, 0x6702bf12, 0x6702bf12, 0x6702bf12, 0x6702bf12, 0x6702bf12, 0x6702bf12, 0x57001c92, 0x57001c92},
+ {0x0000a55c, 0x6b02bf14, 0x6b02bf14, 0x6b02bf14, 0x6b02bf14, 0x6b02bf14, 0x6b02bf14, 0x5c001af6, 0x5c001af6},
+ {0x0000a560, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a564, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a568, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a56c, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a570, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a574, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a578, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a57c, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x6f02bf16, 0x5c001af6, 0x5c001af6},
+ {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+ {0x0000a610, 0x00804000, 0x00804000, 0x00804000, 0x00804000, 0x00804000, 0x00804000, 0x04005001, 0x04005001},
+ {0x0000a614, 0x00804201, 0x00804201, 0x00804201, 0x00804201, 0x00804201, 0x00804201, 0x03808e02, 0x03808e02},
+ {0x0000a618, 0x0280c802, 0x0280c802, 0x0280c802, 0x0280c802, 0x0280c802, 0x0280c802, 0x0300c000, 0x0300c000},
+ {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x0280ca03, 0x0280ca03, 0x0280ca03, 0x0280ca03, 0x03808e02, 0x03808e02},
+ {0x0000a620, 0x04c15104, 0x04c15104, 0x04c15104, 0x04c15104, 0x04c15104, 0x04c15104, 0x03410c03, 0x03410c03},
+ {0x0000a624, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04014c03, 0x04014c03},
+ {0x0000a628, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x05818d04, 0x05818d04},
+ {0x0000a62c, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x0801cd04, 0x0801cd04},
+ {0x0000a630, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x0801e007, 0x0801e007},
+ {0x0000a634, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x0801e007, 0x0801e007},
+ {0x0000a638, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x0801e007, 0x0801e007},
+ {0x0000a63c, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x04c15305, 0x0801e007, 0x0801e007},
+ {0x0000b2dc, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0xfffe5aaa, 0xfffe5aaa},
+ {0x0000b2e0, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0xffffe0f0, 0xffffe0f0},
+ {0x0000b2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffef00, 0xffffef00},
+ {0x0000c2dc, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0x01feee00, 0xfffe5aaa, 0xfffe5aaa},
+ {0x0000c2e0, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0x0000f000, 0xfffe9ccc, 0xfffe9ccc},
+ {0x0000c2e4, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0x01ff0000, 0xffffe0f0, 0xffffe0f0},
+ {0x0000c2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffef00, 0xffffef00},
+ {0x00016044, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x054922d4, 0x054922d4},
+ {0x00016048, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401},
+ {0x00016444, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x054922d4, 0x054922d4},
+ {0x00016448, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401},
+ {0x00016844, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x056db2d4, 0x054922d4, 0x054922d4},
+ {0x00016848, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401, 0x66482401},
+};
+
+static const u32 ar955x_1p0_soc_postamble[][5] = {
+ /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
+ {0x00007010, 0x00000023, 0x00000023, 0x00000023, 0x00000023},
+};
+
+static const u32 ar955x_1p0_modes_fast_clock[][3] = {
+ /* Addr 5G_HT20 5G_HT40 */
+ {0x00001030, 0x00000268, 0x000004d0},
+ {0x00001070, 0x0000018c, 0x00000318},
+ {0x000010b0, 0x00000fd0, 0x00001fa0},
+ {0x00008014, 0x044c044c, 0x08980898},
+ {0x0000801c, 0x148ec02b, 0x148ec057},
+ {0x00008318, 0x000044c0, 0x00008980},
+ {0x00009e00, 0x0372131c, 0x0372131c},
+ {0x0000a230, 0x0000000b, 0x00000016},
+ {0x0000a254, 0x00000898, 0x00001130},
+};
+
+#endif /* INITVALS_955X_1P0_H */
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index b13d12e..6522de6 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -35,6 +35,7 @@ struct initval_family {
#include "ar9330_1p2_initvals.h"
#include "ar9340_initvals.h"
#include "ar9485_initvals.h"
+#include "ar955x_1p0_initvals.h"
#include "ar9580_1p0_initvals.h"
#include "ar9462_2p0_initvals.h"
#include "ar9565_1p0_initvals.h"
@@ -235,6 +236,25 @@ struct initval_family {
#include "ar9485_1_1.ini"
+#define ar955x_scorpion_1p0_radio_postamble ar955x_1p0_radio_postamble
+#define ar955x_scorpion_1p0_baseband_core_txfir_coeff_japan_2484 ar955x_1p0_baseband_core_txfir_coeff_japan_2484
+#define ar955x_scorpion_1p0_baseband_postamble ar955x_1p0_baseband_postamble
+#define ar955x_scorpion_1p0_radio_core ar955x_1p0_radio_core
+#define ar955xModes_xpa_tx_gain_table_scorpion_1p0 ar955x_1p0_modes_xpa_tx_gain_table
+#define ar955x_scorpion_1p0_mac_core ar955x_1p0_mac_core
+#define ar955xCommon_rx_gain_table_scorpion_1p0 ar955x_1p0_common_rx_gain_table
+#define ar955x_scorpion_1p0_baseband_core ar955x_1p0_baseband_core
+#define ar955xCommon_wo_xlna_rx_gain_table_scorpion_1p0 ar955x_1p0_common_wo_xlna_rx_gain_table
+#define ar955x_scorpion_1p0_soc_preamble ar955x_1p0_soc_preamble
+#define ar955xCommon_wo_xlna_rx_gain_bounds_scorpion_1p0 ar955x_1p0_common_wo_xlna_rx_gain_bounds
+#define ar955x_scorpion_1p0_mac_postamble ar955x_1p0_mac_postamble
+#define ar955xCommon_rx_gain_bounds_scorpion_1p0 ar955x_1p0_common_rx_gain_bounds
+#define ar955xModes_no_xpa_tx_gain_table_scorpion_1p0 ar955x_1p0_modes_no_xpa_tx_gain_table
+#define ar955x_scorpion_1p0_soc_postamble ar955x_1p0_soc_postamble
+#define ar955xModes_fast_clock_scorpion_1p0 ar955x_1p0_modes_fast_clock
+
+#include "ar955x.ini"
+
#define ar9300Modes_fast_clock_ar9580_1p0 ar9580_1p0_modes_fast_clock
#define ar9300_ar9580_1p0_radio_postamble ar9580_1p0_radio_postamble
#define ar9300_ar9580_1p0_baseband_core ar9580_1p0_baseband_core
@@ -450,6 +470,9 @@ static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
printf("static const u32 %s[][%d] = {\n", name, p_columns);
switch (p_columns) {
+ case 9:
+ printf("\t/* Addr 5G_HT20_L 5G_HT40_L 5G_HT20_M 5G_HT40_M 5G_HT20_H 5G_HT40_H 2G_HT40 2G_HT20 */\n");
+ break;
case 5:
printf("\t/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */\n");
break;
@@ -750,6 +773,26 @@ static void ar9485_hw_print_initvals(bool check)
ar9462_2p0_baseband_core_txfir_coeff_japan_2484);
}
+static void ar955x_1p0_hw_print_initvals(bool check)
+{
+ INI_PRINT(ar955x_1p0_radio_postamble);
+ INI_PRINT(ar955x_1p0_baseband_core_txfir_coeff_japan_2484);
+ INI_PRINT(ar955x_1p0_baseband_postamble);
+ INI_PRINT(ar955x_1p0_radio_core);
+ INI_PRINTW(ar955x_1p0_modes_xpa_tx_gain_table);
+ INI_PRINT(ar955x_1p0_mac_core);
+ INI_PRINT(ar955x_1p0_common_rx_gain_table);
+ INI_PRINT(ar955x_1p0_baseband_core);
+ INI_PRINT(ar955x_1p0_common_wo_xlna_rx_gain_table);
+ INI_PRINT(ar955x_1p0_soc_preamble);
+ INI_PRINT(ar955x_1p0_common_wo_xlna_rx_gain_bounds);
+ INI_PRINT(ar955x_1p0_mac_postamble);
+ INI_PRINT(ar955x_1p0_common_rx_gain_bounds);
+ INI_PRINTW(ar955x_1p0_modes_no_xpa_tx_gain_table);
+ INI_PRINT(ar955x_1p0_soc_postamble);
+ INI_PRINT(ar955x_1p0_modes_fast_clock);
+}
+
static void ar9580_1p0_hw_print_initvals(bool check)
{
INI_PRINT_DUP(ar9580_1p0_modes_fast_clock,
@@ -843,6 +886,7 @@ struct initval_family families[] = {
FAM("ar9340" , "9340" , NULL , ar9340_hw_print_initvals),
FAM("ar9462-2p0", "9462_2P0", "AR9462 2.0", ar9462_2p0_hw_print_initvals),
FAM("ar9485" , "9485" , "AR9485 1.1", ar9485_hw_print_initvals),
+ FAM("ar955x-1p0", "955X_1P0", "AR955X 1.0", ar955x_1p0_hw_print_initvals),
FAM("ar9565-1p0", "9565_1P0", "AR9565 1.0", ar9565_1p0_hw_print_initvals),
FAM("ar9580" , "9580_1P0", "AR9580 1.0", ar9580_1p0_hw_print_initvals),
};
--
1.7.10
The current code contain lots of duplication in order to
print initval arrays for different families. Refactor the
code to get rid of the duplications. This makes the code
a bit clener, and adding support for a new family will be
easier as well.
Aslo update checksums.txt because the initvals for AR9462
are printed before AR9580.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/checksums.txt | 38 ++++----
tools/initvals/initvals.c | 199 ++++++++++++++++++------------------------
2 files changed, 104 insertions(+), 133 deletions(-)
diff --git a/tools/initvals/checksums.txt b/tools/initvals/checksums.txt
index 5f18eb1..f02df5b 100644
--- a/tools/initvals/checksums.txt
+++ b/tools/initvals/checksums.txt
@@ -137,6 +137,25 @@ ca6088034f339ea8f106f7f034d34baafec0c0ca ar9340Modes_high_ob_db_tx_gain_t
58caac4e0a0184f6904d4adc7f7be8e528e6d0e3 ar9340_1p0_mac_core
481b3066bd6b4dfa425027157f7c6252b535ebe4 ar9340Common_wo_xlna_rx_gain_table_1p0
1b9f617ab8c10ec0760e81fe61d469692f2acc29 ar9340_1p0_soc_preamble
+d9efd1c575ac43d60c310d717c59617a5323c111 ar9462_modes_fast_clock_2p0
+8bf1688079add33889085f3d35a5fab61c33487f ar9462_pciephy_clkreq_enable_L1_2p0
+8dacf543535b605143b40aef74f7d46af064cb43 ar9462_2p0_baseband_postamble
+d0f7aff1a1ab7e6f6bbda0da067714459341ce5f ar9462_common_rx_gain_table_2p0
+bc232a96b4c1530bebe654420652a9f080a09db8 ar9462_pciephy_clkreq_disable_L1_2p0
+f4c2241d40995e09f8736ed2ef5eaa5d6f051aa5 ar9462_pciephy_pll_on_clkreq_disable_L1_2p0
+057d1ee3d10321f1cc4d6c19cf1927e2ae56af28 ar9462_2p0_radio_postamble_sys2ant
+481b3066bd6b4dfa425027157f7c6252b535ebe4 ar9462_common_wo_xlna_rx_gain_table_2p0
+dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar9462_2p0_baseband_core_txfir_coeff_japan_2484
+a36b90fcdeeb4071fd090537f008f8091d885581 ar9462_modes_low_ob_db_tx_gain_table_2p0
+7c0a54aaf0f77f5bf048126e43feea746732d43f ar9462_2p0_soc_postamble
+e87864956a7209224880cff035b4441b0ab3fbcc ar9462_2p0_baseband_core
+b50d2fe654b069110bdbe06e5065f2aa9b117e3e ar9462_2p0_radio_postamble
+5a98e71e601539bf31af7b9d18b210ab70f99dae ar9462_modes_high_ob_db_tx_gain_table_2p0
+fd98d0361e085b102131c2dc07c601e0a7ccdd13 ar9462_2p0_radio_core
+3e60b14761abfa24d758727954d1d5cc398abf7f ar9462_2p0_soc_preamble
+fc8623151293cc7739d0fb8e2873256749c74930 ar9462_2p0_mac_core
+c8dc777b012068116cd5282aade8eb460f397d20 ar9462_2p0_mac_postamble
+72675fd0f308e6f31502e283119e12469d262f40 ar9462_common_mixed_rx_gain_table_2p0
c8dc777b012068116cd5282aade8eb460f397d20 ar9485_1_1_mac_postamble
5d20e4848b97566ad55e0e95458463d622ee5480 ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1
d9a90632a00a7b417154173b947dfffdeab23e51 ar9485Common_wo_xlna_rx_gain_1_1
@@ -193,22 +212,3 @@ d0f7aff1a1ab7e6f6bbda0da067714459341ce5f ar9580_1p0_rx_gain_table
0514ee3b3d014dc7110c616390a2fc5103b057f7 ar9580_1p0_pcie_phy_clkreq_enable_L1
d0865f0cebcd7df2114a5626a3d0d19b8dae5710 ar9580_1p0_pcie_phy_clkreq_disable_L1
45047f648d4c6138429f8bbc97680ac07f74ba62 ar9580_1p0_pcie_phy_pll_on_clkreq
-d9efd1c575ac43d60c310d717c59617a5323c111 ar9462_modes_fast_clock_2p0
-8bf1688079add33889085f3d35a5fab61c33487f ar9462_pciephy_clkreq_enable_L1_2p0
-8dacf543535b605143b40aef74f7d46af064cb43 ar9462_2p0_baseband_postamble
-d0f7aff1a1ab7e6f6bbda0da067714459341ce5f ar9462_common_rx_gain_table_2p0
-bc232a96b4c1530bebe654420652a9f080a09db8 ar9462_pciephy_clkreq_disable_L1_2p0
-f4c2241d40995e09f8736ed2ef5eaa5d6f051aa5 ar9462_pciephy_pll_on_clkreq_disable_L1_2p0
-057d1ee3d10321f1cc4d6c19cf1927e2ae56af28 ar9462_2p0_radio_postamble_sys2ant
-481b3066bd6b4dfa425027157f7c6252b535ebe4 ar9462_common_wo_xlna_rx_gain_table_2p0
-dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar9462_2p0_baseband_core_txfir_coeff_japan_2484
-a36b90fcdeeb4071fd090537f008f8091d885581 ar9462_modes_low_ob_db_tx_gain_table_2p0
-7c0a54aaf0f77f5bf048126e43feea746732d43f ar9462_2p0_soc_postamble
-e87864956a7209224880cff035b4441b0ab3fbcc ar9462_2p0_baseband_core
-b50d2fe654b069110bdbe06e5065f2aa9b117e3e ar9462_2p0_radio_postamble
-5a98e71e601539bf31af7b9d18b210ab70f99dae ar9462_modes_high_ob_db_tx_gain_table_2p0
-fd98d0361e085b102131c2dc07c601e0a7ccdd13 ar9462_2p0_radio_core
-3e60b14761abfa24d758727954d1d5cc398abf7f ar9462_2p0_soc_preamble
-fc8623151293cc7739d0fb8e2873256749c74930 ar9462_2p0_mac_core
-c8dc777b012068116cd5282aade8eb460f397d20 ar9462_2p0_mac_postamble
-72675fd0f308e6f31502e283119e12469d262f40 ar9462_common_mixed_rx_gain_table_2p0
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index 90ca377..35466bc 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -13,6 +13,14 @@
typedef uint32_t u32;
typedef long long unsigned int u64;
+struct initval_family {
+ const char *name;
+ const char *header_def;
+ const char *header_ver;
+
+ void (*print)(bool check);
+};
+
/*
* compile with -DATHEROS if you want to use the upstream Atheros initvals
* and have them handy.
@@ -798,129 +806,102 @@ static void ar9565_1p0_hw_print_initvals(bool check)
INI_PRINT(ar9565_1p0_modes_high_power_tx_gain_table);
}
-static void usage()
+#define FAM(_name, _def, _ver, _print) { \
+ .name = _name, \
+ .header_def = _def, \
+ .header_ver = _ver, \
+ .print = _print \
+}
+
+struct initval_family families[] = {
+ FAM("ar5008" , NULL , NULL , ar5008_hw_print_initvals),
+ FAM("ar9001" , NULL , NULL , ar9001_hw_print_initvals),
+ FAM("ar9002" , NULL , NULL , ar9002_hw_print_initvals),
+ FAM("ar9003-2p2", "9003_2P2", "AR9003 2.2", ar9003_2p2_hw_print_initvals),
+ FAM("ar9330-1p1", "9330_1P1", NULL , ar9330_1p1_hw_print_initvals),
+ FAM("ar9330-1p2", "9330_1P2", NULL , ar9330_1p2_hw_print_initvals),
+ FAM("ar9340" , "9340" , NULL , ar9340_hw_print_initvals),
+ FAM("ar9462-2p0", "9462_2P0", "AR9462 2.0", ar9462_2p0_hw_print_initvals),
+ FAM("ar9485" , "9485" , "AR9485 1.1", ar9485_hw_print_initvals),
+ FAM("ar9565-1p0", "9565_1P0", "AR9565 1.0", ar9565_1p0_hw_print_initvals),
+ FAM("ar9580" , "9580_1P0", "AR9580 1.0", ar9580_1p0_hw_print_initvals),
+};
+
+static struct initval_family *find_family(const char *name)
{
- printf("Usage: initvals [-w] "
- "[-f ar5008 | ar9001 | ar9002 | "
- "ar9003-2p2 | ar9330-1p1 | ar9330-1p2 | ar9462-2p0 | ar9485 | ar9580-1p0 | ar9565-1p0 ]\n");
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(families); i++) {
+ struct initval_family *fam;
+
+ fam = &families[i];
+ if (strncmp(fam->name, name, strlen(fam->name)) == 0)
+ return fam;
+ }
+
+ return NULL;
}
-static void print_initvals_family(char *family, bool check)
+static void print_family(struct initval_family *family, bool check)
{
- if (!check)
+ if (!check) {
print_license();
- if (strncmp(family, "ar5008", 6) == 0)
- ar5008_hw_print_initvals(check);
- else if (strncmp(family, "ar9001", 6) == 0)
- ar9001_hw_print_initvals(check);
- else if (strncmp(family, "ar9002", 6) == 0)
- ar9002_hw_print_initvals(check);
- else if (strncmp(family, "ar9003-2p2", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9003_2P2_H\n");
- printf("#define INITVALS_9003_2P2_H\n");
- printf("\n");
- printf("/* AR9003 2.2 */\n");
- printf("\n");
- }
- ar9003_2p2_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9003_2P2_H */\n");
- } else if (strncmp(family, "ar9330-1p1", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9330_1P1_H\n");
- printf("#define INITVALS_9330_1P1_H\n");
- printf("\n");
- }
- ar9330_1p1_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9330_1P1_H */\n");
- } else if (strncmp(family, "ar9330-1p2", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9330_1P2_H\n");
- printf("#define INITVALS_9330_1P2_H\n");
- printf("\n");
- }
- ar9330_1p2_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9330_1P2_H */\n");
- } else if (strncmp(family, "ar9340", 6) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9340_H\n");
- printf("#define INITVALS_9340_H\n");
- printf("\n");
- }
- ar9340_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9340_H */\n");
- } else if (strncmp(family, "ar9485", 6) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9485_H\n");
- printf("#define INITVALS_9485_H\n");
- printf("\n");
- printf("/* AR9485 1.1 */\n");
- printf("\n");
- }
- ar9485_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9485_H */\n");
- } else if (strncmp(family, "ar9580-1p0", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9580_1P0_H\n");
- printf("#define INITVALS_9580_1P0_H\n");
- printf("\n");
- printf("/* AR9580 1.0 */\n");
- printf("\n");
- }
- ar9580_1p0_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9580_1P0_H */\n");
- } else if (strncmp(family, "ar9462-2p0", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9462_2P0_H\n");
- printf("#define INITVALS_9462_2P0_H\n");
- printf("\n");
- printf("/* AR9462 2.0 */\n");
+ if (family->header_def) {
+ printf("#ifndef INITVALS_%s_H\n", family->header_def);
+ printf("#define INITVALS_%s_H\n", family->header_def);
printf("\n");
}
- ar9462_2p0_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9462_2P0_H */\n");
- } else if (strncmp(family, "ar9565-1p0", 10) == 0) {
- if (!check) {
- printf("#ifndef INITVALS_9565_1P0_H\n");
- printf("#define INITVALS_9565_1P0_H\n");
- printf("\n");
- printf("/* AR9565 1.0 */\n");
+
+ if (family->header_ver) {
+ printf("/* %s */\n", family->header_ver);
printf("\n");
}
- ar9565_1p0_hw_print_initvals(check);
- if (!check)
- printf("#endif /* INITVALS_9565_1P0_H */\n");
}
+
+ family->print(check);
+
+ if (!check && family->header_def)
+ printf("#endif /* INITVALS_%s_H */\n", family->header_def);
}
-int main(int argc, char *argv[])
+static void usage()
+{
+ int i;
+
+ printf("Usage: initvals [-w] [-f <family>]\n");
+ printf("valid <family> values:\n");
+ for (i = 0; i < ARRAY_SIZE(families); i++)
+ printf("\t%s\n", families[i].name);
+}
+
+static void print_initvals_family(char *name, bool check)
{
+ struct initval_family *family;
+ family = find_family(name);
+ if (!family)
+ return;
+
+ print_family(family, check);
+}
+
+static void print_initvals_family_all(bool check)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(families); i++)
+ print_family(&families[i], check);
+}
+
+int main(int argc, char *argv[])
+{
if (argc > 1) {
if (argc == 2) {
if (strncmp(argv[1], "-w", 2) != 0)
return -1;
- ar5008_hw_print_initvals(false);
- ar9001_hw_print_initvals(false);
- ar9002_hw_print_initvals(false);
- ar9003_2p2_hw_print_initvals(false);
- ar9330_1p1_hw_print_initvals(false);
- ar9330_1p2_hw_print_initvals(false);
- ar9340_hw_print_initvals(false);
- ar9485_hw_print_initvals(false);
- ar9565_1p0_hw_print_initvals(false);
- ar9580_1p0_hw_print_initvals(false);
- ar9462_2p0_hw_print_initvals(false);
-
+ print_initvals_family_all(false);
return 0;
}
@@ -942,17 +923,7 @@ int main(int argc, char *argv[])
return 0;
}
- ar5008_hw_print_initvals(true);
- ar9001_hw_print_initvals(true);
- ar9002_hw_print_initvals(true);
- ar9003_2p2_hw_print_initvals(true);
- ar9330_1p1_hw_print_initvals(true);
- ar9330_1p2_hw_print_initvals(true);
- ar9340_hw_print_initvals(true);
- ar9485_hw_print_initvals(true);
- ar9565_1p0_hw_print_initvals(true);
- ar9580_1p0_hw_print_initvals(true);
- ar9462_2p0_hw_print_initvals(true);
+ print_initvals_family_all(true);
return 0;
}
--
1.7.10
The 'ar9331_common_rx_gain_1p2' array was a dupe
of 'ar9485_common_rx_gain_1_1'. Since commit
8a72181377fb544e675114d9b500f6bcb877f9d1 (Update
AR9485 initvals) this is no longer the case.
Because the SHA1 values of the two arrays are
different now, verify_checksum.sh complains:
$./verify_checksums.sh
ar5008 7340125997ffffe26a3bfc854c5b9dce74b86152 pass
ar9001 8a4557f6a4e5ad2b01a40ca0519940ab775572aa pass
ar9002 67813ac6decf14f5221dd3c41126f23f4d333fc4 pass
ar9003-2p2 fdcc27a4327c6bb5e82bc7ded7387e06a2c82bb0 pass
ar9330-1p1 e01b965b87c98d865b43e5febf37cb067644e56b pass
ar9330-1p2 ab7e2aa014d2a9bd5cefad261999868888fc570e fail
+1d9e632b3fdcb2db52f95dd75ff2eac31fcac0d6 ar9331_common_rx_gain_1p2
ar9485 bbe34977a5de7a913333149ff322e767b53ec9e3 pass
ar9580-1p0 cbdf2a5efad22be6694b586f8bd9c6605697cb9f pass
$
Use the INI_PRINT macro for the 'ar9331_common_rx_gain_1p2'
array and refresh the 'ar9330_1p2_initvals.h' header.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/ar9330_1p2_initvals.h | 132 +++++++++++++++++++++++++++++++++-
tools/initvals/initvals.c | 3 +-
2 files changed, 132 insertions(+), 3 deletions(-)
diff --git a/tools/initvals/ar9330_1p2_initvals.h b/tools/initvals/ar9330_1p2_initvals.h
index 57ed8a1..1c31f61 100644
--- a/tools/initvals/ar9330_1p2_initvals.h
+++ b/tools/initvals/ar9330_1p2_initvals.h
@@ -237,6 +237,136 @@ static const u32 ar9331_1p2_radio_core[][2] = {
#define ar9331_common_wo_xlna_rx_gain_1p2 ar9331_common_wo_xlna_rx_gain_1p1
-#define ar9331_common_rx_gain_1p2 ar9485_common_rx_gain_1_1
+static const u32 ar9331_common_rx_gain_1p2[][2] = {
+ /* Addr allmodes */
+ {0x0000a000, 0x00010000},
+ {0x0000a004, 0x00030002},
+ {0x0000a008, 0x00050004},
+ {0x0000a00c, 0x00810080},
+ {0x0000a010, 0x01800082},
+ {0x0000a014, 0x01820181},
+ {0x0000a018, 0x01840183},
+ {0x0000a01c, 0x01880185},
+ {0x0000a020, 0x018a0189},
+ {0x0000a024, 0x02850284},
+ {0x0000a028, 0x02890288},
+ {0x0000a02c, 0x03850384},
+ {0x0000a030, 0x03890388},
+ {0x0000a034, 0x038b038a},
+ {0x0000a038, 0x038d038c},
+ {0x0000a03c, 0x03910390},
+ {0x0000a040, 0x03930392},
+ {0x0000a044, 0x03950394},
+ {0x0000a048, 0x00000396},
+ {0x0000a04c, 0x00000000},
+ {0x0000a050, 0x00000000},
+ {0x0000a054, 0x00000000},
+ {0x0000a058, 0x00000000},
+ {0x0000a05c, 0x00000000},
+ {0x0000a060, 0x00000000},
+ {0x0000a064, 0x00000000},
+ {0x0000a068, 0x00000000},
+ {0x0000a06c, 0x00000000},
+ {0x0000a070, 0x00000000},
+ {0x0000a074, 0x00000000},
+ {0x0000a078, 0x00000000},
+ {0x0000a07c, 0x00000000},
+ {0x0000a080, 0x28282828},
+ {0x0000a084, 0x28282828},
+ {0x0000a088, 0x28282828},
+ {0x0000a08c, 0x28282828},
+ {0x0000a090, 0x28282828},
+ {0x0000a094, 0x21212128},
+ {0x0000a098, 0x171c1c1c},
+ {0x0000a09c, 0x02020212},
+ {0x0000a0a0, 0x00000202},
+ {0x0000a0a4, 0x00000000},
+ {0x0000a0a8, 0x00000000},
+ {0x0000a0ac, 0x00000000},
+ {0x0000a0b0, 0x00000000},
+ {0x0000a0b4, 0x00000000},
+ {0x0000a0b8, 0x00000000},
+ {0x0000a0bc, 0x00000000},
+ {0x0000a0c0, 0x001f0000},
+ {0x0000a0c4, 0x111f1100},
+ {0x0000a0c8, 0x111d111e},
+ {0x0000a0cc, 0x111b111c},
+ {0x0000a0d0, 0x22032204},
+ {0x0000a0d4, 0x22012202},
+ {0x0000a0d8, 0x221f2200},
+ {0x0000a0dc, 0x221d221e},
+ {0x0000a0e0, 0x33013302},
+ {0x0000a0e4, 0x331f3300},
+ {0x0000a0e8, 0x4402331e},
+ {0x0000a0ec, 0x44004401},
+ {0x0000a0f0, 0x441e441f},
+ {0x0000a0f4, 0x55015502},
+ {0x0000a0f8, 0x551f5500},
+ {0x0000a0fc, 0x6602551e},
+ {0x0000a100, 0x66006601},
+ {0x0000a104, 0x661e661f},
+ {0x0000a108, 0x7703661d},
+ {0x0000a10c, 0x77017702},
+ {0x0000a110, 0x00007700},
+ {0x0000a114, 0x00000000},
+ {0x0000a118, 0x00000000},
+ {0x0000a11c, 0x00000000},
+ {0x0000a120, 0x00000000},
+ {0x0000a124, 0x00000000},
+ {0x0000a128, 0x00000000},
+ {0x0000a12c, 0x00000000},
+ {0x0000a130, 0x00000000},
+ {0x0000a134, 0x00000000},
+ {0x0000a138, 0x00000000},
+ {0x0000a13c, 0x00000000},
+ {0x0000a140, 0x001f0000},
+ {0x0000a144, 0x111f1100},
+ {0x0000a148, 0x111d111e},
+ {0x0000a14c, 0x111b111c},
+ {0x0000a150, 0x22032204},
+ {0x0000a154, 0x22012202},
+ {0x0000a158, 0x221f2200},
+ {0x0000a15c, 0x221d221e},
+ {0x0000a160, 0x33013302},
+ {0x0000a164, 0x331f3300},
+ {0x0000a168, 0x4402331e},
+ {0x0000a16c, 0x44004401},
+ {0x0000a170, 0x441e441f},
+ {0x0000a174, 0x55015502},
+ {0x0000a178, 0x551f5500},
+ {0x0000a17c, 0x6602551e},
+ {0x0000a180, 0x66006601},
+ {0x0000a184, 0x661e661f},
+ {0x0000a188, 0x7703661d},
+ {0x0000a18c, 0x77017702},
+ {0x0000a190, 0x00007700},
+ {0x0000a194, 0x00000000},
+ {0x0000a198, 0x00000000},
+ {0x0000a19c, 0x00000000},
+ {0x0000a1a0, 0x00000000},
+ {0x0000a1a4, 0x00000000},
+ {0x0000a1a8, 0x00000000},
+ {0x0000a1ac, 0x00000000},
+ {0x0000a1b0, 0x00000000},
+ {0x0000a1b4, 0x00000000},
+ {0x0000a1b8, 0x00000000},
+ {0x0000a1bc, 0x00000000},
+ {0x0000a1c0, 0x00000000},
+ {0x0000a1c4, 0x00000000},
+ {0x0000a1c8, 0x00000000},
+ {0x0000a1cc, 0x00000000},
+ {0x0000a1d0, 0x00000000},
+ {0x0000a1d4, 0x00000000},
+ {0x0000a1d8, 0x00000000},
+ {0x0000a1dc, 0x00000000},
+ {0x0000a1e0, 0x00000000},
+ {0x0000a1e4, 0x00000000},
+ {0x0000a1e8, 0x00000000},
+ {0x0000a1ec, 0x00000000},
+ {0x0000a1f0, 0x00000396},
+ {0x0000a1f4, 0x00000396},
+ {0x0000a1f8, 0x00000396},
+ {0x0000a1fc, 0x00000296},
+};
#endif /* INITVALS_9330_1P2_H */
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index 9f4e22b..5dd54f3 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -654,8 +654,7 @@ static void ar9330_1p2_hw_print_initvals(bool check)
INI_PRINT_DUP(ar9331_common_wo_xlna_rx_gain_1p2,
ar9331_common_wo_xlna_rx_gain_1p1);
- INI_PRINT_DUP(ar9331_common_rx_gain_1p2,
- ar9485_common_rx_gain_1_1);
+ INI_PRINT(ar9331_common_rx_gain_1p2);
}
static void ar9340_hw_print_initvals(bool check)
--
1.7.10
The initvals of the AR9462 and AR9485 chips
has been updated recently, but checksums.txt
does not reflects that. Refresh it in order to
contain the actual sha1sum values.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/checksums.txt | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/tools/initvals/checksums.txt b/tools/initvals/checksums.txt
index 9a9f909..9407ae4 100644
--- a/tools/initvals/checksums.txt
+++ b/tools/initvals/checksums.txt
@@ -139,23 +139,24 @@ ca6088034f339ea8f106f7f034d34baafec0c0ca ar9340Modes_high_ob_db_tx_gain_t
1b9f617ab8c10ec0760e81fe61d469692f2acc29 ar9340_1p0_soc_preamble
c8dc777b012068116cd5282aade8eb460f397d20 ar9485_1_1_mac_postamble
5d20e4848b97566ad55e0e95458463d622ee5480 ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1
-9c6add06664b36a13b93a3f6406ab35d24979045 ar9485Common_wo_xlna_rx_gain_1_1
-092ac2598c26b798386c3fd64920d765f8e17c55 ar9485Modes_high_power_tx_gain_1_1
-092ac2598c26b798386c3fd64920d765f8e17c55 ar9485Modes_high_ob_db_tx_gain_1_1
-092ac2598c26b798386c3fd64920d765f8e17c55 ar9485Modes_low_ob_db_tx_gain_1_1
-092ac2598c26b798386c3fd64920d765f8e17c55 ar9485_modes_lowest_ob_db_tx_gain_1_1
-8b9dc388f684bcfd25c4aea47d34c617798ae104 ar9485_1_1
+d9a90632a00a7b417154173b947dfffdeab23e51 ar9485Common_wo_xlna_rx_gain_1_1
+88b0666758b93ccaa26d500f4a80fec368c6a4e2 ar9485Modes_high_power_tx_gain_1_1
+0ac7092cc0a74e2cd03a3cc8821d46fbc3d1b3f4 ar9485Modes_high_ob_db_tx_gain_1_1
+88b0666758b93ccaa26d500f4a80fec368c6a4e2 ar9485Modes_low_ob_db_tx_gain_1_1
+88b0666758b93ccaa26d500f4a80fec368c6a4e2 ar9485_modes_lowest_ob_db_tx_gain_1_1
+5ca2c72bdaf75ac11c0f8ae8dae5bef32ffa3c3b ar9485_1_1
26e183ba89fcd047fa2c6e92549ed33772800bfb ar9485_1_1_radio_core
-0e35263848420cd394a19288ecdcc8bf6037d09e ar9485_1_1_baseband_core
-7d3b6958741de3fd02a55da56292f0e36c7bb0f9 ar9485_common_rx_gain_1_1
+2cb731330486f7c5bc501693eb729531124d21a4 ar9485_1_1_baseband_core
+1d9e632b3fdcb2db52f95dd75ff2eac31fcac0d6 ar9485_common_rx_gain_1_1
13bec2462d608918bcc8a5d2600c750730663745 ar9485_1_1_pcie_phy_pll_on_clkreq_enable_L1
b8bc19098aa0ac38cf74ca4747e28ce6bad14fa1 ar9485_1_1_pcie_phy_clkreq_enable_L1
7e1adfdb0f6a6dbbbe901d8eb019a425edfa58a6 ar9485_1_1_soc_preamble
f247bc63c9a632092b94d1af1526650753b77a60 ar9485_fast_clock_1_1_baseband_postamble
-94ad30af190524bf203b9455888503207ae6200b ar9485_1_1_baseband_postamble
+f1b452dfb558a755d9004241c29b43abd3332359 ar9485_1_1_baseband_postamble
c8016c349304ed85842783f04f01f40a0cf4468f ar9485_1_1_pcie_phy_clkreq_disable_L1
f5bb0f6a25e512b85039e8c49ebc6555ff27ac4d ar9485_1_1_radio_postamble
be2a6982ce450a3e03b1593199395599778297b0 ar9485_1_1_mac_core
+dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar9485_1_1_baseband_core_txfir_coeff_japan_2484
87e0ecae5df96673e22bc448b17d813510964de8 ar9580_1p0_modes_fast_clock
6b0fb5b3698c99f42a885c8e982ae436363f1865 ar9580_1p0_radio_postamble
5b81bf27a30c826cfde3e8f6746473e949cb41ef ar9580_1p0_baseband_core
@@ -178,7 +179,7 @@ d0865f0cebcd7df2114a5626a3d0d19b8dae5710 ar9580_1p0_pcie_phy_clkreq_disab
45047f648d4c6138429f8bbc97680ac07f74ba62 ar9580_1p0_pcie_phy_pll_on_clkreq
d9efd1c575ac43d60c310d717c59617a5323c111 ar9462_modes_fast_clock_2p0
8bf1688079add33889085f3d35a5fab61c33487f ar9462_pciephy_clkreq_enable_L1_2p0
-96d7f2eafc15577fb6a5a907622198e258406b19 ar9462_2p0_baseband_postamble
+8dacf543535b605143b40aef74f7d46af064cb43 ar9462_2p0_baseband_postamble
d0f7aff1a1ab7e6f6bbda0da067714459341ce5f ar9462_common_rx_gain_table_2p0
bc232a96b4c1530bebe654420652a9f080a09db8 ar9462_pciephy_clkreq_disable_L1_2p0
f4c2241d40995e09f8736ed2ef5eaa5d6f051aa5 ar9462_pciephy_pll_on_clkreq_disable_L1_2p0
--
1.7.10
This is required for the QCA955X initvals, because that
contain some arrays with 9 columns.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/initvals.c | 62 ++++++++++++++++++++++++++++++---------------
1 file changed, 41 insertions(+), 21 deletions(-)
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index 35466bc..b13d12e 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -338,7 +338,8 @@ struct initval_family {
char *sha1sum; \
sha1sum = ath9k_hw_check_initval((const u32 *) &_array,\
ARRAY_SIZE(_array), \
- ARRAY_SIZE((_array)[0])); \
+ ARRAY_SIZE((_array)[0]), \
+ false); \
printf("%s "#_array"\n", sha1sum); \
} else { \
if (sizeof(_ref) == sizeof(_array) && \
@@ -349,34 +350,40 @@ struct initval_family {
ath9k_hw_print_initval(#_array, (const u32 *) _array, \
ARRAY_SIZE(_array), \
ARRAY_SIZE((_array)[0]), \
+ false, \
false); \
} \
} while (0)
-#define INI_PRINT(_array) do { \
+#define _INI_PRINT(_label, _array, _wide) do { \
if (check) { \
char *sha1sum; \
sha1sum = ath9k_hw_check_initval((const u32 *) &_array,\
- ARRAY_SIZE(_array), \
- ARRAY_SIZE((_array)[0])); \
- printf("%s "#_array"\n", sha1sum); \
+ ARRAY_SIZE(_array), \
+ ARRAY_SIZE((_array)[0]), \
+ _wide); \
+ printf("%s " _label "\n", sha1sum); \
} else { \
- ath9k_hw_print_initval(#_array, (const u32 *) _array, \
+ ath9k_hw_print_initval((_label), (const u32 *) _array, \
ARRAY_SIZE(_array), \
ARRAY_SIZE((_array)[0]), \
- false); \
+ false, \
+ _wide); \
} \
} while (0)
+#define INI_PRINT(_array) _INI_PRINT(#_array, _array, false)
+#define INI_PRINTW(_array) _INI_PRINT(#_array, _array, true)
+
#define INI_PRINT_ONEDIM(_array) do { \
if (check) { \
char *sha1sum; \
sha1sum = ath9k_hw_check_initval((const u32 *) &_array,\
- ARRAY_SIZE(_array), 1); \
+ ARRAY_SIZE(_array), 1, false); \
printf("%s "#_array"\n", sha1sum); \
} else { \
ath9k_hw_print_initval(#_array, (const u32 *) _array, \
- ARRAY_SIZE(_array), 1, true); \
+ ARRAY_SIZE(_array), 1, true, false); \
} \
} while (0)
@@ -416,19 +423,26 @@ static u32 ath9k_patch_initval(u32 idx, u32 val)
return val;
}
-static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows, u32 columns, bool onedim)
+static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
+ u32 columns, bool onedim, bool wide)
{
- u32 p_columns = columns > 5 ? 5 : columns;
+ u32 p_columns;
u32 col, row;
- /*
- * This checksum stuff is designed for columns <= 8),
- * and spreads the checksum over 64 bits but since currently
- * the initval max column size is 6 we only use the first 48
- * bits.
- */
- if (columns > 6)
- return;
+ if (wide) {
+ p_columns = columns;
+ } else {
+ p_columns = columns > 5 ? 5 : columns;
+
+ /*
+ * This checksum stuff is designed for columns <= 8),
+ * and spreads the checksum over 64 bits but since currently
+ * the initval max column size is 6 we only use the first 48
+ * bits.
+ */
+ if (columns > 6)
+ return;
+ }
if (onedim)
printf("static const u32 %s[] = {\n", name);
@@ -472,14 +486,20 @@ static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
printf("};\n\n");
}
-static char *ath9k_hw_check_initval(const u32 *array, u32 rows, u32 columns)
+static char *ath9k_hw_check_initval(const u32 *array, u32 rows, u32 columns,
+ bool wide)
{
SHA1_CTX ctx;
unsigned char digest[SHA1_DIGEST_SIZE];
static char buf[64];
- u32 p_columns = columns > 5 ? 5 : columns;
+ u32 p_columns;
u32 col, row;
+ if (wide)
+ p_columns = columns;
+ else
+ p_columns = columns > 5 ? 5 : columns;
+
SHA1_Init(&ctx);
for (row = 0; row < rows; row++) {
for (col = 0; col < p_columns; col++) {
--
1.7.10
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/initvals.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index cb0bbbf..cff2c4e 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -838,7 +838,7 @@ static void print_initvals_family(char *family, bool check)
ar9330_1p2_hw_print_initvals(check);
if (!check)
printf("#endif /* INITVALS_9330_1P2_H */\n");
- } else if (strncmp(family, "ar9340", 10) == 0) {
+ } else if (strncmp(family, "ar9340", 6) == 0) {
if (!check) {
printf("#ifndef INITVALS_9340_H\n");
printf("#define INITVALS_9340_H\n");
--
1.7.10
The comment at the end of the 'ar9340_initvals.h'
header does not match with defined constant. Fix it.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/ar9340_initvals.h | 2 +-
tools/initvals/initvals.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/initvals/ar9340_initvals.h b/tools/initvals/ar9340_initvals.h
index dfc202e..1d8235e 100644
--- a/tools/initvals/ar9340_initvals.h
+++ b/tools/initvals/ar9340_initvals.h
@@ -1345,4 +1345,4 @@ static const u32 ar9340_1p0_soc_preamble[][2] = {
{0x00007038, 0x000004c2},
};
-#endif /* INITVALS_9340_1P0_H */
+#endif /* INITVALS_9340_H */
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index c93a3d1..cb0bbbf 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -846,7 +846,7 @@ static void print_initvals_family(char *family, bool check)
}
ar9340_hw_print_initvals(check);
if (!check)
- printf("#endif /* INITVALS_9340_1P0_H */\n");
+ printf("#endif /* INITVALS_9340_H */\n");
} else if (strncmp(family, "ar9485", 6) == 0) {
if (!check) {
printf("#ifndef INITVALS_9485_H\n");
--
1.7.10
Now that initvals supports the AR955X family,
refresh 'checksums.txt'.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/checksums.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/tools/initvals/checksums.txt b/tools/initvals/checksums.txt
index f02df5b..0128621 100644
--- a/tools/initvals/checksums.txt
+++ b/tools/initvals/checksums.txt
@@ -176,6 +176,22 @@ c8016c349304ed85842783f04f01f40a0cf4468f ar9485_1_1_pcie_phy_clkreq_disab
f5bb0f6a25e512b85039e8c49ebc6555ff27ac4d ar9485_1_1_radio_postamble
be2a6982ce450a3e03b1593199395599778297b0 ar9485_1_1_mac_core
dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar9485_1_1_baseband_core_txfir_coeff_japan_2484
+8ac169541145c0815a3310fe70ecb18d0b5beb1e ar955x_1p0_radio_postamble
+dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar955x_1p0_baseband_core_txfir_coeff_japan_2484
+79c5a0883ca14e2cd93b00c06956686d6afc35b8 ar955x_1p0_baseband_postamble
+944fce08afd997013da4a0f2fc49f04b215a19d7 ar955x_1p0_radio_core
+a9ee65d54600d6a4fc4e81292083b7673161a1f7 ar955x_1p0_modes_xpa_tx_gain_table
+c034452a6673a30a02a02510aefd48274bb9ab42 ar955x_1p0_mac_core
+2b67b93c41a4e7cd5761a7c698387f4282d3d092 ar955x_1p0_common_rx_gain_table
+6d91c355cd39873388ba87c71a92fbdfcf200491 ar955x_1p0_baseband_core
+481b3066bd6b4dfa425027157f7c6252b535ebe4 ar955x_1p0_common_wo_xlna_rx_gain_table
+cb21861cd9f3fa38eccd2552495820f64e1402d1 ar955x_1p0_soc_preamble
+894acf855e7b814678270fcf5c8736b5035755b9 ar955x_1p0_common_wo_xlna_rx_gain_bounds
+c8dc777b012068116cd5282aade8eb460f397d20 ar955x_1p0_mac_postamble
+91301f020ec21e066b43364b0f21bb810b0fe90c ar955x_1p0_common_rx_gain_bounds
+b836a622916e66da6a23c9cd34a7d933571ff6db ar955x_1p0_modes_no_xpa_tx_gain_table
+8ad6e285ff8db78d133b0b5203145ef2c7f97364 ar955x_1p0_soc_postamble
+87e0ecae5df96673e22bc448b17d813510964de8 ar955x_1p0_modes_fast_clock
839b2486a70775db100fca6421860d4922fbf945 ar9565_1p0_mac_core
c8dc777b012068116cd5282aade8eb460f397d20 ar9565_1p0_mac_postamble
be2a958615907b5f7766336b124d79cb3dbb3c1f ar9565_1p0_baseband_core
--
1.7.10
The initvals tool contain support for the
AR9565 chip, however the sha1sum values and
the actual initval arrays are not printend
when 'initvals' is called without a family
parameter.
Add the missing 'ar9565_1p0_hw_print_initvals()'
calls to fix this. Also refresh checksums.txt.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/checksums.txt | 16 ++++++++++++++++
tools/initvals/initvals.c | 2 ++
2 files changed, 18 insertions(+)
diff --git a/tools/initvals/checksums.txt b/tools/initvals/checksums.txt
index 9407ae4..5f18eb1 100644
--- a/tools/initvals/checksums.txt
+++ b/tools/initvals/checksums.txt
@@ -157,6 +157,22 @@ c8016c349304ed85842783f04f01f40a0cf4468f ar9485_1_1_pcie_phy_clkreq_disab
f5bb0f6a25e512b85039e8c49ebc6555ff27ac4d ar9485_1_1_radio_postamble
be2a6982ce450a3e03b1593199395599778297b0 ar9485_1_1_mac_core
dfaefa89122b4b769bfcf93b4bd9569f2b0ee961 ar9485_1_1_baseband_core_txfir_coeff_japan_2484
+839b2486a70775db100fca6421860d4922fbf945 ar9565_1p0_mac_core
+c8dc777b012068116cd5282aade8eb460f397d20 ar9565_1p0_mac_postamble
+be2a958615907b5f7766336b124d79cb3dbb3c1f ar9565_1p0_baseband_core
+7ae44b5234dc536c5fe3bd484ecbf4bd4f8f8ee1 ar9565_1p0_baseband_postamble
+98708e6c8cde013777cd5c5c9ded6dfe038b652f ar9565_1p0_radio_core
+bc722e44e8c7039983b485fc099275c6629974cf ar9565_1p0_radio_postamble
+524fae156c2942a28c62603dac8f9ee99ff0e25a ar9565_1p0_soc_preamble
+b045882e6e5b3f54d9eed19022abe6a44bc04e73 ar9565_1p0_soc_postamble
+bc0a956de3b035894bf68722ca4c8a4365fe0f4b ar9565_1p0_Common_rx_gain_table
+4bf703cdebf0bfb9ad867cb53b79d6c3957b6f91 ar9565_1p0_Modes_lowest_ob_db_tx_gain_table
+2fbe90336971cd66f0264c0cc57605c2de069d5f ar9565_1p0_pciephy_clkreq_disable_L1
+6db24dff7f419466d4734d59063314b9e52d4640 ar9565_1p0_modes_fast_clock
+d297fe8586260e902a2b629323e4802fe207f2b7 ar9565_1p0_common_wo_xlna_rx_gain_table
+4bf703cdebf0bfb9ad867cb53b79d6c3957b6f91 ar9565_1p0_modes_low_ob_db_tx_gain_table
+7e7f55da5f2572348ddf79e41e9ab9647d94caff ar9565_1p0_modes_high_ob_db_tx_gain_table
+a67925a1d3f3263537a4a0d6096f3f8994190f14 ar9565_1p0_modes_high_power_tx_gain_table
87e0ecae5df96673e22bc448b17d813510964de8 ar9580_1p0_modes_fast_clock
6b0fb5b3698c99f42a885c8e982ae436363f1865 ar9580_1p0_radio_postamble
5b81bf27a30c826cfde3e8f6746473e949cb41ef ar9580_1p0_baseband_core
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index 5dd54f3..c93a3d1 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -910,6 +910,7 @@ int main(int argc, char *argv[])
ar9330_1p2_hw_print_initvals(false);
ar9340_hw_print_initvals(false);
ar9485_hw_print_initvals(false);
+ ar9565_1p0_hw_print_initvals(false);
ar9580_1p0_hw_print_initvals(false);
ar9462_2p0_hw_print_initvals(false);
@@ -942,6 +943,7 @@ int main(int argc, char *argv[])
ar9330_1p2_hw_print_initvals(true);
ar9340_hw_print_initvals(true);
ar9485_hw_print_initvals(true);
+ ar9565_1p0_hw_print_initvals(true);
ar9580_1p0_hw_print_initvals(true);
ar9462_2p0_hw_print_initvals(true);
--
1.7.10
Keep the length of the macro lines under 80 character.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/initvals.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/tools/initvals/initvals.c b/tools/initvals/initvals.c
index 0ab4d7f..90ca377 100644
--- a/tools/initvals/initvals.c
+++ b/tools/initvals/initvals.c
@@ -329,15 +329,19 @@ typedef long long unsigned int u64;
if (check) { \
char *sha1sum; \
sha1sum = ath9k_hw_check_initval((const u32 *) &_array,\
- ARRAY_SIZE(_array), ARRAY_SIZE((_array)[0])); \
+ ARRAY_SIZE(_array), \
+ ARRAY_SIZE((_array)[0])); \
printf("%s "#_array"\n", sha1sum); \
} else { \
- if (sizeof(_ref) == sizeof(_array) && !memcmp(&_ref, &_array, sizeof(_ref))) { \
+ if (sizeof(_ref) == sizeof(_array) && \
+ !memcmp(&_ref, &_array, sizeof(_ref))) { \
printf("#define " #_array " " #_ref "\n\n"); \
break; \
} \
ath9k_hw_print_initval(#_array, (const u32 *) _array, \
- ARRAY_SIZE(_array), ARRAY_SIZE((_array)[0]), false); \
+ ARRAY_SIZE(_array), \
+ ARRAY_SIZE((_array)[0]), \
+ false); \
} \
} while (0)
@@ -345,11 +349,14 @@ typedef long long unsigned int u64;
if (check) { \
char *sha1sum; \
sha1sum = ath9k_hw_check_initval((const u32 *) &_array,\
- ARRAY_SIZE(_array), ARRAY_SIZE((_array)[0])); \
+ ARRAY_SIZE(_array), \
+ ARRAY_SIZE((_array)[0])); \
printf("%s "#_array"\n", sha1sum); \
} else { \
ath9k_hw_print_initval(#_array, (const u32 *) _array, \
- ARRAY_SIZE(_array), ARRAY_SIZE((_array)[0]), false); \
+ ARRAY_SIZE(_array), \
+ ARRAY_SIZE((_array)[0]), \
+ false); \
} \
} while (0)
--
1.7.10
On Thu, Dec 6, 2012 at 10:17 AM, Gabor Juhos <[email protected]> wrote:
> @@ -416,19 +423,26 @@ static u32 ath9k_patch_initval(u32 idx, u32 val)
> return val;
> }
>
> -static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows, u32 columns, bool onedim)
> +static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
> + u32 columns, bool onedim, bool wide)
> {
> - u32 p_columns = columns > 5 ? 5 : columns;
> + u32 p_columns;
> u32 col, row;
>
> - /*
> - * This checksum stuff is designed for columns <= 8),
> - * and spreads the checksum over 64 bits but since currently
> - * the initval max column size is 6 we only use the first 48
> - * bits.
> - */
> - if (columns > 6)
> - return;
> + if (wide) {
> + p_columns = columns;
> + } else {
> + p_columns = columns > 5 ? 5 : columns;
> +
> + /*
> + * This checksum stuff is designed for columns <= 8),
> + * and spreads the checksum over 64 bits but since currently
> + * the initval max column size is 6 we only use the first 48
> + * bits.
> + */
> + if (columns > 6)
> + return;
> + }
The comment here was for the case that we were using the old nasty
checksum thingy I invented, prior to you adding SHA1 checksum support.
The column limitation therefore seems artificial here ?
Also, as per Adrian's advice on the eeprom dump tool, perhaps we can
remove clutter from the initvals tool by allowing us to copy to the
local directory the initval files from a linux-next tag.
git show next-20121204:drivers/net/wireless/ath/ath9k/ar9002_initvals.h
> path/ar9002_initvals.h
For example. But this would mean requiring us to get diffs by using a
kernel git tree, separate from where we are. Not sure if there are
gains with this strategy. Its unclear.
Luis
On Thu, Dec 6, 2012 at 10:17 AM, Gabor Juhos <[email protected]> wrote:
> This patch-set contain patches for the initvals tool.
> The first seven patches are fixing minor bugs, the next
> three imporves the code a bit and the last four patches
> are adding suport for AR9550.
>
> Changes since v1:
> - rebase against the current version
> - add four new patch to fix more issues
>
> Gabor Juhos (13):
> qca-swiss-army-knife: refresh checksums.txt
> qca-swiss-army-knife: fix ar9330_1p2_initvals.h
> qca-swiss-army-knife: print AR9565 initvals
> qca-swiss-army-knife: fix comment in ar9340_initvals.h
> qca-swiss-army-knife: add missing families to verify_checksums.sh
> qca-swiss-army-knife: fix string length for ar9340
> qca-swiss-army-knife: add ar9462-2p0 to the usage text
> qca-swiss-army-knife: reformat INI_PRINT_* macros
> qca-swiss-army-knife: simplify initval family handling
> qca-swiss-army-knife: allow to print initvals with more than 5 columns
> qca-swiss-army-knife: add initval support for AR955X
> qca-swiss-army-knife: add checksums for AR955X initvals
> qca-swiss-army-knife: allow to verify AR955X initvals
Thanks, applied and pushed! I have a comment on a patch but that can
be reviewed and address if required through follow up patches if so
desired.
Luis
2012.12.07. 0:02 keltezéssel, Luis R. Rodriguez írta:
> On Thu, Dec 6, 2012 at 10:17 AM, Gabor Juhos <[email protected]> wrote:
>> @@ -416,19 +423,26 @@ static u32 ath9k_patch_initval(u32 idx, u32 val)
>> return val;
>> }
>>
>> -static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows, u32 columns, bool onedim)
>> +static void ath9k_hw_print_initval(const char *name, const u32 *array, u32 rows,
>> + u32 columns, bool onedim, bool wide)
>> {
>> - u32 p_columns = columns > 5 ? 5 : columns;
>> + u32 p_columns;
>> u32 col, row;
>>
>> - /*
>> - * This checksum stuff is designed for columns <= 8),
>> - * and spreads the checksum over 64 bits but since currently
>> - * the initval max column size is 6 we only use the first 48
>> - * bits.
>> - */
>> - if (columns > 6)
>> - return;
>> + if (wide) {
>> + p_columns = columns;
>> + } else {
>> + p_columns = columns > 5 ? 5 : columns;
>> +
>> + /*
>> + * This checksum stuff is designed for columns <= 8),
>> + * and spreads the checksum over 64 bits but since currently
>> + * the initval max column size is 6 we only use the first 48
>> + * bits.
>> + */
>> + if (columns > 6)
>> + return;
>> + }
>
> The comment here was for the case that we were using the old nasty
> checksum thingy I invented, prior to you adding SHA1 checksum support.
> The column limitation therefore seems artificial here ?
Well, the comment and the 'if (columns > 6)' block can be removed.
However, the
p_columns = columns > 5 ? 5 : columns;
line ensures that we don't print the values for 'Turbo' modes. Although it can
be removed (along with the 'wide' argument) but that needs more changes.
> Also, as per Adrian's advice on the eeprom dump tool, perhaps we can
> remove clutter from the initvals tool by allowing us to copy to the
> local directory the initval files from a linux-next tag.
>
> git show next-20121204:drivers/net/wireless/ath/ath9k/ar9002_initvals.h
>> path/ar9002_initvals.h
>
> For example. But this would mean requiring us to get diffs by using a
> kernel git tree, separate from where we are. Not sure if there are
> gains with this strategy. Its unclear.
Copying the initval headers from a git tree would add unnecessary complexity
IMHO. If we want to check the validity of the initval headers in a given kernel
tree, that can be achieved in a simpler way. The path which contains the ath9k
specific initval headers can be defined as an include dir while compiling the
initval tool.
-Gabor
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/Makefile | 1 +
tools/initvals/verify_checksums.sh | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/initvals/Makefile b/tools/initvals/Makefile
index 010b68c..884eeeb 100644
--- a/tools/initvals/Makefile
+++ b/tools/initvals/Makefile
@@ -35,6 +35,7 @@ ATH9K_HEADERS = \
ar9330-1p2:ar9330_1p2_initvals.h \
ar9340:ar9340_initvals.h \
ar9485:ar9485_initvals.h \
+ ar955x-1p0:ar955x_1p0_initvals.h \
ar9580-1p0:ar9580_1p0_initvals.h \
ar9462-2p0:ar9462_2p0_initvals.h \
ar9565-1p0:ar9565_1p0_initvals.h
diff --git a/tools/initvals/verify_checksums.sh b/tools/initvals/verify_checksums.sh
index 46fff90..fcc6db6 100755
--- a/tools/initvals/verify_checksums.sh
+++ b/tools/initvals/verify_checksums.sh
@@ -31,7 +31,7 @@ verify_family_checksum()
}
FAMILIES="$@"
-[ -z "$FAMILIES" ] && FAMILIES="ar5008 ar9001 ar9002 ar9003-2p2 ar9330-1p1 ar9330-1p2 ar9340 ar9462-1p0 ar9485 ar9565-1p0 ar9580-1p0"
+[ -z "$FAMILIES" ] && FAMILIES="ar5008 ar9001 ar9002 ar9003-2p2 ar9330-1p1 ar9330-1p2 ar9340 ar9462-1p0 ar9485 ar955x-1p0 ar9565-1p0 ar9580-1p0"
mkdir -p "$CSUM_DIR"
for family in $FAMILIES; do
--
1.7.10
Add the missing ar9340, ar9462-1p0, ar9565-1p0
families to the 'verify_checksums.sh' script.
Signed-off-by: Gabor Juhos <[email protected]>
---
tools/initvals/verify_checksums.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/initvals/verify_checksums.sh b/tools/initvals/verify_checksums.sh
index 6878ca5..46fff90 100755
--- a/tools/initvals/verify_checksums.sh
+++ b/tools/initvals/verify_checksums.sh
@@ -31,7 +31,7 @@ verify_family_checksum()
}
FAMILIES="$@"
-[ -z "$FAMILIES" ] && FAMILIES="ar5008 ar9001 ar9002 ar9003-2p2 ar9330-1p1 ar9330-1p2 ar9485 ar9580-1p0"
+[ -z "$FAMILIES" ] && FAMILIES="ar5008 ar9001 ar9002 ar9003-2p2 ar9330-1p1 ar9330-1p2 ar9340 ar9462-1p0 ar9485 ar9565-1p0 ar9580-1p0"
mkdir -p "$CSUM_DIR"
for family in $FAMILIES; do
--
1.7.10