rtlwifi: 8821ae: upgrade PHY and RF parameters
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 19 Feb 2021 05:26:07 +0000 (13:26 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 17 Apr 2021 17:26:39 +0000 (20:26 +0300)
The signal strength of 5G is quite low, so user can't connect to an AP far
away. New parameters with new format and its parser are updated by the commit
84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser."), but
some parameters are missing. Use this commit to update to the novel parameters
that use new format.

Fixes: 84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser")
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210219052607.7323-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c

index 27c8a5d..fcaaf66 100644 (file)
@@ -249,7 +249,7 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
        0x824, 0x00030FE0,
        0x828, 0x00000000,
        0x82C, 0x002081DD,
-       0x830, 0x2AAA8E24,
+       0x830, 0x2AAAEEC8,
        0x834, 0x0037A706,
        0x838, 0x06489B44,
        0x83C, 0x0000095B,
@@ -324,10 +324,10 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
        0x9D8, 0x00000000,
        0x9DC, 0x00000000,
        0x9E0, 0x00005D00,
-       0x9E4, 0x00000002,
+       0x9E4, 0x00000003,
        0x9E8, 0x00000001,
        0xA00, 0x00D047C8,
-       0xA04, 0x01FF000C,
+       0xA04, 0x01FF800C,
        0xA08, 0x8C8A8300,
        0xA0C, 0x2E68000F,
        0xA10, 0x9500BB78,
@@ -1320,7 +1320,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x083, 0x00021800,
                0x084, 0x00028000,
                0x085, 0x00048000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
+               0x086, 0x0009483A,
+       0xA0000000,     0x00000000,
                0x086, 0x00094838,
+       0xB0000000,     0x00000000,
                0x087, 0x00044980,
                0x088, 0x00048000,
                0x089, 0x0000D480,
@@ -1409,36 +1413,32 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x03C, 0x000CA000,
                0x0EF, 0x00000000,
                0x0EF, 0x00001100,
-       0xFF0F0104, 0xABCD,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0004ADF3,
                0x034, 0x00049DF0,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0004ADF3,
                0x034, 0x00049DF0,
-       0xFF0F0404, 0xCDEF,
-               0x034, 0x0004ADF3,
-               0x034, 0x00049DF0,
-       0xFF0F0200, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0004ADF5,
                0x034, 0x00049DF2,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0004A0F3,
+               0x034, 0x000490B1,
+               0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0004A0F3,
                0x034, 0x000490B1,
-       0xCDCDCDCD, 0xCDCD,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0004ADF5,
+               0x034, 0x00049DF2,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0004ADF3,
+               0x034, 0x00049DF0,
+       0xA0000000,     0x00000000,
                0x034, 0x0004ADF7,
                0x034, 0x00049DF3,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
-               0x034, 0x00048DED,
-               0x034, 0x00047DEA,
-               0x034, 0x00046DE7,
-               0x034, 0x00045CE9,
-               0x034, 0x00044CE6,
-               0x034, 0x000438C6,
-               0x034, 0x00042886,
-               0x034, 0x00041486,
-               0x034, 0x00040447,
-       0xFF0F0204, 0xCDEF,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00048DED,
                0x034, 0x00047DEA,
                0x034, 0x00046DE7,
@@ -1448,7 +1448,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00042886,
                0x034, 0x00041486,
                0x034, 0x00040447,
-       0xFF0F0404, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00048DED,
                0x034, 0x00047DEA,
                0x034, 0x00046DE7,
@@ -1458,7 +1458,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00042886,
                0x034, 0x00041486,
                0x034, 0x00040447,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x000480AE,
+               0x034, 0x000470AB,
+               0x034, 0x0004608B,
+               0x034, 0x00045069,
+               0x034, 0x00044048,
+               0x034, 0x00043045,
+               0x034, 0x00042026,
+               0x034, 0x00041023,
+               0x034, 0x00040002,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x000480AE,
                0x034, 0x000470AB,
                0x034, 0x0004608B,
@@ -1468,7 +1478,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00042026,
                0x034, 0x00041023,
                0x034, 0x00040002,
-       0xCDCDCDCD, 0xCDCD,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x00048DED,
+               0x034, 0x00047DEA,
+               0x034, 0x00046DE7,
+               0x034, 0x00045CE9,
+               0x034, 0x00044CE6,
+               0x034, 0x000438C6,
+               0x034, 0x00042886,
+               0x034, 0x00041486,
+               0x034, 0x00040447,
+       0xA0000000,     0x00000000,
                0x034, 0x00048DEF,
                0x034, 0x00047DEC,
                0x034, 0x00046DE9,
@@ -1478,38 +1498,36 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x0004248A,
                0x034, 0x0004108D,
                0x034, 0x0004008A,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0200, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000210,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0002ADF4,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0002A0F3,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0002A0F3,
-       0xCDCDCDCD, 0xCDCD,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0002ADF4,
+       0xA0000000,     0x00000000,
                0x034, 0x0002ADF7,
-       0xFF0F0200, 0xDEAD,
-       0xFF0F0104, 0xABCD,
-               0x034, 0x00029DF4,
-       0xFF0F0204, 0xCDEF,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00029DF4,
-       0xFF0F0404, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00029DF4,
-       0xFF0F0200, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00029DF1,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x000290F0,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x000290F0,
-       0xCDCDCDCD, 0xCDCD,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x00029DF1,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x00029DF4,
+       0xA0000000,     0x00000000,
                0x034, 0x00029DF2,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
-               0x034, 0x00028DF1,
-               0x034, 0x00027DEE,
-               0x034, 0x00026DEB,
-               0x034, 0x00025CEC,
-               0x034, 0x00024CE9,
-               0x034, 0x000238CA,
-               0x034, 0x00022889,
-               0x034, 0x00021489,
-               0x034, 0x0002044A,
-       0xFF0F0204, 0xCDEF,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00028DF1,
                0x034, 0x00027DEE,
                0x034, 0x00026DEB,
@@ -1519,7 +1537,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00022889,
                0x034, 0x00021489,
                0x034, 0x0002044A,
-       0xFF0F0404, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00028DF1,
                0x034, 0x00027DEE,
                0x034, 0x00026DEB,
@@ -1529,7 +1547,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00022889,
                0x034, 0x00021489,
                0x034, 0x0002044A,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x000280AF,
                0x034, 0x000270AC,
                0x034, 0x0002608B,
@@ -1539,7 +1557,27 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00022026,
                0x034, 0x00021023,
                0x034, 0x00020002,
-       0xCDCDCDCD, 0xCDCD,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x000280AF,
+               0x034, 0x000270AC,
+               0x034, 0x0002608B,
+               0x034, 0x00025069,
+               0x034, 0x00024048,
+               0x034, 0x00023045,
+               0x034, 0x00022026,
+               0x034, 0x00021023,
+               0x034, 0x00020002,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x00028DF1,
+               0x034, 0x00027DEE,
+               0x034, 0x00026DEB,
+               0x034, 0x00025CEC,
+               0x034, 0x00024CE9,
+               0x034, 0x000238CA,
+               0x034, 0x00022889,
+               0x034, 0x00021489,
+               0x034, 0x0002044A,
+       0xA0000000,     0x00000000,
                0x034, 0x00028DEE,
                0x034, 0x00027DEB,
                0x034, 0x00026CCD,
@@ -1549,27 +1587,24 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00022849,
                0x034, 0x00021449,
                0x034, 0x0002004D,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F02C0, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x8000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0000A0D7,
+               0x034, 0x000090D3,
+               0x034, 0x000080B1,
+               0x034, 0x000070AE,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0000A0D7,
                0x034, 0x000090D3,
                0x034, 0x000080B1,
                0x034, 0x000070AE,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x034, 0x0000ADF7,
                0x034, 0x00009DF4,
                0x034, 0x00008DF1,
                0x034, 0x00007DEE,
-       0xFF0F02C0, 0xDEAD,
-       0xFF0F0104, 0xABCD,
-               0x034, 0x00006DEB,
-               0x034, 0x00005CEC,
-               0x034, 0x00004CE9,
-               0x034, 0x000038CA,
-               0x034, 0x00002889,
-               0x034, 0x00001489,
-               0x034, 0x0000044A,
-       0xFF0F0204, 0xCDEF,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00006DEB,
                0x034, 0x00005CEC,
                0x034, 0x00004CE9,
@@ -1577,7 +1612,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00002889,
                0x034, 0x00001489,
                0x034, 0x0000044A,
-       0xFF0F0404, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x00006DEB,
                0x034, 0x00005CEC,
                0x034, 0x00004CE9,
@@ -1585,7 +1620,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00002889,
                0x034, 0x00001489,
                0x034, 0x0000044A,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
                0x034, 0x0000608D,
                0x034, 0x0000506B,
                0x034, 0x0000404A,
@@ -1593,7 +1628,23 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00002044,
                0x034, 0x00001025,
                0x034, 0x00000004,
-       0xCDCDCDCD, 0xCDCD,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x0000608D,
+               0x034, 0x0000506B,
+               0x034, 0x0000404A,
+               0x034, 0x00003047,
+               0x034, 0x00002044,
+               0x034, 0x00001025,
+               0x034, 0x00000004,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x034, 0x00006DEB,
+               0x034, 0x00005CEC,
+               0x034, 0x00004CE9,
+               0x034, 0x000038CA,
+               0x034, 0x00002889,
+               0x034, 0x00001489,
+               0x034, 0x0000044A,
+       0xA0000000,     0x00000000,
                0x034, 0x00006DCD,
                0x034, 0x00005CCD,
                0x034, 0x00004CCA,
@@ -1601,11 +1652,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x034, 0x00002888,
                0x034, 0x00001488,
                0x034, 0x00000486,
-       0xFF0F0104, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x0EF, 0x00000000,
                0x018, 0x0001712A,
                0x0EF, 0x00000040,
-       0xFF0F0104, 0xABCD,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x035, 0x00000187,
                0x035, 0x00008187,
                0x035, 0x00010187,
@@ -1615,7 +1666,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x035, 0x00040188,
                0x035, 0x00048188,
                0x035, 0x00050188,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x035, 0x00000187,
                0x035, 0x00008187,
                0x035, 0x00010187,
@@ -1625,7 +1676,37 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x035, 0x00040188,
                0x035, 0x00048188,
                0x035, 0x00050188,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x035, 0x00000128,
+               0x035, 0x00008128,
+               0x035, 0x00010128,
+               0x035, 0x000201C8,
+               0x035, 0x000281C8,
+               0x035, 0x000301C8,
+               0x035, 0x000401C8,
+               0x035, 0x000481C8,
+               0x035, 0x000501C8,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x035, 0x00000145,
+               0x035, 0x00008145,
+               0x035, 0x00010145,
+               0x035, 0x00020196,
+               0x035, 0x00028196,
+               0x035, 0x00030196,
+               0x035, 0x000401C7,
+               0x035, 0x000481C7,
+               0x035, 0x000501C7,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x035, 0x00000128,
+               0x035, 0x00008128,
+               0x035, 0x00010128,
+               0x035, 0x000201C8,
+               0x035, 0x000281C8,
+               0x035, 0x000301C8,
+               0x035, 0x000401C8,
+               0x035, 0x000481C8,
+               0x035, 0x000501C8,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x035, 0x00000187,
                0x035, 0x00008187,
                0x035, 0x00010187,
@@ -1635,7 +1716,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x035, 0x00040188,
                0x035, 0x00048188,
                0x035, 0x00050188,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x035, 0x00000145,
                0x035, 0x00008145,
                0x035, 0x00010145,
@@ -1645,11 +1726,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x035, 0x000401C7,
                0x035, 0x000481C7,
                0x035, 0x000501C7,
-       0xFF0F0104, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x0EF, 0x00000000,
                0x018, 0x0001712A,
                0x0EF, 0x00000010,
-       0xFF0F0104, 0xABCD,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x036, 0x00085733,
                0x036, 0x0008D733,
                0x036, 0x00095733,
@@ -1662,7 +1743,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x036, 0x000CE4B4,
                0x036, 0x000D64B4,
                0x036, 0x000DE4B4,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x036, 0x00085733,
                0x036, 0x0008D733,
                0x036, 0x00095733,
@@ -1675,7 +1756,46 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x036, 0x000CE4B4,
                0x036, 0x000D64B4,
                0x036, 0x000DE4B4,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x036, 0x000063B5,
+               0x036, 0x0000E3B5,
+               0x036, 0x000163B5,
+               0x036, 0x0001E3B5,
+               0x036, 0x000263B5,
+               0x036, 0x0002E3B5,
+               0x036, 0x000363B5,
+               0x036, 0x0003E3B5,
+               0x036, 0x000463B5,
+               0x036, 0x0004E3B5,
+               0x036, 0x000563B5,
+               0x036, 0x0005E3B5,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x036, 0x000056B3,
+               0x036, 0x0000D6B3,
+               0x036, 0x000156B3,
+               0x036, 0x0001D6B3,
+               0x036, 0x00026634,
+               0x036, 0x0002E634,
+               0x036, 0x00036634,
+               0x036, 0x0003E634,
+               0x036, 0x000467B4,
+               0x036, 0x0004E7B4,
+               0x036, 0x000567B4,
+               0x036, 0x0005E7B4,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x036, 0x000063B5,
+               0x036, 0x0000E3B5,
+               0x036, 0x000163B5,
+               0x036, 0x0001E3B5,
+               0x036, 0x000263B5,
+               0x036, 0x0002E3B5,
+               0x036, 0x000363B5,
+               0x036, 0x0003E3B5,
+               0x036, 0x000463B5,
+               0x036, 0x0004E3B5,
+               0x036, 0x000563B5,
+               0x036, 0x0005E3B5,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x036, 0x00085733,
                0x036, 0x0008D733,
                0x036, 0x00095733,
@@ -1688,7 +1808,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x036, 0x000CE4B4,
                0x036, 0x000D64B4,
                0x036, 0x000DE4B4,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x036, 0x000056B3,
                0x036, 0x0000D6B3,
                0x036, 0x000156B3,
@@ -1701,103 +1821,162 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x036, 0x0004E7B4,
                0x036, 0x000567B4,
                0x036, 0x0005E7B4,
-       0xFF0F0104, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x0EF, 0x00000000,
                0x0EF, 0x00000008,
-       0xFF0F0104, 0xABCD,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x000001C8,
                0x03C, 0x00000492,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x000001C8,
                0x03C, 0x00000492,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x000001B6,
+               0x03C, 0x00000492,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x0000022A,
+               0x03C, 0x00000594,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x000001B6,
+               0x03C, 0x00000492,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x000001C8,
                0x03C, 0x00000492,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x03C, 0x0000022A,
                0x03C, 0x00000594,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x00000800,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x00000800,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x00000800,
-       0xFF0F02C0, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
                0x03C, 0x00000820,
-       0xCDCDCDCD, 0xCDCD,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x00000820,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x00000800,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x03C, 0x00000800,
+       0xA0000000,     0x00000000,
                0x03C, 0x00000900,
-       0xFF0F0104, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x0EF, 0x00000000,
                0x018, 0x0001712A,
                0x0EF, 0x00000002,
-       0xFF0F0104, 0xABCD,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x008, 0x0004E400,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x008, 0x0004E400,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x008, 0x00002000,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x008, 0x00002000,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x008, 0x00002000,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x008, 0x00002000,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x008, 0x0004E400,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x008, 0x00002000,
-       0xFF0F0104, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x0EF, 0x00000000,
                0x0DF, 0x000000C0,
-               0x01F, 0x00040064,
-       0xFF0F0104, 0xABCD,
+               0x01F, 0x00000064,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x058, 0x000A7284,
                0x059, 0x000600EC,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x058, 0x000A7284,
                0x059, 0x000600EC,
-       0xFF0F0404, 0xCDEF,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x058, 0x00081184,
+               0x059, 0x0006016C,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x058, 0x00081184,
+               0x059, 0x0006016C,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x058, 0x00081184,
+               0x059, 0x0006016C,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x058, 0x000A7284,
                0x059, 0x000600EC,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x058, 0x00081184,
                0x059, 0x0006016C,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x061, 0x000E8D73,
                0x062, 0x00093FC5,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x061, 0x000E8D73,
                0x062, 0x00093FC5,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x061, 0x000EFD83,
+               0x062, 0x00093FCC,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x061, 0x000EAD53,
+               0x062, 0x00093BC4,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x061, 0x000EFD83,
+               0x062, 0x00093FCC,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x061, 0x000E8D73,
                0x062, 0x00093FC5,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x061, 0x000EAD53,
                0x062, 0x00093BC4,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
                0x063, 0x000110E9,
-       0xFF0F0204, 0xCDEF,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
                0x063, 0x000110E9,
-       0xFF0F0404, 0xCDEF,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
+               0x063, 0x000110EB,
+       0x9000020c,     0x00000000,     0x40000000,     0x00000000,
                0x063, 0x000110E9,
-       0xFF0F0200, 0xCDEF,
-               0x063, 0x000710E9,
-       0xFF0F02C0, 0xCDEF,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x063, 0x000110E9,
-       0xCDCDCDCD, 0xCDCD,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x063, 0x000110EB,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
+               0x063, 0x000110E9,
+       0xA0000000,     0x00000000,
                0x063, 0x000714E9,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0104, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
+               0x064, 0x0001C27C,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
+               0x064, 0x0001C27C,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
                0x064, 0x0001C27C,
-       0xFF0F0204, 0xCDEF,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x064, 0x0001C67C,
+       0x90000200,     0x00000000,     0x40000000,     0x00000000,
                0x064, 0x0001C27C,
-       0xFF0F0404, 0xCDEF,
+       0x90000410,     0x00000000,     0x40000000,     0x00000000,
                0x064, 0x0001C27C,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x064, 0x0001C67C,
-       0xFF0F0104, 0xDEAD,
-       0xFF0F0200, 0xABCD,
+       0xB0000000,     0x00000000,
+       0x80000111,     0x00000000,     0x40000000,     0x00000000,
+               0x065, 0x00091016,
+       0x90000110,     0x00000000,     0x40000000,     0x00000000,
+               0x065, 0x00091016,
+       0x90000210,     0x00000000,     0x40000000,     0x00000000,
                0x065, 0x00093016,
-       0xFF0F02C0, 0xCDEF,
+               0x9000020c,     0x00000000,     0x40000000,     0x00000000,
                0x065, 0x00093015,
-       0xCDCDCDCD, 0xCDCD,
+               0x9000040c,     0x00000000,     0x40000000,     0x00000000,
+               0x065, 0x00093015,
+               0x90000200,     0x00000000,     0x40000000,     0x00000000,
+               0x065, 0x00093016,
+               0xA0000000,     0x00000000,
                0x065, 0x00091016,
-       0xFF0F0200, 0xDEAD,
+               0xB0000000,     0x00000000,
                0x018, 0x00000006,
                0x0EF, 0x00002000,
                0x03B, 0x0003824B,
@@ -1895,9 +2074,10 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
                0x0B4, 0x0001214C,
                0x0B7, 0x0003000C,
                0x01C, 0x000539D2,
+               0x0C4, 0x000AFE00,
                0x018, 0x0001F12A,
-               0x0FE, 0x00000000,
-               0x0FE, 0x00000000,
+               0xFFE, 0x00000000,
+               0xFFE, 0x00000000,
                0x018, 0x0001712A,
 
 };
