Merge tag 'phy-fixes-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
[linux-2.6-microblaze.git] / drivers / pinctrl / mediatek / pinctrl-mt8188.c
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 = &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");