1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* |
3 | * Copyright (C) 2022 MediaTek Inc. |
4 | * Author: Hui Liu <hui.liu@mediatek.com> |
5 | * |
6 | */ |
7 | |
8 | #include <linux/module.h> |
9 | #include "pinctrl-mtk-mt8188.h" |
10 | #include "pinctrl-paris.h" |
11 | |
12 | /* MT8188 have multiple bases to program pin configuration listed as the below: |
13 | * iocfg[0]:0x10005000, iocfg[1]:0x11c00000, iocfg[2]:0x11e10000, |
14 | * iocfg[3]:0x11e20000, iocfg[4]:0x11ea0000 |
15 | * _i_based could be used to indicate what base the pin should be mapped into. |
16 | */ |
17 | |
18 | #define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ |
19 | PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ |
20 | 32, 0) |
21 | |
22 | #define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \ |
23 | PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \ |
24 | 32, 1) |
25 | |
26 | static const struct mtk_pin_field_calc mt8188_pin_mode_range[] = { |
27 | PIN_FIELD(0, 177, 0x0300, 0x10, 0, 4), |
28 | }; |
29 | |
30 | static const struct mtk_pin_field_calc mt8188_pin_dir_range[] = { |
31 | PIN_FIELD(0, 177, 0x0000, 0x10, 0, 1), |
32 | }; |
33 | |
34 | static const struct mtk_pin_field_calc mt8188_pin_di_range[] = { |
35 | PIN_FIELD(0, 177, 0x0200, 0x10, 0, 1), |
36 | }; |
37 | |
38 | static const struct mtk_pin_field_calc mt8188_pin_do_range[] = { |
39 | PIN_FIELD(0, 177, 0x0100, 0x10, 0, 1), |
40 | }; |
41 | |
42 | static const struct mtk_pin_field_calc mt8188_pin_smt_range[] = { |
43 | PIN_FIELD_BASE(0, 0, 1, 0x0170, 0x10, 8, 1), |
44 | PIN_FIELD_BASE(1, 1, 1, 0x0170, 0x10, 9, 1), |
45 | PIN_FIELD_BASE(2, 2, 1, 0x0170, 0x10, 10, 1), |
46 | PIN_FIELD_BASE(3, 3, 1, 0x0170, 0x10, 11, 1), |
47 | PIN_FIELD_BASE(4, 4, 1, 0x0170, 0x10, 18, 1), |
48 | PIN_FIELD_BASE(5, 5, 1, 0x0170, 0x10, 18, 1), |
49 | PIN_FIELD_BASE(6, 6, 1, 0x0170, 0x10, 18, 1), |
50 | PIN_FIELD_BASE(7, 7, 1, 0x0170, 0x10, 12, 1), |
51 | PIN_FIELD_BASE(8, 8, 1, 0x0170, 0x10, 13, 1), |
52 | PIN_FIELD_BASE(9, 9, 1, 0x0170, 0x10, 14, 1), |
53 | PIN_FIELD_BASE(10, 10, 1, 0x0170, 0x10, 15, 1), |
54 | PIN_FIELD_BASE(11, 11, 1, 0x0170, 0x10, 19, 1), |
55 | PIN_FIELD_BASE(12, 12, 2, 0x0160, 0x10, 12, 1), |
56 | PIN_FIELD_BASE(13, 13, 2, 0x0160, 0x10, 13, 1), |
57 | PIN_FIELD_BASE(14, 14, 2, 0x0160, 0x10, 14, 1), |
58 | PIN_FIELD_BASE(15, 15, 2, 0x0160, 0x10, 15, 1), |
59 | PIN_FIELD_BASE(16, 16, 3, 0x00d0, 0x10, 10, 1), |
60 | PIN_FIELD_BASE(17, 17, 3, 0x00d0, 0x10, 10, 1), |
61 | PIN_FIELD_BASE(18, 18, 4, 0x00e0, 0x10, 9, 1), |
62 | PIN_FIELD_BASE(19, 19, 4, 0x00e0, 0x10, 9, 1), |
63 | PIN_FIELD_BASE(20, 20, 4, 0x00e0, 0x10, 9, 1), |
64 | PIN_FIELD_BASE(21, 21, 4, 0x00e0, 0x10, 9, 1), |
65 | PIN_FIELD_BASE(22, 22, 4, 0x00e0, 0x10, 0, 1), |
66 | PIN_FIELD_BASE(23, 23, 4, 0x00e0, 0x10, 1, 1), |
67 | PIN_FIELD_BASE(24, 24, 4, 0x00e0, 0x10, 2, 1), |
68 | PIN_FIELD_BASE(25, 25, 1, 0x0170, 0x10, 17, 1), |
69 | PIN_FIELD_BASE(26, 26, 1, 0x0170, 0x10, 17, 1), |
70 | PIN_FIELD_BASE(27, 27, 1, 0x0170, 0x10, 17, 1), |
71 | PIN_FIELD_BASE(28, 28, 1, 0x0170, 0x10, 18, 1), |
72 | PIN_FIELD_BASE(29, 29, 1, 0x0170, 0x10, 16, 1), |
73 | PIN_FIELD_BASE(30, 30, 1, 0x0170, 0x10, 17, 1), |
74 | PIN_FIELD_BASE(31, 31, 1, 0x0170, 0x10, 19, 1), |
75 | PIN_FIELD_BASE(32, 32, 1, 0x0170, 0x10, 19, 1), |
76 | PIN_FIELD_BASE(33, 33, 1, 0x0170, 0x10, 20, 1), |
77 | PIN_FIELD_BASE(34, 34, 1, 0x0170, 0x10, 20, 1), |
78 | PIN_FIELD_BASE(35, 35, 1, 0x0170, 0x10, 19, 1), |
79 | PIN_FIELD_BASE(36, 36, 1, 0x0170, 0x10, 20, 1), |
80 | PIN_FIELD_BASE(37, 37, 1, 0x0170, 0x10, 21, 1), |
81 | PIN_FIELD_BASE(38, 38, 1, 0x0170, 0x10, 20, 1), |
82 | PIN_FIELD_BASE(39, 39, 1, 0x0170, 0x10, 21, 1), |
83 | PIN_FIELD_BASE(40, 40, 1, 0x0170, 0x10, 21, 1), |
84 | PIN_FIELD_BASE(41, 41, 1, 0x0170, 0x10, 21, 1), |
85 | PIN_FIELD_BASE(42, 42, 2, 0x0160, 0x10, 21, 1), |
86 | PIN_FIELD_BASE(43, 43, 2, 0x0160, 0x10, 22, 1), |
87 | PIN_FIELD_BASE(44, 44, 2, 0x0160, 0x10, 21, 1), |
88 | PIN_FIELD_BASE(45, 45, 2, 0x0160, 0x10, 22, 1), |
89 | PIN_FIELD_BASE(46, 46, 3, 0x00d0, 0x10, 10, 1), |
90 | PIN_FIELD_BASE(47, 47, 1, 0x0170, 0x10, 16, 1), |
91 | PIN_FIELD_BASE(48, 48, 1, 0x0170, 0x10, 16, 1), |
92 | PIN_FIELD_BASE(49, 49, 1, 0x0170, 0x10, 16, 1), |
93 | PIN_FIELD_BASE(50, 50, 3, 0x00d0, 0x10, 10, 1), |
94 | PIN_FIELD_BASE(51, 51, 3, 0x00d0, 0x10, 11, 1), |
95 | PIN_FIELD_BASE(52, 52, 3, 0x00d0, 0x10, 11, 1), |
96 | PIN_FIELD_BASE(53, 53, 3, 0x00d0, 0x10, 11, 1), |
97 | PIN_FIELD_BASE(54, 54, 3, 0x00d0, 0x10, 11, 1), |
98 | PIN_FIELD_BASE(55, 55, 1, 0x0170, 0x10, 25, 1), |
99 | PIN_FIELD_BASE(56, 56, 1, 0x0170, 0x10, 28, 1), |
100 | PIN_FIELD_BASE(57, 57, 2, 0x0160, 0x10, 29, 1), |
101 | PIN_FIELD_BASE(58, 58, 2, 0x0160, 0x10, 31, 1), |
102 | PIN_FIELD_BASE(59, 59, 1, 0x0170, 0x10, 26, 1), |
103 | PIN_FIELD_BASE(60, 60, 1, 0x0170, 0x10, 29, 1), |
104 | PIN_FIELD_BASE(61, 61, 1, 0x0170, 0x10, 27, 1), |
105 | PIN_FIELD_BASE(62, 62, 1, 0x0170, 0x10, 30, 1), |
106 | PIN_FIELD_BASE(63, 63, 2, 0x0160, 0x10, 30, 1), |
107 | PIN_FIELD_BASE(64, 64, 2, 0x0170, 0x10, 0, 1), |
108 | PIN_FIELD_BASE(65, 65, 4, 0x00e0, 0x10, 10, 1), |
109 | PIN_FIELD_BASE(66, 66, 4, 0x00e0, 0x10, 12, 1), |
110 | PIN_FIELD_BASE(67, 67, 4, 0x00e0, 0x10, 11, 1), |
111 | PIN_FIELD_BASE(68, 68, 4, 0x00e0, 0x10, 13, 1), |
112 | PIN_FIELD_BASE(69, 69, 1, 0x0180, 0x10, 0, 1), |
113 | PIN_FIELD_BASE(70, 70, 1, 0x0170, 0x10, 31, 1), |
114 | PIN_FIELD_BASE(71, 71, 1, 0x0180, 0x10, 4, 1), |
115 | PIN_FIELD_BASE(72, 72, 1, 0x0180, 0x10, 3, 1), |
116 | PIN_FIELD_BASE(73, 73, 1, 0x0180, 0x10, 1, 1), |
117 | PIN_FIELD_BASE(74, 74, 1, 0x0180, 0x10, 2, 1), |
118 | PIN_FIELD_BASE(75, 75, 1, 0x0180, 0x10, 6, 1), |
119 | PIN_FIELD_BASE(76, 76, 1, 0x0180, 0x10, 5, 1), |
120 | PIN_FIELD_BASE(77, 77, 1, 0x0180, 0x10, 8, 1), |
121 | PIN_FIELD_BASE(78, 78, 1, 0x0180, 0x10, 7, 1), |
122 | PIN_FIELD_BASE(79, 79, 4, 0x00e0, 0x10, 15, 1), |
123 | PIN_FIELD_BASE(80, 80, 4, 0x00e0, 0x10, 14, 1), |
124 | PIN_FIELD_BASE(81, 81, 4, 0x00e0, 0x10, 17, 1), |
125 | PIN_FIELD_BASE(82, 82, 4, 0x00e0, 0x10, 16, 1), |
126 | PIN_FIELD_BASE(83, 83, 2, 0x0160, 0x10, 26, 1), |
127 | PIN_FIELD_BASE(84, 84, 2, 0x0160, 0x10, 26, 1), |
128 | PIN_FIELD_BASE(85, 85, 2, 0x0160, 0x10, 27, 1), |
129 | PIN_FIELD_BASE(86, 86, 2, 0x0160, 0x10, 17, 1), |
130 | PIN_FIELD_BASE(87, 87, 2, 0x0160, 0x10, 17, 1), |
131 | PIN_FIELD_BASE(88, 88, 2, 0x0160, 0x10, 17, 1), |
132 | PIN_FIELD_BASE(89, 89, 2, 0x0160, 0x10, 17, 1), |
133 | PIN_FIELD_BASE(90, 90, 2, 0x0160, 0x10, 27, 1), |
134 | PIN_FIELD_BASE(91, 91, 2, 0x0160, 0x10, 27, 1), |
135 | PIN_FIELD_BASE(92, 92, 2, 0x0160, 0x10, 18, 1), |
136 | PIN_FIELD_BASE(93, 93, 2, 0x0160, 0x10, 18, 1), |
137 | PIN_FIELD_BASE(94, 94, 2, 0x0160, 0x10, 18, 1), |
138 | PIN_FIELD_BASE(95, 95, 2, 0x0160, 0x10, 18, 1), |
139 | PIN_FIELD_BASE(96, 96, 2, 0x0160, 0x10, 22, 1), |
140 | PIN_FIELD_BASE(97, 97, 2, 0x0160, 0x10, 23, 1), |
141 | PIN_FIELD_BASE(98, 98, 2, 0x0160, 0x10, 24, 1), |
142 | PIN_FIELD_BASE(99, 99, 2, 0x0160, 0x10, 22, 1), |
143 | PIN_FIELD_BASE(100, 100, 2, 0x0160, 0x10, 16, 1), |
144 | PIN_FIELD_BASE(101, 101, 2, 0x0160, 0x10, 23, 1), |
145 | PIN_FIELD_BASE(102, 102, 2, 0x0160, 0x10, 23, 1), |
146 | PIN_FIELD_BASE(103, 103, 2, 0x0160, 0x10, 23, 1), |
147 | PIN_FIELD_BASE(104, 104, 2, 0x0160, 0x10, 24, 1), |
148 | PIN_FIELD_BASE(105, 105, 2, 0x0160, 0x10, 24, 1), |
149 | PIN_FIELD_BASE(106, 106, 2, 0x0160, 0x10, 24, 1), |
150 | PIN_FIELD_BASE(107, 107, 2, 0x0160, 0x10, 17, 1), |
151 | PIN_FIELD_BASE(108, 108, 2, 0x0160, 0x10, 17, 1), |
152 | PIN_FIELD_BASE(109, 109, 2, 0x0160, 0x10, 17, 1), |
153 | PIN_FIELD_BASE(110, 110, 2, 0x0160, 0x10, 17, 1), |
154 | PIN_FIELD_BASE(111, 111, 2, 0x0160, 0x10, 19, 1), |
155 | PIN_FIELD_BASE(112, 112, 2, 0x0160, 0x10, 19, 1), |
156 | PIN_FIELD_BASE(113, 113, 2, 0x0160, 0x10, 19, 1), |
157 | PIN_FIELD_BASE(114, 114, 2, 0x0160, 0x10, 19, 1), |
158 | PIN_FIELD_BASE(115, 115, 2, 0x0160, 0x10, 20, 1), |
159 | PIN_FIELD_BASE(116, 116, 2, 0x0160, 0x10, 20, 1), |
160 | PIN_FIELD_BASE(117, 117, 2, 0x0160, 0x10, 20, 1), |
161 | PIN_FIELD_BASE(118, 118, 2, 0x0160, 0x10, 20, 1), |
162 | PIN_FIELD_BASE(119, 119, 2, 0x0160, 0x10, 21, 1), |
163 | PIN_FIELD_BASE(120, 120, 2, 0x0160, 0x10, 21, 1), |
164 | PIN_FIELD_BASE(121, 121, 3, 0x00d0, 0x10, 6, 1), |
165 | PIN_FIELD_BASE(122, 122, 3, 0x00d0, 0x10, 9, 1), |
166 | PIN_FIELD_BASE(123, 123, 3, 0x00d0, 0x10, 8, 1), |
167 | PIN_FIELD_BASE(124, 124, 3, 0x00d0, 0x10, 7, 1), |
168 | PIN_FIELD_BASE(125, 125, 2, 0x0160, 0x10, 25, 1), |
169 | PIN_FIELD_BASE(126, 126, 2, 0x0160, 0x10, 25, 1), |
170 | PIN_FIELD_BASE(127, 127, 2, 0x0160, 0x10, 25, 1), |
171 | PIN_FIELD_BASE(128, 128, 2, 0x0160, 0x10, 25, 1), |
172 | PIN_FIELD_BASE(129, 129, 2, 0x0160, 0x10, 26, 1), |
173 | PIN_FIELD_BASE(130, 130, 2, 0x0160, 0x10, 26, 1), |
174 | PIN_FIELD_BASE(131, 131, 1, 0x0170, 0x10, 0, 1), |
175 | PIN_FIELD_BASE(132, 132, 1, 0x0170, 0x10, 1, 1), |
176 | PIN_FIELD_BASE(133, 133, 1, 0x0170, 0x10, 6, 1), |
177 | PIN_FIELD_BASE(134, 134, 1, 0x0170, 0x10, 7, 1), |
178 | PIN_FIELD_BASE(135, 135, 1, 0x0170, 0x10, 22, 1), |
179 | PIN_FIELD_BASE(136, 136, 1, 0x0170, 0x10, 22, 1), |
180 | PIN_FIELD_BASE(137, 137, 1, 0x0170, 0x10, 22, 1), |
181 | PIN_FIELD_BASE(138, 138, 1, 0x0170, 0x10, 22, 1), |
182 | PIN_FIELD_BASE(139, 139, 1, 0x0170, 0x10, 23, 1), |
183 | PIN_FIELD_BASE(140, 140, 1, 0x0170, 0x10, 23, 1), |
184 | PIN_FIELD_BASE(141, 141, 1, 0x0170, 0x10, 23, 1), |
185 | PIN_FIELD_BASE(142, 142, 1, 0x0170, 0x10, 23, 1), |
186 | PIN_FIELD_BASE(143, 143, 1, 0x0170, 0x10, 2, 1), |
187 | PIN_FIELD_BASE(144, 144, 1, 0x0170, 0x10, 3, 1), |
188 | PIN_FIELD_BASE(145, 145, 1, 0x0170, 0x10, 4, 1), |
189 | PIN_FIELD_BASE(146, 146, 1, 0x0170, 0x10, 5, 1), |
190 | PIN_FIELD_BASE(147, 147, 1, 0x0170, 0x10, 24, 1), |
191 | PIN_FIELD_BASE(148, 148, 1, 0x0170, 0x10, 24, 1), |
192 | PIN_FIELD_BASE(149, 149, 1, 0x0170, 0x10, 24, 1), |
193 | PIN_FIELD_BASE(150, 150, 1, 0x0170, 0x10, 24, 1), |
194 | PIN_FIELD_BASE(151, 151, 2, 0x0160, 0x10, 9, 1), |
195 | PIN_FIELD_BASE(152, 152, 2, 0x0160, 0x10, 8, 1), |
196 | PIN_FIELD_BASE(153, 153, 2, 0x0160, 0x10, 7, 1), |
197 | PIN_FIELD_BASE(154, 154, 2, 0x0160, 0x10, 6, 1), |
198 | PIN_FIELD_BASE(155, 155, 2, 0x0160, 0x10, 11, 1), |
199 | PIN_FIELD_BASE(156, 156, 2, 0x0160, 0x10, 1, 1), |
200 | PIN_FIELD_BASE(157, 157, 2, 0x0160, 0x10, 0, 1), |
201 | PIN_FIELD_BASE(158, 158, 2, 0x0160, 0x10, 5, 1), |
202 | PIN_FIELD_BASE(159, 159, 2, 0x0160, 0x10, 4, 1), |
203 | PIN_FIELD_BASE(160, 160, 2, 0x0160, 0x10, 3, 1), |
204 | PIN_FIELD_BASE(161, 161, 2, 0x0160, 0x10, 2, 1), |
205 | PIN_FIELD_BASE(162, 162, 2, 0x0160, 0x10, 10, 1), |
206 | PIN_FIELD_BASE(163, 163, 4, 0x00e0, 0x10, 4, 1), |
207 | PIN_FIELD_BASE(164, 164, 4, 0x00e0, 0x10, 3, 1), |
208 | PIN_FIELD_BASE(165, 165, 4, 0x00e0, 0x10, 5, 1), |
209 | PIN_FIELD_BASE(166, 166, 4, 0x00e0, 0x10, 6, 1), |
210 | PIN_FIELD_BASE(167, 167, 4, 0x00e0, 0x10, 7, 1), |
211 | PIN_FIELD_BASE(168, 168, 4, 0x00e0, 0x10, 8, 1), |
212 | PIN_FIELD_BASE(169, 169, 3, 0x00d0, 0x10, 1, 1), |
213 | PIN_FIELD_BASE(170, 170, 3, 0x00d0, 0x10, 0, 1), |
214 | PIN_FIELD_BASE(171, 171, 3, 0x00d0, 0x10, 2, 1), |
215 | PIN_FIELD_BASE(172, 172, 3, 0x00d0, 0x10, 3, 1), |
216 | PIN_FIELD_BASE(173, 173, 3, 0x00d0, 0x10, 4, 1), |
217 | PIN_FIELD_BASE(174, 174, 3, 0x00d0, 0x10, 5, 1), |
218 | PIN_FIELD_BASE(175, 175, 2, 0x0160, 0x10, 28, 1), |
219 | PIN_FIELD_BASE(176, 176, 2, 0x0160, 0x10, 28, 1), |
220 | }; |
221 | |
222 | static const struct mtk_pin_field_calc mt8188_pin_ies_range[] = { |
223 | PIN_FIELD_BASE(0, 0, 1, 0x0080, 0x10, 26, 1), |
224 | PIN_FIELD_BASE(1, 1, 1, 0x0080, 0x10, 27, 1), |
225 | PIN_FIELD_BASE(2, 2, 1, 0x0080, 0x10, 28, 1), |
226 | PIN_FIELD_BASE(3, 3, 1, 0x0080, 0x10, 29, 1), |
227 | PIN_FIELD_BASE(4, 4, 1, 0x0080, 0x10, 30, 1), |
228 | PIN_FIELD_BASE(5, 5, 1, 0x0080, 0x10, 31, 1), |
229 | PIN_FIELD_BASE(6, 6, 1, 0x0090, 0x10, 0, 1), |
230 | PIN_FIELD_BASE(7, 7, 1, 0x0090, 0x10, 1, 1), |
231 | PIN_FIELD_BASE(8, 8, 1, 0x0090, 0x10, 2, 1), |
232 | PIN_FIELD_BASE(9, 9, 1, 0x0090, 0x10, 3, 1), |
233 | PIN_FIELD_BASE(10, 10, 1, 0x0090, 0x10, 4, 1), |
234 | PIN_FIELD_BASE(11, 11, 1, 0x0090, 0x10, 5, 1), |
235 | PIN_FIELD_BASE(12, 12, 2, 0x0070, 0x10, 24, 1), |
236 | PIN_FIELD_BASE(13, 13, 2, 0x0070, 0x10, 25, 1), |
237 | PIN_FIELD_BASE(14, 14, 2, 0x0070, 0x10, 26, 1), |
238 | PIN_FIELD_BASE(15, 15, 2, 0x0070, 0x10, 27, 1), |
239 | PIN_FIELD_BASE(16, 16, 3, 0x0040, 0x10, 1, 1), |
240 | PIN_FIELD_BASE(17, 17, 3, 0x0040, 0x10, 2, 1), |
241 | PIN_FIELD_BASE(18, 18, 4, 0x0050, 0x10, 3, 1), |
242 | PIN_FIELD_BASE(19, 19, 4, 0x0050, 0x10, 5, 1), |
243 | PIN_FIELD_BASE(20, 20, 4, 0x0050, 0x10, 4, 1), |
244 | PIN_FIELD_BASE(21, 21, 4, 0x0050, 0x10, 6, 1), |
245 | PIN_FIELD_BASE(22, 22, 4, 0x0050, 0x10, 0, 1), |
246 | PIN_FIELD_BASE(23, 23, 4, 0x0050, 0x10, 1, 1), |
247 | PIN_FIELD_BASE(24, 24, 4, 0x0050, 0x10, 2, 1), |
248 | PIN_FIELD_BASE(25, 25, 1, 0x0080, 0x10, 23, 1), |
249 | PIN_FIELD_BASE(26, 26, 1, 0x0080, 0x10, 22, 1), |
250 | PIN_FIELD_BASE(27, 27, 1, 0x0080, 0x10, 25, 1), |
251 | PIN_FIELD_BASE(28, 28, 1, 0x0080, 0x10, 24, 1), |
252 | PIN_FIELD_BASE(29, 29, 1, 0x0080, 0x10, 0, 1), |
253 | PIN_FIELD_BASE(30, 30, 1, 0x0080, 0x10, 1, 1), |
254 | PIN_FIELD_BASE(31, 31, 1, 0x0090, 0x10, 31, 1), |
255 | PIN_FIELD_BASE(32, 32, 1, 0x0090, 0x10, 30, 1), |
256 | PIN_FIELD_BASE(33, 33, 1, 0x00a0, 0x10, 1, 1), |
257 | PIN_FIELD_BASE(34, 34, 1, 0x00a0, 0x10, 0, 1), |
258 | PIN_FIELD_BASE(35, 35, 1, 0x00a0, 0x10, 3, 1), |
259 | PIN_FIELD_BASE(36, 36, 1, 0x00a0, 0x10, 2, 1), |
260 | PIN_FIELD_BASE(37, 37, 1, 0x0090, 0x10, 9, 1), |
261 | PIN_FIELD_BASE(38, 38, 1, 0x0090, 0x10, 6, 1), |
262 | PIN_FIELD_BASE(39, 39, 1, 0x0090, 0x10, 7, 1), |
263 | PIN_FIELD_BASE(40, 40, 1, 0x0090, 0x10, 8, 1), |
264 | PIN_FIELD_BASE(41, 41, 1, 0x0090, 0x10, 10, 1), |
265 | PIN_FIELD_BASE(42, 42, 2, 0x0080, 0x10, 10, 1), |
266 | PIN_FIELD_BASE(43, 43, 2, 0x0080, 0x10, 11, 1), |
267 | PIN_FIELD_BASE(44, 44, 2, 0x0080, 0x10, 12, 1), |
268 | PIN_FIELD_BASE(45, 45, 2, 0x0080, 0x10, 13, 1), |
269 | PIN_FIELD_BASE(46, 46, 3, 0x0040, 0x10, 0, 1), |
270 | PIN_FIELD_BASE(47, 47, 1, 0x0090, 0x10, 13, 1), |
271 | PIN_FIELD_BASE(48, 48, 1, 0x0090, 0x10, 12, 1), |
272 | PIN_FIELD_BASE(49, 49, 1, 0x0090, 0x10, 11, 1), |
273 | PIN_FIELD_BASE(50, 50, 3, 0x0040, 0x10, 5, 1), |
274 | PIN_FIELD_BASE(51, 51, 3, 0x0040, 0x10, 4, 1), |
275 | PIN_FIELD_BASE(52, 52, 3, 0x0040, 0x10, 3, 1), |
276 | PIN_FIELD_BASE(53, 53, 3, 0x0040, 0x10, 6, 1), |
277 | PIN_FIELD_BASE(54, 54, 3, 0x0040, 0x10, 7, 1), |
278 | PIN_FIELD_BASE(55, 55, 1, 0x0090, 0x10, 14, 1), |
279 | PIN_FIELD_BASE(56, 56, 1, 0x0090, 0x10, 17, 1), |
280 | PIN_FIELD_BASE(57, 57, 2, 0x0080, 0x10, 22, 1), |
281 | PIN_FIELD_BASE(58, 58, 2, 0x0080, 0x10, 25, 1), |
282 | PIN_FIELD_BASE(59, 59, 1, 0x0090, 0x10, 15, 1), |
283 | PIN_FIELD_BASE(60, 60, 1, 0x0090, 0x10, 18, 1), |
284 | PIN_FIELD_BASE(61, 61, 1, 0x0090, 0x10, 16, 1), |
285 | PIN_FIELD_BASE(62, 62, 1, 0x0090, 0x10, 19, 1), |
286 | PIN_FIELD_BASE(63, 63, 2, 0x0080, 0x10, 23, 1), |
287 | PIN_FIELD_BASE(64, 64, 2, 0x0080, 0x10, 26, 1), |
288 | PIN_FIELD_BASE(65, 65, 4, 0x0050, 0x10, 13, 1), |
289 | PIN_FIELD_BASE(66, 66, 4, 0x0050, 0x10, 15, 1), |
290 | PIN_FIELD_BASE(67, 67, 4, 0x0050, 0x10, 14, 1), |
291 | PIN_FIELD_BASE(68, 68, 4, 0x0050, 0x10, 16, 1), |
292 | PIN_FIELD_BASE(69, 69, 1, 0x0090, 0x10, 21, 1), |
293 | PIN_FIELD_BASE(70, 70, 1, 0x0090, 0x10, 20, 1), |
294 | PIN_FIELD_BASE(71, 71, 1, 0x0090, 0x10, 25, 1), |
295 | PIN_FIELD_BASE(72, 72, 1, 0x0090, 0x10, 24, 1), |
296 | PIN_FIELD_BASE(73, 73, 1, 0x0090, 0x10, 22, 1), |
297 | PIN_FIELD_BASE(74, 74, 1, 0x0090, 0x10, 23, 1), |
298 | PIN_FIELD_BASE(75, 75, 1, 0x0090, 0x10, 27, 1), |
299 | PIN_FIELD_BASE(76, 76, 1, 0x0090, 0x10, 26, 1), |
300 | PIN_FIELD_BASE(77, 77, 1, 0x0090, 0x10, 29, 1), |
301 | PIN_FIELD_BASE(78, 78, 1, 0x0090, 0x10, 28, 1), |
302 | PIN_FIELD_BASE(79, 79, 4, 0x0050, 0x10, 18, 1), |
303 | PIN_FIELD_BASE(80, 80, 4, 0x0050, 0x10, 17, 1), |
304 | PIN_FIELD_BASE(81, 81, 4, 0x0050, 0x10, 20, 1), |
305 | PIN_FIELD_BASE(82, 82, 4, 0x0050, 0x10, 19, 1), |
306 | PIN_FIELD_BASE(83, 83, 2, 0x0080, 0x10, 30, 1), |
307 | PIN_FIELD_BASE(84, 84, 2, 0x0080, 0x10, 29, 1), |
308 | PIN_FIELD_BASE(85, 85, 2, 0x0080, 0x10, 31, 1), |
309 | PIN_FIELD_BASE(86, 86, 2, 0x0090, 0x10, 1, 1), |
310 | PIN_FIELD_BASE(87, 87, 2, 0x0090, 0x10, 0, 1), |
311 | PIN_FIELD_BASE(88, 88, 2, 0x0090, 0x10, 2, 1), |
312 | PIN_FIELD_BASE(89, 89, 2, 0x0090, 0x10, 4, 1), |
313 | PIN_FIELD_BASE(90, 90, 2, 0x0090, 0x10, 3, 1), |
314 | PIN_FIELD_BASE(91, 91, 2, 0x0090, 0x10, 5, 1), |
315 | PIN_FIELD_BASE(92, 92, 2, 0x0080, 0x10, 19, 1), |
316 | PIN_FIELD_BASE(93, 93, 2, 0x0080, 0x10, 18, 1), |
317 | PIN_FIELD_BASE(94, 94, 2, 0x0080, 0x10, 21, 1), |
318 | PIN_FIELD_BASE(95, 95, 2, 0x0080, 0x10, 20, 1), |
319 | PIN_FIELD_BASE(96, 96, 2, 0x0080, 0x10, 15, 1), |
320 | PIN_FIELD_BASE(97, 97, 2, 0x0080, 0x10, 16, 1), |
321 | PIN_FIELD_BASE(98, 98, 2, 0x0080, 0x10, 24, 1), |
322 | PIN_FIELD_BASE(99, 99, 2, 0x0080, 0x10, 14, 1), |
323 | PIN_FIELD_BASE(100, 100, 2, 0x0080, 0x10, 17, 1), |
324 | PIN_FIELD_BASE(101, 101, 2, 0x0070, 0x10, 0, 1), |
325 | PIN_FIELD_BASE(102, 102, 2, 0x0070, 0x10, 5, 1), |
326 | PIN_FIELD_BASE(103, 103, 2, 0x0070, 0x10, 3, 1), |
327 | PIN_FIELD_BASE(104, 104, 2, 0x0070, 0x10, 4, 1), |
328 | PIN_FIELD_BASE(105, 105, 2, 0x0070, 0x10, 1, 1), |
329 | PIN_FIELD_BASE(106, 106, 2, 0x0070, 0x10, 2, 1), |
330 | PIN_FIELD_BASE(107, 107, 2, 0x0080, 0x10, 1, 1), |
331 | PIN_FIELD_BASE(108, 108, 2, 0x0070, 0x10, 28, 1), |
332 | PIN_FIELD_BASE(109, 109, 2, 0x0080, 0x10, 2, 1), |
333 | PIN_FIELD_BASE(110, 110, 2, 0x0070, 0x10, 29, 1), |
334 | PIN_FIELD_BASE(111, 111, 2, 0x0070, 0x10, 30, 1), |
335 | PIN_FIELD_BASE(112, 112, 2, 0x0070, 0x10, 31, 1), |
336 | PIN_FIELD_BASE(113, 113, 2, 0x0080, 0x10, 0, 1), |
337 | PIN_FIELD_BASE(114, 114, 2, 0x0080, 0x10, 8, 1), |
338 | PIN_FIELD_BASE(115, 115, 2, 0x0080, 0x10, 3, 1), |
339 | PIN_FIELD_BASE(116, 116, 2, 0x0080, 0x10, 9, 1), |
340 | PIN_FIELD_BASE(117, 117, 2, 0x0080, 0x10, 4, 1), |
341 | PIN_FIELD_BASE(118, 118, 2, 0x0080, 0x10, 5, 1), |
342 | PIN_FIELD_BASE(119, 119, 2, 0x0080, 0x10, 6, 1), |
343 | PIN_FIELD_BASE(120, 120, 2, 0x0080, 0x10, 7, 1), |
344 | PIN_FIELD_BASE(121, 121, 3, 0x0040, 0x10, 14, 1), |
345 | PIN_FIELD_BASE(122, 122, 3, 0x0040, 0x10, 17, 1), |
346 | PIN_FIELD_BASE(123, 123, 3, 0x0040, 0x10, 16, 1), |
347 | PIN_FIELD_BASE(124, 124, 3, 0x0040, 0x10, 15, 1), |
348 | PIN_FIELD_BASE(125, 125, 2, 0x0070, 0x10, 6, 1), |
349 | PIN_FIELD_BASE(126, 126, 2, 0x0070, 0x10, 7, 1), |
350 | PIN_FIELD_BASE(127, 127, 2, 0x0070, 0x10, 8, 1), |
351 | PIN_FIELD_BASE(128, 128, 2, 0x0070, 0x10, 9, 1), |
352 | PIN_FIELD_BASE(129, 129, 2, 0x0070, 0x10, 10, 1), |
353 | PIN_FIELD_BASE(130, 130, 2, 0x0070, 0x10, 11, 1), |
354 | PIN_FIELD_BASE(131, 131, 1, 0x0080, 0x10, 3, 1), |
355 | PIN_FIELD_BASE(132, 132, 1, 0x0080, 0x10, 4, 1), |
356 | PIN_FIELD_BASE(133, 133, 1, 0x0080, 0x10, 11, 1), |
357 | PIN_FIELD_BASE(134, 134, 1, 0x0080, 0x10, 12, 1), |
358 | PIN_FIELD_BASE(135, 135, 1, 0x0080, 0x10, 13, 1), |
359 | PIN_FIELD_BASE(136, 136, 1, 0x0080, 0x10, 14, 1), |
360 | PIN_FIELD_BASE(137, 137, 1, 0x0080, 0x10, 15, 1), |
361 | PIN_FIELD_BASE(138, 138, 1, 0x0080, 0x10, 16, 1), |
362 | PIN_FIELD_BASE(139, 139, 1, 0x0080, 0x10, 17, 1), |
363 | PIN_FIELD_BASE(140, 140, 1, 0x0080, 0x10, 18, 1), |
364 | PIN_FIELD_BASE(141, 141, 1, 0x0080, 0x10, 5, 1), |
365 | PIN_FIELD_BASE(142, 142, 1, 0x0080, 0x10, 6, 1), |
366 | PIN_FIELD_BASE(143, 143, 1, 0x0080, 0x10, 7, 1), |
367 | PIN_FIELD_BASE(144, 144, 1, 0x0080, 0x10, 8, 1), |
368 | PIN_FIELD_BASE(145, 145, 1, 0x0080, 0x10, 9, 1), |
369 | PIN_FIELD_BASE(146, 146, 1, 0x0080, 0x10, 10, 1), |
370 | PIN_FIELD_BASE(147, 147, 1, 0x0080, 0x10, 20, 1), |
371 | PIN_FIELD_BASE(148, 148, 1, 0x0080, 0x10, 21, 1), |
372 | PIN_FIELD_BASE(149, 149, 1, 0x0080, 0x10, 19, 1), |
373 | PIN_FIELD_BASE(150, 150, 1, 0x0080, 0x10, 2, 1), |
374 | PIN_FIELD_BASE(151, 151, 2, 0x0070, 0x10, 21, 1), |
375 | PIN_FIELD_BASE(152, 152, 2, 0x0070, 0x10, 20, 1), |
376 | PIN_FIELD_BASE(153, 153, 2, 0x0070, 0x10, 19, 1), |
377 | PIN_FIELD_BASE(154, 154, 2, 0x0070, 0x10, 18, 1), |
378 | PIN_FIELD_BASE(155, 155, 2, 0x0070, 0x10, 23, 1), |
379 | PIN_FIELD_BASE(156, 156, 2, 0x0070, 0x10, 13, 1), |
380 | PIN_FIELD_BASE(157, 157, 2, 0x0070, 0x10, 12, 1), |
381 | PIN_FIELD_BASE(158, 158, 2, 0x0070, 0x10, 17, 1), |
382 | PIN_FIELD_BASE(159, 159, 2, 0x0070, 0x10, 16, 1), |
383 | PIN_FIELD_BASE(160, 160, 2, 0x0070, 0x10, 15, 1), |
384 | PIN_FIELD_BASE(161, 161, 2, 0x0070, 0x10, 14, 1), |
385 | PIN_FIELD_BASE(162, 162, 2, 0x0070, 0x10, 22, 1), |
386 | PIN_FIELD_BASE(163, 163, 4, 0x0050, 0x10, 8, 1), |
387 | PIN_FIELD_BASE(164, 164, 4, 0x0050, 0x10, 7, 1), |
388 | PIN_FIELD_BASE(165, 165, 4, 0x0050, 0x10, 9, 1), |
389 | PIN_FIELD_BASE(166, 166, 4, 0x0050, 0x10, 10, 1), |
390 | PIN_FIELD_BASE(167, 167, 4, 0x0050, 0x10, 11, 1), |
391 | PIN_FIELD_BASE(168, 168, 4, 0x0050, 0x10, 12, 1), |
392 | PIN_FIELD_BASE(169, 169, 3, 0x0040, 0x10, 9, 1), |
393 | PIN_FIELD_BASE(170, 170, 3, 0x0040, 0x10, 8, 1), |
394 | PIN_FIELD_BASE(171, 171, 3, 0x0040, 0x10, 10, 1), |
395 | PIN_FIELD_BASE(172, 172, 3, 0x0040, 0x10, 11, 1), |
396 | PIN_FIELD_BASE(173, 173, 3, 0x0040, 0x10, 12, 1), |
397 | PIN_FIELD_BASE(174, 174, 3, 0x0040, 0x10, 13, 1), |
398 | PIN_FIELD_BASE(175, 175, 2, 0x0080, 0x10, 27, 1), |
399 | PIN_FIELD_BASE(176, 176, 2, 0x0080, 0x10, 28, 1), |
400 | }; |
401 | |
402 | static const struct mtk_pin_field_calc mt8188_pin_tdsel_range[] = { |
403 | PIN_FIELD_BASE(0, 0, 1, 0x01b0, 0x10, 0, 4), |
404 | PIN_FIELD_BASE(1, 1, 1, 0x01b0, 0x10, 4, 4), |
405 | PIN_FIELD_BASE(2, 2, 1, 0x01b0, 0x10, 8, 4), |
406 | PIN_FIELD_BASE(3, 3, 1, 0x01b0, 0x10, 12, 4), |
407 | PIN_FIELD_BASE(4, 4, 1, 0x01c0, 0x10, 16, 4), |
408 | PIN_FIELD_BASE(5, 5, 1, 0x01c0, 0x10, 20, 4), |
409 | PIN_FIELD_BASE(6, 6, 1, 0x01c0, 0x10, 20, 4), |
410 | PIN_FIELD_BASE(7, 7, 1, 0x01b0, 0x10, 16, 4), |
411 | PIN_FIELD_BASE(8, 8, 1, 0x01b0, 0x10, 20, 4), |
412 | PIN_FIELD_BASE(9, 9, 1, 0x01b0, 0x10, 24, 4), |
413 | PIN_FIELD_BASE(10, 10, 1, 0x01b0, 0x10, 28, 4), |
414 | PIN_FIELD_BASE(11, 11, 1, 0x01c0, 0x10, 20, 4), |
415 | PIN_FIELD_BASE(12, 12, 2, 0x0190, 0x10, 16, 4), |
416 | PIN_FIELD_BASE(13, 13, 2, 0x0190, 0x10, 20, 4), |
417 | PIN_FIELD_BASE(14, 14, 2, 0x0190, 0x10, 24, 4), |
418 | PIN_FIELD_BASE(15, 15, 2, 0x0190, 0x10, 28, 4), |
419 | PIN_FIELD_BASE(16, 16, 3, 0x0100, 0x10, 8, 4), |
420 | PIN_FIELD_BASE(17, 17, 3, 0x0100, 0x10, 8, 4), |
421 | PIN_FIELD_BASE(18, 18, 4, 0x0110, 0x10, 4, 4), |
422 | PIN_FIELD_BASE(19, 19, 4, 0x0110, 0x10, 8, 4), |
423 | PIN_FIELD_BASE(20, 20, 4, 0x0110, 0x10, 8, 4), |
424 | PIN_FIELD_BASE(21, 21, 4, 0x0110, 0x10, 8, 4), |
425 | PIN_FIELD_BASE(22, 22, 4, 0x0100, 0x10, 0, 4), |
426 | PIN_FIELD_BASE(23, 23, 4, 0x0100, 0x10, 4, 4), |
427 | PIN_FIELD_BASE(24, 24, 4, 0x0100, 0x10, 8, 4), |
428 | PIN_FIELD_BASE(25, 25, 1, 0x01c0, 0x10, 8, 4), |
429 | PIN_FIELD_BASE(26, 26, 1, 0x01c0, 0x10, 8, 4), |
430 | PIN_FIELD_BASE(27, 27, 1, 0x01c0, 0x10, 8, 4), |
431 | PIN_FIELD_BASE(28, 28, 1, 0x01c0, 0x10, 12, 4), |
432 | PIN_FIELD_BASE(29, 29, 1, 0x01c0, 0x10, 0, 4), |
433 | PIN_FIELD_BASE(30, 30, 1, 0x01c0, 0x10, 8, 4), |
434 | PIN_FIELD_BASE(31, 31, 1, 0x01c0, 0x10, 20, 4), |
435 | PIN_FIELD_BASE(32, 32, 1, 0x01c0, 0x10, 24, 4), |
436 | PIN_FIELD_BASE(33, 33, 1, 0x01c0, 0x10, 24, 4), |
437 | PIN_FIELD_BASE(34, 34, 1, 0x01c0, 0x10, 28, 4), |
438 | PIN_FIELD_BASE(35, 35, 1, 0x01c0, 0x10, 24, 4), |
439 | PIN_FIELD_BASE(36, 36, 1, 0x01c0, 0x10, 24, 4), |
440 | PIN_FIELD_BASE(37, 37, 1, 0x01c0, 0x10, 28, 4), |
441 | PIN_FIELD_BASE(38, 38, 1, 0x01c0, 0x10, 28, 4), |
442 | PIN_FIELD_BASE(39, 39, 1, 0x01c0, 0x10, 28, 4), |
443 | PIN_FIELD_BASE(40, 40, 1, 0x01d0, 0x10, 0, 4), |
444 | PIN_FIELD_BASE(41, 41, 1, 0x01d0, 0x10, 0, 4), |
445 | PIN_FIELD_BASE(42, 42, 2, 0x01a0, 0x10, 16, 4), |
446 | PIN_FIELD_BASE(43, 43, 2, 0x01a0, 0x10, 20, 4), |
447 | PIN_FIELD_BASE(44, 44, 2, 0x01a0, 0x10, 16, 4), |
448 | PIN_FIELD_BASE(45, 45, 2, 0x01a0, 0x10, 20, 4), |
449 | PIN_FIELD_BASE(46, 46, 3, 0x0100, 0x10, 8, 4), |
450 | PIN_FIELD_BASE(47, 47, 1, 0x01c0, 0x10, 0, 4), |
451 | PIN_FIELD_BASE(48, 48, 1, 0x01c0, 0x10, 0, 4), |
452 | PIN_FIELD_BASE(49, 49, 1, 0x01c0, 0x10, 0, 4), |
453 | PIN_FIELD_BASE(50, 50, 3, 0x0100, 0x10, 8, 4), |
454 | PIN_FIELD_BASE(51, 51, 3, 0x0100, 0x10, 12, 4), |
455 | PIN_FIELD_BASE(52, 52, 3, 0x0100, 0x10, 12, 4), |
456 | PIN_FIELD_BASE(53, 53, 3, 0x0100, 0x10, 12, 4), |
457 | PIN_FIELD_BASE(54, 54, 3, 0x0100, 0x10, 12, 4), |
458 | PIN_FIELD_BASE(55, 55, 1, 0x01c0, 0x10, 12, 4), |
459 | PIN_FIELD_BASE(56, 56, 1, 0x01c0, 0x10, 12, 4), |
460 | PIN_FIELD_BASE(57, 57, 2, 0x01a0, 0x10, 24, 4), |
461 | PIN_FIELD_BASE(58, 58, 2, 0x01a0, 0x10, 24, 4), |
462 | PIN_FIELD_BASE(59, 59, 1, 0x01c0, 0x10, 16, 4), |
463 | PIN_FIELD_BASE(60, 60, 1, 0x01c0, 0x10, 12, 4), |
464 | PIN_FIELD_BASE(61, 61, 1, 0x01c0, 0x10, 16, 4), |
465 | PIN_FIELD_BASE(62, 62, 1, 0x01c0, 0x10, 16, 4), |
466 | PIN_FIELD_BASE(63, 63, 2, 0x01a0, 0x10, 20, 4), |
467 | PIN_FIELD_BASE(64, 64, 2, 0x01a0, 0x10, 20, 4), |
468 | PIN_FIELD_BASE(65, 65, 4, 0x0110, 0x10, 12, 4), |
469 | PIN_FIELD_BASE(66, 66, 4, 0x0110, 0x10, 8, 4), |
470 | PIN_FIELD_BASE(67, 67, 4, 0x0110, 0x10, 12, 4), |
471 | PIN_FIELD_BASE(68, 68, 4, 0x0110, 0x10, 12, 4), |
472 | PIN_FIELD_BASE(69, 69, 1, 0x01d0, 0x10, 16, 4), |
473 | PIN_FIELD_BASE(70, 70, 1, 0x01d0, 0x10, 12, 4), |
474 | PIN_FIELD_BASE(71, 71, 1, 0x01e0, 0x10, 0, 4), |
475 | PIN_FIELD_BASE(72, 72, 1, 0x01d0, 0x10, 28, 4), |
476 | PIN_FIELD_BASE(73, 73, 1, 0x01d0, 0x10, 20, 4), |
477 | PIN_FIELD_BASE(74, 74, 1, 0x01d0, 0x10, 24, 4), |
478 | PIN_FIELD_BASE(75, 75, 1, 0x01e0, 0x10, 8, 4), |
479 | PIN_FIELD_BASE(76, 76, 1, 0x01e0, 0x10, 4, 4), |
480 | PIN_FIELD_BASE(77, 77, 1, 0x01e0, 0x10, 16, 4), |
481 | PIN_FIELD_BASE(78, 78, 1, 0x01e0, 0x10, 12, 4), |
482 | PIN_FIELD_BASE(79, 79, 4, 0x0110, 0x10, 20, 4), |
483 | PIN_FIELD_BASE(80, 80, 4, 0x0110, 0x10, 16, 4), |
484 | PIN_FIELD_BASE(81, 81, 4, 0x0110, 0x10, 28, 4), |
485 | PIN_FIELD_BASE(82, 82, 4, 0x0110, 0x10, 24, 4), |
486 | PIN_FIELD_BASE(83, 83, 2, 0x01b0, 0x10, 8, 4), |
487 | PIN_FIELD_BASE(84, 84, 2, 0x01b0, 0x10, 8, 4), |
488 | PIN_FIELD_BASE(85, 85, 2, 0x01b0, 0x10, 12, 4), |
489 | PIN_FIELD_BASE(86, 86, 2, 0x01a0, 0x10, 0, 4), |
490 | PIN_FIELD_BASE(87, 87, 2, 0x01a0, 0x10, 0, 4), |
491 | PIN_FIELD_BASE(88, 88, 2, 0x01a0, 0x10, 0, 4), |
492 | PIN_FIELD_BASE(89, 89, 2, 0x01a0, 0x10, 0, 4), |
493 | PIN_FIELD_BASE(90, 90, 2, 0x01b0, 0x10, 12, 4), |
494 | PIN_FIELD_BASE(91, 91, 2, 0x01b0, 0x10, 12, 4), |
495 | PIN_FIELD_BASE(92, 92, 2, 0x01a0, 0x10, 4, 4), |
496 | PIN_FIELD_BASE(93, 93, 2, 0x01a0, 0x10, 4, 4), |
497 | PIN_FIELD_BASE(94, 94, 2, 0x01a0, 0x10, 4, 4), |
498 | PIN_FIELD_BASE(95, 95, 2, 0x01a0, 0x10, 4, 4), |
499 | PIN_FIELD_BASE(96, 96, 2, 0x01a0, 0x10, 24, 4), |
500 | PIN_FIELD_BASE(97, 97, 2, 0x01a0, 0x10, 28, 4), |
501 | PIN_FIELD_BASE(98, 98, 2, 0x01b0, 0x10, 0, 4), |
502 | PIN_FIELD_BASE(99, 99, 2, 0x01a0, 0x10, 24, 4), |
503 | PIN_FIELD_BASE(100, 100, 2, 0x01b0, 0x10, 20, 4), |
504 | PIN_FIELD_BASE(101, 101, 2, 0x01a0, 0x10, 28, 4), |
505 | PIN_FIELD_BASE(102, 102, 2, 0x01a0, 0x10, 28, 4), |
506 | PIN_FIELD_BASE(103, 103, 2, 0x01a0, 0x10, 28, 4), |
507 | PIN_FIELD_BASE(104, 104, 2, 0x01b0, 0x10, 0, 4), |
508 | PIN_FIELD_BASE(105, 105, 2, 0x01b0, 0x10, 0, 4), |
509 | PIN_FIELD_BASE(106, 106, 2, 0x01b0, 0x10, 0, 4), |
510 | PIN_FIELD_BASE(107, 107, 2, 0x01a0, 0x10, 0, 4), |
511 | PIN_FIELD_BASE(108, 108, 2, 0x01a0, 0x10, 0, 4), |
512 | PIN_FIELD_BASE(109, 109, 2, 0x01a0, 0x10, 0, 4), |
513 | PIN_FIELD_BASE(110, 110, 2, 0x01a0, 0x10, 0, 4), |
514 | PIN_FIELD_BASE(111, 111, 2, 0x01a0, 0x10, 8, 4), |
515 | PIN_FIELD_BASE(112, 112, 2, 0x01a0, 0x10, 8, 4), |
516 | PIN_FIELD_BASE(113, 113, 2, 0x01a0, 0x10, 8, 4), |
517 | PIN_FIELD_BASE(114, 114, 2, 0x01a0, 0x10, 8, 4), |
518 | PIN_FIELD_BASE(115, 115, 2, 0x01a0, 0x10, 12, 4), |
519 | PIN_FIELD_BASE(116, 116, 2, 0x01a0, 0x10, 12, 4), |
520 | PIN_FIELD_BASE(117, 117, 2, 0x01a0, 0x10, 12, 4), |
521 | PIN_FIELD_BASE(118, 118, 2, 0x01a0, 0x10, 12, 4), |
522 | PIN_FIELD_BASE(119, 119, 2, 0x01a0, 0x10, 16, 4), |
523 | PIN_FIELD_BASE(120, 120, 2, 0x01a0, 0x10, 16, 4), |
524 | PIN_FIELD_BASE(121, 121, 3, 0x00f0, 0x10, 24, 4), |
525 | PIN_FIELD_BASE(122, 122, 3, 0x0100, 0x10, 4, 4), |
526 | PIN_FIELD_BASE(123, 123, 3, 0x0100, 0x10, 0, 4), |
527 | PIN_FIELD_BASE(124, 124, 3, 0x00f0, 0x10, 28, 4), |
528 | PIN_FIELD_BASE(125, 125, 2, 0x01b0, 0x10, 4, 4), |
529 | PIN_FIELD_BASE(126, 126, 2, 0x01b0, 0x10, 4, 4), |
530 | PIN_FIELD_BASE(127, 127, 2, 0x01b0, 0x10, 4, 4), |
531 | PIN_FIELD_BASE(128, 128, 2, 0x01b0, 0x10, 4, 4), |
532 | PIN_FIELD_BASE(129, 129, 2, 0x01b0, 0x10, 8, 4), |
533 | PIN_FIELD_BASE(130, 130, 2, 0x01b0, 0x10, 8, 4), |
534 | PIN_FIELD_BASE(131, 131, 1, 0x01a0, 0x10, 0, 4), |
535 | PIN_FIELD_BASE(132, 132, 1, 0x01a0, 0x10, 20, 4), |
536 | PIN_FIELD_BASE(133, 133, 1, 0x01a0, 0x10, 24, 4), |
537 | PIN_FIELD_BASE(134, 134, 1, 0x01a0, 0x10, 28, 4), |
538 | PIN_FIELD_BASE(135, 135, 1, 0x01d0, 0x10, 0, 4), |
539 | PIN_FIELD_BASE(136, 136, 1, 0x01d0, 0x10, 0, 4), |
540 | PIN_FIELD_BASE(137, 137, 1, 0x01d0, 0x10, 4, 4), |
541 | PIN_FIELD_BASE(138, 138, 1, 0x01d0, 0x10, 4, 4), |
542 | PIN_FIELD_BASE(139, 139, 1, 0x01d0, 0x10, 4, 4), |
543 | PIN_FIELD_BASE(140, 140, 1, 0x01d0, 0x10, 4, 4), |
544 | PIN_FIELD_BASE(141, 141, 1, 0x01d0, 0x10, 8, 4), |
545 | PIN_FIELD_BASE(142, 142, 1, 0x01d0, 0x10, 8, 4), |
546 | PIN_FIELD_BASE(143, 143, 1, 0x01a0, 0x10, 4, 4), |
547 | PIN_FIELD_BASE(144, 144, 1, 0x01a0, 0x10, 8, 4), |
548 | PIN_FIELD_BASE(145, 145, 1, 0x01a0, 0x10, 12, 4), |
549 | PIN_FIELD_BASE(146, 146, 1, 0x01a0, 0x10, 16, 4), |
550 | PIN_FIELD_BASE(147, 147, 1, 0x01d0, 0x10, 8, 4), |
551 | PIN_FIELD_BASE(148, 148, 1, 0x01d0, 0x10, 8, 4), |
552 | PIN_FIELD_BASE(149, 149, 1, 0x01c0, 0x10, 4, 4), |
553 | PIN_FIELD_BASE(150, 150, 1, 0x01c0, 0x10, 4, 4), |
554 | PIN_FIELD_BASE(151, 151, 2, 0x0190, 0x10, 4, 4), |
555 | PIN_FIELD_BASE(152, 152, 2, 0x0190, 0x10, 0, 4), |
556 | PIN_FIELD_BASE(153, 153, 2, 0x0180, 0x10, 28, 4), |
557 | PIN_FIELD_BASE(154, 154, 2, 0x0180, 0x10, 24, 4), |
558 | PIN_FIELD_BASE(155, 155, 2, 0x0190, 0x10, 12, 4), |
559 | PIN_FIELD_BASE(156, 156, 2, 0x0180, 0x10, 4, 4), |
560 | PIN_FIELD_BASE(157, 157, 2, 0x0180, 0x10, 0, 4), |
561 | PIN_FIELD_BASE(158, 158, 2, 0x0180, 0x10, 20, 4), |
562 | PIN_FIELD_BASE(159, 159, 2, 0x0180, 0x10, 16, 4), |
563 | PIN_FIELD_BASE(160, 160, 2, 0x0180, 0x10, 12, 4), |
564 | PIN_FIELD_BASE(161, 161, 2, 0x0180, 0x10, 8, 4), |
565 | PIN_FIELD_BASE(162, 162, 2, 0x0190, 0x10, 8, 4), |
566 | PIN_FIELD_BASE(163, 163, 4, 0x0100, 0x10, 16, 4), |
567 | PIN_FIELD_BASE(164, 164, 4, 0x0100, 0x10, 12, 4), |
568 | PIN_FIELD_BASE(165, 165, 4, 0x0100, 0x10, 20, 4), |
569 | PIN_FIELD_BASE(166, 166, 4, 0x0100, 0x10, 24, 4), |
570 | PIN_FIELD_BASE(167, 167, 4, 0x0100, 0x10, 28, 4), |
571 | PIN_FIELD_BASE(168, 168, 4, 0x0110, 0x10, 0, 4), |
572 | PIN_FIELD_BASE(169, 169, 3, 0x00f0, 0x10, 4, 4), |
573 | PIN_FIELD_BASE(170, 170, 3, 0x00f0, 0x10, 0, 4), |
574 | PIN_FIELD_BASE(171, 171, 3, 0x00f0, 0x10, 8, 4), |
575 | PIN_FIELD_BASE(172, 172, 3, 0x00f0, 0x10, 12, 4), |
576 | PIN_FIELD_BASE(173, 173, 3, 0x00f0, 0x10, 16, 4), |
577 | PIN_FIELD_BASE(174, 174, 3, 0x00f0, 0x10, 20, 4), |
578 | PIN_FIELD_BASE(175, 175, 2, 0x01b0, 0x10, 16, 4), |
579 | PIN_FIELD_BASE(176, 176, 2, 0x01b0, 0x10, 16, 4), |
580 | }; |
581 | |
582 | static const struct mtk_pin_field_calc mt8188_pin_rdsel_range[] = { |
583 | PIN_FIELD_BASE(0, 0, 1, 0x0130, 0x10, 18, 2), |
584 | PIN_FIELD_BASE(1, 1, 1, 0x0130, 0x10, 20, 2), |
585 | PIN_FIELD_BASE(2, 2, 1, 0x0130, 0x10, 22, 2), |
586 | PIN_FIELD_BASE(3, 3, 1, 0x0130, 0x10, 24, 2), |
587 | PIN_FIELD_BASE(4, 4, 1, 0x0140, 0x10, 14, 2), |
588 | PIN_FIELD_BASE(5, 5, 1, 0x0140, 0x10, 16, 2), |
589 | PIN_FIELD_BASE(6, 6, 1, 0x0140, 0x10, 16, 2), |
590 | PIN_FIELD_BASE(7, 7, 1, 0x0130, 0x10, 26, 2), |
591 | PIN_FIELD_BASE(8, 8, 1, 0x0130, 0x10, 28, 2), |
592 | PIN_FIELD_BASE(9, 9, 1, 0x0130, 0x10, 30, 2), |
593 | PIN_FIELD_BASE(10, 10, 1, 0x0140, 0x10, 0, 2), |
594 | PIN_FIELD_BASE(11, 11, 1, 0x0140, 0x10, 16, 2), |
595 | PIN_FIELD_BASE(12, 12, 2, 0x0130, 0x10, 12, 2), |
596 | PIN_FIELD_BASE(13, 13, 2, 0x0130, 0x10, 14, 2), |
597 | PIN_FIELD_BASE(14, 14, 2, 0x0130, 0x10, 16, 2), |
598 | PIN_FIELD_BASE(15, 15, 2, 0x0130, 0x10, 18, 2), |
599 | PIN_FIELD_BASE(16, 16, 3, 0x00b0, 0x10, 14, 2), |
600 | PIN_FIELD_BASE(17, 17, 3, 0x00b0, 0x10, 14, 2), |
601 | PIN_FIELD_BASE(18, 18, 4, 0x00c0, 0x10, 12, 2), |
602 | PIN_FIELD_BASE(19, 19, 4, 0x00c0, 0x10, 12, 2), |
603 | PIN_FIELD_BASE(20, 20, 4, 0x00c0, 0x10, 12, 2), |
604 | PIN_FIELD_BASE(21, 21, 4, 0x00c0, 0x10, 12, 2), |
605 | PIN_FIELD_BASE(22, 22, 4, 0x00b0, 0x10, 0, 2), |
606 | PIN_FIELD_BASE(23, 23, 4, 0x00b0, 0x10, 2, 2), |
607 | PIN_FIELD_BASE(24, 24, 4, 0x00b0, 0x10, 4, 2), |
608 | PIN_FIELD_BASE(25, 25, 1, 0x0140, 0x10, 10, 2), |
609 | PIN_FIELD_BASE(26, 26, 1, 0x0140, 0x10, 10, 2), |
610 | PIN_FIELD_BASE(27, 27, 1, 0x0140, 0x10, 10, 2), |
611 | PIN_FIELD_BASE(28, 28, 1, 0x0140, 0x10, 12, 2), |
612 | PIN_FIELD_BASE(29, 29, 1, 0x0140, 0x10, 2, 2), |
613 | PIN_FIELD_BASE(30, 30, 1, 0x0140, 0x10, 10, 2), |
614 | PIN_FIELD_BASE(31, 31, 1, 0x0140, 0x10, 16, 2), |
615 | PIN_FIELD_BASE(32, 32, 1, 0x0140, 0x10, 18, 2), |
616 | PIN_FIELD_BASE(33, 33, 1, 0x0140, 0x10, 18, 2), |
617 | PIN_FIELD_BASE(34, 34, 1, 0x0140, 0x10, 20, 2), |
618 | PIN_FIELD_BASE(35, 35, 1, 0x0140, 0x10, 18, 2), |
619 | PIN_FIELD_BASE(36, 36, 1, 0x0140, 0x10, 18, 2), |
620 | PIN_FIELD_BASE(37, 37, 1, 0x0140, 0x10, 20, 2), |
621 | PIN_FIELD_BASE(38, 38, 1, 0x0140, 0x10, 20, 2), |
622 | PIN_FIELD_BASE(39, 39, 1, 0x0140, 0x10, 20, 2), |
623 | PIN_FIELD_BASE(40, 40, 1, 0x0140, 0x10, 22, 2), |
624 | PIN_FIELD_BASE(41, 41, 1, 0x0140, 0x10, 22, 2), |
625 | PIN_FIELD_BASE(42, 42, 2, 0x0130, 0x10, 30, 2), |
626 | PIN_FIELD_BASE(43, 43, 2, 0x0140, 0x10, 0, 2), |
627 | PIN_FIELD_BASE(44, 44, 2, 0x0130, 0x10, 30, 2), |
628 | PIN_FIELD_BASE(45, 45, 2, 0x0140, 0x10, 0, 2), |
629 | PIN_FIELD_BASE(46, 46, 3, 0x00b0, 0x10, 14, 2), |
630 | PIN_FIELD_BASE(47, 47, 1, 0x0140, 0x10, 2, 2), |
631 | PIN_FIELD_BASE(48, 48, 1, 0x0140, 0x10, 2, 2), |
632 | PIN_FIELD_BASE(49, 49, 1, 0x0140, 0x10, 2, 2), |
633 | PIN_FIELD_BASE(50, 50, 3, 0x00b0, 0x10, 14, 2), |
634 | PIN_FIELD_BASE(51, 51, 3, 0x00b0, 0x10, 16, 2), |
635 | PIN_FIELD_BASE(52, 52, 3, 0x00b0, 0x10, 16, 2), |
636 | PIN_FIELD_BASE(53, 53, 3, 0x00b0, 0x10, 16, 2), |
637 | PIN_FIELD_BASE(54, 54, 3, 0x00b0, 0x10, 16, 2), |
638 | PIN_FIELD_BASE(55, 55, 1, 0x0140, 0x10, 12, 2), |
639 | PIN_FIELD_BASE(56, 56, 1, 0x0140, 0x10, 12, 2), |
640 | PIN_FIELD_BASE(57, 57, 2, 0x0140, 0x10, 2, 2), |
641 | PIN_FIELD_BASE(58, 58, 2, 0x0140, 0x10, 2, 2), |
642 | PIN_FIELD_BASE(59, 59, 1, 0x0140, 0x10, 14, 2), |
643 | PIN_FIELD_BASE(60, 60, 1, 0x0140, 0x10, 12, 2), |
644 | PIN_FIELD_BASE(61, 61, 1, 0x0140, 0x10, 14, 2), |
645 | PIN_FIELD_BASE(62, 62, 1, 0x0140, 0x10, 14, 2), |
646 | PIN_FIELD_BASE(63, 63, 2, 0x0140, 0x10, 0, 2), |
647 | PIN_FIELD_BASE(64, 64, 2, 0x0140, 0x10, 0, 2), |
648 | PIN_FIELD_BASE(65, 65, 4, 0x00c0, 0x10, 14, 2), |
649 | PIN_FIELD_BASE(66, 66, 4, 0x00c0, 0x10, 14, 2), |
650 | PIN_FIELD_BASE(67, 67, 4, 0x00c0, 0x10, 14, 2), |
651 | PIN_FIELD_BASE(68, 68, 4, 0x00c0, 0x10, 14, 2), |
652 | PIN_FIELD_BASE(69, 69, 1, 0x0150, 0x10, 14, 2), |
653 | PIN_FIELD_BASE(70, 70, 1, 0x0150, 0x10, 12, 2), |
654 | PIN_FIELD_BASE(71, 71, 1, 0x0150, 0x10, 22, 2), |
655 | PIN_FIELD_BASE(72, 72, 1, 0x0150, 0x10, 20, 2), |
656 | PIN_FIELD_BASE(73, 73, 1, 0x0150, 0x10, 16, 2), |
657 | PIN_FIELD_BASE(74, 74, 1, 0x0150, 0x10, 18, 2), |
658 | PIN_FIELD_BASE(75, 75, 1, 0x0150, 0x10, 26, 2), |
659 | PIN_FIELD_BASE(76, 76, 1, 0x0150, 0x10, 24, 2), |
660 | PIN_FIELD_BASE(77, 77, 1, 0x0150, 0x10, 30, 2), |
661 | PIN_FIELD_BASE(78, 78, 1, 0x0150, 0x10, 28, 2), |
662 | PIN_FIELD_BASE(79, 79, 4, 0x00c0, 0x10, 18, 2), |
663 | PIN_FIELD_BASE(80, 80, 4, 0x00c0, 0x10, 16, 2), |
664 | PIN_FIELD_BASE(81, 81, 4, 0x00c0, 0x10, 22, 2), |
665 | PIN_FIELD_BASE(82, 82, 4, 0x00c0, 0x10, 20, 2), |
666 | PIN_FIELD_BASE(83, 83, 2, 0x0140, 0x10, 10, 2), |
667 | PIN_FIELD_BASE(84, 84, 2, 0x0140, 0x10, 10, 2), |
668 | PIN_FIELD_BASE(85, 85, 2, 0x0140, 0x10, 12, 2), |
669 | PIN_FIELD_BASE(86, 86, 2, 0x0130, 0x10, 20, 2), |
670 | PIN_FIELD_BASE(87, 87, 2, 0x0130, 0x10, 20, 2), |
671 | PIN_FIELD_BASE(88, 88, 2, 0x0130, 0x10, 20, 2), |
672 | PIN_FIELD_BASE(89, 89, 2, 0x0130, 0x10, 20, 2), |
673 | PIN_FIELD_BASE(90, 90, 2, 0x0140, 0x10, 12, 2), |
674 | PIN_FIELD_BASE(91, 91, 2, 0x0140, 0x10, 12, 2), |
675 | PIN_FIELD_BASE(92, 92, 2, 0x0130, 0x10, 22, 2), |
676 | PIN_FIELD_BASE(93, 93, 2, 0x0130, 0x10, 22, 2), |
677 | PIN_FIELD_BASE(94, 94, 2, 0x0130, 0x10, 22, 2), |
678 | PIN_FIELD_BASE(95, 95, 2, 0x0130, 0x10, 22, 2), |
679 | PIN_FIELD_BASE(96, 96, 2, 0x0140, 0x10, 2, 2), |
680 | PIN_FIELD_BASE(97, 97, 2, 0x0140, 0x10, 4, 2), |
681 | PIN_FIELD_BASE(98, 98, 2, 0x0140, 0x10, 6, 2), |
682 | PIN_FIELD_BASE(99, 99, 2, 0x0140, 0x10, 2, 2), |
683 | PIN_FIELD_BASE(100, 100, 2, 0x0140, 0x10, 16, 2), |
684 | PIN_FIELD_BASE(101, 101, 2, 0x0140, 0x10, 4, 2), |
685 | PIN_FIELD_BASE(102, 102, 2, 0x0140, 0x10, 4, 2), |
686 | PIN_FIELD_BASE(103, 103, 2, 0x0140, 0x10, 4, 2), |
687 | PIN_FIELD_BASE(104, 104, 2, 0x0140, 0x10, 6, 2), |
688 | PIN_FIELD_BASE(105, 105, 2, 0x0140, 0x10, 6, 2), |
689 | PIN_FIELD_BASE(106, 106, 2, 0x0140, 0x10, 6, 2), |
690 | PIN_FIELD_BASE(107, 107, 2, 0x0130, 0x10, 20, 2), |
691 | PIN_FIELD_BASE(108, 108, 2, 0x0130, 0x10, 20, 2), |
692 | PIN_FIELD_BASE(109, 109, 2, 0x0130, 0x10, 20, 2), |
693 | PIN_FIELD_BASE(110, 110, 2, 0x0130, 0x10, 20, 2), |
694 | PIN_FIELD_BASE(111, 111, 2, 0x0130, 0x10, 24, 2), |
695 | PIN_FIELD_BASE(112, 112, 2, 0x0130, 0x10, 24, 2), |
696 | PIN_FIELD_BASE(113, 113, 2, 0x0130, 0x10, 24, 2), |
697 | PIN_FIELD_BASE(114, 114, 2, 0x0130, 0x10, 24, 2), |
698 | PIN_FIELD_BASE(115, 115, 2, 0x0130, 0x10, 28, 2), |
699 | PIN_FIELD_BASE(116, 116, 2, 0x0130, 0x10, 28, 2), |
700 | PIN_FIELD_BASE(117, 117, 2, 0x0130, 0x10, 28, 2), |
701 | PIN_FIELD_BASE(118, 118, 2, 0x0130, 0x10, 28, 2), |
702 | PIN_FIELD_BASE(119, 119, 2, 0x0130, 0x10, 30, 2), |
703 | PIN_FIELD_BASE(120, 120, 2, 0x0130, 0x10, 30, 2), |
704 | PIN_FIELD_BASE(121, 121, 3, 0x00b0, 0x10, 6, 2), |
705 | PIN_FIELD_BASE(122, 122, 3, 0x00b0, 0x10, 12, 2), |
706 | PIN_FIELD_BASE(123, 123, 3, 0x00b0, 0x10, 10, 2), |
707 | PIN_FIELD_BASE(124, 124, 3, 0x00b0, 0x10, 8, 2), |
708 | PIN_FIELD_BASE(125, 125, 2, 0x0140, 0x10, 8, 2), |
709 | PIN_FIELD_BASE(126, 126, 2, 0x0140, 0x10, 8, 2), |
710 | PIN_FIELD_BASE(127, 127, 2, 0x0140, 0x10, 8, 2), |
711 | PIN_FIELD_BASE(128, 128, 2, 0x0140, 0x10, 8, 2), |
712 | PIN_FIELD_BASE(129, 129, 2, 0x0140, 0x10, 10, 2), |
713 | PIN_FIELD_BASE(130, 130, 2, 0x0140, 0x10, 10, 2), |
714 | PIN_FIELD_BASE(131, 131, 1, 0x0120, 0x10, 0, 6), |
715 | PIN_FIELD_BASE(132, 132, 1, 0x0130, 0x10, 0, 6), |
716 | PIN_FIELD_BASE(133, 133, 1, 0x0130, 0x10, 6, 6), |
717 | PIN_FIELD_BASE(134, 134, 1, 0x0130, 0x10, 12, 6), |
718 | PIN_FIELD_BASE(135, 135, 1, 0x0140, 0x10, 24, 6), |
719 | PIN_FIELD_BASE(136, 136, 1, 0x0140, 0x10, 24, 6), |
720 | PIN_FIELD_BASE(137, 137, 1, 0x0150, 0x10, 0, 6), |
721 | PIN_FIELD_BASE(138, 138, 1, 0x0150, 0x10, 0, 6), |
722 | PIN_FIELD_BASE(139, 139, 1, 0x0150, 0x10, 0, 6), |
723 | PIN_FIELD_BASE(140, 140, 1, 0x0150, 0x10, 0, 6), |
724 | PIN_FIELD_BASE(141, 141, 1, 0x0150, 0x10, 6, 6), |
725 | PIN_FIELD_BASE(142, 142, 1, 0x0150, 0x10, 6, 6), |
726 | PIN_FIELD_BASE(143, 143, 1, 0x0120, 0x10, 6, 6), |
727 | PIN_FIELD_BASE(144, 144, 1, 0x0120, 0x10, 12, 6), |
728 | PIN_FIELD_BASE(145, 145, 1, 0x0120, 0x10, 18, 6), |
729 | PIN_FIELD_BASE(146, 146, 1, 0x0120, 0x10, 24, 6), |
730 | PIN_FIELD_BASE(147, 147, 1, 0x0150, 0x10, 6, 6), |
731 | PIN_FIELD_BASE(148, 148, 1, 0x0150, 0x10, 6, 6), |
732 | PIN_FIELD_BASE(149, 149, 1, 0x0140, 0x10, 4, 6), |
733 | PIN_FIELD_BASE(150, 150, 1, 0x0140, 0x10, 4, 6), |
734 | PIN_FIELD_BASE(151, 151, 2, 0x0120, 0x10, 24, 6), |
735 | PIN_FIELD_BASE(152, 152, 2, 0x0120, 0x10, 18, 6), |
736 | PIN_FIELD_BASE(153, 153, 2, 0x0120, 0x10, 12, 6), |
737 | PIN_FIELD_BASE(154, 154, 2, 0x0120, 0x10, 6, 6), |
738 | PIN_FIELD_BASE(155, 155, 2, 0x0130, 0x10, 6, 6), |
739 | PIN_FIELD_BASE(156, 156, 2, 0x0110, 0x10, 6, 6), |
740 | PIN_FIELD_BASE(157, 157, 2, 0x0110, 0x10, 0, 6), |
741 | PIN_FIELD_BASE(158, 158, 2, 0x0120, 0x10, 0, 6), |
742 | PIN_FIELD_BASE(159, 159, 2, 0x0110, 0x10, 24, 6), |
743 | PIN_FIELD_BASE(160, 160, 2, 0x0110, 0x10, 18, 6), |
744 | PIN_FIELD_BASE(161, 161, 2, 0x0110, 0x10, 12, 6), |
745 | PIN_FIELD_BASE(162, 162, 2, 0x0130, 0x10, 0, 6), |
746 | PIN_FIELD_BASE(163, 163, 4, 0x00b0, 0x10, 12, 6), |
747 | PIN_FIELD_BASE(164, 164, 4, 0x00b0, 0x10, 6, 6), |
748 | PIN_FIELD_BASE(165, 165, 4, 0x00b0, 0x10, 18, 6), |
749 | PIN_FIELD_BASE(166, 166, 4, 0x00b0, 0x10, 24, 6), |
750 | PIN_FIELD_BASE(167, 167, 4, 0x00c0, 0x10, 0, 6), |
751 | PIN_FIELD_BASE(168, 168, 4, 0x00c0, 0x10, 6, 6), |
752 | PIN_FIELD_BASE(169, 169, 3, 0x00a0, 0x10, 6, 6), |
753 | PIN_FIELD_BASE(170, 170, 3, 0x00a0, 0x10, 0, 6), |
754 | PIN_FIELD_BASE(171, 171, 3, 0x00a0, 0x10, 12, 6), |
755 | PIN_FIELD_BASE(172, 172, 3, 0x00a0, 0x10, 18, 6), |
756 | PIN_FIELD_BASE(173, 173, 3, 0x00a0, 0x10, 24, 6), |
757 | PIN_FIELD_BASE(174, 174, 3, 0x00b0, 0x10, 0, 6), |
758 | PIN_FIELD_BASE(175, 175, 2, 0x0140, 0x10, 14, 2), |
759 | PIN_FIELD_BASE(176, 176, 2, 0x0140, 0x10, 14, 2), |
760 | }; |
761 | |
762 | static const struct mtk_pin_field_calc mt8188_pin_pupd_range[] = { |
763 | PIN_FIELD_BASE(42, 42, 2, 0x00c0, 0x10, 12, 1), |
764 | PIN_FIELD_BASE(43, 43, 2, 0x00c0, 0x10, 13, 1), |
765 | PIN_FIELD_BASE(44, 44, 2, 0x00c0, 0x10, 14, 1), |
766 | PIN_FIELD_BASE(45, 45, 2, 0x00c0, 0x10, 15, 1), |
767 | PIN_FIELD_BASE(131, 131, 1, 0x00d0, 0x10, 1, 1), |
768 | PIN_FIELD_BASE(132, 132, 1, 0x00d0, 0x10, 2, 1), |
769 | PIN_FIELD_BASE(133, 133, 1, 0x00d0, 0x10, 9, 1), |
770 | PIN_FIELD_BASE(134, 134, 1, 0x00d0, 0x10, 10, 1), |
771 | PIN_FIELD_BASE(135, 135, 1, 0x00d0, 0x10, 11, 1), |
772 | PIN_FIELD_BASE(136, 136, 1, 0x00d0, 0x10, 12, 1), |
773 | PIN_FIELD_BASE(137, 137, 1, 0x00d0, 0x10, 13, 1), |
774 | PIN_FIELD_BASE(138, 138, 1, 0x00d0, 0x10, 14, 1), |
775 | PIN_FIELD_BASE(139, 139, 1, 0x00d0, 0x10, 15, 1), |
776 | PIN_FIELD_BASE(140, 140, 1, 0x00d0, 0x10, 16, 1), |
777 | PIN_FIELD_BASE(141, 141, 1, 0x00d0, 0x10, 3, 1), |
778 | PIN_FIELD_BASE(142, 142, 1, 0x00d0, 0x10, 4, 1), |
779 | PIN_FIELD_BASE(143, 143, 1, 0x00d0, 0x10, 5, 1), |
780 | PIN_FIELD_BASE(144, 144, 1, 0x00d0, 0x10, 6, 1), |
781 | PIN_FIELD_BASE(145, 145, 1, 0x00d0, 0x10, 7, 1), |
782 | PIN_FIELD_BASE(146, 146, 1, 0x00d0, 0x10, 8, 1), |
783 | PIN_FIELD_BASE(147, 147, 1, 0x00d0, 0x10, 18, 1), |
784 | PIN_FIELD_BASE(148, 148, 1, 0x00d0, 0x10, 19, 1), |
785 | PIN_FIELD_BASE(149, 149, 1, 0x00d0, 0x10, 17, 1), |
786 | PIN_FIELD_BASE(150, 150, 1, 0x00d0, 0x10, 0, 1), |
787 | PIN_FIELD_BASE(151, 151, 2, 0x00c0, 0x10, 9, 1), |
788 | PIN_FIELD_BASE(152, 152, 2, 0x00c0, 0x10, 8, 1), |
789 | PIN_FIELD_BASE(153, 153, 2, 0x00c0, 0x10, 7, 1), |
790 | PIN_FIELD_BASE(154, 154, 2, 0x00c0, 0x10, 6, 1), |
791 | PIN_FIELD_BASE(155, 155, 2, 0x00c0, 0x10, 11, 1), |
792 | PIN_FIELD_BASE(156, 156, 2, 0x00c0, 0x10, 1, 1), |
793 | PIN_FIELD_BASE(157, 157, 2, 0x00c0, 0x10, 0, 1), |
794 | PIN_FIELD_BASE(158, 158, 2, 0x00c0, 0x10, 5, 1), |
795 | PIN_FIELD_BASE(159, 159, 2, 0x00c0, 0x10, 4, 1), |
796 | PIN_FIELD_BASE(160, 160, 2, 0x00c0, 0x10, 3, 1), |
797 | PIN_FIELD_BASE(161, 161, 2, 0x00c0, 0x10, 2, 1), |
798 | PIN_FIELD_BASE(162, 162, 2, 0x00c0, 0x10, 10, 1), |
799 | PIN_FIELD_BASE(163, 163, 4, 0x0070, 0x10, 1, 1), |
800 | PIN_FIELD_BASE(164, 164, 4, 0x0070, 0x10, 0, 1), |
801 | PIN_FIELD_BASE(165, 165, 4, 0x0070, 0x10, 2, 1), |
802 | PIN_FIELD_BASE(166, 166, 4, 0x0070, 0x10, 3, 1), |
803 | PIN_FIELD_BASE(167, 167, 4, 0x0070, 0x10, 4, 1), |
804 | PIN_FIELD_BASE(168, 168, 4, 0x0070, 0x10, 5, 1), |
805 | PIN_FIELD_BASE(169, 169, 3, 0x0060, 0x10, 1, 1), |
806 | PIN_FIELD_BASE(170, 170, 3, 0x0060, 0x10, 0, 1), |
807 | PIN_FIELD_BASE(171, 171, 3, 0x0060, 0x10, 2, 1), |
808 | PIN_FIELD_BASE(172, 172, 3, 0x0060, 0x10, 3, 1), |
809 | PIN_FIELD_BASE(173, 173, 3, 0x0060, 0x10, 4, 1), |
810 | PIN_FIELD_BASE(174, 174, 3, 0x0060, 0x10, 5, 1), |
811 | }; |
812 | |
813 | static const struct mtk_pin_field_calc mt8188_pin_r0_range[] = { |
814 | PIN_FIELD_BASE(42, 42, 2, 0x00f0, 0x10, 12, 1), |
815 | PIN_FIELD_BASE(43, 43, 2, 0x00f0, 0x10, 13, 1), |
816 | PIN_FIELD_BASE(44, 44, 2, 0x00f0, 0x10, 14, 1), |
817 | PIN_FIELD_BASE(45, 45, 2, 0x00f0, 0x10, 15, 1), |
818 | PIN_FIELD_BASE(131, 131, 1, 0x0100, 0x10, 1, 1), |
819 | PIN_FIELD_BASE(132, 132, 1, 0x0100, 0x10, 2, 1), |
820 | PIN_FIELD_BASE(133, 133, 1, 0x0100, 0x10, 9, 1), |
821 | PIN_FIELD_BASE(134, 134, 1, 0x0100, 0x10, 10, 1), |
822 | PIN_FIELD_BASE(135, 135, 1, 0x0100, 0x10, 11, 1), |
823 | PIN_FIELD_BASE(136, 136, 1, 0x0100, 0x10, 12, 1), |
824 | PIN_FIELD_BASE(137, 137, 1, 0x0100, 0x10, 13, 1), |
825 | PIN_FIELD_BASE(138, 138, 1, 0x0100, 0x10, 14, 1), |
826 | PIN_FIELD_BASE(139, 139, 1, 0x0100, 0x10, 15, 1), |
827 | PIN_FIELD_BASE(140, 140, 1, 0x0100, 0x10, 16, 1), |
828 | PIN_FIELD_BASE(141, 141, 1, 0x0100, 0x10, 3, 1), |
829 | PIN_FIELD_BASE(142, 142, 1, 0x0100, 0x10, 4, 1), |
830 | PIN_FIELD_BASE(143, 143, 1, 0x0100, 0x10, 5, 1), |
831 | PIN_FIELD_BASE(144, 144, 1, 0x0100, 0x10, 6, 1), |
832 | PIN_FIELD_BASE(145, 145, 1, 0x0100, 0x10, 7, 1), |
833 | PIN_FIELD_BASE(146, 146, 1, 0x0100, 0x10, 8, 1), |
834 | PIN_FIELD_BASE(147, 147, 1, 0x0100, 0x10, 18, 1), |
835 | PIN_FIELD_BASE(148, 148, 1, 0x0100, 0x10, 19, 1), |
836 | PIN_FIELD_BASE(149, 149, 1, 0x0100, 0x10, 17, 1), |
837 | PIN_FIELD_BASE(150, 150, 1, 0x0100, 0x10, 0, 1), |
838 | PIN_FIELD_BASE(151, 151, 2, 0x00f0, 0x10, 9, 1), |
839 | PIN_FIELD_BASE(152, 152, 2, 0x00f0, 0x10, 8, 1), |
840 | PIN_FIELD_BASE(153, 153, 2, 0x00f0, 0x10, 7, 1), |
841 | PIN_FIELD_BASE(154, 154, 2, 0x00f0, 0x10, 6, 1), |
842 | PIN_FIELD_BASE(155, 155, 2, 0x00f0, 0x10, 11, 1), |
843 | PIN_FIELD_BASE(156, 156, 2, 0x00f0, 0x10, 1, 1), |
844 | PIN_FIELD_BASE(157, 157, 2, 0x00f0, 0x10, 0, 1), |
845 | PIN_FIELD_BASE(158, 158, 2, 0x00f0, 0x10, 5, 1), |
846 | PIN_FIELD_BASE(159, 159, 2, 0x00f0, 0x10, 4, 1), |
847 | PIN_FIELD_BASE(160, 160, 2, 0x00f0, 0x10, 3, 1), |
848 | PIN_FIELD_BASE(161, 161, 2, 0x00f0, 0x10, 2, 1), |
849 | PIN_FIELD_BASE(162, 162, 2, 0x00f0, 0x10, 10, 1), |
850 | PIN_FIELD_BASE(163, 163, 4, 0x0090, 0x10, 1, 1), |
851 | PIN_FIELD_BASE(164, 164, 4, 0x0090, 0x10, 0, 1), |
852 | PIN_FIELD_BASE(165, 165, 4, 0x0090, 0x10, 2, 1), |
853 | PIN_FIELD_BASE(166, 166, 4, 0x0090, 0x10, 3, 1), |
854 | PIN_FIELD_BASE(167, 167, 4, 0x0090, 0x10, 4, 1), |
855 | PIN_FIELD_BASE(168, 168, 4, 0x0090, 0x10, 5, 1), |
856 | PIN_FIELD_BASE(169, 169, 3, 0x0080, 0x10, 1, 1), |
857 | PIN_FIELD_BASE(170, 170, 3, 0x0080, 0x10, 0, 1), |
858 | PIN_FIELD_BASE(171, 171, 3, 0x0080, 0x10, 2, 1), |
859 | PIN_FIELD_BASE(172, 172, 3, 0x0080, 0x10, 3, 1), |
860 | PIN_FIELD_BASE(173, 173, 3, 0x0080, 0x10, 4, 1), |
861 | PIN_FIELD_BASE(174, 174, 3, 0x0080, 0x10, 5, 1), |
862 | }; |
863 | |
864 | static const struct mtk_pin_field_calc mt8188_pin_r1_range[] = { |
865 | PIN_FIELD_BASE(42, 42, 2, 0x0100, 0x10, 12, 1), |
866 | PIN_FIELD_BASE(43, 43, 2, 0x0100, 0x10, 13, 1), |
867 | PIN_FIELD_BASE(44, 44, 2, 0x0100, 0x10, 14, 1), |
868 | PIN_FIELD_BASE(45, 45, 2, 0x0100, 0x10, 15, 1), |
869 | PIN_FIELD_BASE(131, 131, 1, 0x0110, 0x10, 1, 1), |
870 | PIN_FIELD_BASE(132, 132, 1, 0x0110, 0x10, 2, 1), |
871 | PIN_FIELD_BASE(133, 133, 1, 0x0110, 0x10, 9, 1), |
872 | PIN_FIELD_BASE(134, 134, 1, 0x0110, 0x10, 10, 1), |
873 | PIN_FIELD_BASE(135, 135, 1, 0x0110, 0x10, 11, 1), |
874 | PIN_FIELD_BASE(136, 136, 1, 0x0110, 0x10, 12, 1), |
875 | PIN_FIELD_BASE(137, 137, 1, 0x0110, 0x10, 13, 1), |
876 | PIN_FIELD_BASE(138, 138, 1, 0x0110, 0x10, 14, 1), |
877 | PIN_FIELD_BASE(139, 139, 1, 0x0110, 0x10, 15, 1), |
878 | PIN_FIELD_BASE(140, 140, 1, 0x0110, 0x10, 16, 1), |
879 | PIN_FIELD_BASE(141, 141, 1, 0x0110, 0x10, 3, 1), |
880 | PIN_FIELD_BASE(142, 142, 1, 0x0110, 0x10, 4, 1), |
881 | PIN_FIELD_BASE(143, 143, 1, 0x0110, 0x10, 5, 1), |
882 | PIN_FIELD_BASE(144, 144, 1, 0x0110, 0x10, 6, 1), |
883 | PIN_FIELD_BASE(145, 145, 1, 0x0110, 0x10, 7, 1), |
884 | PIN_FIELD_BASE(146, 146, 1, 0x0110, 0x10, 8, 1), |
885 | PIN_FIELD_BASE(147, 147, 1, 0x0110, 0x10, 18, 1), |
886 | PIN_FIELD_BASE(148, 148, 1, 0x0110, 0x10, 19, 1), |
887 | PIN_FIELD_BASE(149, 149, 1, 0x0110, 0x10, 17, 1), |
888 | PIN_FIELD_BASE(150, 150, 1, 0x0110, 0x10, 0, 1), |
889 | PIN_FIELD_BASE(151, 151, 2, 0x0100, 0x10, 9, 1), |
890 | PIN_FIELD_BASE(152, 152, 2, 0x0100, 0x10, 8, 1), |
891 | PIN_FIELD_BASE(153, 153, 2, 0x0100, 0x10, 7, 1), |
892 | PIN_FIELD_BASE(154, 154, 2, 0x0100, 0x10, 6, 1), |
893 | PIN_FIELD_BASE(155, 155, 2, 0x0100, 0x10, 11, 1), |
894 | PIN_FIELD_BASE(156, 156, 2, 0x0100, 0x10, 1, 1), |
895 | PIN_FIELD_BASE(157, 157, 2, 0x0100, 0x10, 0, 1), |
896 | PIN_FIELD_BASE(158, 158, 2, 0x0100, 0x10, 5, 1), |
897 | PIN_FIELD_BASE(159, 159, 2, 0x0100, 0x10, 4, 1), |
898 | PIN_FIELD_BASE(160, 160, 2, 0x0100, 0x10, 3, 1), |
899 | PIN_FIELD_BASE(161, 161, 2, 0x0100, 0x10, 2, 1), |
900 | PIN_FIELD_BASE(162, 162, 2, 0x0100, 0x10, 10, 1), |
901 | PIN_FIELD_BASE(163, 163, 4, 0x00a0, 0x10, 1, 1), |
902 | PIN_FIELD_BASE(164, 164, 4, 0x00a0, 0x10, 0, 1), |
903 | PIN_FIELD_BASE(165, 165, 4, 0x00a0, 0x10, 2, 1), |
904 | PIN_FIELD_BASE(166, 166, 4, 0x00a0, 0x10, 3, 1), |
905 | PIN_FIELD_BASE(167, 167, 4, 0x00a0, 0x10, 4, 1), |
906 | PIN_FIELD_BASE(168, 168, 4, 0x00a0, 0x10, 5, 1), |
907 | PIN_FIELD_BASE(169, 169, 3, 0x0090, 0x10, 1, 1), |
908 | PIN_FIELD_BASE(170, 170, 3, 0x0090, 0x10, 0, 1), |
909 | PIN_FIELD_BASE(171, 171, 3, 0x0090, 0x10, 2, 1), |
910 | PIN_FIELD_BASE(172, 172, 3, 0x0090, 0x10, 3, 1), |
911 | PIN_FIELD_BASE(173, 173, 3, 0x0090, 0x10, 4, 1), |
912 | PIN_FIELD_BASE(174, 174, 3, 0x0090, 0x10, 5, 1), |
913 | }; |
914 | |
915 | static const struct mtk_pin_field_calc mt8188_pin_pu_range[] = { |
916 | PIN_FIELD_BASE(0, 0, 1, 0x00e0, 0x10, 6, 1), |
917 | PIN_FIELD_BASE(1, 1, 1, 0x00e0, 0x10, 7, 1), |
918 | PIN_FIELD_BASE(2, 2, 1, 0x00e0, 0x10, 8, 1), |
919 | PIN_FIELD_BASE(3, 3, 1, 0x00e0, 0x10, 9, 1), |
920 | PIN_FIELD_BASE(4, 4, 1, 0x00e0, 0x10, 10, 1), |
921 | PIN_FIELD_BASE(5, 5, 1, 0x00e0, 0x10, 11, 1), |
922 | PIN_FIELD_BASE(6, 6, 1, 0x00e0, 0x10, 12, 1), |
923 | PIN_FIELD_BASE(7, 7, 1, 0x00e0, 0x10, 13, 1), |
924 | PIN_FIELD_BASE(8, 8, 1, 0x00e0, 0x10, 14, 1), |
925 | PIN_FIELD_BASE(9, 9, 1, 0x00e0, 0x10, 15, 1), |
926 | PIN_FIELD_BASE(10, 10, 1, 0x00e0, 0x10, 16, 1), |
927 | PIN_FIELD_BASE(11, 11, 1, 0x00e0, 0x10, 17, 1), |
928 | PIN_FIELD_BASE(12, 12, 2, 0x00d0, 0x10, 12, 1), |
929 | PIN_FIELD_BASE(13, 13, 2, 0x00d0, 0x10, 13, 1), |
930 | PIN_FIELD_BASE(14, 14, 2, 0x00d0, 0x10, 14, 1), |
931 | PIN_FIELD_BASE(15, 15, 2, 0x00d0, 0x10, 15, 1), |
932 | PIN_FIELD_BASE(16, 16, 3, 0x0070, 0x10, 1, 1), |
933 | PIN_FIELD_BASE(17, 17, 3, 0x0070, 0x10, 2, 1), |
934 | PIN_FIELD_BASE(18, 18, 4, 0x0080, 0x10, 3, 1), |
935 | PIN_FIELD_BASE(19, 19, 4, 0x0080, 0x10, 5, 1), |
936 | PIN_FIELD_BASE(20, 20, 4, 0x0080, 0x10, 4, 1), |
937 | PIN_FIELD_BASE(21, 21, 4, 0x0080, 0x10, 6, 1), |
938 | PIN_FIELD_BASE(22, 22, 4, 0x0080, 0x10, 0, 1), |
939 | PIN_FIELD_BASE(23, 23, 4, 0x0080, 0x10, 1, 1), |
940 | PIN_FIELD_BASE(24, 24, 4, 0x0080, 0x10, 2, 1), |
941 | PIN_FIELD_BASE(25, 25, 1, 0x00e0, 0x10, 3, 1), |
942 | PIN_FIELD_BASE(26, 26, 1, 0x00e0, 0x10, 2, 1), |
943 | PIN_FIELD_BASE(27, 27, 1, 0x00e0, 0x10, 5, 1), |
944 | PIN_FIELD_BASE(28, 28, 1, 0x00e0, 0x10, 4, 1), |
945 | PIN_FIELD_BASE(29, 29, 1, 0x00e0, 0x10, 0, 1), |
946 | PIN_FIELD_BASE(30, 30, 1, 0x00e0, 0x10, 1, 1), |
947 | PIN_FIELD_BASE(31, 31, 1, 0x00f0, 0x10, 11, 1), |
948 | PIN_FIELD_BASE(32, 32, 1, 0x00f0, 0x10, 10, 1), |
949 | PIN_FIELD_BASE(33, 33, 1, 0x00f0, 0x10, 13, 1), |
950 | PIN_FIELD_BASE(34, 34, 1, 0x00f0, 0x10, 12, 1), |
951 | PIN_FIELD_BASE(35, 35, 1, 0x00f0, 0x10, 15, 1), |
952 | PIN_FIELD_BASE(36, 36, 1, 0x00f0, 0x10, 14, 1), |
953 | PIN_FIELD_BASE(37, 37, 1, 0x00e0, 0x10, 21, 1), |
954 | PIN_FIELD_BASE(38, 38, 1, 0x00e0, 0x10, 18, 1), |
955 | PIN_FIELD_BASE(39, 39, 1, 0x00e0, 0x10, 19, 1), |
956 | PIN_FIELD_BASE(40, 40, 1, 0x00e0, 0x10, 20, 1), |
957 | PIN_FIELD_BASE(41, 41, 1, 0x00e0, 0x10, 22, 1), |
958 | PIN_FIELD_BASE(46, 46, 3, 0x0070, 0x10, 0, 1), |
959 | PIN_FIELD_BASE(47, 47, 1, 0x00e0, 0x10, 25, 1), |
960 | PIN_FIELD_BASE(48, 48, 1, 0x00e0, 0x10, 24, 1), |
961 | PIN_FIELD_BASE(49, 49, 1, 0x00e0, 0x10, 23, 1), |
962 | PIN_FIELD_BASE(50, 50, 3, 0x0070, 0x10, 5, 1), |
963 | PIN_FIELD_BASE(51, 51, 3, 0x0070, 0x10, 4, 1), |
964 | PIN_FIELD_BASE(52, 52, 3, 0x0070, 0x10, 3, 1), |
965 | PIN_FIELD_BASE(53, 53, 3, 0x0070, 0x10, 6, 1), |
966 | PIN_FIELD_BASE(54, 54, 3, 0x0070, 0x10, 7, 1), |
967 | PIN_FIELD_BASE(55, 55, 1, 0x00e0, 0x10, 26, 1), |
968 | PIN_FIELD_BASE(56, 56, 1, 0x00e0, 0x10, 29, 1), |
969 | PIN_FIELD_BASE(57, 57, 2, 0x00e0, 0x10, 6, 1), |
970 | PIN_FIELD_BASE(58, 58, 2, 0x00e0, 0x10, 9, 1), |
971 | PIN_FIELD_BASE(59, 59, 1, 0x00e0, 0x10, 27, 1), |
972 | PIN_FIELD_BASE(60, 60, 1, 0x00e0, 0x10, 30, 1), |
973 | PIN_FIELD_BASE(61, 61, 1, 0x00e0, 0x10, 28, 1), |
974 | PIN_FIELD_BASE(62, 62, 1, 0x00e0, 0x10, 31, 1), |
975 | PIN_FIELD_BASE(63, 63, 2, 0x00e0, 0x10, 7, 1), |
976 | PIN_FIELD_BASE(64, 64, 2, 0x00e0, 0x10, 10, 1), |
977 | PIN_FIELD_BASE(65, 65, 4, 0x0080, 0x10, 7, 1), |
978 | PIN_FIELD_BASE(66, 66, 4, 0x0080, 0x10, 9, 1), |
979 | PIN_FIELD_BASE(67, 67, 4, 0x0080, 0x10, 8, 1), |
980 | PIN_FIELD_BASE(68, 68, 4, 0x0080, 0x10, 10, 1), |
981 | PIN_FIELD_BASE(69, 69, 1, 0x00f0, 0x10, 1, 1), |
982 | PIN_FIELD_BASE(70, 70, 1, 0x00f0, 0x10, 0, 1), |
983 | PIN_FIELD_BASE(71, 71, 1, 0x00f0, 0x10, 5, 1), |
984 | PIN_FIELD_BASE(72, 72, 1, 0x00f0, 0x10, 4, 1), |
985 | PIN_FIELD_BASE(73, 73, 1, 0x00f0, 0x10, 2, 1), |
986 | PIN_FIELD_BASE(74, 74, 1, 0x00f0, 0x10, 3, 1), |
987 | PIN_FIELD_BASE(75, 75, 1, 0x00f0, 0x10, 7, 1), |
988 | PIN_FIELD_BASE(76, 76, 1, 0x00f0, 0x10, 6, 1), |
989 | PIN_FIELD_BASE(77, 77, 1, 0x00f0, 0x10, 9, 1), |
990 | PIN_FIELD_BASE(78, 78, 1, 0x00f0, 0x10, 8, 1), |
991 | PIN_FIELD_BASE(79, 79, 4, 0x0080, 0x10, 12, 1), |
992 | PIN_FIELD_BASE(80, 80, 4, 0x0080, 0x10, 11, 1), |
993 | PIN_FIELD_BASE(81, 81, 4, 0x0080, 0x10, 14, 1), |
994 | PIN_FIELD_BASE(82, 82, 4, 0x0080, 0x10, 13, 1), |
995 | PIN_FIELD_BASE(83, 83, 2, 0x00e0, 0x10, 16, 1), |
996 | PIN_FIELD_BASE(84, 84, 2, 0x00e0, 0x10, 15, 1), |
997 | PIN_FIELD_BASE(85, 85, 2, 0x00e0, 0x10, 17, 1), |
998 | PIN_FIELD_BASE(86, 86, 2, 0x00e0, 0x10, 19, 1), |
999 | PIN_FIELD_BASE(87, 87, 2, 0x00e0, 0x10, 18, 1), |
1000 | PIN_FIELD_BASE(88, 88, 2, 0x00e0, 0x10, 20, 1), |
1001 | PIN_FIELD_BASE(89, 89, 2, 0x00e0, 0x10, 22, 1), |
1002 | PIN_FIELD_BASE(90, 90, 2, 0x00e0, 0x10, 21, 1), |
1003 | PIN_FIELD_BASE(91, 91, 2, 0x00e0, 0x10, 23, 1), |
1004 | PIN_FIELD_BASE(92, 92, 2, 0x00e0, 0x10, 3, 1), |
1005 | PIN_FIELD_BASE(93, 93, 2, 0x00e0, 0x10, 2, 1), |
1006 | PIN_FIELD_BASE(94, 94, 2, 0x00e0, 0x10, 5, 1), |
1007 | PIN_FIELD_BASE(95, 95, 2, 0x00e0, 0x10, 4, 1), |
1008 | PIN_FIELD_BASE(96, 96, 2, 0x00d0, 0x10, 31, 1), |
1009 | PIN_FIELD_BASE(97, 97, 2, 0x00e0, 0x10, 0, 1), |
1010 | PIN_FIELD_BASE(98, 98, 2, 0x00e0, 0x10, 8, 1), |
1011 | PIN_FIELD_BASE(99, 99, 2, 0x00d0, 0x10, 30, 1), |
1012 | PIN_FIELD_BASE(100, 100, 2, 0x00e0, 0x10, 1, 1), |
1013 | PIN_FIELD_BASE(101, 101, 2, 0x00d0, 0x10, 0, 1), |
1014 | PIN_FIELD_BASE(102, 102, 2, 0x00d0, 0x10, 5, 1), |
1015 | PIN_FIELD_BASE(103, 103, 2, 0x00d0, 0x10, 3, 1), |
1016 | PIN_FIELD_BASE(104, 104, 2, 0x00d0, 0x10, 4, 1), |
1017 | PIN_FIELD_BASE(105, 105, 2, 0x00d0, 0x10, 1, 1), |
1018 | PIN_FIELD_BASE(106, 106, 2, 0x00d0, 0x10, 2, 1), |
1019 | PIN_FIELD_BASE(107, 107, 2, 0x00d0, 0x10, 21, 1), |
1020 | PIN_FIELD_BASE(108, 108, 2, 0x00d0, 0x10, 16, 1), |
1021 | PIN_FIELD_BASE(109, 109, 2, 0x00d0, 0x10, 22, 1), |
1022 | PIN_FIELD_BASE(110, 110, 2, 0x00d0, 0x10, 17, 1), |
1023 | PIN_FIELD_BASE(111, 111, 2, 0x00d0, 0x10, 18, 1), |
1024 | PIN_FIELD_BASE(112, 112, 2, 0x00d0, 0x10, 19, 1), |
1025 | PIN_FIELD_BASE(113, 113, 2, 0x00d0, 0x10, 20, 1), |
1026 | PIN_FIELD_BASE(114, 114, 2, 0x00d0, 0x10, 28, 1), |
1027 | PIN_FIELD_BASE(115, 115, 2, 0x00d0, 0x10, 23, 1), |
1028 | PIN_FIELD_BASE(116, 116, 2, 0x00d0, 0x10, 29, 1), |
1029 | PIN_FIELD_BASE(117, 117, 2, 0x00d0, 0x10, 24, 1), |
1030 | PIN_FIELD_BASE(118, 118, 2, 0x00d0, 0x10, 25, 1), |
1031 | PIN_FIELD_BASE(119, 119, 2, 0x00d0, 0x10, 26, 1), |
1032 | PIN_FIELD_BASE(120, 120, 2, 0x00d0, 0x10, 27, 1), |
1033 | PIN_FIELD_BASE(121, 121, 3, 0x0070, 0x10, 8, 1), |
1034 | PIN_FIELD_BASE(122, 122, 3, 0x0070, 0x10, 11, 1), |
1035 | PIN_FIELD_BASE(123, 123, 3, 0x0070, 0x10, 10, 1), |
1036 | PIN_FIELD_BASE(124, 124, 3, 0x0070, 0x10, 9, 1), |
1037 | PIN_FIELD_BASE(125, 125, 2, 0x00d0, 0x10, 6, 1), |
1038 | PIN_FIELD_BASE(126, 126, 2, 0x00d0, 0x10, 7, 1), |
1039 | PIN_FIELD_BASE(127, 127, 2, 0x00d0, 0x10, 8, 1), |
1040 | PIN_FIELD_BASE(128, 128, 2, 0x00d0, 0x10, 9, 1), |
1041 | PIN_FIELD_BASE(129, 129, 2, 0x00d0, 0x10, 10, 1), |
1042 | PIN_FIELD_BASE(130, 130, 2, 0x00d0, 0x10, 11, 1), |
1043 | PIN_FIELD_BASE(175, 175, 2, 0x00e0, 0x10, 11, 1), |
1044 | PIN_FIELD_BASE(176, 176, 2, 0x00e0, 0x10, 12, 1), |
1045 | }; |
1046 | |
1047 | static const struct mtk_pin_field_calc mt8188_pin_pd_range[] = { |
1048 | PIN_FIELD_BASE(0, 0, 1, 0x00b0, 0x10, 6, 1), |
1049 | PIN_FIELD_BASE(1, 1, 1, 0x00b0, 0x10, 7, 1), |
1050 | PIN_FIELD_BASE(2, 2, 1, 0x00b0, 0x10, 8, 1), |
1051 | PIN_FIELD_BASE(3, 3, 1, 0x00b0, 0x10, 9, 1), |
1052 | PIN_FIELD_BASE(4, 4, 1, 0x00b0, 0x10, 10, 1), |
1053 | PIN_FIELD_BASE(5, 5, 1, 0x00b0, 0x10, 11, 1), |
1054 | PIN_FIELD_BASE(6, 6, 1, 0x00b0, 0x10, 12, 1), |
1055 | PIN_FIELD_BASE(7, 7, 1, 0x00b0, 0x10, 13, 1), |
1056 | PIN_FIELD_BASE(8, 8, 1, 0x00b0, 0x10, 14, 1), |
1057 | PIN_FIELD_BASE(9, 9, 1, 0x00b0, 0x10, 15, 1), |
1058 | PIN_FIELD_BASE(10, 10, 1, 0x00b0, 0x10, 16, 1), |
1059 | PIN_FIELD_BASE(11, 11, 1, 0x00b0, 0x10, 17, 1), |
1060 | PIN_FIELD_BASE(12, 12, 2, 0x00a0, 0x10, 12, 1), |
1061 | PIN_FIELD_BASE(13, 13, 2, 0x00a0, 0x10, 13, 1), |
1062 | PIN_FIELD_BASE(14, 14, 2, 0x00a0, 0x10, 14, 1), |
1063 | PIN_FIELD_BASE(15, 15, 2, 0x00a0, 0x10, 15, 1), |
1064 | PIN_FIELD_BASE(16, 16, 3, 0x0050, 0x10, 1, 1), |
1065 | PIN_FIELD_BASE(17, 17, 3, 0x0050, 0x10, 2, 1), |
1066 | PIN_FIELD_BASE(18, 18, 4, 0x0060, 0x10, 3, 1), |
1067 | PIN_FIELD_BASE(19, 19, 4, 0x0060, 0x10, 5, 1), |
1068 | PIN_FIELD_BASE(20, 20, 4, 0x0060, 0x10, 4, 1), |
1069 | PIN_FIELD_BASE(21, 21, 4, 0x0060, 0x10, 6, 1), |
1070 | PIN_FIELD_BASE(22, 22, 4, 0x0060, 0x10, 0, 1), |
1071 | PIN_FIELD_BASE(23, 23, 4, 0x0060, 0x10, 1, 1), |
1072 | PIN_FIELD_BASE(24, 24, 4, 0x0060, 0x10, 2, 1), |
1073 | PIN_FIELD_BASE(25, 25, 1, 0x00b0, 0x10, 3, 1), |
1074 | PIN_FIELD_BASE(26, 26, 1, 0x00b0, 0x10, 2, 1), |
1075 | PIN_FIELD_BASE(27, 27, 1, 0x00b0, 0x10, 5, 1), |
1076 | PIN_FIELD_BASE(28, 28, 1, 0x00b0, 0x10, 4, 1), |
1077 | PIN_FIELD_BASE(29, 29, 1, 0x00b0, 0x10, 0, 1), |
1078 | PIN_FIELD_BASE(30, 30, 1, 0x00b0, 0x10, 1, 1), |
1079 | PIN_FIELD_BASE(31, 31, 1, 0x00c0, 0x10, 11, 1), |
1080 | PIN_FIELD_BASE(32, 32, 1, 0x00c0, 0x10, 10, 1), |
1081 | PIN_FIELD_BASE(33, 33, 1, 0x00c0, 0x10, 13, 1), |
1082 | PIN_FIELD_BASE(34, 34, 1, 0x00c0, 0x10, 12, 1), |
1083 | PIN_FIELD_BASE(35, 35, 1, 0x00c0, 0x10, 15, 1), |
1084 | PIN_FIELD_BASE(36, 36, 1, 0x00c0, 0x10, 14, 1), |
1085 | PIN_FIELD_BASE(37, 37, 1, 0x00b0, 0x10, 21, 1), |
1086 | PIN_FIELD_BASE(38, 38, 1, 0x00b0, 0x10, 18, 1), |
1087 | PIN_FIELD_BASE(39, 39, 1, 0x00b0, 0x10, 19, 1), |
1088 | PIN_FIELD_BASE(40, 40, 1, 0x00b0, 0x10, 20, 1), |
1089 | PIN_FIELD_BASE(41, 41, 1, 0x00b0, 0x10, 22, 1), |
1090 | PIN_FIELD_BASE(46, 46, 3, 0x0050, 0x10, 0, 1), |
1091 | PIN_FIELD_BASE(47, 47, 1, 0x00b0, 0x10, 25, 1), |
1092 | PIN_FIELD_BASE(48, 48, 1, 0x00b0, 0x10, 24, 1), |
1093 | PIN_FIELD_BASE(49, 49, 1, 0x00b0, 0x10, 23, 1), |
1094 | PIN_FIELD_BASE(50, 50, 3, 0x0050, 0x10, 5, 1), |
1095 | PIN_FIELD_BASE(51, 51, 3, 0x0050, 0x10, 4, 1), |
1096 | PIN_FIELD_BASE(52, 52, 3, 0x0050, 0x10, 3, 1), |
1097 | PIN_FIELD_BASE(53, 53, 3, 0x0050, 0x10, 6, 1), |
1098 | PIN_FIELD_BASE(54, 54, 3, 0x0050, 0x10, 7, 1), |
1099 | PIN_FIELD_BASE(55, 55, 1, 0x00b0, 0x10, 26, 1), |
1100 | PIN_FIELD_BASE(56, 56, 1, 0x00b0, 0x10, 29, 1), |
1101 | PIN_FIELD_BASE(57, 57, 2, 0x00b0, 0x10, 6, 1), |
1102 | PIN_FIELD_BASE(58, 58, 2, 0x00b0, 0x10, 9, 1), |
1103 | PIN_FIELD_BASE(59, 59, 1, 0x00b0, 0x10, 27, 1), |
1104 | PIN_FIELD_BASE(60, 60, 1, 0x00b0, 0x10, 30, 1), |
1105 | PIN_FIELD_BASE(61, 61, 1, 0x00b0, 0x10, 28, 1), |
1106 | PIN_FIELD_BASE(62, 62, 1, 0x00b0, 0x10, 31, 1), |
1107 | PIN_FIELD_BASE(63, 63, 2, 0x00b0, 0x10, 7, 1), |
1108 | PIN_FIELD_BASE(64, 64, 2, 0x00b0, 0x10, 10, 1), |
1109 | PIN_FIELD_BASE(65, 65, 4, 0x0060, 0x10, 7, 1), |
1110 | PIN_FIELD_BASE(66, 66, 4, 0x0060, 0x10, 9, 1), |
1111 | PIN_FIELD_BASE(67, 67, 4, 0x0060, 0x10, 8, 1), |
1112 | PIN_FIELD_BASE(68, 68, 4, 0x0060, 0x10, 10, 1), |
1113 | PIN_FIELD_BASE(69, 69, 1, 0x00c0, 0x10, 1, 1), |
1114 | PIN_FIELD_BASE(70, 70, 1, 0x00c0, 0x10, 0, 1), |
1115 | PIN_FIELD_BASE(71, 71, 1, 0x00c0, 0x10, 5, 1), |
1116 | PIN_FIELD_BASE(72, 72, 1, 0x00c0, 0x10, 4, 1), |
1117 | PIN_FIELD_BASE(73, 73, 1, 0x00c0, 0x10, 2, 1), |
1118 | PIN_FIELD_BASE(74, 74, 1, 0x00c0, 0x10, 3, 1), |
1119 | PIN_FIELD_BASE(75, 75, 1, 0x00c0, 0x10, 7, 1), |
1120 | PIN_FIELD_BASE(76, 76, 1, 0x00c0, 0x10, 6, 1), |
1121 | PIN_FIELD_BASE(77, 77, 1, 0x00c0, 0x10, 9, 1), |
1122 | PIN_FIELD_BASE(78, 78, 1, 0x00c0, 0x10, 8, 1), |
1123 | PIN_FIELD_BASE(79, 79, 4, 0x0060, 0x10, 12, 1), |
1124 | PIN_FIELD_BASE(80, 80, 4, 0x0060, 0x10, 11, 1), |
1125 | PIN_FIELD_BASE(81, 81, 4, 0x0060, 0x10, 14, 1), |
1126 | PIN_FIELD_BASE(82, 82, 4, 0x0060, 0x10, 13, 1), |
1127 | PIN_FIELD_BASE(83, 83, 2, 0x00b0, 0x10, 16, 1), |
1128 | PIN_FIELD_BASE(84, 84, 2, 0x00b0, 0x10, 15, 1), |
1129 | PIN_FIELD_BASE(85, 85, 2, 0x00b0, 0x10, 17, 1), |
1130 | PIN_FIELD_BASE(86, 86, 2, 0x00b0, 0x10, 19, 1), |
1131 | PIN_FIELD_BASE(87, 87, 2, 0x00b0, 0x10, 18, 1), |
1132 | PIN_FIELD_BASE(88, 88, 2, 0x00b0, 0x10, 20, 1), |
1133 | PIN_FIELD_BASE(89, 89, 2, 0x00b0, 0x10, 22, 1), |
1134 | PIN_FIELD_BASE(90, 90, 2, 0x00b0, 0x10, 21, 1), |
1135 | PIN_FIELD_BASE(91, 91, 2, 0x00b0, 0x10, 23, 1), |
1136 | PIN_FIELD_BASE(92, 92, 2, 0x00b0, 0x10, 3, 1), |
1137 | PIN_FIELD_BASE(93, 93, 2, 0x00b0, 0x10, 2, 1), |
1138 | PIN_FIELD_BASE(94, 94, 2, 0x00b0, 0x10, 5, 1), |
1139 | PIN_FIELD_BASE(95, 95, 2, 0x00b0, 0x10, 4, 1), |
1140 | PIN_FIELD_BASE(96, 96, 2, 0x00a0, 0x10, 31, 1), |
1141 | PIN_FIELD_BASE(97, 97, 2, 0x00b0, 0x10, 0, 1), |
1142 | PIN_FIELD_BASE(98, 98, 2, 0x00b0, 0x10, 8, 1), |
1143 | PIN_FIELD_BASE(99, 99, 2, 0x00a0, 0x10, 30, 1), |
1144 | PIN_FIELD_BASE(100, 100, 2, 0x00b0, 0x10, 1, 1), |
1145 | PIN_FIELD_BASE(101, 101, 2, 0x00a0, 0x10, 0, 1), |
1146 | PIN_FIELD_BASE(102, 102, 2, 0x00a0, 0x10, 5, 1), |
1147 | PIN_FIELD_BASE(103, 103, 2, 0x00a0, 0x10, 3, 1), |
1148 | PIN_FIELD_BASE(104, 104, 2, 0x00a0, 0x10, 4, 1), |
1149 | PIN_FIELD_BASE(105, 105, 2, 0x00a0, 0x10, 1, 1), |
1150 | PIN_FIELD_BASE(106, 106, 2, 0x00a0, 0x10, 2, 1), |
1151 | PIN_FIELD_BASE(107, 107, 2, 0x00a0, 0x10, 21, 1), |
1152 | PIN_FIELD_BASE(108, 108, 2, 0x00a0, 0x10, 16, 1), |
1153 | PIN_FIELD_BASE(109, 109, 2, 0x00a0, 0x10, 22, 1), |
1154 | PIN_FIELD_BASE(110, 110, 2, 0x00a0, 0x10, 17, 1), |
1155 | PIN_FIELD_BASE(111, 111, 2, 0x00a0, 0x10, 18, 1), |
1156 | PIN_FIELD_BASE(112, 112, 2, 0x00a0, 0x10, 19, 1), |
1157 | PIN_FIELD_BASE(113, 113, 2, 0x00a0, 0x10, 20, 1), |
1158 | PIN_FIELD_BASE(114, 114, 2, 0x00a0, 0x10, 28, 1), |
1159 | PIN_FIELD_BASE(115, 115, 2, 0x00a0, 0x10, 23, 1), |
1160 | PIN_FIELD_BASE(116, 116, 2, 0x00a0, 0x10, 29, 1), |
1161 | PIN_FIELD_BASE(117, 117, 2, 0x00a0, 0x10, 24, 1), |
1162 | PIN_FIELD_BASE(118, 118, 2, 0x00a0, 0x10, 25, 1), |
1163 | PIN_FIELD_BASE(119, 119, 2, 0x00a0, 0x10, 26, 1), |
1164 | PIN_FIELD_BASE(120, 120, 2, 0x00a0, 0x10, 27, 1), |
1165 | PIN_FIELD_BASE(121, 121, 3, 0x0050, 0x10, 8, 1), |
1166 | PIN_FIELD_BASE(122, 122, 3, 0x0050, 0x10, 11, 1), |
1167 | PIN_FIELD_BASE(123, 123, 3, 0x0050, 0x10, 10, 1), |
1168 | PIN_FIELD_BASE(124, 124, 3, 0x0050, 0x10, 9, 1), |
1169 | PIN_FIELD_BASE(125, 125, 2, 0x00a0, 0x10, 6, 1), |
1170 | PIN_FIELD_BASE(126, 126, 2, 0x00a0, 0x10, 7, 1), |
1171 | PIN_FIELD_BASE(127, 127, 2, 0x00a0, 0x10, 8, 1), |
1172 | PIN_FIELD_BASE(128, 128, 2, 0x00a0, 0x10, 9, 1), |
1173 | PIN_FIELD_BASE(129, 129, 2, 0x00a0, 0x10, 10, 1), |
1174 | PIN_FIELD_BASE(130, 130, 2, 0x00a0, 0x10, 11, 1), |
1175 | PIN_FIELD_BASE(175, 175, 2, 0x00b0, 0x10, 11, 1), |
1176 | PIN_FIELD_BASE(176, 176, 2, 0x00b0, 0x10, 12, 1), |
1177 | }; |
1178 | |
1179 | static const struct mtk_pin_field_calc mt8188_pin_drv_range[] = { |
1180 | PIN_FIELD_BASE(0, 0, 1, 0x0000, 0x10, 24, 3), |
1181 | PIN_FIELD_BASE(1, 1, 1, 0x0000, 0x10, 27, 3), |
1182 | PIN_FIELD_BASE(2, 2, 1, 0x0010, 0x10, 0, 3), |
1183 | PIN_FIELD_BASE(3, 3, 1, 0x0010, 0x10, 3, 3), |
1184 | PIN_FIELD_BASE(4, 4, 1, 0x0020, 0x10, 9, 3), |
1185 | PIN_FIELD_BASE(5, 5, 1, 0x0020, 0x10, 9, 3), |
1186 | PIN_FIELD_BASE(6, 6, 1, 0x0020, 0x10, 9, 3), |
1187 | PIN_FIELD_BASE(7, 7, 1, 0x0010, 0x10, 6, 3), |
1188 | PIN_FIELD_BASE(8, 8, 1, 0x0010, 0x10, 9, 3), |
1189 | PIN_FIELD_BASE(9, 9, 1, 0x0010, 0x10, 12, 3), |
1190 | PIN_FIELD_BASE(10, 10, 1, 0x0010, 0x10, 15, 3), |
1191 | PIN_FIELD_BASE(11, 11, 1, 0x0020, 0x10, 12, 3), |
1192 | PIN_FIELD_BASE(12, 12, 2, 0x0010, 0x10, 24, 3), |
1193 | PIN_FIELD_BASE(13, 13, 2, 0x0010, 0x10, 27, 3), |
1194 | PIN_FIELD_BASE(14, 14, 2, 0x0020, 0x10, 0, 3), |
1195 | PIN_FIELD_BASE(15, 15, 2, 0x0020, 0x10, 3, 3), |
1196 | PIN_FIELD_BASE(16, 16, 3, 0x0010, 0x10, 15, 3), |
1197 | PIN_FIELD_BASE(17, 17, 3, 0x0010, 0x10, 15, 3), |
1198 | PIN_FIELD_BASE(18, 18, 4, 0x0000, 0x10, 27, 3), |
1199 | PIN_FIELD_BASE(19, 19, 4, 0x0000, 0x10, 27, 3), |
1200 | PIN_FIELD_BASE(20, 20, 4, 0x0000, 0x10, 27, 3), |
1201 | PIN_FIELD_BASE(21, 21, 4, 0x0000, 0x10, 27, 3), |
1202 | PIN_FIELD_BASE(22, 22, 4, 0x0000, 0x10, 0, 3), |
1203 | PIN_FIELD_BASE(23, 23, 4, 0x0000, 0x10, 3, 3), |
1204 | PIN_FIELD_BASE(24, 24, 4, 0x0000, 0x10, 6, 3), |
1205 | PIN_FIELD_BASE(25, 25, 1, 0x0020, 0x10, 6, 3), |
1206 | PIN_FIELD_BASE(26, 26, 1, 0x0020, 0x10, 6, 3), |
1207 | PIN_FIELD_BASE(27, 27, 1, 0x0020, 0x10, 6, 3), |
1208 | PIN_FIELD_BASE(28, 28, 1, 0x0020, 0x10, 9, 3), |
1209 | PIN_FIELD_BASE(29, 29, 1, 0x0020, 0x10, 3, 3), |
1210 | PIN_FIELD_BASE(30, 30, 1, 0x0020, 0x10, 6, 3), |
1211 | PIN_FIELD_BASE(31, 31, 1, 0x0020, 0x10, 12, 3), |
1212 | PIN_FIELD_BASE(32, 32, 1, 0x0020, 0x10, 12, 3), |
1213 | PIN_FIELD_BASE(33, 33, 1, 0x0020, 0x10, 15, 3), |
1214 | PIN_FIELD_BASE(34, 34, 1, 0x0020, 0x10, 15, 3), |
1215 | PIN_FIELD_BASE(35, 35, 1, 0x0020, 0x10, 12, 3), |
1216 | PIN_FIELD_BASE(36, 36, 1, 0x0020, 0x10, 15, 3), |
1217 | PIN_FIELD_BASE(37, 37, 1, 0x0010, 0x10, 27, 3), |
1218 | PIN_FIELD_BASE(38, 38, 1, 0x0010, 0x10, 18, 3), |
1219 | PIN_FIELD_BASE(39, 39, 1, 0x0010, 0x10, 21, 3), |
1220 | PIN_FIELD_BASE(40, 40, 1, 0x0010, 0x10, 24, 3), |
1221 | PIN_FIELD_BASE(41, 41, 1, 0x0020, 0x10, 0, 3), |
1222 | PIN_FIELD_BASE(42, 42, 2, 0x0020, 0x10, 18, 3), |
1223 | PIN_FIELD_BASE(43, 43, 2, 0x0020, 0x10, 18, 3), |
1224 | PIN_FIELD_BASE(44, 44, 2, 0x0020, 0x10, 18, 3), |
1225 | PIN_FIELD_BASE(45, 45, 2, 0x0020, 0x10, 21, 3), |
1226 | PIN_FIELD_BASE(46, 46, 3, 0x0010, 0x10, 15, 3), |
1227 | PIN_FIELD_BASE(47, 47, 1, 0x0020, 0x10, 3, 3), |
1228 | PIN_FIELD_BASE(48, 48, 1, 0x0020, 0x10, 3, 3), |
1229 | PIN_FIELD_BASE(49, 49, 1, 0x0020, 0x10, 3, 3), |
1230 | PIN_FIELD_BASE(50, 50, 3, 0x0000, 0x10, 6, 3), |
1231 | PIN_FIELD_BASE(51, 51, 3, 0x0000, 0x10, 3, 3), |
1232 | PIN_FIELD_BASE(52, 52, 3, 0x0000, 0x10, 0, 3), |
1233 | PIN_FIELD_BASE(53, 53, 3, 0x0000, 0x10, 9, 3), |
1234 | PIN_FIELD_BASE(54, 54, 3, 0x0000, 0x10, 12, 3), |
1235 | PIN_FIELD_BASE(55, 55, 1, 0x0020, 0x10, 27, 3), |
1236 | PIN_FIELD_BASE(56, 56, 1, 0x0030, 0x10, 6, 3), |
1237 | PIN_FIELD_BASE(57, 57, 2, 0x0030, 0x10, 9, 3), |
1238 | PIN_FIELD_BASE(58, 58, 2, 0x0030, 0x10, 15, 3), |
1239 | PIN_FIELD_BASE(59, 59, 1, 0x0030, 0x10, 0, 3), |
1240 | PIN_FIELD_BASE(60, 60, 1, 0x0030, 0x10, 9, 3), |
1241 | PIN_FIELD_BASE(61, 61, 1, 0x0030, 0x10, 3, 3), |
1242 | PIN_FIELD_BASE(62, 62, 1, 0x0030, 0x10, 12, 3), |
1243 | PIN_FIELD_BASE(63, 63, 2, 0x0030, 0x10, 12, 3), |
1244 | PIN_FIELD_BASE(64, 64, 2, 0x0030, 0x10, 18, 3), |
1245 | PIN_FIELD_BASE(65, 65, 4, 0x0010, 0x10, 0, 3), |
1246 | PIN_FIELD_BASE(66, 66, 4, 0x0010, 0x10, 6, 3), |
1247 | PIN_FIELD_BASE(67, 67, 4, 0x0010, 0x10, 3, 3), |
1248 | PIN_FIELD_BASE(68, 68, 4, 0x0010, 0x10, 9, 3), |
1249 | PIN_FIELD_BASE(69, 69, 1, 0x0030, 0x10, 18, 3), |
1250 | PIN_FIELD_BASE(70, 70, 1, 0x0030, 0x10, 15, 3), |
1251 | PIN_FIELD_BASE(71, 71, 1, 0x0040, 0x10, 0, 3), |
1252 | PIN_FIELD_BASE(72, 72, 1, 0x0030, 0x10, 27, 3), |
1253 | PIN_FIELD_BASE(73, 73, 1, 0x0030, 0x10, 21, 3), |
1254 | PIN_FIELD_BASE(74, 74, 1, 0x0030, 0x10, 24, 3), |
1255 | PIN_FIELD_BASE(75, 75, 1, 0x0040, 0x10, 6, 3), |
1256 | PIN_FIELD_BASE(76, 76, 1, 0x0040, 0x10, 3, 3), |
1257 | PIN_FIELD_BASE(77, 77, 1, 0x0040, 0x10, 12, 3), |
1258 | PIN_FIELD_BASE(78, 78, 1, 0x0040, 0x10, 9, 3), |
1259 | PIN_FIELD_BASE(79, 79, 4, 0x0010, 0x10, 15, 3), |
1260 | PIN_FIELD_BASE(80, 80, 4, 0x0010, 0x10, 12, 3), |
1261 | PIN_FIELD_BASE(81, 81, 4, 0x0010, 0x10, 21, 3), |
1262 | PIN_FIELD_BASE(82, 82, 4, 0x0010, 0x10, 18, 3), |
1263 | PIN_FIELD_BASE(83, 83, 2, 0x0030, 0x10, 0, 3), |
1264 | PIN_FIELD_BASE(84, 84, 2, 0x0020, 0x10, 27, 3), |
1265 | PIN_FIELD_BASE(85, 85, 2, 0x0030, 0x10, 0, 3), |
1266 | PIN_FIELD_BASE(86, 86, 2, 0x0020, 0x10, 6, 3), |
1267 | PIN_FIELD_BASE(87, 87, 2, 0x0020, 0x10, 6, 3), |
1268 | PIN_FIELD_BASE(88, 88, 2, 0x0020, 0x10, 6, 3), |
1269 | PIN_FIELD_BASE(89, 89, 2, 0x0020, 0x10, 6, 3), |
1270 | PIN_FIELD_BASE(90, 90, 2, 0x0030, 0x10, 0, 3), |
1271 | PIN_FIELD_BASE(91, 91, 2, 0x0030, 0x10, 0, 3), |
1272 | PIN_FIELD_BASE(92, 92, 2, 0x0020, 0x10, 9, 3), |
1273 | PIN_FIELD_BASE(93, 93, 2, 0x0020, 0x10, 9, 3), |
1274 | PIN_FIELD_BASE(94, 94, 2, 0x0020, 0x10, 9, 3), |
1275 | PIN_FIELD_BASE(95, 95, 2, 0x0020, 0x10, 9, 3), |
1276 | PIN_FIELD_BASE(96, 96, 2, 0x0020, 0x10, 21, 3), |
1277 | PIN_FIELD_BASE(97, 97, 2, 0x0020, 0x10, 21, 3), |
1278 | PIN_FIELD_BASE(98, 98, 2, 0x0020, 0x10, 24, 3), |
1279 | PIN_FIELD_BASE(99, 99, 2, 0x0020, 0x10, 21, 3), |
1280 | PIN_FIELD_BASE(100, 100, 2, 0x0030, 0x10, 6, 3), |
1281 | PIN_FIELD_BASE(101, 101, 2, 0x0000, 0x10, 0, 3), |
1282 | PIN_FIELD_BASE(102, 102, 2, 0x0000, 0x10, 15, 3), |
1283 | PIN_FIELD_BASE(103, 103, 2, 0x0000, 0x10, 9, 3), |
1284 | PIN_FIELD_BASE(104, 104, 2, 0x0000, 0x10, 12, 3), |
1285 | PIN_FIELD_BASE(105, 105, 2, 0x0000, 0x10, 3, 3), |
1286 | PIN_FIELD_BASE(106, 106, 2, 0x0000, 0x10, 6, 3), |
1287 | PIN_FIELD_BASE(107, 107, 2, 0x0020, 0x10, 6, 3), |
1288 | PIN_FIELD_BASE(108, 108, 2, 0x0020, 0x10, 6, 3), |
1289 | PIN_FIELD_BASE(109, 109, 2, 0x0020, 0x10, 6, 3), |
1290 | PIN_FIELD_BASE(110, 110, 2, 0x0020, 0x10, 6, 3), |
1291 | PIN_FIELD_BASE(111, 111, 2, 0x0020, 0x10, 15, 3), |
1292 | PIN_FIELD_BASE(112, 112, 2, 0x0020, 0x10, 15, 3), |
1293 | PIN_FIELD_BASE(113, 113, 2, 0x0020, 0x10, 15, 3), |
1294 | PIN_FIELD_BASE(114, 114, 2, 0x0020, 0x10, 12, 3), |
1295 | PIN_FIELD_BASE(115, 115, 2, 0x0020, 0x10, 12, 3), |
1296 | PIN_FIELD_BASE(116, 116, 2, 0x0020, 0x10, 12, 3), |
1297 | PIN_FIELD_BASE(117, 117, 2, 0x0020, 0x10, 12, 3), |
1298 | PIN_FIELD_BASE(118, 118, 2, 0x0020, 0x10, 12, 3), |
1299 | PIN_FIELD_BASE(119, 119, 2, 0x0020, 0x10, 15, 3), |
1300 | PIN_FIELD_BASE(120, 120, 2, 0x0020, 0x10, 18, 3), |
1301 | PIN_FIELD_BASE(121, 121, 3, 0x0010, 0x10, 3, 3), |
1302 | PIN_FIELD_BASE(122, 122, 3, 0x0010, 0x10, 12, 3), |
1303 | PIN_FIELD_BASE(123, 123, 3, 0x0010, 0x10, 9, 3), |
1304 | PIN_FIELD_BASE(124, 124, 3, 0x0010, 0x10, 6, 3), |
1305 | PIN_FIELD_BASE(125, 125, 2, 0x0020, 0x10, 24, 3), |
1306 | PIN_FIELD_BASE(126, 126, 2, 0x0020, 0x10, 24, 3), |
1307 | PIN_FIELD_BASE(127, 127, 2, 0x0020, 0x10, 24, 3), |
1308 | PIN_FIELD_BASE(128, 128, 2, 0x0020, 0x10, 27, 3), |
1309 | PIN_FIELD_BASE(129, 129, 2, 0x0020, 0x10, 27, 3), |
1310 | PIN_FIELD_BASE(130, 130, 2, 0x0020, 0x10, 27, 3), |
1311 | PIN_FIELD_BASE(131, 131, 1, 0x0000, 0x10, 0, 3), |
1312 | PIN_FIELD_BASE(132, 132, 1, 0x0000, 0x10, 15, 3), |
1313 | PIN_FIELD_BASE(133, 133, 1, 0x0000, 0x10, 18, 3), |
1314 | PIN_FIELD_BASE(134, 134, 1, 0x0000, 0x10, 21, 3), |
1315 | PIN_FIELD_BASE(135, 135, 1, 0x0020, 0x10, 15, 3), |
1316 | PIN_FIELD_BASE(136, 136, 1, 0x0020, 0x10, 18, 3), |
1317 | PIN_FIELD_BASE(137, 137, 1, 0x0020, 0x10, 18, 3), |
1318 | PIN_FIELD_BASE(138, 138, 1, 0x0020, 0x10, 18, 3), |
1319 | PIN_FIELD_BASE(139, 139, 1, 0x0020, 0x10, 18, 3), |
1320 | PIN_FIELD_BASE(140, 140, 1, 0x0020, 0x10, 21, 3), |
1321 | PIN_FIELD_BASE(141, 141, 1, 0x0020, 0x10, 21, 3), |
1322 | PIN_FIELD_BASE(142, 142, 1, 0x0020, 0x10, 21, 3), |
1323 | PIN_FIELD_BASE(143, 143, 1, 0x0000, 0x10, 3, 3), |
1324 | PIN_FIELD_BASE(144, 144, 1, 0x0000, 0x10, 6, 3), |
1325 | PIN_FIELD_BASE(145, 145, 1, 0x0000, 0x10, 9, 3), |
1326 | PIN_FIELD_BASE(146, 146, 1, 0x0000, 0x10, 12, 3), |
1327 | PIN_FIELD_BASE(147, 147, 1, 0x0020, 0x10, 21, 3), |
1328 | PIN_FIELD_BASE(148, 148, 1, 0x0020, 0x10, 24, 3), |
1329 | PIN_FIELD_BASE(149, 149, 1, 0x0020, 0x10, 24, 3), |
1330 | PIN_FIELD_BASE(150, 150, 1, 0x0020, 0x10, 24, 3), |
1331 | PIN_FIELD_BASE(151, 151, 2, 0x0010, 0x10, 15, 3), |
1332 | PIN_FIELD_BASE(152, 152, 2, 0x0010, 0x10, 12, 3), |
1333 | PIN_FIELD_BASE(153, 153, 2, 0x0010, 0x10, 9, 3), |
1334 | PIN_FIELD_BASE(154, 154, 2, 0x0010, 0x10, 6, 3), |
1335 | PIN_FIELD_BASE(155, 155, 2, 0x0010, 0x10, 21, 3), |
1336 | PIN_FIELD_BASE(156, 156, 2, 0x0000, 0x10, 21, 3), |
1337 | PIN_FIELD_BASE(157, 157, 2, 0x0000, 0x10, 18, 3), |
1338 | PIN_FIELD_BASE(158, 158, 2, 0x0010, 0x10, 3, 3), |
1339 | PIN_FIELD_BASE(159, 159, 2, 0x0010, 0x10, 0, 3), |
1340 | PIN_FIELD_BASE(160, 160, 2, 0x0000, 0x10, 27, 3), |
1341 | PIN_FIELD_BASE(161, 161, 2, 0x0000, 0x10, 24, 3), |
1342 | PIN_FIELD_BASE(162, 162, 2, 0x0010, 0x10, 18, 3), |
1343 | PIN_FIELD_BASE(163, 163, 4, 0x0000, 0x10, 12, 3), |
1344 | PIN_FIELD_BASE(164, 164, 4, 0x0000, 0x10, 9, 3), |
1345 | PIN_FIELD_BASE(165, 165, 4, 0x0000, 0x10, 15, 3), |
1346 | PIN_FIELD_BASE(166, 166, 4, 0x0000, 0x10, 18, 3), |
1347 | PIN_FIELD_BASE(167, 167, 4, 0x0000, 0x10, 21, 3), |
1348 | PIN_FIELD_BASE(168, 168, 4, 0x0000, 0x10, 24, 3), |
1349 | PIN_FIELD_BASE(169, 169, 3, 0x0000, 0x10, 18, 3), |
1350 | PIN_FIELD_BASE(170, 170, 3, 0x0000, 0x10, 15, 3), |
1351 | PIN_FIELD_BASE(171, 171, 3, 0x0000, 0x10, 21, 3), |
1352 | PIN_FIELD_BASE(172, 172, 3, 0x0000, 0x10, 24, 3), |
1353 | PIN_FIELD_BASE(173, 173, 3, 0x0000, 0x10, 27, 3), |
1354 | PIN_FIELD_BASE(174, 174, 3, 0x0010, 0x10, 0, 3), |
1355 | PIN_FIELD_BASE(175, 175, 2, 0x0030, 0x10, 3, 3), |
1356 | PIN_FIELD_BASE(176, 176, 2, 0x0030, 0x10, 3, 3), |
1357 | }; |
1358 | |
1359 | static const struct mtk_pin_field_calc mt8188_pin_drv_adv_range[] = { |
1360 | PIN_FIELD_BASE(53, 53, 3, 0x0020, 0x10, 0, 3), |
1361 | PIN_FIELD_BASE(54, 54, 3, 0x0020, 0x10, 3, 3), |
1362 | PIN_FIELD_BASE(55, 55, 1, 0x0060, 0x10, 0, 3), |
1363 | PIN_FIELD_BASE(56, 56, 1, 0x0060, 0x10, 9, 3), |
1364 | PIN_FIELD_BASE(57, 57, 2, 0x0050, 0x10, 0, 3), |
1365 | PIN_FIELD_BASE(58, 58, 2, 0x0050, 0x10, 6, 3), |
1366 | PIN_FIELD_BASE(59, 59, 1, 0x0060, 0x10, 3, 3), |
1367 | PIN_FIELD_BASE(60, 60, 1, 0x0060, 0x10, 12, 3), |
1368 | PIN_FIELD_BASE(61, 61, 1, 0x0060, 0x10, 6, 3), |
1369 | PIN_FIELD_BASE(62, 62, 1, 0x0060, 0x10, 15, 3), |
1370 | PIN_FIELD_BASE(63, 63, 2, 0x0050, 0x10, 3, 3), |
1371 | PIN_FIELD_BASE(64, 64, 2, 0x0050, 0x10, 9, 3), |
1372 | PIN_FIELD_BASE(65, 65, 4, 0x0030, 0x10, 0, 3), |
1373 | PIN_FIELD_BASE(66, 66, 4, 0x0030, 0x10, 6, 3), |
1374 | PIN_FIELD_BASE(67, 67, 4, 0x0030, 0x10, 3, 3), |
1375 | PIN_FIELD_BASE(68, 68, 4, 0x0030, 0x10, 9, 3), |
1376 | PIN_FIELD_BASE(175, 175, 2, 0x0050, 0x10, 12, 3), |
1377 | PIN_FIELD_BASE(176, 176, 2, 0x0050, 0x10, 15, 3), |
1378 | }; |
1379 | |
1380 | static const struct mtk_pin_field_calc mt8188_pin_rsel_range[] = { |
1381 | PIN_FIELD_BASE(53, 53, 3, 0x00c0, 0x10, 0, 3), |
1382 | PIN_FIELD_BASE(54, 54, 3, 0x00c0, 0x10, 3, 3), |
1383 | PIN_FIELD_BASE(55, 55, 1, 0x0160, 0x10, 0, 3), |
1384 | PIN_FIELD_BASE(56, 56, 1, 0x0160, 0x10, 9, 3), |
1385 | PIN_FIELD_BASE(57, 57, 2, 0x0150, 0x10, 0, 3), |
1386 | PIN_FIELD_BASE(58, 58, 2, 0x0150, 0x10, 6, 3), |
1387 | PIN_FIELD_BASE(59, 59, 1, 0x0160, 0x10, 3, 3), |
1388 | PIN_FIELD_BASE(60, 60, 1, 0x0160, 0x10, 12, 3), |
1389 | PIN_FIELD_BASE(61, 61, 1, 0x0160, 0x10, 6, 3), |
1390 | PIN_FIELD_BASE(62, 62, 1, 0x0160, 0x10, 15, 3), |
1391 | PIN_FIELD_BASE(63, 63, 2, 0x0150, 0x10, 3, 3), |
1392 | PIN_FIELD_BASE(64, 64, 2, 0x0150, 0x10, 9, 3), |
1393 | PIN_FIELD_BASE(65, 65, 4, 0x00d0, 0x10, 0, 3), |
1394 | PIN_FIELD_BASE(66, 66, 4, 0x00d0, 0x10, 6, 3), |
1395 | PIN_FIELD_BASE(67, 67, 4, 0x00d0, 0x10, 3, 3), |
1396 | PIN_FIELD_BASE(68, 68, 4, 0x00d0, 0x10, 9, 3), |
1397 | PIN_FIELD_BASE(175, 175, 2, 0x0150, 0x10, 12, 3), |
1398 | PIN_FIELD_BASE(176, 176, 2, 0x0150, 0x10, 15, 3), |
1399 | }; |
1400 | |
1401 | static const struct mtk_pin_rsel mt8188_pin_rsel_val_range[] = { |
1402 | PIN_RSEL(53, 68, 0x0, 75000, 75000), |
1403 | PIN_RSEL(53, 68, 0x1, 10000, 5000), |
1404 | PIN_RSEL(53, 68, 0x2, 5000, 75000), |
1405 | PIN_RSEL(53, 68, 0x3, 4000, 5000), |
1406 | PIN_RSEL(53, 68, 0x4, 3000, 75000), |
1407 | PIN_RSEL(53, 68, 0x5, 2000, 5000), |
1408 | PIN_RSEL(53, 68, 0x6, 1500, 75000), |
1409 | PIN_RSEL(53, 68, 0x7, 1000, 5000), |
1410 | PIN_RSEL(175, 176, 0x0, 75000, 75000), |
1411 | PIN_RSEL(175, 176, 0x1, 10000, 5000), |
1412 | PIN_RSEL(175, 176, 0x2, 5000, 75000), |
1413 | PIN_RSEL(175, 176, 0x3, 4000, 5000), |
1414 | PIN_RSEL(175, 176, 0x4, 3000, 75000), |
1415 | PIN_RSEL(175, 176, 0x5, 2000, 5000), |
1416 | PIN_RSEL(175, 176, 0x6, 1500, 75000), |
1417 | PIN_RSEL(175, 176, 0x7, 1000, 5000), |
1418 | }; |
1419 | |
1420 | static const unsigned int mt8188_pull_type[] = { |
1421 | MTK_PULL_PU_PD_TYPE, /*0*/ |
1422 | MTK_PULL_PU_PD_TYPE, /*1*/ |
1423 | MTK_PULL_PU_PD_TYPE, /*2*/ |
1424 | MTK_PULL_PU_PD_TYPE, /*3*/ |
1425 | MTK_PULL_PU_PD_TYPE, /*4*/ |
1426 | MTK_PULL_PU_PD_TYPE, /*5*/ |
1427 | MTK_PULL_PU_PD_TYPE, /*6*/ |
1428 | MTK_PULL_PU_PD_TYPE, /*7*/ |
1429 | MTK_PULL_PU_PD_TYPE, /*8*/ |
1430 | MTK_PULL_PU_PD_TYPE, /*9*/ |
1431 | MTK_PULL_PU_PD_TYPE, /*10*/ |
1432 | MTK_PULL_PU_PD_TYPE, /*11*/ |
1433 | MTK_PULL_PU_PD_TYPE, /*12*/ |
1434 | MTK_PULL_PU_PD_TYPE, /*13*/ |
1435 | MTK_PULL_PU_PD_TYPE, /*14*/ |
1436 | MTK_PULL_PU_PD_TYPE, /*15*/ |
1437 | MTK_PULL_PU_PD_TYPE, /*16*/ |
1438 | MTK_PULL_PU_PD_TYPE, /*17*/ |
1439 | MTK_PULL_PU_PD_TYPE, /*18*/ |
1440 | MTK_PULL_PU_PD_TYPE, /*19*/ |
1441 | MTK_PULL_PU_PD_TYPE, /*20*/ |
1442 | MTK_PULL_PU_PD_TYPE, /*21*/ |
1443 | MTK_PULL_PU_PD_TYPE, /*22*/ |
1444 | MTK_PULL_PU_PD_TYPE, /*23*/ |
1445 | MTK_PULL_PU_PD_TYPE, /*24*/ |
1446 | MTK_PULL_PU_PD_TYPE, /*25*/ |
1447 | MTK_PULL_PU_PD_TYPE, /*26*/ |
1448 | MTK_PULL_PU_PD_TYPE, /*27*/ |
1449 | MTK_PULL_PU_PD_TYPE, /*28*/ |
1450 | MTK_PULL_PU_PD_TYPE, /*29*/ |
1451 | MTK_PULL_PU_PD_TYPE, /*30*/ |
1452 | MTK_PULL_PU_PD_TYPE, /*31*/ |
1453 | MTK_PULL_PU_PD_TYPE, /*32*/ |
1454 | MTK_PULL_PU_PD_TYPE, /*33*/ |
1455 | MTK_PULL_PU_PD_TYPE, /*34*/ |
1456 | MTK_PULL_PU_PD_TYPE, /*35*/ |
1457 | MTK_PULL_PU_PD_TYPE, /*36*/ |
1458 | MTK_PULL_PU_PD_TYPE, /*37*/ |
1459 | MTK_PULL_PU_PD_TYPE, /*38*/ |
1460 | MTK_PULL_PU_PD_TYPE, /*39*/ |
1461 | MTK_PULL_PU_PD_TYPE, /*40*/ |
1462 | MTK_PULL_PU_PD_TYPE, /*41*/ |
1463 | MTK_PULL_PUPD_R1R0_TYPE, /*42*/ |
1464 | MTK_PULL_PUPD_R1R0_TYPE, /*43*/ |
1465 | MTK_PULL_PUPD_R1R0_TYPE, /*44*/ |
1466 | MTK_PULL_PUPD_R1R0_TYPE, /*45*/ |
1467 | MTK_PULL_PU_PD_TYPE, /*46*/ |
1468 | MTK_PULL_PU_PD_TYPE, /*47*/ |
1469 | MTK_PULL_PU_PD_TYPE, /*48*/ |
1470 | MTK_PULL_PU_PD_TYPE, /*49*/ |
1471 | MTK_PULL_PU_PD_TYPE, /*50*/ |
1472 | MTK_PULL_PU_PD_TYPE, /*51*/ |
1473 | MTK_PULL_PU_PD_TYPE, /*52*/ |
1474 | MTK_PULL_PU_PD_RSEL_TYPE, /*53*/ |
1475 | MTK_PULL_PU_PD_RSEL_TYPE, /*54*/ |
1476 | MTK_PULL_PU_PD_RSEL_TYPE, /*55*/ |
1477 | MTK_PULL_PU_PD_RSEL_TYPE, /*56*/ |
1478 | MTK_PULL_PU_PD_RSEL_TYPE, /*57*/ |
1479 | MTK_PULL_PU_PD_RSEL_TYPE, /*58*/ |
1480 | MTK_PULL_PU_PD_RSEL_TYPE, /*59*/ |
1481 | MTK_PULL_PU_PD_RSEL_TYPE, /*60*/ |
1482 | MTK_PULL_PU_PD_RSEL_TYPE, /*61*/ |
1483 | MTK_PULL_PU_PD_RSEL_TYPE, /*62*/ |
1484 | MTK_PULL_PU_PD_RSEL_TYPE, /*63*/ |
1485 | MTK_PULL_PU_PD_RSEL_TYPE, /*64*/ |
1486 | MTK_PULL_PU_PD_RSEL_TYPE, /*65*/ |
1487 | MTK_PULL_PU_PD_RSEL_TYPE, /*66*/ |
1488 | MTK_PULL_PU_PD_RSEL_TYPE, /*67*/ |
1489 | MTK_PULL_PU_PD_RSEL_TYPE, /*68*/ |
1490 | MTK_PULL_PU_PD_TYPE, /*69*/ |
1491 | MTK_PULL_PU_PD_TYPE, /*70*/ |
1492 | MTK_PULL_PU_PD_TYPE, /*71*/ |
1493 | MTK_PULL_PU_PD_TYPE, /*72*/ |
1494 | MTK_PULL_PU_PD_TYPE, /*73*/ |
1495 | MTK_PULL_PU_PD_TYPE, /*74*/ |
1496 | MTK_PULL_PU_PD_TYPE, /*75*/ |
1497 | MTK_PULL_PU_PD_TYPE, /*76*/ |
1498 | MTK_PULL_PU_PD_TYPE, /*77*/ |
1499 | MTK_PULL_PU_PD_TYPE, /*78*/ |
1500 | MTK_PULL_PU_PD_TYPE, /*79*/ |
1501 | MTK_PULL_PU_PD_TYPE, /*80*/ |
1502 | MTK_PULL_PU_PD_TYPE, /*81*/ |
1503 | MTK_PULL_PU_PD_TYPE, /*82*/ |
1504 | MTK_PULL_PU_PD_TYPE, /*83*/ |
1505 | MTK_PULL_PU_PD_TYPE, /*84*/ |
1506 | MTK_PULL_PU_PD_TYPE, /*85*/ |
1507 | MTK_PULL_PU_PD_TYPE, /*86*/ |
1508 | MTK_PULL_PU_PD_TYPE, /*87*/ |
1509 | MTK_PULL_PU_PD_TYPE, /*88*/ |
1510 | MTK_PULL_PU_PD_TYPE, /*89*/ |
1511 | MTK_PULL_PU_PD_TYPE, /*90*/ |
1512 | MTK_PULL_PU_PD_TYPE, /*91*/ |
1513 | MTK_PULL_PU_PD_TYPE, /*92*/ |
1514 | MTK_PULL_PU_PD_TYPE, /*93*/ |
1515 | MTK_PULL_PU_PD_TYPE, /*94*/ |
1516 | MTK_PULL_PU_PD_TYPE, /*95*/ |
1517 | MTK_PULL_PU_PD_TYPE, /*96*/ |
1518 | MTK_PULL_PU_PD_TYPE, /*97*/ |
1519 | MTK_PULL_PU_PD_TYPE, /*98*/ |
1520 | MTK_PULL_PU_PD_TYPE, /*99*/ |
1521 | MTK_PULL_PU_PD_TYPE, /*100*/ |
1522 | MTK_PULL_PU_PD_TYPE, /*101*/ |
1523 | MTK_PULL_PU_PD_TYPE, /*102*/ |
1524 | MTK_PULL_PU_PD_TYPE, /*103*/ |
1525 | MTK_PULL_PU_PD_TYPE, /*104*/ |
1526 | MTK_PULL_PU_PD_TYPE, /*105*/ |
1527 | MTK_PULL_PU_PD_TYPE, /*106*/ |
1528 | MTK_PULL_PU_PD_TYPE, /*107*/ |
1529 | MTK_PULL_PU_PD_TYPE, /*108*/ |
1530 | MTK_PULL_PU_PD_TYPE, /*109*/ |
1531 | MTK_PULL_PU_PD_TYPE, /*110*/ |
1532 | MTK_PULL_PU_PD_TYPE, /*111*/ |
1533 | MTK_PULL_PU_PD_TYPE, /*112*/ |
1534 | MTK_PULL_PU_PD_TYPE, /*113*/ |
1535 | MTK_PULL_PU_PD_TYPE, /*114*/ |
1536 | MTK_PULL_PU_PD_TYPE, /*115*/ |
1537 | MTK_PULL_PU_PD_TYPE, /*116*/ |
1538 | MTK_PULL_PU_PD_TYPE, /*117*/ |
1539 | MTK_PULL_PU_PD_TYPE, /*118*/ |
1540 | MTK_PULL_PU_PD_TYPE, /*119*/ |
1541 | MTK_PULL_PU_PD_TYPE, /*120*/ |
1542 | MTK_PULL_PU_PD_TYPE, /*121*/ |
1543 | MTK_PULL_PU_PD_TYPE, /*122*/ |
1544 | MTK_PULL_PU_PD_TYPE, /*123*/ |
1545 | MTK_PULL_PU_PD_TYPE, /*124*/ |
1546 | MTK_PULL_PU_PD_TYPE, /*125*/ |
1547 | MTK_PULL_PU_PD_TYPE, /*126*/ |
1548 | MTK_PULL_PU_PD_TYPE, /*127*/ |
1549 | MTK_PULL_PU_PD_TYPE, /*128*/ |
1550 | MTK_PULL_PU_PD_TYPE, /*129*/ |
1551 | MTK_PULL_PU_PD_TYPE, /*130*/ |
1552 | MTK_PULL_PUPD_R1R0_TYPE, /*131*/ |
1553 | MTK_PULL_PUPD_R1R0_TYPE, /*132*/ |
1554 | MTK_PULL_PUPD_R1R0_TYPE, /*133*/ |
1555 | MTK_PULL_PUPD_R1R0_TYPE, /*134*/ |
1556 | MTK_PULL_PUPD_R1R0_TYPE, /*135*/ |
1557 | MTK_PULL_PUPD_R1R0_TYPE, /*136*/ |
1558 | MTK_PULL_PUPD_R1R0_TYPE, /*137*/ |
1559 | MTK_PULL_PUPD_R1R0_TYPE, /*138*/ |
1560 | MTK_PULL_PUPD_R1R0_TYPE, /*139*/ |
1561 | MTK_PULL_PUPD_R1R0_TYPE, /*140*/ |
1562 | MTK_PULL_PUPD_R1R0_TYPE, /*141*/ |
1563 | MTK_PULL_PUPD_R1R0_TYPE, /*142*/ |
1564 | MTK_PULL_PUPD_R1R0_TYPE, /*143*/ |
1565 | MTK_PULL_PUPD_R1R0_TYPE, /*144*/ |
1566 | MTK_PULL_PUPD_R1R0_TYPE, /*145*/ |
1567 | MTK_PULL_PUPD_R1R0_TYPE, /*146*/ |
1568 | MTK_PULL_PUPD_R1R0_TYPE, /*147*/ |
1569 | MTK_PULL_PUPD_R1R0_TYPE, /*148*/ |
1570 | MTK_PULL_PUPD_R1R0_TYPE, /*149*/ |
1571 | MTK_PULL_PUPD_R1R0_TYPE, /*150*/ |
1572 | MTK_PULL_PUPD_R1R0_TYPE, /*151*/ |
1573 | MTK_PULL_PUPD_R1R0_TYPE, /*152*/ |
1574 | MTK_PULL_PUPD_R1R0_TYPE, /*153*/ |
1575 | MTK_PULL_PUPD_R1R0_TYPE, /*154*/ |
1576 | MTK_PULL_PUPD_R1R0_TYPE, /*155*/ |
1577 | MTK_PULL_PUPD_R1R0_TYPE, /*156*/ |
1578 | MTK_PULL_PUPD_R1R0_TYPE, /*157*/ |
1579 | MTK_PULL_PUPD_R1R0_TYPE, /*158*/ |
1580 | MTK_PULL_PUPD_R1R0_TYPE, /*159*/ |
1581 | MTK_PULL_PUPD_R1R0_TYPE, /*160*/ |
1582 | MTK_PULL_PUPD_R1R0_TYPE, /*161*/ |
1583 | MTK_PULL_PUPD_R1R0_TYPE, /*162*/ |
1584 | MTK_PULL_PUPD_R1R0_TYPE, /*163*/ |
1585 | MTK_PULL_PUPD_R1R0_TYPE, /*164*/ |
1586 | MTK_PULL_PUPD_R1R0_TYPE, /*165*/ |
1587 | MTK_PULL_PUPD_R1R0_TYPE, /*166*/ |
1588 | MTK_PULL_PUPD_R1R0_TYPE, /*167*/ |
1589 | MTK_PULL_PUPD_R1R0_TYPE, /*168*/ |
1590 | MTK_PULL_PUPD_R1R0_TYPE, /*169*/ |
1591 | MTK_PULL_PUPD_R1R0_TYPE, /*170*/ |
1592 | MTK_PULL_PUPD_R1R0_TYPE, /*171*/ |
1593 | MTK_PULL_PUPD_R1R0_TYPE, /*172*/ |
1594 | MTK_PULL_PUPD_R1R0_TYPE, /*173*/ |
1595 | MTK_PULL_PUPD_R1R0_TYPE, /*174*/ |
1596 | MTK_PULL_PU_PD_RSEL_TYPE, /*175*/ |
1597 | MTK_PULL_PU_PD_RSEL_TYPE, /*176*/ |
1598 | }; |
1599 | |
1600 | static const struct mtk_pin_reg_calc mt8188_reg_cals[PINCTRL_PIN_REG_MAX] = { |
1601 | [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8188_pin_mode_range), |
1602 | [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8188_pin_dir_range), |
1603 | [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8188_pin_di_range), |
1604 | [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt8188_pin_do_range), |
1605 | [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt8188_pin_smt_range), |
1606 | [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt8188_pin_ies_range), |
1607 | [PINCTRL_PIN_REG_TDSEL] = MTK_RANGE(mt8188_pin_tdsel_range), |
1608 | [PINCTRL_PIN_REG_RDSEL] = MTK_RANGE(mt8188_pin_rdsel_range), |
1609 | [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt8188_pin_pupd_range), |
1610 | [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt8188_pin_r0_range), |
1611 | [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt8188_pin_r1_range), |
1612 | [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt8188_pin_pu_range), |
1613 | [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt8188_pin_pd_range), |
1614 | [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt8188_pin_drv_range), |
1615 | [PINCTRL_PIN_REG_DRV_ADV] = MTK_RANGE(mt8188_pin_drv_adv_range), |
1616 | [PINCTRL_PIN_REG_RSEL] = MTK_RANGE(mt8188_pin_rsel_range), |
1617 | }; |
1618 | |
1619 | static const char * const mt8188_pinctrl_register_base_name[] = { |
1620 | "iocfg0" , "iocfg_rm" , "iocfg_lt" , "iocfg_lm" , "iocfg_rt" , |
1621 | }; |
1622 | |
1623 | static const struct mtk_eint_hw mt8188_eint_hw = { |
1624 | .port_mask = 0xf, |
1625 | .ports = 7, |
1626 | .ap_num = 225, |
1627 | .db_cnt = 32, |
1628 | .db_time = debounce_time_mt6765, |
1629 | }; |
1630 | |
1631 | static const struct mtk_pin_soc mt8188_data = { |
1632 | .reg_cal = mt8188_reg_cals, |
1633 | .pins = mtk_pins_mt8188, |
1634 | .npins = ARRAY_SIZE(mtk_pins_mt8188), |
1635 | .ngrps = ARRAY_SIZE(mtk_pins_mt8188), |
1636 | .eint_hw = &mt8188_eint_hw, |
1637 | .nfuncs = 8, |
1638 | .gpio_m = 0, |
1639 | .base_names = mt8188_pinctrl_register_base_name, |
1640 | .nbase_names = ARRAY_SIZE(mt8188_pinctrl_register_base_name), |
1641 | .pull_type = mt8188_pull_type, |
1642 | .pin_rsel = mt8188_pin_rsel_val_range, |
1643 | .npin_rsel = ARRAY_SIZE(mt8188_pin_rsel_val_range), |
1644 | .bias_set_combo = mtk_pinconf_bias_set_combo, |
1645 | .bias_get_combo = mtk_pinconf_bias_get_combo, |
1646 | .drive_set = mtk_pinconf_drive_set_rev1, |
1647 | .drive_get = mtk_pinconf_drive_get_rev1, |
1648 | .adv_drive_set = mtk_pinconf_adv_drive_set_raw, |
1649 | .adv_drive_get = mtk_pinconf_adv_drive_get_raw, |
1650 | }; |
1651 | |
1652 | static const struct of_device_id mt8188_pinctrl_of_match[] = { |
1653 | { .compatible = "mediatek,mt8188-pinctrl" , .data = &mt8188_data }, |
1654 | { } |
1655 | }; |
1656 | |
1657 | static struct platform_driver mt8188_pinctrl_driver = { |
1658 | .driver = { |
1659 | .name = "mt8188-pinctrl" , |
1660 | .of_match_table = mt8188_pinctrl_of_match, |
1661 | .pm = pm_sleep_ptr(&mtk_paris_pinctrl_pm_ops) |
1662 | }, |
1663 | .probe = mtk_paris_pinctrl_probe, |
1664 | }; |
1665 | |
1666 | static int __init mt8188_pinctrl_init(void) |
1667 | { |
1668 | return platform_driver_register(&mt8188_pinctrl_driver); |
1669 | } |
1670 | |
1671 | arch_initcall(mt8188_pinctrl_init); |
1672 | |
1673 | MODULE_DESCRIPTION("MediaTek MT8188 Pinctrl Driver" ); |
1674 | |