// 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},
}