1 /******************************************************************************
3 * Copyright(c) 2016 Realtek Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * The full GNU General Public License is included in this distribution in the
15 * file called LICENSE.
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
22 * Larry Finger <Larry.Finger@lwfinger.net>
24 *****************************************************************************/
25 #include "../halmac_88xx_cfg.h"
26 #include "halmac_8822b_cfg.h"
29 * ============ip sel item list============
30 * HALMAC_IP_SEL_INTF_PHY
31 * USB2 : usb2 phy, 1byte value
32 * USB3 : usb3 phy, 2byte value
33 * PCIE1 : pcie gen1 mdio, 2byte value
34 * PCIE2 : pcie gen2 mdio, 2byte value
36 * USB2, USB3, PCIE1, PCIE2 : mac ip, 1byte value
37 * HALMAC_IP_SEL_PCIE_DBI
39 * PCIE1, PCIE2 : pcie dbi, 1byte value
42 struct halmac_intf_phy_para_ HALMAC_RTL8822B_USB2_PHY[] = {
43 /* {offset, value, ip sel, cut mask, platform mask} */
44 {0xFFFF, 0x00, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL,
45 HALMAC_INTF_PHY_PLATFORM_ALL},
48 struct halmac_intf_phy_para_ HALMAC_RTL8822B_USB3_PHY[] = {
49 /* {offset, value, ip sel, cut mask, platform mask} */
50 {0x0001, 0xA841, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_D,
51 HALMAC_INTF_PHY_PLATFORM_ALL},
52 {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL,
53 HALMAC_INTF_PHY_PLATFORM_ALL},
56 struct halmac_intf_phy_para_ HALMAC_RTL8822B_PCIE_PHY_GEN1[] = {
57 /* {offset, value, ip sel, cut mask, platform mask} */
58 {0x0001, 0xA841, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
59 HALMAC_INTF_PHY_PLATFORM_ALL},
60 {0x0002, 0x60C6, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
61 HALMAC_INTF_PHY_PLATFORM_ALL},
62 {0x0008, 0x3596, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
63 HALMAC_INTF_PHY_PLATFORM_ALL},
64 {0x0009, 0x321C, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
65 HALMAC_INTF_PHY_PLATFORM_ALL},
66 {0x000A, 0x9623, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
67 HALMAC_INTF_PHY_PLATFORM_ALL},
68 {0x0020, 0x94FF, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
69 HALMAC_INTF_PHY_PLATFORM_ALL},
70 {0x0021, 0xFFCF, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
71 HALMAC_INTF_PHY_PLATFORM_ALL},
72 {0x0026, 0xC006, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
73 HALMAC_INTF_PHY_PLATFORM_ALL},
74 {0x0029, 0xFF0E, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
75 HALMAC_INTF_PHY_PLATFORM_ALL},
76 {0x002A, 0x1840, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
77 HALMAC_INTF_PHY_PLATFORM_ALL},
78 {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL,
79 HALMAC_INTF_PHY_PLATFORM_ALL},
82 struct halmac_intf_phy_para_ HALMAC_RTL8822B_PCIE_PHY_GEN2[] = {
83 /* {offset, value, ip sel, cut mask, platform mask} */
84 {0x0001, 0xA841, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
85 HALMAC_INTF_PHY_PLATFORM_ALL},
86 {0x0002, 0x60C6, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
87 HALMAC_INTF_PHY_PLATFORM_ALL},
88 {0x0008, 0x3597, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
89 HALMAC_INTF_PHY_PLATFORM_ALL},
90 {0x0009, 0x321C, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
91 HALMAC_INTF_PHY_PLATFORM_ALL},
92 {0x000A, 0x9623, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
93 HALMAC_INTF_PHY_PLATFORM_ALL},
94 {0x0020, 0x94FF, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
95 HALMAC_INTF_PHY_PLATFORM_ALL},
96 {0x0021, 0xFFCF, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
97 HALMAC_INTF_PHY_PLATFORM_ALL},
98 {0x0026, 0xC006, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
99 HALMAC_INTF_PHY_PLATFORM_ALL},
100 {0x0029, 0xFF0E, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
101 HALMAC_INTF_PHY_PLATFORM_ALL},
102 {0x002A, 0x3040, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_C,
103 HALMAC_INTF_PHY_PLATFORM_ALL},
104 {0xFFFF, 0x0000, HALMAC_IP_SEL_INTF_PHY, HALMAC_INTF_PHY_CUT_ALL,
105 HALMAC_INTF_PHY_PLATFORM_ALL},