linux-zen-server/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phytbl_lcn.c

3171 lines
40 KiB
C
Raw Permalink Normal View History

2023-08-30 17:53:23 +02:00
// SPDX-License-Identifier: ISC
/*
* Copyright (c) 2010 Broadcom Corporation
*/
#include <types.h>
#include "phytbl_lcn.h"
static const u32 dot11lcn_gain_tbl_rev0[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000004,
0x00000000,
0x00000004,
0x00000008,
0x00000001,
0x00000005,
0x00000009,
0x0000000d,
0x0000004d,
0x0000008d,
0x0000000d,
0x0000004d,
0x0000008d,
0x000000cd,
0x0000004f,
0x0000008f,
0x000000cf,
0x000000d3,
0x00000113,
0x00000513,
0x00000913,
0x00000953,
0x00000d53,
0x00001153,
0x00001193,
0x00005193,
0x00009193,
0x0000d193,
0x00011193,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000004,
0x00000000,
0x00000004,
0x00000008,
0x00000001,
0x00000005,
0x00000009,
0x0000000d,
0x0000004d,
0x0000008d,
0x0000000d,
0x0000004d,
0x0000008d,
0x000000cd,
0x0000004f,
0x0000008f,
0x000000cf,
0x000000d3,
0x00000113,
0x00000513,
0x00000913,
0x00000953,
0x00000d53,
0x00001153,
0x00005153,
0x00009153,
0x0000d153,
0x00011153,
0x00015153,
0x00019153,
0x0001d153,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
};
static const u16 dot11lcn_aux_gain_idx_tbl_rev0[] = {
0x0401,
0x0402,
0x0403,
0x0404,
0x0405,
0x0406,
0x0407,
0x0408,
0x0409,
0x040a,
0x058b,
0x058c,
0x058d,
0x058e,
0x058f,
0x0090,
0x0091,
0x0092,
0x0193,
0x0194,
0x0195,
0x0196,
0x0197,
0x0198,
0x0199,
0x019a,
0x019b,
0x019c,
0x019d,
0x019e,
0x019f,
0x01a0,
0x01a1,
0x01a2,
0x01a3,
0x01a4,
0x01a5,
0x0000,
};
static const u32 dot11lcn_gain_idx_tbl_rev0[] = {
0x00000000,
0x00000000,
0x10000000,
0x00000000,
0x20000000,
0x00000000,
0x30000000,
0x00000000,
0x40000000,
0x00000000,
0x50000000,
0x00000000,
0x60000000,
0x00000000,
0x70000000,
0x00000000,
0x80000000,
0x00000000,
0x90000000,
0x00000008,
0xa0000000,
0x00000008,
0xb0000000,
0x00000008,
0xc0000000,
0x00000008,
0xd0000000,
0x00000008,
0xe0000000,
0x00000008,
0xf0000000,
0x00000008,
0x00000000,
0x00000009,
0x10000000,
0x00000009,
0x20000000,
0x00000019,
0x30000000,
0x00000019,
0x40000000,
0x00000019,
0x50000000,
0x00000019,
0x60000000,
0x00000019,
0x70000000,
0x00000019,
0x80000000,
0x00000019,
0x90000000,
0x00000019,
0xa0000000,
0x00000019,
0xb0000000,
0x00000019,
0xc0000000,
0x00000019,
0xd0000000,
0x00000019,
0xe0000000,
0x00000019,
0xf0000000,
0x00000019,
0x00000000,
0x0000001a,
0x10000000,
0x0000001a,
0x20000000,
0x0000001a,
0x30000000,
0x0000001a,
0x40000000,
0x0000001a,
0x50000000,
0x00000002,
0x60000000,
0x00000002,
0x70000000,
0x00000002,
0x80000000,
0x00000002,
0x90000000,
0x00000002,
0xa0000000,
0x00000002,
0xb0000000,
0x00000002,
0xc0000000,
0x0000000a,
0xd0000000,
0x0000000a,
0xe0000000,
0x0000000a,
0xf0000000,
0x0000000a,
0x00000000,
0x0000000b,
0x10000000,
0x0000000b,
0x20000000,
0x0000000b,
0x30000000,
0x0000000b,
0x40000000,
0x0000000b,
0x50000000,
0x0000001b,
0x60000000,
0x0000001b,
0x70000000,
0x0000001b,
0x80000000,
0x0000001b,
0x90000000,
0x0000001b,
0xa0000000,
0x0000001b,
0xb0000000,
0x0000001b,
0xc0000000,
0x0000001b,
0xd0000000,
0x0000001b,
0xe0000000,
0x0000001b,
0xf0000000,
0x0000001b,
0x00000000,
0x0000001c,
0x10000000,
0x0000001c,
0x20000000,
0x0000001c,
0x30000000,
0x0000001c,
0x40000000,
0x0000001c,
0x50000000,
0x0000001c,
0x60000000,
0x0000001c,
0x70000000,
0x0000001c,
0x80000000,
0x0000001c,
0x90000000,
0x0000001c,
};
static const u16 dot11lcn_aux_gain_idx_tbl_2G[] = {
0x0000,
0x0000,
0x0000,
0x0000,
0x0001,
0x0080,
0x0081,
0x0100,
0x0101,
0x0180,
0x0181,
0x0182,
0x0183,
0x0184,
0x0185,
0x0186,
0x0187,
0x0188,
0x0285,
0x0289,
0x028a,
0x028b,
0x028c,
0x028d,
0x028e,
0x028f,
0x0290,
0x0291,
0x0292,
0x0293,
0x0294,
0x0295,
0x0296,
0x0297,
0x0298,
0x0299,
0x029a,
0x0000
};
static const u8 dot11lcn_gain_val_tbl_2G[] = {
0xfc,
0x02,
0x08,
0x0e,
0x13,
0x1b,
0xfc,
0x02,
0x08,
0x0e,
0x13,
0x1b,
0xfc,
0x00,
0x0c,
0x03,
0xeb,
0xfe,
0x07,
0x0b,
0x0f,
0xfb,
0xfe,
0x01,
0x05,
0x08,
0x0b,
0x0e,
0x11,
0x14,
0x17,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x15,
0x18,
0x1b,
0x00,
0x00,
0x00,
0x00,
0x00
};
static const u32 dot11lcn_gain_idx_tbl_2G[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x10000000,
0x00000000,
0x00000000,
0x00000008,
0x10000000,
0x00000008,
0x00000000,
0x00000010,
0x10000000,
0x00000010,
0x00000000,
0x00000018,
0x10000000,
0x00000018,
0x20000000,
0x00000018,
0x30000000,
0x00000018,
0x40000000,
0x00000018,
0x50000000,
0x00000018,
0x60000000,
0x00000018,
0x70000000,
0x00000018,
0x80000000,
0x00000018,
0x50000000,
0x00000028,
0x90000000,
0x00000028,
0xa0000000,
0x00000028,
0xb0000000,
0x00000028,
0xc0000000,
0x00000028,
0xd0000000,
0x00000028,
0xe0000000,
0x00000028,
0xf0000000,
0x00000028,
0x00000000,
0x00000029,
0x10000000,
0x00000029,
0x20000000,
0x00000029,
0x30000000,
0x00000029,
0x40000000,
0x00000029,
0x50000000,
0x00000029,
0x60000000,
0x00000029,
0x70000000,
0x00000029,
0x80000000,
0x00000029,
0x90000000,
0x00000029,
0xa0000000,
0x00000029,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x10000000,
0x00000000,
0x00000000,
0x00000008,
0x10000000,
0x00000008,
0x00000000,
0x00000010,
0x10000000,
0x00000010,
0x00000000,
0x00000018,
0x10000000,
0x00000018,
0x20000000,
0x00000018,
0x30000000,
0x00000018,
0x40000000,
0x00000018,
0x50000000,
0x00000018,
0x60000000,
0x00000018,
0x70000000,
0x00000018,
0x80000000,
0x00000018,
0x50000000,
0x00000028,
0x90000000,
0x00000028,
0xa0000000,
0x00000028,
0xb0000000,
0x00000028,
0xc0000000,
0x00000028,
0xd0000000,
0x00000028,
0xe0000000,
0x00000028,
0xf0000000,
0x00000028,
0x00000000,
0x00000029,
0x10000000,
0x00000029,
0x20000000,
0x00000029,
0x30000000,
0x00000029,
0x40000000,
0x00000029,
0x50000000,
0x00000029,
0x60000000,
0x00000029,
0x70000000,
0x00000029,
0x80000000,
0x00000029,
0x90000000,
0x00000029,
0xa0000000,
0x00000029,
0xb0000000,
0x00000029,
0xc0000000,
0x00000029,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
static const u32 dot11lcn_gain_tbl_2G[] = {
0x00000000,
0x00000004,
0x00000008,
0x00000001,
0x00000005,
0x00000009,
0x0000000d,
0x0000004d,
0x0000008d,
0x00000049,
0x00000089,
0x000000c9,
0x0000004b,
0x0000008b,
0x000000cb,
0x000000cf,
0x0000010f,
0x0000050f,
0x0000090f,
0x0000094f,
0x00000d4f,
0x0000114f,
0x0000118f,
0x0000518f,
0x0000918f,
0x0000d18f,
0x0001118f,
0x0001518f,
0x0001918f,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
static const u32 dot11lcn_gain_tbl_extlna_2G[] = {
0x00000000,
0x00000004,
0x00000008,
0x00000001,
0x00000005,
0x00000009,
0x0000000d,
0x00000003,
0x00000007,
0x0000000b,
0x0000000f,
0x0000004f,
0x0000008f,
0x000000cf,
0x0000010f,
0x0000014f,
0x0000018f,
0x0000058f,
0x0000098f,
0x00000d8f,
0x00008000,
0x00008004,
0x00008008,
0x00008001,
0x00008005,
0x00008009,
0x0000800d,
0x00008003,
0x00008007,
0x0000800b,
0x0000800f,
0x0000804f,
0x0000808f,
0x000080cf,
0x0000810f,
0x0000814f,
0x0000818f,
0x0000858f,
0x0000898f,
0x00008d8f,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
static const u16 dot11lcn_aux_gain_idx_tbl_extlna_2G[] = {
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0400,
0x0401,
0x0402,
0x0403,
0x0404,
0x0483,
0x0484,
0x0485,
0x0486,
0x0583,
0x0584,
0x0585,
0x0587,
0x0588,
0x0589,
0x058a,
0x0687,
0x0688,
0x0689,
0x068a,
0x068b,
0x068c,
0x068d,
0x068e,
0x068f,
0x0690,
0x0691,
0x0692,
0x0693,
0x0000
};
static const u8 dot11lcn_gain_val_tbl_extlna_2G[] = {
0xfc,
0x02,
0x08,
0x0e,
0x13,
0x1b,
0xfc,
0x02,
0x08,
0x0e,
0x13,
0x1b,
0xfc,
0x00,
0x0f,
0x03,
0xeb,
0xfe,
0x07,
0x0b,
0x0f,
0xfb,
0xfe,
0x01,
0x05,
0x08,
0x0b,
0x0e,
0x11,
0x14,
0x17,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x15,
0x18,
0x1b,
0x00,
0x00,
0x00,
0x00,
0x00
};
static const u32 dot11lcn_gain_idx_tbl_extlna_2G[] = {
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x00000000,
0x00000040,
0x10000000,
0x00000040,
0x20000000,
0x00000040,
0x30000000,
0x00000040,
0x40000000,
0x00000040,
0x30000000,
0x00000048,
0x40000000,
0x00000048,
0x50000000,
0x00000048,
0x60000000,
0x00000048,
0x30000000,
0x00000058,
0x40000000,
0x00000058,
0x50000000,
0x00000058,
0x70000000,
0x00000058,
0x80000000,
0x00000058,
0x90000000,
0x00000058,
0xa0000000,
0x00000058,
0x70000000,
0x00000068,
0x80000000,
0x00000068,
0x90000000,
0x00000068,
0xa0000000,
0x00000068,
0xb0000000,
0x00000068,
0xc0000000,
0x00000068,
0xd0000000,
0x00000068,
0xe0000000,
0x00000068,
0xf0000000,
0x00000068,
0x00000000,
0x00000069,
0x10000000,
0x00000069,
0x20000000,
0x00000069,
0x30000000,
0x00000069,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x40000000,
0x00000041,
0x50000000,
0x00000041,
0x60000000,
0x00000041,
0x70000000,
0x00000041,
0x80000000,
0x00000041,
0x70000000,
0x00000049,
0x80000000,
0x00000049,
0x90000000,
0x00000049,
0xa0000000,
0x00000049,
0x70000000,
0x00000059,
0x80000000,
0x00000059,
0x90000000,
0x00000059,
0xb0000000,
0x00000059,
0xc0000000,
0x00000059,
0xd0000000,
0x00000059,
0xe0000000,
0x00000059,
0xb0000000,
0x00000069,
0xc0000000,
0x00000069,
0xd0000000,
0x00000069,
0xe0000000,
0x00000069,
0xf0000000,
0x00000069,
0x00000000,
0x0000006a,
0x10000000,
0x0000006a,
0x20000000,
0x0000006a,
0x30000000,
0x0000006a,
0x40000000,
0x0000006a,
0x50000000,
0x0000006a,
0x60000000,
0x0000006a,
0x70000000,
0x0000006a,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
static const u32 dot11lcn_aux_gain_idx_tbl_5G[] = {
0x0000,
0x0000,
0x0000,
0x0000,
0x0001,
0x0002,
0x0003,
0x0004,
0x0083,
0x0084,
0x0085,
0x0086,
0x0087,
0x0186,
0x0187,
0x0188,
0x0189,
0x018a,
0x018b,
0x018c,
0x018d,
0x018e,
0x018f,
0x0190,
0x0191,
0x0192,
0x0193,
0x0194,
0x0195,
0x0196,
0x0197,
0x0198,
0x0199,
0x019a,
0x019b,
0x019c,
0x019d,
0x0000
};
static const u32 dot11lcn_gain_val_tbl_5G[] = {
0xf7,
0xfd,
0x00,
0x04,
0x04,
0x04,
0xf7,
0xfd,
0x00,
0x04,
0x04,
0x04,
0xf6,
0x00,
0x0c,
0x03,
0xeb,
0xfe,
0x06,
0x0a,
0x10,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x15,
0x18,
0x1b,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x15,
0x18,
0x1b,
0x00,
0x00,
0x00,
0x00,
0x00
};
static const u32 dot11lcn_gain_idx_tbl_5G[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x10000000,
0x00000000,
0x20000000,
0x00000000,
0x30000000,
0x00000000,
0x40000000,
0x00000000,
0x30000000,
0x00000008,
0x40000000,
0x00000008,
0x50000000,
0x00000008,
0x60000000,
0x00000008,
0x70000000,
0x00000008,
0x60000000,
0x00000018,
0x70000000,
0x00000018,
0x80000000,
0x00000018,
0x90000000,
0x00000018,
0xa0000000,
0x00000018,
0xb0000000,
0x00000018,
0xc0000000,
0x00000018,
0xd0000000,
0x00000018,
0xe0000000,
0x00000018,
0xf0000000,
0x00000018,
0x00000000,
0x00000019,
0x10000000,
0x00000019,
0x20000000,
0x00000019,
0x30000000,
0x00000019,
0x40000000,
0x00000019,
0x50000000,
0x00000019,
0x60000000,
0x00000019,
0x70000000,
0x00000019,
0x80000000,
0x00000019,
0x90000000,
0x00000019,
0xa0000000,
0x00000019,
0xb0000000,
0x00000019,
0xc0000000,
0x00000019,
0xd0000000,
0x00000019,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
static const u32 dot11lcn_gain_tbl_5G[] = {
0x00000000,
0x00000040,
0x00000080,
0x00000001,
0x00000005,
0x00000009,
0x0000000d,
0x00000011,
0x00000015,
0x00000055,
0x00000095,
0x00000017,
0x0000001b,
0x0000005b,
0x0000009b,
0x000000db,
0x0000011b,
0x0000015b,
0x0000019b,
0x0000059b,
0x0000099b,
0x00000d9b,
0x0000119b,
0x0000519b,
0x0000919b,
0x0000d19b,
0x0001119b,
0x0001519b,
0x0001919b,
0x0001d19b,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};
const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev0[] = {
{&dot11lcn_gain_tbl_rev0,
ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18,
0, 32}
,
{&dot11lcn_aux_gain_idx_tbl_rev0,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16}
,
{&dot11lcn_gain_idx_tbl_rev0,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32}
,
};
const struct phytbl_info dot11lcnphytbl_rx_gain_info_2G_rev2[] = {
{&dot11lcn_gain_tbl_2G,
ARRAY_SIZE(dot11lcn_gain_tbl_2G), 18, 0,
32}
,
{&dot11lcn_aux_gain_idx_tbl_2G,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_2G), 14, 0, 16}
,
{&dot11lcn_gain_idx_tbl_2G,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_2G),
13, 0, 32}
,
{&dot11lcn_gain_val_tbl_2G,
ARRAY_SIZE(dot11lcn_gain_val_tbl_2G),
17, 0, 8}
};
const struct phytbl_info dot11lcnphytbl_rx_gain_info_5G_rev2[] = {
{&dot11lcn_gain_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0,
32}
,
{&dot11lcn_aux_gain_idx_tbl_5G,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16}
,
{&dot11lcn_gain_idx_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G),
13, 0, 32}
,
{&dot11lcn_gain_val_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_val_tbl_5G),
17, 0, 8}
};
const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_2G_rev2[] = {
{&dot11lcn_gain_tbl_extlna_2G,
ARRAY_SIZE(dot11lcn_gain_tbl_extlna_2G), 18, 0, 32}
,
{&dot11lcn_aux_gain_idx_tbl_extlna_2G,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_extlna_2G), 14, 0, 16}
,
{&dot11lcn_gain_idx_tbl_extlna_2G,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_extlna_2G), 13, 0, 32}
,
{&dot11lcn_gain_val_tbl_extlna_2G,
ARRAY_SIZE(dot11lcn_gain_val_tbl_extlna_2G), 17, 0, 8}
};
const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_5G_rev2[] = {
{&dot11lcn_gain_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0,
32}
,
{&dot11lcn_aux_gain_idx_tbl_5G,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16}
,
{&dot11lcn_gain_idx_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G),
13, 0, 32}
,
{&dot11lcn_gain_val_tbl_5G,
ARRAY_SIZE(dot11lcn_gain_val_tbl_5G),
17, 0, 8}
};
const u32 dot11lcnphytbl_rx_gain_info_sz_rev0 =
ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_rev0);
const u32 dot11lcnphytbl_rx_gain_info_2G_rev2_sz =
ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_2G_rev2);
const u32 dot11lcnphytbl_rx_gain_info_5G_rev2_sz =
ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_5G_rev2);
static const u16 dot11lcn_min_sig_sq_tbl_rev0[] = {
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
0x014d,
};
static const u16 dot11lcn_noise_scale_tbl_rev0[] = {
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
};
static const u32 dot11lcn_fltr_ctrl_tbl_rev0[] = {
0x000141f8,
0x000021f8,
0x000021fb,
0x000041fb,
0x0001fe4b,
0x0000217b,
0x00002133,
0x000040eb,
0x0001fea3,
0x0000024b,
};
static const u32 dot11lcn_ps_ctrl_tbl_rev0[] = {
0x00100001,
0x00200010,
0x00300001,
0x00400010,
0x00500022,
0x00600122,
0x00700222,
0x00800322,
0x00900422,
0x00a00522,
0x00b00622,
0x00c00722,
0x00d00822,
0x00f00922,
0x00100a22,
0x00200b22,
0x00300c22,
0x00400d22,
0x00500e22,
0x00600f22,
};
static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo[] = {
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x0007,
0x0005,
0x0006,
0x0004,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
0x000b,
0x000b,
0x000a,
0x000a,
};
static const u16 dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0[] = {
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0005,
0x0002,
0x0000,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
0x0007,
0x0007,
0x0002,
0x0002,
};
static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0[] = {
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
0x0002,
0x0008,
0x0004,
0x0001,
};
static const u16 dot11lcn_sw_ctrl_tbl_4313_rev0[] = {
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
0x000a,
0x0009,
0x0006,
0x0005,
};
static const u16 dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo[] = {
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
0x0005,
0x0006,
0x0009,
0x000a,
};
static const u16 dot11lcn_sw_ctrl_tbl_rev0[] = {
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
0x0004,
0x0004,
0x0002,
0x0002,
};
static const u8 dot11lcn_nf_table_rev0[] = {
0x5f,
0x36,
0x29,
0x1f,
0x5f,
0x36,
0x29,
0x1f,
0x5f,
0x36,
0x29,
0x1f,
0x5f,
0x36,
0x29,
0x1f,
};
static const u8 dot11lcn_gain_val_tbl_rev0[] = {
0x09,
0x0f,
0x14,
0x18,
0xfe,
0x07,
0x0b,
0x0f,
0xfb,
0xfe,
0x01,
0x05,
0x08,
0x0b,
0x0e,
0x11,
0x14,
0x17,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x06,
0x09,
0x0c,
0x0f,
0x12,
0x15,
0x18,
0x1b,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0xeb,
0x00,
0x00,
};
static const u8 dot11lcn_spur_tbl_rev0[] = {
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x02,
0x03,
0x01,
0x03,
0x02,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x02,
0x03,
0x01,
0x03,
0x02,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
};
static const u16 dot11lcn_unsup_mcs_tbl_rev0[] = {
0x001a,
0x0034,
0x004e,
0x0068,
0x009c,
0x00d0,
0x00ea,
0x0104,
0x0034,
0x0068,
0x009c,
0x00d0,
0x0138,
0x01a0,
0x01d4,
0x0208,
0x004e,
0x009c,
0x00ea,
0x0138,
0x01d4,
0x0270,
0x02be,
0x030c,
0x0068,
0x00d0,
0x0138,
0x01a0,
0x0270,
0x0340,
0x03a8,
0x0410,
0x0018,
0x009c,
0x00d0,
0x0104,
0x00ea,
0x0138,
0x0186,
0x00d0,
0x0104,
0x0104,
0x0138,
0x016c,
0x016c,
0x01a0,
0x0138,
0x0186,
0x0186,
0x01d4,
0x0222,
0x0222,
0x0270,
0x0104,
0x0138,
0x016c,
0x0138,
0x016c,
0x01a0,
0x01d4,
0x01a0,
0x01d4,
0x0208,
0x0208,
0x023c,
0x0186,
0x01d4,
0x0222,
0x01d4,
0x0222,
0x0270,
0x02be,
0x0270,
0x02be,
0x030c,
0x030c,
0x035a,
0x0036,
0x006c,
0x00a2,
0x00d8,
0x0144,
0x01b0,
0x01e6,
0x021c,
0x006c,
0x00d8,
0x0144,
0x01b0,
0x0288,
0x0360,
0x03cc,
0x0438,
0x00a2,
0x0144,
0x01e6,
0x0288,
0x03cc,
0x0510,
0x05b2,
0x0654,
0x00d8,
0x01b0,
0x0288,
0x0360,
0x0510,
0x06c0,
0x0798,
0x0870,
0x0018,
0x0144,
0x01b0,
0x021c,
0x01e6,
0x0288,
0x032a,
0x01b0,
0x021c,
0x021c,
0x0288,
0x02f4,
0x02f4,
0x0360,
0x0288,
0x032a,
0x032a,
0x03cc,
0x046e,
0x046e,
0x0510,
0x021c,
0x0288,
0x02f4,
0x0288,
0x02f4,
0x0360,
0x03cc,
0x0360,
0x03cc,
0x0438,
0x0438,
0x04a4,
0x032a,
0x03cc,
0x046e,
0x03cc,
0x046e,
0x0510,
0x05b2,
0x0510,
0x05b2,
0x0654,
0x0654,
0x06f6,
};
static const u16 dot11lcn_iq_local_tbl_rev0[] = {
0x0200,
0x0300,
0x0400,
0x0600,
0x0800,
0x0b00,
0x1000,
0x1001,
0x1002,
0x1003,
0x1004,
0x1005,
0x1006,
0x1007,
0x1707,
0x2007,
0x2d07,
0x4007,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0200,
0x0300,
0x0400,
0x0600,
0x0800,
0x0b00,
0x1000,
0x1001,
0x1002,
0x1003,
0x1004,
0x1005,
0x1006,
0x1007,
0x1707,
0x2007,
0x2d07,
0x4007,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x4000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
};
static const u32 dot11lcn_papd_compdelta_tbl_rev0[] = {
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
0x00080000,
};
const struct phytbl_info dot11lcnphytbl_info_rev0[] = {
{&dot11lcn_min_sig_sq_tbl_rev0,
ARRAY_SIZE(dot11lcn_min_sig_sq_tbl_rev0), 2, 0, 16}
,
{&dot11lcn_noise_scale_tbl_rev0,
ARRAY_SIZE(dot11lcn_noise_scale_tbl_rev0), 1, 0, 16}
,
{&dot11lcn_fltr_ctrl_tbl_rev0,
ARRAY_SIZE(dot11lcn_fltr_ctrl_tbl_rev0), 11, 0, 32}
,
{&dot11lcn_ps_ctrl_tbl_rev0,
ARRAY_SIZE(dot11lcn_ps_ctrl_tbl_rev0), 12, 0, 32}
,
{&dot11lcn_gain_idx_tbl_rev0,
ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32}
,
{&dot11lcn_aux_gain_idx_tbl_rev0,
ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16}
,
{&dot11lcn_sw_ctrl_tbl_rev0,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_rev0), 15, 0, 16}
,
{&dot11lcn_nf_table_rev0,
ARRAY_SIZE(dot11lcn_nf_table_rev0), 16,
0, 8}
,
{&dot11lcn_gain_val_tbl_rev0,
ARRAY_SIZE(dot11lcn_gain_val_tbl_rev0), 17, 0, 8}
,
{&dot11lcn_gain_tbl_rev0,
ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18,
0, 32}
,
{&dot11lcn_spur_tbl_rev0,
ARRAY_SIZE(dot11lcn_spur_tbl_rev0), 20,
0, 8}
,
{&dot11lcn_unsup_mcs_tbl_rev0,
ARRAY_SIZE(dot11lcn_unsup_mcs_tbl_rev0), 23, 0, 16}
,
{&dot11lcn_iq_local_tbl_rev0,
ARRAY_SIZE(dot11lcn_iq_local_tbl_rev0), 0, 0, 16}
,
{&dot11lcn_papd_compdelta_tbl_rev0,
ARRAY_SIZE(dot11lcn_papd_compdelta_tbl_rev0), 24, 0, 32}
,
};
const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313 = {
&dot11lcn_sw_ctrl_tbl_4313_rev0,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_rev0), 15, 0, 16
};
const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_ipa = {
&dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo), 15, 0, 16
};
const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_epa = {
&dot11lcn_sw_ctrl_tbl_4313_epa_rev0,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0), 15, 0, 16
};
const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa = {
&dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo), 15, 0, 16
};
const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa_p250 = {
&dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0,
ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0), 15, 0, 16
};
const u32 dot11lcnphytbl_info_sz_rev0 =
ARRAY_SIZE(dot11lcnphytbl_info_rev0);
const struct lcnphy_tx_gain_tbl_entry
dot11lcnphy_2GHz_extPA_gaintable_rev0[128] = {
{3, 0, 31, 0, 72},
{3, 0, 31, 0, 70},
{3, 0, 31, 0, 68},
{3, 0, 30, 0, 67},
{3, 0, 29, 0, 68},
{3, 0, 28, 0, 68},
{3, 0, 27, 0, 69},
{3, 0, 26, 0, 70},
{3, 0, 25, 0, 70},
{3, 0, 24, 0, 71},
{3, 0, 23, 0, 72},
{3, 0, 23, 0, 70},
{3, 0, 22, 0, 71},
{3, 0, 21, 0, 72},
{3, 0, 21, 0, 70},
{3, 0, 21, 0, 68},
{3, 0, 21, 0, 66},
{3, 0, 21, 0, 64},
{3, 0, 21, 0, 63},
{3, 0, 20, 0, 64},
{3, 0, 19, 0, 65},
{3, 0, 19, 0, 64},
{3, 0, 18, 0, 65},
{3, 0, 18, 0, 64},
{3, 0, 17, 0, 65},
{3, 0, 17, 0, 64},
{3, 0, 16, 0, 65},
{3, 0, 16, 0, 64},
{3, 0, 16, 0, 62},
{3, 0, 16, 0, 60},
{3, 0, 16, 0, 58},
{3, 0, 15, 0, 61},
{3, 0, 15, 0, 59},
{3, 0, 14, 0, 61},
{3, 0, 14, 0, 60},
{3, 0, 14, 0, 58},
{3, 0, 13, 0, 60},
{3, 0, 13, 0, 59},
{3, 0, 12, 0, 62},
{3, 0, 12, 0, 60},
{3, 0, 12, 0, 58},
{3, 0, 11, 0, 62},
{3, 0, 11, 0, 60},
{3, 0, 11, 0, 59},
{3, 0, 11, 0, 57},
{3, 0, 10, 0, 61},
{3, 0, 10, 0, 59},
{3, 0, 10, 0, 57},
{3, 0, 9, 0, 62},
{3, 0, 9, 0, 60},
{3, 0, 9, 0, 58},
{3, 0, 9, 0, 57},
{3, 0, 8, 0, 62},
{3, 0, 8, 0, 60},
{3, 0, 8, 0, 58},
{3, 0, 8, 0, 57},
{3, 0, 8, 0, 55},
{3, 0, 7, 0, 61},
{3, 0, 7, 0, 60},
{3, 0, 7, 0, 58},
{3, 0, 7, 0, 56},
{3, 0, 7, 0, 55},
{3, 0, 6, 0, 62},
{3, 0, 6, 0, 60},
{3, 0, 6, 0, 58},
{3, 0, 6, 0, 57},
{3, 0, 6, 0, 55},
{3, 0, 6, 0, 54},
{3, 0, 6, 0, 52},
{3, 0, 5, 0, 61},
{3, 0, 5, 0, 59},
{3, 0, 5, 0, 57},
{3, 0, 5, 0, 56},
{3, 0, 5, 0, 54},
{3, 0, 5, 0, 53},
{3, 0, 5, 0, 51},
{3, 0, 4, 0, 62},
{3, 0, 4, 0, 60},
{3, 0, 4, 0, 58},
{3, 0, 4, 0, 57},
{3, 0, 4, 0, 55},
{3, 0, 4, 0, 54},
{3, 0, 4, 0, 52},
{3, 0, 4, 0, 51},
{3, 0, 4, 0, 49},
{3, 0, 4, 0, 48},
{3, 0, 4, 0, 46},
{3, 0, 3, 0, 60},
{3, 0, 3, 0, 58},
{3, 0, 3, 0, 57},
{3, 0, 3, 0, 55},
{3, 0, 3, 0, 54},
{3, 0, 3, 0, 52},
{3, 0, 3, 0, 51},
{3, 0, 3, 0, 49},
{3, 0, 3, 0, 48},
{3, 0, 3, 0, 46},
{3, 0, 3, 0, 45},
{3, 0, 3, 0, 44},
{3, 0, 3, 0, 43},
{3, 0, 3, 0, 41},
{3, 0, 2, 0, 61},
{3, 0, 2, 0, 59},
{3, 0, 2, 0, 57},
{3, 0, 2, 0, 56},
{3, 0, 2, 0, 54},
{3, 0, 2, 0, 53},
{3, 0, 2, 0, 51},
{3, 0, 2, 0, 50},
{3, 0, 2, 0, 48},
{3, 0, 2, 0, 47},
{3, 0, 2, 0, 46},
{3, 0, 2, 0, 44},
{3, 0, 2, 0, 43},
{3, 0, 2, 0, 42},
{3, 0, 2, 0, 41},
{3, 0, 2, 0, 39},
{3, 0, 2, 0, 38},
{3, 0, 2, 0, 37},
{3, 0, 2, 0, 36},
{3, 0, 2, 0, 35},
{3, 0, 2, 0, 34},
{3, 0, 2, 0, 33},
{3, 0, 2, 0, 32},
{3, 0, 1, 0, 63},
{3, 0, 1, 0, 61},
{3, 0, 1, 0, 59},
{3, 0, 1, 0, 57},
};
const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_2GHz_gaintable_rev0[128] = {
{15, 0, 31, 0, 72},
{15, 0, 31, 0, 70},
{15, 0, 31, 0, 68},
{15, 0, 30, 0, 68},
{15, 0, 29, 0, 69},
{15, 0, 28, 0, 69},
{15, 0, 27, 0, 70},
{15, 0, 26, 0, 70},
{15, 0, 25, 0, 71},
{15, 0, 24, 0, 72},
{15, 0, 23, 0, 73},
{15, 0, 23, 0, 71},
{15, 0, 22, 0, 72},
{15, 0, 21, 0, 73},
{15, 0, 21, 0, 71},
{15, 0, 21, 0, 69},
{15, 0, 21, 0, 67},
{15, 0, 21, 0, 65},
{15, 0, 21, 0, 63},
{15, 0, 20, 0, 65},
{15, 0, 19, 0, 66},
{15, 0, 19, 0, 64},
{15, 0, 18, 0, 66},
{15, 0, 18, 0, 64},
{15, 0, 17, 0, 66},
{15, 0, 17, 0, 64},
{15, 0, 16, 0, 66},
{15, 0, 16, 0, 64},
{15, 0, 16, 0, 62},
{15, 0, 16, 0, 61},
{15, 0, 16, 0, 59},
{15, 0, 15, 0, 61},
{15, 0, 15, 0, 59},
{15, 0, 14, 0, 62},
{15, 0, 14, 0, 60},
{15, 0, 14, 0, 58},
{15, 0, 13, 0, 61},
{15, 0, 13, 0, 59},
{15, 0, 12, 0, 62},
{15, 0, 12, 0, 61},
{15, 0, 12, 0, 59},
{15, 0, 11, 0, 62},
{15, 0, 11, 0, 61},
{15, 0, 11, 0, 59},
{15, 0, 11, 0, 57},
{15, 0, 10, 0, 61},
{15, 0, 10, 0, 59},
{15, 0, 10, 0, 58},
{15, 0, 9, 0, 62},
{15, 0, 9, 0, 61},
{15, 0, 9, 0, 59},
{15, 0, 9, 0, 57},
{15, 0, 8, 0, 62},
{15, 0, 8, 0, 61},
{15, 0, 8, 0, 59},
{15, 0, 8, 0, 57},
{15, 0, 8, 0, 56},
{15, 0, 8, 0, 54},
{15, 0, 8, 0, 53},
{15, 0, 8, 0, 51},
{15, 0, 8, 0, 50},
{7, 0, 7, 0, 69},
{7, 0, 7, 0, 67},
{7, 0, 7, 0, 65},
{7, 0, 7, 0, 64},
{7, 0, 7, 0, 62},
{7, 0, 7, 0, 60},
{7, 0, 7, 0, 58},
{7, 0, 7, 0, 57},
{7, 0, 7, 0, 55},
{7, 0, 6, 0, 62},
{7, 0, 6, 0, 61},
{7, 0, 6, 0, 59},
{7, 0, 6, 0, 57},
{7, 0, 6, 0, 56},
{7, 0, 6, 0, 54},
{7, 0, 6, 0, 53},
{7, 0, 5, 0, 61},
{7, 0, 5, 0, 60},
{7, 0, 5, 0, 58},
{7, 0, 5, 0, 56},
{7, 0, 5, 0, 55},
{7, 0, 5, 0, 53},
{7, 0, 5, 0, 52},
{7, 0, 5, 0, 50},
{7, 0, 5, 0, 49},
{7, 0, 5, 0, 47},
{7, 0, 4, 0, 57},
{7, 0, 4, 0, 56},
{7, 0, 4, 0, 54},
{7, 0, 4, 0, 53},
{7, 0, 4, 0, 51},
{7, 0, 4, 0, 50},
{7, 0, 4, 0, 48},
{7, 0, 4, 0, 47},
{7, 0, 4, 0, 46},
{7, 0, 4, 0, 44},
{7, 0, 4, 0, 43},
{7, 0, 4, 0, 42},
{7, 0, 4, 0, 41},
{7, 0, 4, 0, 40},
{7, 0, 3, 0, 51},
{7, 0, 3, 0, 50},
{7, 0, 3, 0, 48},
{7, 0, 3, 0, 47},
{7, 0, 3, 0, 46},
{7, 0, 3, 0, 44},
{7, 0, 3, 0, 43},
{7, 0, 3, 0, 42},
{7, 0, 3, 0, 41},
{3, 0, 3, 0, 56},
{3, 0, 3, 0, 54},
{3, 0, 3, 0, 53},
{3, 0, 3, 0, 51},
{3, 0, 3, 0, 50},
{3, 0, 3, 0, 48},
{3, 0, 3, 0, 47},
{3, 0, 3, 0, 46},
{3, 0, 3, 0, 44},
{3, 0, 3, 0, 43},
{3, 0, 3, 0, 42},
{3, 0, 3, 0, 41},
{3, 0, 3, 0, 39},
{3, 0, 3, 0, 38},
{3, 0, 3, 0, 37},
{3, 0, 3, 0, 36},
{3, 0, 3, 0, 35},
{3, 0, 3, 0, 34},
};
const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_5GHz_gaintable_rev0[128] = {
{255, 255, 0xf0, 0, 152},
{255, 255, 0xf0, 0, 147},
{255, 255, 0xf0, 0, 143},
{255, 255, 0xf0, 0, 139},
{255, 255, 0xf0, 0, 135},
{255, 255, 0xf0, 0, 131},
{255, 255, 0xf0, 0, 128},
{255, 255, 0xf0, 0, 124},
{255, 255, 0xf0, 0, 121},
{255, 255, 0xf0, 0, 117},
{255, 255, 0xf0, 0, 114},
{255, 255, 0xf0, 0, 111},
{255, 255, 0xf0, 0, 107},
{255, 255, 0xf0, 0, 104},
{255, 255, 0xf0, 0, 101},
{255, 255, 0xf0, 0, 99},
{255, 255, 0xf0, 0, 96},
{255, 255, 0xf0, 0, 93},
{255, 255, 0xf0, 0, 90},
{255, 255, 0xf0, 0, 88},
{255, 255, 0xf0, 0, 85},
{255, 255, 0xf0, 0, 83},
{255, 255, 0xf0, 0, 81},
{255, 255, 0xf0, 0, 78},
{255, 255, 0xf0, 0, 76},
{255, 255, 0xf0, 0, 74},
{255, 255, 0xf0, 0, 72},
{255, 255, 0xf0, 0, 70},
{255, 255, 0xf0, 0, 68},
{255, 255, 0xf0, 0, 66},
{255, 255, 0xf0, 0, 64},
{255, 248, 0xf0, 0, 64},
{255, 241, 0xf0, 0, 64},
{255, 251, 0xe0, 0, 64},
{255, 244, 0xe0, 0, 64},
{255, 254, 0xd0, 0, 64},
{255, 246, 0xd0, 0, 64},
{255, 239, 0xd0, 0, 64},
{255, 249, 0xc0, 0, 64},
{255, 242, 0xc0, 0, 64},
{255, 255, 0xb0, 0, 64},
{255, 248, 0xb0, 0, 64},
{255, 241, 0xb0, 0, 64},
{255, 254, 0xa0, 0, 64},
{255, 246, 0xa0, 0, 64},
{255, 239, 0xa0, 0, 64},
{255, 255, 0x90, 0, 64},
{255, 248, 0x90, 0, 64},
{255, 241, 0x90, 0, 64},
{255, 234, 0x90, 0, 64},
{255, 255, 0x80, 0, 64},
{255, 248, 0x80, 0, 64},
{255, 241, 0x80, 0, 64},
{255, 234, 0x80, 0, 64},
{255, 255, 0x70, 0, 64},
{255, 248, 0x70, 0, 64},
{255, 241, 0x70, 0, 64},
{255, 234, 0x70, 0, 64},
{255, 227, 0x70, 0, 64},
{255, 221, 0x70, 0, 64},
{255, 215, 0x70, 0, 64},
{255, 208, 0x70, 0, 64},
{255, 203, 0x70, 0, 64},
{255, 197, 0x70, 0, 64},
{255, 255, 0x60, 0, 64},
{255, 248, 0x60, 0, 64},
{255, 241, 0x60, 0, 64},
{255, 234, 0x60, 0, 64},
{255, 227, 0x60, 0, 64},
{255, 221, 0x60, 0, 64},
{255, 255, 0x50, 0, 64},
{255, 248, 0x50, 0, 64},
{255, 241, 0x50, 0, 64},
{255, 234, 0x50, 0, 64},
{255, 227, 0x50, 0, 64},
{255, 221, 0x50, 0, 64},
{255, 215, 0x50, 0, 64},
{255, 208, 0x50, 0, 64},
{255, 255, 0x40, 0, 64},
{255, 248, 0x40, 0, 64},
{255, 241, 0x40, 0, 64},
{255, 234, 0x40, 0, 64},
{255, 227, 0x40, 0, 64},
{255, 221, 0x40, 0, 64},
{255, 215, 0x40, 0, 64},
{255, 208, 0x40, 0, 64},
{255, 203, 0x40, 0, 64},
{255, 197, 0x40, 0, 64},
{255, 255, 0x30, 0, 64},
{255, 248, 0x30, 0, 64},
{255, 241, 0x30, 0, 64},
{255, 234, 0x30, 0, 64},
{255, 227, 0x30, 0, 64},
{255, 221, 0x30, 0, 64},
{255, 215, 0x30, 0, 64},
{255, 208, 0x30, 0, 64},
{255, 203, 0x30, 0, 64},
{255, 197, 0x30, 0, 64},
{255, 191, 0x30, 0, 64},
{255, 186, 0x30, 0, 64},
{255, 181, 0x30, 0, 64},
{255, 175, 0x30, 0, 64},
{255, 255, 0x20, 0, 64},
{255, 248, 0x20, 0, 64},
{255, 241, 0x20, 0, 64},
{255, 234, 0x20, 0, 64},
{255, 227, 0x20, 0, 64},
{255, 221, 0x20, 0, 64},
{255, 215, 0x20, 0, 64},
{255, 208, 0x20, 0, 64},
{255, 203, 0x20, 0, 64},
{255, 197, 0x20, 0, 64},
{255, 191, 0x20, 0, 64},
{255, 186, 0x20, 0, 64},
{255, 181, 0x20, 0, 64},
{255, 175, 0x20, 0, 64},
{255, 170, 0x20, 0, 64},
{255, 166, 0x20, 0, 64},
{255, 161, 0x20, 0, 64},
{255, 156, 0x20, 0, 64},
{255, 152, 0x20, 0, 64},
{255, 148, 0x20, 0, 64},
{255, 143, 0x20, 0, 64},
{255, 139, 0x20, 0, 64},
{255, 135, 0x20, 0, 64},
{255, 132, 0x20, 0, 64},
{255, 255, 0x10, 0, 64},
{255, 248, 0x10, 0, 64},
};