1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
| // SPDX-License-Identifier: GPL-2.0
| /******************************************************************************
| *
| * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
| *
| ******************************************************************************/
|
| #include "odm_precomp.h"
| #include "phy.h"
|
| /* MAC_REG.TXT */
|
| static u32 array_MAC_REG_8188E[] = {
| 0x026, 0x00000041,
| 0x027, 0x00000035,
| 0x428, 0x0000000A,
| 0x429, 0x00000010,
| 0x430, 0x00000000,
| 0x431, 0x00000001,
| 0x432, 0x00000002,
| 0x433, 0x00000004,
| 0x434, 0x00000005,
| 0x435, 0x00000006,
| 0x436, 0x00000007,
| 0x437, 0x00000008,
| 0x438, 0x00000000,
| 0x439, 0x00000000,
| 0x43A, 0x00000001,
| 0x43B, 0x00000002,
| 0x43C, 0x00000004,
| 0x43D, 0x00000005,
| 0x43E, 0x00000006,
| 0x43F, 0x00000007,
| 0x440, 0x0000005D,
| 0x441, 0x00000001,
| 0x442, 0x00000000,
| 0x444, 0x00000015,
| 0x445, 0x000000F0,
| 0x446, 0x0000000F,
| 0x447, 0x00000000,
| 0x458, 0x00000041,
| 0x459, 0x000000A8,
| 0x45A, 0x00000072,
| 0x45B, 0x000000B9,
| 0x460, 0x00000066,
| 0x461, 0x00000066,
| 0x480, 0x00000008,
| 0x4C8, 0x000000FF,
| 0x4C9, 0x00000008,
| 0x4CC, 0x000000FF,
| 0x4CD, 0x000000FF,
| 0x4CE, 0x00000001,
| 0x4D3, 0x00000001,
| 0x500, 0x00000026,
| 0x501, 0x000000A2,
| 0x502, 0x0000002F,
| 0x503, 0x00000000,
| 0x504, 0x00000028,
| 0x505, 0x000000A3,
| 0x506, 0x0000005E,
| 0x507, 0x00000000,
| 0x508, 0x0000002B,
| 0x509, 0x000000A4,
| 0x50A, 0x0000005E,
| 0x50B, 0x00000000,
| 0x50C, 0x0000004F,
| 0x50D, 0x000000A4,
| 0x50E, 0x00000000,
| 0x50F, 0x00000000,
| 0x512, 0x0000001C,
| 0x514, 0x0000000A,
| 0x516, 0x0000000A,
| 0x525, 0x0000004F,
| 0x550, 0x00000010,
| 0x551, 0x00000010,
| 0x559, 0x00000002,
| 0x55D, 0x000000FF,
| 0x605, 0x00000030,
| 0x608, 0x0000000E,
| 0x609, 0x0000002A,
| 0x620, 0x000000FF,
| 0x621, 0x000000FF,
| 0x622, 0x000000FF,
| 0x623, 0x000000FF,
| 0x624, 0x000000FF,
| 0x625, 0x000000FF,
| 0x626, 0x000000FF,
| 0x627, 0x000000FF,
| 0x652, 0x00000020,
| 0x63C, 0x0000000A,
| 0x63D, 0x0000000A,
| 0x63E, 0x0000000E,
| 0x63F, 0x0000000E,
| 0x640, 0x00000040,
| 0x66E, 0x00000005,
| 0x700, 0x00000021,
| 0x701, 0x00000043,
| 0x702, 0x00000065,
| 0x703, 0x00000087,
| 0x708, 0x00000021,
| 0x709, 0x00000043,
| 0x70A, 0x00000065,
| 0x70B, 0x00000087,
| };
|
| bool rtl88eu_phy_mac_config(struct adapter *adapt)
| {
| u32 i;
| u32 arraylength;
| u32 *ptrarray;
|
| arraylength = ARRAY_SIZE(array_MAC_REG_8188E);
| ptrarray = array_MAC_REG_8188E;
|
| for (i = 0; i < arraylength; i += 2)
| usb_write8(adapt, ptrarray[i], (u8)ptrarray[i + 1]);
|
| usb_write8(adapt, REG_MAX_AGGR_NUM, MAX_AGGR_NUM);
| return true;
| }
|
|