rtl8xxxu: Add rtl8723b_phy_1t_init_table
authorJes Sorensen <Jes.Sorensen@redhat.com>
Mon, 29 Feb 2016 22:04:14 +0000 (17:04 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 10 Mar 2016 13:28:56 +0000 (15:28 +0200)
This adds the 8723bu PHY 1T init table.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c

index 467c0bcaadb1450ca9b2b32d05fd57935a27b9a1..cc91247f7341b230719c6ab438aa80f153e3f336 100644 (file)
@@ -251,6 +251,107 @@ static struct rtl8xxxu_reg32val rtl8723a_phy_1t_init_table[] = {
        {0xffff, 0xffffffff},
 };
 
+static struct rtl8xxxu_reg32val rtl8723b_phy_1t_init_table[] = {
+       {0x800, 0x80040000}, {0x804, 0x00000003},
+       {0x808, 0x0000fc00}, {0x80c, 0x0000000a},
+       {0x810, 0x10001331}, {0x814, 0x020c3d10},
+       {0x818, 0x02200385}, {0x81c, 0x00000000},
+       {0x820, 0x01000100}, {0x824, 0x00190204},
+       {0x828, 0x00000000}, {0x82c, 0x00000000},
+       {0x830, 0x00000000}, {0x834, 0x00000000},
+       {0x838, 0x00000000}, {0x83c, 0x00000000},
+       {0x840, 0x00010000}, {0x844, 0x00000000},
+       {0x848, 0x00000000}, {0x84c, 0x00000000},
+       {0x850, 0x00000000}, {0x854, 0x00000000},
+       {0x858, 0x569a11a9}, {0x85c, 0x01000014},
+       {0x860, 0x66f60110}, {0x864, 0x061f0649},
+       {0x868, 0x00000000}, {0x86c, 0x27272700},
+       {0x870, 0x07000760}, {0x874, 0x25004000},
+       {0x878, 0x00000808}, {0x87c, 0x00000000},
+       {0x880, 0xb0000c1c}, {0x884, 0x00000001},
+       {0x888, 0x00000000}, {0x88c, 0xccc000c0},
+       {0x890, 0x00000800}, {0x894, 0xfffffffe},
+       {0x898, 0x40302010}, {0x89c, 0x00706050},
+       {0x900, 0x00000000}, {0x904, 0x00000023},
+       {0x908, 0x00000000}, {0x90c, 0x81121111},
+       {0x910, 0x00000002}, {0x914, 0x00000201},
+       {0xa00, 0x00d047c8}, {0xa04, 0x80ff800c},
+       {0xa08, 0x8c838300}, {0xa0c, 0x2e7f120f},
+       {0xa10, 0x9500bb78}, {0xa14, 0x1114d028},
+       {0xa18, 0x00881117}, {0xa1c, 0x89140f00},
+       {0xa20, 0x1a1b0000}, {0xa24, 0x090e1317},
+       {0xa28, 0x00000204}, {0xa2c, 0x00d30000},
+       {0xa70, 0x101fbf00}, {0xa74, 0x00000007},
+       {0xa78, 0x00000900}, {0xa7c, 0x225b0606},
+       {0xa80, 0x21806490}, {0xb2c, 0x00000000},
+       {0xc00, 0x48071d40}, {0xc04, 0x03a05611},
+       {0xc08, 0x000000e4}, {0xc0c, 0x6c6c6c6c},
+       {0xc10, 0x08800000}, {0xc14, 0x40000100},
+       {0xc18, 0x08800000}, {0xc1c, 0x40000100},
+       {0xc20, 0x00000000}, {0xc24, 0x00000000},
+       {0xc28, 0x00000000}, {0xc2c, 0x00000000},
+       {0xc30, 0x69e9ac44}, {0xc34, 0x469652af},
+       {0xc38, 0x49795994}, {0xc3c, 0x0a97971c},
+       {0xc40, 0x1f7c403f}, {0xc44, 0x000100b7},
+       {0xc48, 0xec020107}, {0xc4c, 0x007f037f},
+       {0xc50, 0x69553420}, {0xc54, 0x43bc0094},
+       {0xc58, 0x00013149}, {0xc5c, 0x00250492},
+       {0xc60, 0x00000000}, {0xc64, 0x7112848b},
+       {0xc68, 0x47c00bff}, {0xc6c, 0x00000036},
+       {0xc70, 0x2c7f000d}, {0xc74, 0x020610db},
+       {0xc78, 0x0000001f}, {0xc7c, 0x00b91612},
+       {0xc80, 0x390000e4}, {0xc84, 0x20f60000},
+       {0xc88, 0x40000100}, {0xc8c, 0x20200000},
+       {0xc90, 0x00020e1a}, {0xc94, 0x00000000},
+       {0xc98, 0x00020e1a}, {0xc9c, 0x00007f7f},
+       {0xca0, 0x00000000}, {0xca4, 0x000300a0},
+       {0xca8, 0x00000000}, {0xcac, 0x00000000},
+       {0xcb0, 0x00000000}, {0xcb4, 0x00000000},
+       {0xcb8, 0x00000000}, {0xcbc, 0x28000000},
+       {0xcc0, 0x00000000}, {0xcc4, 0x00000000},
+       {0xcc8, 0x00000000}, {0xccc, 0x00000000},
+       {0xcd0, 0x00000000}, {0xcd4, 0x00000000},
+       {0xcd8, 0x64b22427}, {0xcdc, 0x00766932},
+       {0xce0, 0x00222222}, {0xce4, 0x00000000},
+       {0xce8, 0x37644302}, {0xcec, 0x2f97d40c},
+       {0xd00, 0x00000740}, {0xd04, 0x40020401},
+       {0xd08, 0x0000907f}, {0xd0c, 0x20010201},
+       {0xd10, 0xa0633333}, {0xd14, 0x3333bc53},
+       {0xd18, 0x7a8f5b6f}, {0xd2c, 0xcc979975},
+       {0xd30, 0x00000000}, {0xd34, 0x80608000},
+       {0xd38, 0x00000000}, {0xd3c, 0x00127353},
+       {0xd40, 0x00000000}, {0xd44, 0x00000000},
+       {0xd48, 0x00000000}, {0xd4c, 0x00000000},
+       {0xd50, 0x6437140a}, {0xd54, 0x00000000},
+       {0xd58, 0x00000282}, {0xd5c, 0x30032064},
+       {0xd60, 0x4653de68}, {0xd64, 0x04518a3c},
+       {0xd68, 0x00002101}, {0xd6c, 0x2a201c16},
+       {0xd70, 0x1812362e}, {0xd74, 0x322c2220},
+       {0xd78, 0x000e3c24}, {0xe00, 0x2d2d2d2d},
+       {0xe04, 0x2d2d2d2d}, {0xe08, 0x0390272d},
+       {0xe10, 0x2d2d2d2d}, {0xe14, 0x2d2d2d2d},
+       {0xe18, 0x2d2d2d2d}, {0xe1c, 0x2d2d2d2d},
+       {0xe28, 0x00000000}, {0xe30, 0x1000dc1f},
+       {0xe34, 0x10008c1f}, {0xe38, 0x02140102},
+       {0xe3c, 0x681604c2}, {0xe40, 0x01007c00},
+       {0xe44, 0x01004800}, {0xe48, 0xfb000000},
+       {0xe4c, 0x000028d1}, {0xe50, 0x1000dc1f},
+       {0xe54, 0x10008c1f}, {0xe58, 0x02140102},
+       {0xe5c, 0x28160d05}, {0xe60, 0x00000008},
+       {0xe68, 0x001b2556}, {0xe6c, 0x00c00096},
+       {0xe70, 0x00c00096}, {0xe74, 0x01000056},
+       {0xe78, 0x01000014}, {0xe7c, 0x01000056},
+       {0xe80, 0x01000014}, {0xe84, 0x00c00096},
+       {0xe88, 0x01000056}, {0xe8c, 0x00c00096},
+       {0xed0, 0x00c00096}, {0xed4, 0x00c00096},
+       {0xed8, 0x00c00096}, {0xedc, 0x000000d6},
+       {0xee0, 0x000000d6}, {0xeec, 0x01c00016},
+       {0xf14, 0x00000003}, {0xf4c, 0x00000000},
+       {0xf00, 0x00000300},
+       {0x820, 0x01000100}, {0x800, 0x83040000},
+       {0xffff, 0xffffffff},
+};
+
 static struct rtl8xxxu_reg32val rtl8192cu_phy_2t_init_table[] = {
        {0x024, 0x0011800f}, {0x028, 0x00ffdb83},
        {0x800, 0x80040002}, {0x804, 0x00000003},
@@ -2589,6 +2690,8 @@ static int rtl8xxxu_init_phy_bb(struct rtl8xxxu_priv *priv)
                rtl8xxxu_init_phy_regs(priv, rtl8188ru_phy_1t_highpa_table);
        else if (priv->tx_paths == 2)
                rtl8xxxu_init_phy_regs(priv, rtl8192cu_phy_2t_init_table);
+       else if (priv->rtlchip == 0x8723b)
+               rtl8xxxu_init_phy_regs(priv, rtl8723b_phy_1t_init_table);
        else
                rtl8xxxu_init_phy_regs(priv, rtl8723a_phy_1t_init_table);