@@ -2017,6 +2197,7 @@ u32 RTL8812AE_MAC_REG_ARRAY[] = {
 u32 RTL8812AE_MAC_1T_ARRAYLEN = ARRAY_SIZE(RTL8812AE_MAC_REG_ARRAY);
 
 u32 RTL8821AE_MAC_REG_ARRAY[] = {
+               0x421, 0x0000000F,
                0x428, 0x0000000A,
                0x429, 0x00000010,
                0x430, 0x00000000,
@@ -2485,7 +2666,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
                0x81C, 0xA6360001,
                0x81C, 0xA5380001,
                0x81C, 0xA43A0001,
-               0x81C, 0xA33C0001,
+               0x81C, 0x683C0001,
                0x81C, 0x673E0001,
                0x81C, 0x66400001,
                0x81C, 0x65420001,
@@ -2519,7 +2700,66 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
                0x81C, 0x017A0001,
                0x81C, 0x017C0001,
                0x81C, 0x017E0001,
-       0xFF0F02C0, 0xABCD,
+       0x8000020c,     0x00000000,     0x40000000,     0x00000000,
+               0x81C, 0xFB000101,
+               0x81C, 0xFA020101,
+               0x81C, 0xF9040101,
+               0x81C, 0xF8060101,
+               0x81C, 0xF7080101,
+               0x81C, 0xF60A0101,
+               0x81C, 0xF50C0101,
+               0x81C, 0xF40E0101,
+               0x81C, 0xF3100101,
+               0x81C, 0xF2120101,
+               0x81C, 0xF1140101,
+               0x81C, 0xF0160101,
+               0x81C, 0xEF180101,
+               0x81C, 0xEE1A0101,
+               0x81C, 0xED1C0101,
+               0x81C, 0xEC1E0101,
+               0x81C, 0xEB200101,
+               0x81C, 0xEA220101,
+               0x81C, 0xE9240101,
+               0x81C, 0xE8260101,
+               0x81C, 0xE7280101,
+               0x81C, 0xE62A0101,
+               0x81C, 0xE52C0101,
+               0x81C, 0xE42E0101,
+               0x81C, 0xE3300101,
+               0x81C, 0xA5320101,
+               0x81C, 0xA4340101,
+               0x81C, 0xA3360101,
+               0x81C, 0x87380101,
+               0x81C, 0x863A0101,
+               0x81C, 0x853C0101,
+               0x81C, 0x843E0101,
+               0x81C, 0x69400101,
+               0x81C, 0x68420101,
+               0x81C, 0x67440101,
+               0x81C, 0x66460101,
+               0x81C, 0x49480101,
+               0x81C, 0x484A0101,
+               0x81C, 0x474C0101,
+               0x81C, 0x2A4E0101,
+               0x81C, 0x29500101,
+               0x81C, 0x28520101,
+               0x81C, 0x27540101,
+               0x81C, 0x26560101,
+               0x81C, 0x25580101,
+               0x81C, 0x245A0101,
+               0x81C, 0x235C0101,
+               0x81C, 0x055E0101,
+               0x81C, 0x04600101,
+               0x81C, 0x03620101,
+               0x81C, 0x02640101,
+               0x81C, 0x01660101,
+               0x81C, 0x01680101,
+               0x81C, 0x016A0101,
+               0x81C, 0x016C0101,
+               0x81C, 0x016E0101,
+               0x81C, 0x01700101,
+               0x81C, 0x01720101,
+       0x9000040c,     0x00000000,     0x40000000,     0x00000000,
                0x81C, 0xFB000101,
                0x81C, 0xFA020101,
                0x81C, 0xF9040101,
@@ -2578,7 +2818,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
                0x81C, 0x016E0101,
                0x81C, 0x01700101,
                0x81C, 0x01720101,
-       0xCDCDCDCD, 0xCDCD,
+       0xA0000000,     0x00000000,
                0x81C, 0xFF000101,
                0x81C, 0xFF020101,
                0x81C, 0xFE040101,
@@ -2637,7 +2877,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
                0x81C, 0x046E0101,
                0x81C, 0x03700101,
                0x81C, 0x02720101,
-       0xFF0F02C0, 0xDEAD,
+       0xB0000000,     0x00000000,
                0x81C, 0x01740101,
                0x81C, 0x01760101,
                0x81C, 0x01780101,