1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * Copyright (C) 2019 MediaTek Inc.
4*4882a593Smuzhiyun * Author: Zhiyong Tao <zhiyong.tao@mediatek.com>
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun #include <linux/module.h>
9*4882a593Smuzhiyun #include "pinctrl-mtk-mt8192.h"
10*4882a593Smuzhiyun #include "pinctrl-paris.h"
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun /* MT8192 have multiple bases to program pin configuration listed as the below:
13*4882a593Smuzhiyun * iocfg0:0x10005000, iocfg_rm:0x11C20000, iocfg_bm:0x11D10000,
14*4882a593Smuzhiyun * iocfg_bl:0x11D30000, iocfg_br:0x11D40000, iocfg_lm:0x11E20000,
15*4882a593Smuzhiyun * iocfg_lb:0x11E70000, iocfg_rt:0x11EA0000, iocfg_lt:0x11F20000,
16*4882a593Smuzhiyun * iocfg_tl:0x11F30000
17*4882a593Smuzhiyun * _i_based could be used to indicate what base the pin should be mapped into.
18*4882a593Smuzhiyun */
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun #define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \
21*4882a593Smuzhiyun PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \
22*4882a593Smuzhiyun 32, 0)
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun #define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \
25*4882a593Smuzhiyun PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \
26*4882a593Smuzhiyun 32, 1)
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_mode_range[] = {
29*4882a593Smuzhiyun PIN_FIELD(0, 228, 0x300, 0x10, 0, 4),
30*4882a593Smuzhiyun };
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_dir_range[] = {
33*4882a593Smuzhiyun PIN_FIELD(0, 228, 0x0, 0x10, 0, 1),
34*4882a593Smuzhiyun };
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_di_range[] = {
37*4882a593Smuzhiyun PIN_FIELD(0, 228, 0x200, 0x10, 0, 1),
38*4882a593Smuzhiyun };
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_do_range[] = {
41*4882a593Smuzhiyun PIN_FIELD(0, 228, 0x100, 0x10, 0, 1),
42*4882a593Smuzhiyun };
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_smt_range[] = {
45*4882a593Smuzhiyun PIN_FIELD_BASE(0, 0, 4, 0x00f0, 0x10, 8, 1),
46*4882a593Smuzhiyun PIN_FIELD_BASE(1, 1, 4, 0x00f0, 0x10, 8, 1),
47*4882a593Smuzhiyun PIN_FIELD_BASE(2, 2, 4, 0x00f0, 0x10, 8, 1),
48*4882a593Smuzhiyun PIN_FIELD_BASE(3, 3, 4, 0x00f0, 0x10, 8, 1),
49*4882a593Smuzhiyun PIN_FIELD_BASE(4, 4, 4, 0x00f0, 0x10, 8, 1),
50*4882a593Smuzhiyun PIN_FIELD_BASE(5, 5, 4, 0x00f0, 0x10, 9, 1),
51*4882a593Smuzhiyun PIN_FIELD_BASE(6, 6, 4, 0x00f0, 0x10, 9, 1),
52*4882a593Smuzhiyun PIN_FIELD_BASE(7, 7, 4, 0x00f0, 0x10, 9, 1),
53*4882a593Smuzhiyun PIN_FIELD_BASE(8, 8, 4, 0x00f0, 0x10, 9, 1),
54*4882a593Smuzhiyun PIN_FIELD_BASE(9, 9, 4, 0x00f0, 0x10, 5, 1),
55*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0070, 0x10, 0, 1),
56*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0070, 0x10, 1, 1),
57*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0070, 0x10, 2, 1),
58*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0070, 0x10, 3, 1),
59*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0070, 0x10, 4, 1),
60*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0070, 0x10, 5, 1),
61*4882a593Smuzhiyun PIN_FIELD_BASE(16, 16, 8, 0x0080, 0x10, 0, 1),
62*4882a593Smuzhiyun PIN_FIELD_BASE(17, 17, 8, 0x0080, 0x10, 0, 1),
63*4882a593Smuzhiyun PIN_FIELD_BASE(18, 18, 7, 0x0100, 0x10, 4, 1),
64*4882a593Smuzhiyun PIN_FIELD_BASE(19, 19, 7, 0x0100, 0x10, 4, 1),
65*4882a593Smuzhiyun PIN_FIELD_BASE(20, 20, 7, 0x0100, 0x10, 5, 1),
66*4882a593Smuzhiyun PIN_FIELD_BASE(21, 21, 7, 0x0100, 0x10, 5, 1),
67*4882a593Smuzhiyun PIN_FIELD_BASE(22, 22, 2, 0x00c0, 0x10, 3, 1),
68*4882a593Smuzhiyun PIN_FIELD_BASE(23, 23, 2, 0x00c0, 0x10, 3, 1),
69*4882a593Smuzhiyun PIN_FIELD_BASE(24, 24, 2, 0x00c0, 0x10, 3, 1),
70*4882a593Smuzhiyun PIN_FIELD_BASE(25, 25, 2, 0x00c0, 0x10, 3, 1),
71*4882a593Smuzhiyun PIN_FIELD_BASE(26, 26, 3, 0x00a0, 0x10, 10, 1),
72*4882a593Smuzhiyun PIN_FIELD_BASE(27, 27, 3, 0x00a0, 0x10, 10, 1),
73*4882a593Smuzhiyun PIN_FIELD_BASE(28, 28, 3, 0x00a0, 0x10, 11, 1),
74*4882a593Smuzhiyun PIN_FIELD_BASE(29, 29, 3, 0x00a0, 0x10, 11, 1),
75*4882a593Smuzhiyun PIN_FIELD_BASE(30, 30, 3, 0x00a0, 0x10, 11, 1),
76*4882a593Smuzhiyun PIN_FIELD_BASE(31, 31, 3, 0x00a0, 0x10, 11, 1),
77*4882a593Smuzhiyun PIN_FIELD_BASE(32, 32, 3, 0x00a0, 0x10, 12, 1),
78*4882a593Smuzhiyun PIN_FIELD_BASE(33, 33, 3, 0x00a0, 0x10, 12, 1),
79*4882a593Smuzhiyun PIN_FIELD_BASE(34, 34, 3, 0x00a0, 0x10, 12, 1),
80*4882a593Smuzhiyun PIN_FIELD_BASE(35, 35, 3, 0x00a0, 0x10, 12, 1),
81*4882a593Smuzhiyun PIN_FIELD_BASE(36, 36, 2, 0x00c0, 0x10, 2, 1),
82*4882a593Smuzhiyun PIN_FIELD_BASE(37, 37, 2, 0x00c0, 0x10, 2, 1),
83*4882a593Smuzhiyun PIN_FIELD_BASE(38, 38, 2, 0x00c0, 0x10, 2, 1),
84*4882a593Smuzhiyun PIN_FIELD_BASE(39, 39, 2, 0x00c0, 0x10, 2, 1),
85*4882a593Smuzhiyun PIN_FIELD_BASE(40, 40, 8, 0x0080, 0x10, 0, 1),
86*4882a593Smuzhiyun PIN_FIELD_BASE(41, 41, 8, 0x0080, 0x10, 0, 1),
87*4882a593Smuzhiyun PIN_FIELD_BASE(42, 42, 8, 0x0080, 0x10, 1, 1),
88*4882a593Smuzhiyun PIN_FIELD_BASE(43, 43, 7, 0x0100, 0x10, 4, 1),
89*4882a593Smuzhiyun PIN_FIELD_BASE(44, 44, 7, 0x0100, 0x10, 4, 1),
90*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x00c0, 0x10, 12, 1),
91*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x00c0, 0x10, 12, 1),
92*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x00c0, 0x10, 12, 1),
93*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x00c0, 0x10, 13, 1),
94*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x00c0, 0x10, 13, 1),
95*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x00c0, 0x10, 13, 1),
96*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x00c0, 0x10, 4, 1),
97*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x00c0, 0x10, 5, 1),
98*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x00c0, 0x10, 9, 1),
99*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x00c0, 0x10, 6, 1),
100*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x00c0, 0x10, 8, 1),
101*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x00c0, 0x10, 7, 1),
102*4882a593Smuzhiyun PIN_FIELD_BASE(57, 57, 3, 0x00a0, 0x10, 8, 1),
103*4882a593Smuzhiyun PIN_FIELD_BASE(58, 58, 3, 0x00a0, 0x10, 8, 1),
104*4882a593Smuzhiyun PIN_FIELD_BASE(59, 59, 3, 0x00a0, 0x10, 9, 1),
105*4882a593Smuzhiyun PIN_FIELD_BASE(60, 60, 3, 0x00a0, 0x10, 9, 1),
106*4882a593Smuzhiyun PIN_FIELD_BASE(61, 61, 3, 0x00a0, 0x10, 10, 1),
107*4882a593Smuzhiyun PIN_FIELD_BASE(62, 62, 3, 0x00a0, 0x10, 10, 1),
108*4882a593Smuzhiyun PIN_FIELD_BASE(63, 63, 3, 0x00a0, 0x10, 0, 1),
109*4882a593Smuzhiyun PIN_FIELD_BASE(64, 64, 3, 0x00a0, 0x10, 0, 1),
110*4882a593Smuzhiyun PIN_FIELD_BASE(65, 65, 3, 0x00a0, 0x10, 0, 1),
111*4882a593Smuzhiyun PIN_FIELD_BASE(66, 66, 3, 0x00a0, 0x10, 0, 1),
112*4882a593Smuzhiyun PIN_FIELD_BASE(67, 67, 3, 0x00a0, 0x10, 1, 1),
113*4882a593Smuzhiyun PIN_FIELD_BASE(68, 68, 3, 0x00a0, 0x10, 1, 1),
114*4882a593Smuzhiyun PIN_FIELD_BASE(69, 69, 3, 0x00a0, 0x10, 1, 1),
115*4882a593Smuzhiyun PIN_FIELD_BASE(70, 70, 3, 0x00a0, 0x10, 1, 1),
116*4882a593Smuzhiyun PIN_FIELD_BASE(71, 71, 3, 0x00a0, 0x10, 2, 1),
117*4882a593Smuzhiyun PIN_FIELD_BASE(72, 72, 3, 0x00a0, 0x10, 2, 1),
118*4882a593Smuzhiyun PIN_FIELD_BASE(73, 73, 3, 0x00a0, 0x10, 2, 1),
119*4882a593Smuzhiyun PIN_FIELD_BASE(74, 74, 3, 0x00a0, 0x10, 2, 1),
120*4882a593Smuzhiyun PIN_FIELD_BASE(75, 75, 3, 0x00a0, 0x10, 3, 1),
121*4882a593Smuzhiyun PIN_FIELD_BASE(76, 76, 3, 0x00a0, 0x10, 3, 1),
122*4882a593Smuzhiyun PIN_FIELD_BASE(77, 77, 3, 0x00a0, 0x10, 3, 1),
123*4882a593Smuzhiyun PIN_FIELD_BASE(78, 78, 3, 0x00a0, 0x10, 3, 1),
124*4882a593Smuzhiyun PIN_FIELD_BASE(79, 79, 3, 0x00a0, 0x10, 4, 1),
125*4882a593Smuzhiyun PIN_FIELD_BASE(80, 80, 3, 0x00a0, 0x10, 4, 1),
126*4882a593Smuzhiyun PIN_FIELD_BASE(81, 81, 3, 0x00a0, 0x10, 4, 1),
127*4882a593Smuzhiyun PIN_FIELD_BASE(82, 82, 3, 0x00a0, 0x10, 4, 1),
128*4882a593Smuzhiyun PIN_FIELD_BASE(83, 83, 3, 0x00a0, 0x10, 5, 1),
129*4882a593Smuzhiyun PIN_FIELD_BASE(84, 84, 3, 0x00a0, 0x10, 5, 1),
130*4882a593Smuzhiyun PIN_FIELD_BASE(85, 85, 3, 0x00a0, 0x10, 7, 1),
131*4882a593Smuzhiyun PIN_FIELD_BASE(86, 86, 3, 0x00a0, 0x10, 7, 1),
132*4882a593Smuzhiyun PIN_FIELD_BASE(87, 87, 3, 0x00a0, 0x10, 6, 1),
133*4882a593Smuzhiyun PIN_FIELD_BASE(88, 88, 3, 0x00a0, 0x10, 6, 1),
134*4882a593Smuzhiyun PIN_FIELD_BASE(89, 89, 2, 0x00c0, 0x10, 9, 1),
135*4882a593Smuzhiyun PIN_FIELD_BASE(90, 90, 2, 0x00c0, 0x10, 10, 1),
136*4882a593Smuzhiyun PIN_FIELD_BASE(91, 91, 2, 0x00c0, 0x10, 4, 1),
137*4882a593Smuzhiyun PIN_FIELD_BASE(92, 92, 2, 0x00c0, 0x10, 4, 1),
138*4882a593Smuzhiyun PIN_FIELD_BASE(93, 93, 2, 0x00c0, 0x10, 4, 1),
139*4882a593Smuzhiyun PIN_FIELD_BASE(94, 94, 2, 0x00c0, 0x10, 4, 1),
140*4882a593Smuzhiyun PIN_FIELD_BASE(95, 95, 2, 0x00c0, 0x10, 5, 1),
141*4882a593Smuzhiyun PIN_FIELD_BASE(96, 96, 2, 0x00c0, 0x10, 5, 1),
142*4882a593Smuzhiyun PIN_FIELD_BASE(97, 97, 2, 0x00c0, 0x10, 5, 1),
143*4882a593Smuzhiyun PIN_FIELD_BASE(98, 98, 2, 0x00c0, 0x10, 5, 1),
144*4882a593Smuzhiyun PIN_FIELD_BASE(99, 99, 2, 0x00c0, 0x10, 6, 1),
145*4882a593Smuzhiyun PIN_FIELD_BASE(100, 100, 2, 0x00c0, 0x10, 6, 1),
146*4882a593Smuzhiyun PIN_FIELD_BASE(101, 101, 2, 0x00c0, 0x10, 6, 1),
147*4882a593Smuzhiyun PIN_FIELD_BASE(102, 102, 2, 0x00c0, 0x10, 6, 1),
148*4882a593Smuzhiyun PIN_FIELD_BASE(103, 103, 2, 0x00c0, 0x10, 7, 1),
149*4882a593Smuzhiyun PIN_FIELD_BASE(104, 104, 2, 0x00c0, 0x10, 7, 1),
150*4882a593Smuzhiyun PIN_FIELD_BASE(105, 105, 2, 0x00c0, 0x10, 7, 1),
151*4882a593Smuzhiyun PIN_FIELD_BASE(106, 106, 2, 0x00c0, 0x10, 7, 1),
152*4882a593Smuzhiyun PIN_FIELD_BASE(107, 107, 2, 0x00c0, 0x10, 8, 1),
153*4882a593Smuzhiyun PIN_FIELD_BASE(108, 108, 2, 0x00c0, 0x10, 8, 1),
154*4882a593Smuzhiyun PIN_FIELD_BASE(109, 109, 2, 0x00c0, 0x10, 0, 1),
155*4882a593Smuzhiyun PIN_FIELD_BASE(110, 110, 2, 0x00c0, 0x10, 8, 1),
156*4882a593Smuzhiyun PIN_FIELD_BASE(111, 111, 2, 0x00c0, 0x10, 0, 1),
157*4882a593Smuzhiyun PIN_FIELD_BASE(112, 112, 2, 0x00c0, 0x10, 0, 1),
158*4882a593Smuzhiyun PIN_FIELD_BASE(113, 113, 2, 0x00c0, 0x10, 8, 1),
159*4882a593Smuzhiyun PIN_FIELD_BASE(114, 114, 2, 0x00c0, 0x10, 1, 1),
160*4882a593Smuzhiyun PIN_FIELD_BASE(115, 115, 2, 0x00c0, 0x10, 1, 1),
161*4882a593Smuzhiyun PIN_FIELD_BASE(116, 116, 2, 0x00c0, 0x10, 1, 1),
162*4882a593Smuzhiyun PIN_FIELD_BASE(117, 117, 2, 0x00c0, 0x10, 0, 1),
163*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x00f0, 0x10, 12, 1),
164*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x00f0, 0x10, 18, 1),
165*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x00f0, 0x10, 17, 1),
166*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00f0, 0x10, 23, 1),
167*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x00f0, 0x10, 16, 1),
168*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00f0, 0x10, 22, 1),
169*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x00f0, 0x10, 15, 1),
170*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00f0, 0x10, 21, 1),
171*4882a593Smuzhiyun PIN_FIELD_BASE(126, 126, 4, 0x00f0, 0x10, 6, 1),
172*4882a593Smuzhiyun PIN_FIELD_BASE(127, 127, 4, 0x00f0, 0x10, 7, 1),
173*4882a593Smuzhiyun PIN_FIELD_BASE(128, 128, 4, 0x00f0, 0x10, 10, 1),
174*4882a593Smuzhiyun PIN_FIELD_BASE(129, 129, 4, 0x00f0, 0x10, 10, 1),
175*4882a593Smuzhiyun PIN_FIELD_BASE(130, 130, 4, 0x00f0, 0x10, 3, 1),
176*4882a593Smuzhiyun PIN_FIELD_BASE(131, 131, 4, 0x00f0, 0x10, 4, 1),
177*4882a593Smuzhiyun PIN_FIELD_BASE(132, 132, 4, 0x00f0, 0x10, 11, 1),
178*4882a593Smuzhiyun PIN_FIELD_BASE(133, 133, 4, 0x00f0, 0x10, 10, 1),
179*4882a593Smuzhiyun PIN_FIELD_BASE(134, 134, 4, 0x00f0, 0x10, 10, 1),
180*4882a593Smuzhiyun PIN_FIELD_BASE(135, 135, 4, 0x00f0, 0x10, 11, 1),
181*4882a593Smuzhiyun PIN_FIELD_BASE(136, 136, 4, 0x00f0, 0x10, 0, 1),
182*4882a593Smuzhiyun PIN_FIELD_BASE(137, 137, 4, 0x00f0, 0x10, 1, 1),
183*4882a593Smuzhiyun PIN_FIELD_BASE(138, 138, 4, 0x00f0, 0x10, 2, 1),
184*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x00f0, 0x10, 14, 1),
185*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x00f0, 0x10, 20, 1),
186*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x00f0, 0x10, 13, 1),
187*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x00f0, 0x10, 19, 1),
188*4882a593Smuzhiyun PIN_FIELD_BASE(143, 143, 1, 0x00c0, 0x10, 10, 1),
189*4882a593Smuzhiyun PIN_FIELD_BASE(144, 144, 1, 0x00c0, 0x10, 10, 1),
190*4882a593Smuzhiyun PIN_FIELD_BASE(145, 145, 1, 0x00c0, 0x10, 11, 1),
191*4882a593Smuzhiyun PIN_FIELD_BASE(146, 146, 1, 0x00c0, 0x10, 10, 1),
192*4882a593Smuzhiyun PIN_FIELD_BASE(147, 147, 1, 0x00c0, 0x10, 10, 1),
193*4882a593Smuzhiyun PIN_FIELD_BASE(148, 148, 1, 0x00c0, 0x10, 3, 1),
194*4882a593Smuzhiyun PIN_FIELD_BASE(149, 149, 1, 0x00c0, 0x10, 0, 1),
195*4882a593Smuzhiyun PIN_FIELD_BASE(150, 150, 1, 0x00c0, 0x10, 1, 1),
196*4882a593Smuzhiyun PIN_FIELD_BASE(151, 151, 1, 0x00c0, 0x10, 2, 1),
197*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x0100, 0x10, 6, 1),
198*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x0100, 0x10, 6, 1),
199*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x0100, 0x10, 6, 1),
200*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x0100, 0x10, 6, 1),
201*4882a593Smuzhiyun PIN_FIELD_BASE(156, 156, 7, 0x0100, 0x10, 7, 1),
202*4882a593Smuzhiyun PIN_FIELD_BASE(157, 157, 7, 0x0100, 0x10, 7, 1),
203*4882a593Smuzhiyun PIN_FIELD_BASE(158, 158, 7, 0x0100, 0x10, 7, 1),
204*4882a593Smuzhiyun PIN_FIELD_BASE(159, 159, 7, 0x0100, 0x10, 7, 1),
205*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0100, 0x10, 12, 1),
206*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0100, 0x10, 13, 1),
207*4882a593Smuzhiyun PIN_FIELD_BASE(162, 162, 7, 0x0100, 0x10, 0, 1),
208*4882a593Smuzhiyun PIN_FIELD_BASE(163, 163, 7, 0x0100, 0x10, 1, 1),
209*4882a593Smuzhiyun PIN_FIELD_BASE(164, 164, 7, 0x0100, 0x10, 8, 1),
210*4882a593Smuzhiyun PIN_FIELD_BASE(165, 165, 7, 0x0100, 0x10, 8, 1),
211*4882a593Smuzhiyun PIN_FIELD_BASE(166, 166, 7, 0x0100, 0x10, 8, 1),
212*4882a593Smuzhiyun PIN_FIELD_BASE(167, 167, 7, 0x0100, 0x10, 8, 1),
213*4882a593Smuzhiyun PIN_FIELD_BASE(168, 168, 7, 0x0100, 0x10, 2, 1),
214*4882a593Smuzhiyun PIN_FIELD_BASE(169, 169, 7, 0x0100, 0x10, 3, 1),
215*4882a593Smuzhiyun PIN_FIELD_BASE(170, 170, 7, 0x0100, 0x10, 8, 1),
216*4882a593Smuzhiyun PIN_FIELD_BASE(171, 171, 7, 0x0100, 0x10, 8, 1),
217*4882a593Smuzhiyun PIN_FIELD_BASE(172, 172, 7, 0x0100, 0x10, 9, 1),
218*4882a593Smuzhiyun PIN_FIELD_BASE(173, 173, 7, 0x0100, 0x10, 10, 1),
219*4882a593Smuzhiyun PIN_FIELD_BASE(174, 174, 7, 0x0100, 0x10, 9, 1),
220*4882a593Smuzhiyun PIN_FIELD_BASE(175, 175, 7, 0x0100, 0x10, 10, 1),
221*4882a593Smuzhiyun PIN_FIELD_BASE(176, 176, 7, 0x0100, 0x10, 9, 1),
222*4882a593Smuzhiyun PIN_FIELD_BASE(177, 177, 7, 0x0100, 0x10, 9, 1),
223*4882a593Smuzhiyun PIN_FIELD_BASE(178, 178, 7, 0x0100, 0x10, 10, 1),
224*4882a593Smuzhiyun PIN_FIELD_BASE(179, 179, 7, 0x0100, 0x10, 10, 1),
225*4882a593Smuzhiyun PIN_FIELD_BASE(180, 180, 7, 0x0100, 0x10, 11, 1),
226*4882a593Smuzhiyun PIN_FIELD_BASE(181, 181, 7, 0x0100, 0x10, 11, 1),
227*4882a593Smuzhiyun PIN_FIELD_BASE(182, 182, 7, 0x0100, 0x10, 11, 1),
228*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0090, 0x10, 1, 1),
229*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0090, 0x10, 2, 1),
230*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0090, 0x10, 4, 1),
231*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0090, 0x10, 6, 1),
232*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0090, 0x10, 8, 1),
233*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0090, 0x10, 3, 1),
234*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0090, 0x10, 7, 1),
235*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0090, 0x10, 9, 1),
236*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0090, 0x10, 10, 1),
237*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0090, 0x10, 0, 1),
238*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0090, 0x10, 5, 1),
239*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0090, 0x10, 11, 1),
240*4882a593Smuzhiyun PIN_FIELD_BASE(195, 195, 5, 0x0080, 0x10, 1, 1),
241*4882a593Smuzhiyun PIN_FIELD_BASE(196, 196, 5, 0x0080, 0x10, 3, 1),
242*4882a593Smuzhiyun PIN_FIELD_BASE(197, 197, 5, 0x0080, 0x10, 3, 1),
243*4882a593Smuzhiyun PIN_FIELD_BASE(198, 198, 5, 0x0080, 0x10, 3, 1),
244*4882a593Smuzhiyun PIN_FIELD_BASE(199, 199, 5, 0x0080, 0x10, 4, 1),
245*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0080, 0x10, 3, 1),
246*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0080, 0x10, 5, 1),
247*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0080, 0x10, 5, 1),
248*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0080, 0x10, 6, 1),
249*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0080, 0x10, 2, 1),
250*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0080, 0x10, 4, 1),
251*4882a593Smuzhiyun PIN_FIELD_BASE(206, 206, 5, 0x0080, 0x10, 1, 1),
252*4882a593Smuzhiyun PIN_FIELD_BASE(207, 207, 5, 0x0080, 0x10, 1, 1),
253*4882a593Smuzhiyun PIN_FIELD_BASE(208, 208, 5, 0x0080, 0x10, 7, 1),
254*4882a593Smuzhiyun PIN_FIELD_BASE(209, 209, 5, 0x0080, 0x10, 0, 1),
255*4882a593Smuzhiyun PIN_FIELD_BASE(210, 210, 5, 0x0080, 0x10, 0, 1),
256*4882a593Smuzhiyun PIN_FIELD_BASE(211, 211, 5, 0x0080, 0x10, 0, 1),
257*4882a593Smuzhiyun PIN_FIELD_BASE(212, 212, 5, 0x0080, 0x10, 0, 1),
258*4882a593Smuzhiyun PIN_FIELD_BASE(213, 213, 5, 0x0080, 0x10, 1, 1),
259*4882a593Smuzhiyun PIN_FIELD_BASE(214, 214, 5, 0x0080, 0x10, 2, 1),
260*4882a593Smuzhiyun PIN_FIELD_BASE(215, 215, 5, 0x0080, 0x10, 2, 1),
261*4882a593Smuzhiyun PIN_FIELD_BASE(216, 216, 5, 0x0080, 0x10, 2, 1),
262*4882a593Smuzhiyun PIN_FIELD_BASE(217, 217, 5, 0x0080, 0x10, 2, 1),
263*4882a593Smuzhiyun PIN_FIELD_BASE(218, 218, 5, 0x0080, 0x10, 3, 1),
264*4882a593Smuzhiyun PIN_FIELD_BASE(219, 219, 5, 0x0080, 0x10, 4, 1),
265*4882a593Smuzhiyun };
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_ies_range[] = {
268*4882a593Smuzhiyun PIN_FIELD_BASE(0, 0, 4, 0x0070, 0x10, 9, 1),
269*4882a593Smuzhiyun PIN_FIELD_BASE(1, 1, 4, 0x0070, 0x10, 10, 1),
270*4882a593Smuzhiyun PIN_FIELD_BASE(2, 2, 4, 0x0070, 0x10, 11, 1),
271*4882a593Smuzhiyun PIN_FIELD_BASE(3, 3, 4, 0x0070, 0x10, 12, 1),
272*4882a593Smuzhiyun PIN_FIELD_BASE(4, 4, 4, 0x0070, 0x10, 13, 1),
273*4882a593Smuzhiyun PIN_FIELD_BASE(5, 5, 4, 0x0070, 0x10, 14, 1),
274*4882a593Smuzhiyun PIN_FIELD_BASE(6, 6, 4, 0x0070, 0x10, 15, 1),
275*4882a593Smuzhiyun PIN_FIELD_BASE(7, 7, 4, 0x0070, 0x10, 16, 1),
276*4882a593Smuzhiyun PIN_FIELD_BASE(8, 8, 4, 0x0070, 0x10, 17, 1),
277*4882a593Smuzhiyun PIN_FIELD_BASE(9, 9, 4, 0x0070, 0x10, 18, 1),
278*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0010, 0x10, 0, 1),
279*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0010, 0x10, 1, 1),
280*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0010, 0x10, 2, 1),
281*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0010, 0x10, 3, 1),
282*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0010, 0x10, 4, 1),
283*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0010, 0x10, 5, 1),
284*4882a593Smuzhiyun PIN_FIELD_BASE(16, 16, 8, 0x0030, 0x10, 2, 1),
285*4882a593Smuzhiyun PIN_FIELD_BASE(17, 17, 8, 0x0030, 0x10, 3, 1),
286*4882a593Smuzhiyun PIN_FIELD_BASE(18, 18, 7, 0x0050, 0x10, 21, 1),
287*4882a593Smuzhiyun PIN_FIELD_BASE(19, 19, 7, 0x0050, 0x10, 22, 1),
288*4882a593Smuzhiyun PIN_FIELD_BASE(20, 20, 7, 0x0050, 0x10, 23, 1),
289*4882a593Smuzhiyun PIN_FIELD_BASE(21, 21, 7, 0x0050, 0x10, 24, 1),
290*4882a593Smuzhiyun PIN_FIELD_BASE(22, 22, 2, 0x0050, 0x10, 3, 1),
291*4882a593Smuzhiyun PIN_FIELD_BASE(23, 23, 2, 0x0050, 0x10, 4, 1),
292*4882a593Smuzhiyun PIN_FIELD_BASE(24, 24, 2, 0x0050, 0x10, 5, 1),
293*4882a593Smuzhiyun PIN_FIELD_BASE(25, 25, 2, 0x0050, 0x10, 6, 1),
294*4882a593Smuzhiyun PIN_FIELD_BASE(26, 26, 3, 0x0040, 0x10, 5, 1),
295*4882a593Smuzhiyun PIN_FIELD_BASE(27, 27, 3, 0x0040, 0x10, 6, 1),
296*4882a593Smuzhiyun PIN_FIELD_BASE(28, 28, 3, 0x0040, 0x10, 7, 1),
297*4882a593Smuzhiyun PIN_FIELD_BASE(29, 29, 3, 0x0040, 0x10, 8, 1),
298*4882a593Smuzhiyun PIN_FIELD_BASE(30, 30, 3, 0x0040, 0x10, 9, 1),
299*4882a593Smuzhiyun PIN_FIELD_BASE(31, 31, 3, 0x0030, 0x10, 27, 1),
300*4882a593Smuzhiyun PIN_FIELD_BASE(32, 32, 3, 0x0030, 0x10, 24, 1),
301*4882a593Smuzhiyun PIN_FIELD_BASE(33, 33, 3, 0x0030, 0x10, 26, 1),
302*4882a593Smuzhiyun PIN_FIELD_BASE(34, 34, 3, 0x0030, 0x10, 23, 1),
303*4882a593Smuzhiyun PIN_FIELD_BASE(35, 35, 3, 0x0030, 0x10, 25, 1),
304*4882a593Smuzhiyun PIN_FIELD_BASE(36, 36, 2, 0x0050, 0x10, 20, 1),
305*4882a593Smuzhiyun PIN_FIELD_BASE(37, 37, 2, 0x0050, 0x10, 21, 1),
306*4882a593Smuzhiyun PIN_FIELD_BASE(38, 38, 2, 0x0050, 0x10, 22, 1),
307*4882a593Smuzhiyun PIN_FIELD_BASE(39, 39, 2, 0x0050, 0x10, 23, 1),
308*4882a593Smuzhiyun PIN_FIELD_BASE(40, 40, 8, 0x0030, 0x10, 0, 1),
309*4882a593Smuzhiyun PIN_FIELD_BASE(41, 41, 8, 0x0030, 0x10, 1, 1),
310*4882a593Smuzhiyun PIN_FIELD_BASE(42, 42, 8, 0x0030, 0x10, 4, 1),
311*4882a593Smuzhiyun PIN_FIELD_BASE(43, 43, 7, 0x0050, 0x10, 25, 1),
312*4882a593Smuzhiyun PIN_FIELD_BASE(44, 44, 7, 0x0050, 0x10, 26, 1),
313*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x0030, 0x10, 18, 1),
314*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x0030, 0x10, 20, 1),
315*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x0030, 0x10, 19, 1),
316*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x0030, 0x10, 16, 1),
317*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x0030, 0x10, 17, 1),
318*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x0030, 0x10, 15, 1),
319*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x0030, 0x10, 9, 1),
320*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x0030, 0x10, 10, 1),
321*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x0030, 0x10, 14, 1),
322*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x0030, 0x10, 11, 1),
323*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x0030, 0x10, 13, 1),
324*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x0030, 0x10, 12, 1),
325*4882a593Smuzhiyun PIN_FIELD_BASE(57, 57, 3, 0x0040, 0x10, 1, 1),
326*4882a593Smuzhiyun PIN_FIELD_BASE(58, 58, 3, 0x0040, 0x10, 2, 1),
327*4882a593Smuzhiyun PIN_FIELD_BASE(59, 59, 3, 0x0040, 0x10, 3, 1),
328*4882a593Smuzhiyun PIN_FIELD_BASE(60, 60, 3, 0x0040, 0x10, 4, 1),
329*4882a593Smuzhiyun PIN_FIELD_BASE(61, 61, 3, 0x0030, 0x10, 28, 1),
330*4882a593Smuzhiyun PIN_FIELD_BASE(62, 62, 3, 0x0030, 0x10, 22, 1),
331*4882a593Smuzhiyun PIN_FIELD_BASE(63, 63, 3, 0x0030, 0x10, 0, 1),
332*4882a593Smuzhiyun PIN_FIELD_BASE(64, 64, 3, 0x0030, 0x10, 1, 1),
333*4882a593Smuzhiyun PIN_FIELD_BASE(65, 65, 3, 0x0030, 0x10, 12, 1),
334*4882a593Smuzhiyun PIN_FIELD_BASE(66, 66, 3, 0x0030, 0x10, 15, 1),
335*4882a593Smuzhiyun PIN_FIELD_BASE(67, 67, 3, 0x0030, 0x10, 16, 1),
336*4882a593Smuzhiyun PIN_FIELD_BASE(68, 68, 3, 0x0030, 0x10, 17, 1),
337*4882a593Smuzhiyun PIN_FIELD_BASE(69, 69, 3, 0x0030, 0x10, 18, 1),
338*4882a593Smuzhiyun PIN_FIELD_BASE(70, 70, 3, 0x0030, 0x10, 19, 1),
339*4882a593Smuzhiyun PIN_FIELD_BASE(71, 71, 3, 0x0030, 0x10, 20, 1),
340*4882a593Smuzhiyun PIN_FIELD_BASE(72, 72, 3, 0x0030, 0x10, 21, 1),
341*4882a593Smuzhiyun PIN_FIELD_BASE(73, 73, 3, 0x0030, 0x10, 2, 1),
342*4882a593Smuzhiyun PIN_FIELD_BASE(74, 74, 3, 0x0030, 0x10, 3, 1),
343*4882a593Smuzhiyun PIN_FIELD_BASE(75, 75, 3, 0x0030, 0x10, 4, 1),
344*4882a593Smuzhiyun PIN_FIELD_BASE(76, 76, 3, 0x0030, 0x10, 5, 1),
345*4882a593Smuzhiyun PIN_FIELD_BASE(77, 77, 3, 0x0030, 0x10, 6, 1),
346*4882a593Smuzhiyun PIN_FIELD_BASE(78, 78, 3, 0x0030, 0x10, 7, 1),
347*4882a593Smuzhiyun PIN_FIELD_BASE(79, 79, 3, 0x0030, 0x10, 8, 1),
348*4882a593Smuzhiyun PIN_FIELD_BASE(80, 80, 3, 0x0030, 0x10, 9, 1),
349*4882a593Smuzhiyun PIN_FIELD_BASE(81, 81, 3, 0x0030, 0x10, 10, 1),
350*4882a593Smuzhiyun PIN_FIELD_BASE(82, 82, 3, 0x0030, 0x10, 11, 1),
351*4882a593Smuzhiyun PIN_FIELD_BASE(83, 83, 3, 0x0030, 0x10, 13, 1),
352*4882a593Smuzhiyun PIN_FIELD_BASE(84, 84, 3, 0x0030, 0x10, 14, 1),
353*4882a593Smuzhiyun PIN_FIELD_BASE(85, 85, 3, 0x0030, 0x10, 31, 1),
354*4882a593Smuzhiyun PIN_FIELD_BASE(86, 86, 3, 0x0040, 0x10, 0, 1),
355*4882a593Smuzhiyun PIN_FIELD_BASE(87, 87, 3, 0x0030, 0x10, 29, 1),
356*4882a593Smuzhiyun PIN_FIELD_BASE(88, 88, 3, 0x0030, 0x10, 30, 1),
357*4882a593Smuzhiyun PIN_FIELD_BASE(89, 89, 2, 0x0050, 0x10, 24, 1),
358*4882a593Smuzhiyun PIN_FIELD_BASE(90, 90, 2, 0x0050, 0x10, 25, 1),
359*4882a593Smuzhiyun PIN_FIELD_BASE(91, 91, 2, 0x0050, 0x10, 0, 1),
360*4882a593Smuzhiyun PIN_FIELD_BASE(92, 92, 2, 0x0060, 0x10, 1, 1),
361*4882a593Smuzhiyun PIN_FIELD_BASE(93, 93, 2, 0x0060, 0x10, 3, 1),
362*4882a593Smuzhiyun PIN_FIELD_BASE(94, 94, 2, 0x0060, 0x10, 2, 1),
363*4882a593Smuzhiyun PIN_FIELD_BASE(95, 95, 2, 0x0060, 0x10, 4, 1),
364*4882a593Smuzhiyun PIN_FIELD_BASE(96, 96, 2, 0x0050, 0x10, 31, 1),
365*4882a593Smuzhiyun PIN_FIELD_BASE(97, 97, 2, 0x0050, 0x10, 26, 1),
366*4882a593Smuzhiyun PIN_FIELD_BASE(98, 98, 2, 0x0060, 0x10, 0, 1),
367*4882a593Smuzhiyun PIN_FIELD_BASE(99, 99, 2, 0x0050, 0x10, 27, 1),
368*4882a593Smuzhiyun PIN_FIELD_BASE(100, 100, 2, 0x0050, 0x10, 28, 1),
369*4882a593Smuzhiyun PIN_FIELD_BASE(101, 101, 2, 0x0050, 0x10, 29, 1),
370*4882a593Smuzhiyun PIN_FIELD_BASE(102, 102, 2, 0x0050, 0x10, 30, 1),
371*4882a593Smuzhiyun PIN_FIELD_BASE(103, 103, 2, 0x0050, 0x10, 18, 1),
372*4882a593Smuzhiyun PIN_FIELD_BASE(104, 104, 2, 0x0050, 0x10, 17, 1),
373*4882a593Smuzhiyun PIN_FIELD_BASE(105, 105, 2, 0x0050, 0x10, 19, 1),
374*4882a593Smuzhiyun PIN_FIELD_BASE(106, 106, 2, 0x0050, 0x10, 16, 1),
375*4882a593Smuzhiyun PIN_FIELD_BASE(107, 107, 2, 0x0050, 0x10, 1, 1),
376*4882a593Smuzhiyun PIN_FIELD_BASE(108, 108, 2, 0x0050, 0x10, 2, 1),
377*4882a593Smuzhiyun PIN_FIELD_BASE(109, 109, 2, 0x0050, 0x10, 10, 1),
378*4882a593Smuzhiyun PIN_FIELD_BASE(110, 110, 2, 0x0050, 0x10, 7, 1),
379*4882a593Smuzhiyun PIN_FIELD_BASE(111, 111, 2, 0x0050, 0x10, 9, 1),
380*4882a593Smuzhiyun PIN_FIELD_BASE(112, 112, 2, 0x0050, 0x10, 11, 1),
381*4882a593Smuzhiyun PIN_FIELD_BASE(113, 113, 2, 0x0050, 0x10, 8, 1),
382*4882a593Smuzhiyun PIN_FIELD_BASE(114, 114, 2, 0x0050, 0x10, 14, 1),
383*4882a593Smuzhiyun PIN_FIELD_BASE(115, 115, 2, 0x0050, 0x10, 13, 1),
384*4882a593Smuzhiyun PIN_FIELD_BASE(116, 116, 2, 0x0050, 0x10, 15, 1),
385*4882a593Smuzhiyun PIN_FIELD_BASE(117, 117, 2, 0x0050, 0x10, 12, 1),
386*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0070, 0x10, 23, 1),
387*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0070, 0x10, 29, 1),
388*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0070, 0x10, 28, 1),
389*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x0080, 0x10, 2, 1),
390*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0070, 0x10, 27, 1),
391*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x0080, 0x10, 1, 1),
392*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0070, 0x10, 26, 1),
393*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x0080, 0x10, 0, 1),
394*4882a593Smuzhiyun PIN_FIELD_BASE(126, 126, 4, 0x0070, 0x10, 19, 1),
395*4882a593Smuzhiyun PIN_FIELD_BASE(127, 127, 4, 0x0070, 0x10, 20, 1),
396*4882a593Smuzhiyun PIN_FIELD_BASE(128, 128, 4, 0x0070, 0x10, 21, 1),
397*4882a593Smuzhiyun PIN_FIELD_BASE(129, 129, 4, 0x0070, 0x10, 22, 1),
398*4882a593Smuzhiyun PIN_FIELD_BASE(130, 130, 4, 0x0070, 0x10, 6, 1),
399*4882a593Smuzhiyun PIN_FIELD_BASE(131, 131, 4, 0x0070, 0x10, 7, 1),
400*4882a593Smuzhiyun PIN_FIELD_BASE(132, 132, 4, 0x0070, 0x10, 8, 1),
401*4882a593Smuzhiyun PIN_FIELD_BASE(133, 133, 4, 0x0070, 0x10, 3, 1),
402*4882a593Smuzhiyun PIN_FIELD_BASE(134, 134, 4, 0x0070, 0x10, 4, 1),
403*4882a593Smuzhiyun PIN_FIELD_BASE(135, 135, 4, 0x0070, 0x10, 5, 1),
404*4882a593Smuzhiyun PIN_FIELD_BASE(136, 136, 4, 0x0070, 0x10, 0, 1),
405*4882a593Smuzhiyun PIN_FIELD_BASE(137, 137, 4, 0x0070, 0x10, 1, 1),
406*4882a593Smuzhiyun PIN_FIELD_BASE(138, 138, 4, 0x0070, 0x10, 2, 1),
407*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0070, 0x10, 25, 1),
408*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0070, 0x10, 31, 1),
409*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0070, 0x10, 24, 1),
410*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0070, 0x10, 30, 1),
411*4882a593Smuzhiyun PIN_FIELD_BASE(143, 143, 1, 0x0030, 0x10, 6, 1),
412*4882a593Smuzhiyun PIN_FIELD_BASE(144, 144, 1, 0x0030, 0x10, 7, 1),
413*4882a593Smuzhiyun PIN_FIELD_BASE(145, 145, 1, 0x0030, 0x10, 8, 1),
414*4882a593Smuzhiyun PIN_FIELD_BASE(146, 146, 1, 0x0030, 0x10, 3, 1),
415*4882a593Smuzhiyun PIN_FIELD_BASE(147, 147, 1, 0x0030, 0x10, 4, 1),
416*4882a593Smuzhiyun PIN_FIELD_BASE(148, 148, 1, 0x0030, 0x10, 5, 1),
417*4882a593Smuzhiyun PIN_FIELD_BASE(149, 149, 1, 0x0030, 0x10, 0, 1),
418*4882a593Smuzhiyun PIN_FIELD_BASE(150, 150, 1, 0x0030, 0x10, 1, 1),
419*4882a593Smuzhiyun PIN_FIELD_BASE(151, 151, 1, 0x0030, 0x10, 2, 1),
420*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x0050, 0x10, 30, 1),
421*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x0050, 0x10, 29, 1),
422*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x0050, 0x10, 27, 1),
423*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x0050, 0x10, 28, 1),
424*4882a593Smuzhiyun PIN_FIELD_BASE(156, 156, 7, 0x0060, 0x10, 1, 1),
425*4882a593Smuzhiyun PIN_FIELD_BASE(157, 157, 7, 0x0060, 0x10, 2, 1),
426*4882a593Smuzhiyun PIN_FIELD_BASE(158, 158, 7, 0x0060, 0x10, 3, 1),
427*4882a593Smuzhiyun PIN_FIELD_BASE(159, 159, 7, 0x0060, 0x10, 4, 1),
428*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0050, 0x10, 31, 1),
429*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0060, 0x10, 0, 1),
430*4882a593Smuzhiyun PIN_FIELD_BASE(162, 162, 7, 0x0050, 0x10, 0, 1),
431*4882a593Smuzhiyun PIN_FIELD_BASE(163, 163, 7, 0x0050, 0x10, 1, 1),
432*4882a593Smuzhiyun PIN_FIELD_BASE(164, 164, 7, 0x0050, 0x10, 2, 1),
433*4882a593Smuzhiyun PIN_FIELD_BASE(165, 165, 7, 0x0050, 0x10, 3, 1),
434*4882a593Smuzhiyun PIN_FIELD_BASE(166, 166, 7, 0x0050, 0x10, 4, 1),
435*4882a593Smuzhiyun PIN_FIELD_BASE(167, 167, 7, 0x0050, 0x10, 5, 1),
436*4882a593Smuzhiyun PIN_FIELD_BASE(168, 168, 7, 0x0050, 0x10, 6, 1),
437*4882a593Smuzhiyun PIN_FIELD_BASE(169, 169, 7, 0x0050, 0x10, 7, 1),
438*4882a593Smuzhiyun PIN_FIELD_BASE(170, 170, 7, 0x0050, 0x10, 8, 1),
439*4882a593Smuzhiyun PIN_FIELD_BASE(171, 171, 7, 0x0050, 0x10, 9, 1),
440*4882a593Smuzhiyun PIN_FIELD_BASE(172, 172, 7, 0x0050, 0x10, 13, 1),
441*4882a593Smuzhiyun PIN_FIELD_BASE(173, 173, 7, 0x0050, 0x10, 14, 1),
442*4882a593Smuzhiyun PIN_FIELD_BASE(174, 174, 7, 0x0050, 0x10, 12, 1),
443*4882a593Smuzhiyun PIN_FIELD_BASE(175, 175, 7, 0x0050, 0x10, 15, 1),
444*4882a593Smuzhiyun PIN_FIELD_BASE(176, 176, 7, 0x0050, 0x10, 10, 1),
445*4882a593Smuzhiyun PIN_FIELD_BASE(177, 177, 7, 0x0050, 0x10, 11, 1),
446*4882a593Smuzhiyun PIN_FIELD_BASE(178, 178, 7, 0x0050, 0x10, 16, 1),
447*4882a593Smuzhiyun PIN_FIELD_BASE(179, 179, 7, 0x0050, 0x10, 17, 1),
448*4882a593Smuzhiyun PIN_FIELD_BASE(180, 180, 7, 0x0050, 0x10, 18, 1),
449*4882a593Smuzhiyun PIN_FIELD_BASE(181, 181, 7, 0x0050, 0x10, 19, 1),
450*4882a593Smuzhiyun PIN_FIELD_BASE(182, 182, 7, 0x0050, 0x10, 20, 1),
451*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0020, 0x10, 1, 1),
452*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0020, 0x10, 2, 1),
453*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0020, 0x10, 4, 1),
454*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0020, 0x10, 6, 1),
455*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0020, 0x10, 8, 1),
456*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0020, 0x10, 3, 1),
457*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0020, 0x10, 7, 1),
458*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0020, 0x10, 9, 1),
459*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0020, 0x10, 10, 1),
460*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0020, 0x10, 0, 1),
461*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0020, 0x10, 5, 1),
462*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0020, 0x10, 11, 1),
463*4882a593Smuzhiyun PIN_FIELD_BASE(195, 195, 5, 0x0030, 0x10, 16, 1),
464*4882a593Smuzhiyun PIN_FIELD_BASE(196, 196, 5, 0x0030, 0x10, 6, 1),
465*4882a593Smuzhiyun PIN_FIELD_BASE(197, 197, 5, 0x0030, 0x10, 8, 1),
466*4882a593Smuzhiyun PIN_FIELD_BASE(198, 198, 5, 0x0030, 0x10, 7, 1),
467*4882a593Smuzhiyun PIN_FIELD_BASE(199, 199, 5, 0x0030, 0x10, 3, 1),
468*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0030, 0x10, 6, 1),
469*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0030, 0x10, 8, 1),
470*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0030, 0x10, 15, 1),
471*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0030, 0x10, 17, 1),
472*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0030, 0x10, 5, 1),
473*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0030, 0x10, 7, 1),
474*4882a593Smuzhiyun PIN_FIELD_BASE(206, 206, 5, 0x0030, 0x10, 18, 1),
475*4882a593Smuzhiyun PIN_FIELD_BASE(207, 207, 5, 0x0030, 0x10, 19, 1),
476*4882a593Smuzhiyun PIN_FIELD_BASE(208, 208, 5, 0x0030, 0x10, 20, 1),
477*4882a593Smuzhiyun PIN_FIELD_BASE(209, 209, 5, 0x0030, 0x10, 12, 1),
478*4882a593Smuzhiyun PIN_FIELD_BASE(210, 210, 5, 0x0030, 0x10, 11, 1),
479*4882a593Smuzhiyun PIN_FIELD_BASE(211, 211, 5, 0x0030, 0x10, 13, 1),
480*4882a593Smuzhiyun PIN_FIELD_BASE(212, 212, 5, 0x0030, 0x10, 10, 1),
481*4882a593Smuzhiyun PIN_FIELD_BASE(213, 213, 5, 0x0030, 0x10, 14, 1),
482*4882a593Smuzhiyun PIN_FIELD_BASE(214, 214, 5, 0x0030, 0x10, 0, 1),
483*4882a593Smuzhiyun PIN_FIELD_BASE(215, 215, 5, 0x0030, 0x10, 9, 1),
484*4882a593Smuzhiyun PIN_FIELD_BASE(216, 216, 5, 0x0030, 0x10, 4, 1),
485*4882a593Smuzhiyun PIN_FIELD_BASE(217, 217, 5, 0x0030, 0x10, 5, 1),
486*4882a593Smuzhiyun PIN_FIELD_BASE(218, 218, 5, 0x0030, 0x10, 1, 1),
487*4882a593Smuzhiyun PIN_FIELD_BASE(219, 219, 5, 0x0030, 0x10, 2, 1),
488*4882a593Smuzhiyun };
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_pu_range[] = {
491*4882a593Smuzhiyun PIN_FIELD_BASE(0, 0, 4, 0x00b0, 0x10, 9, 1),
492*4882a593Smuzhiyun PIN_FIELD_BASE(1, 1, 4, 0x00b0, 0x10, 10, 1),
493*4882a593Smuzhiyun PIN_FIELD_BASE(2, 2, 4, 0x00b0, 0x10, 11, 1),
494*4882a593Smuzhiyun PIN_FIELD_BASE(3, 3, 4, 0x00b0, 0x10, 12, 1),
495*4882a593Smuzhiyun PIN_FIELD_BASE(4, 4, 4, 0x00b0, 0x10, 13, 1),
496*4882a593Smuzhiyun PIN_FIELD_BASE(5, 5, 4, 0x00b0, 0x10, 14, 1),
497*4882a593Smuzhiyun PIN_FIELD_BASE(6, 6, 4, 0x00b0, 0x10, 15, 1),
498*4882a593Smuzhiyun PIN_FIELD_BASE(7, 7, 4, 0x00b0, 0x10, 16, 1),
499*4882a593Smuzhiyun PIN_FIELD_BASE(8, 8, 4, 0x00b0, 0x10, 17, 1),
500*4882a593Smuzhiyun PIN_FIELD_BASE(9, 9, 4, 0x00b0, 0x10, 18, 1),
501*4882a593Smuzhiyun PIN_FIELD_BASE(16, 16, 8, 0x0050, 0x10, 2, 1),
502*4882a593Smuzhiyun PIN_FIELD_BASE(17, 17, 8, 0x0050, 0x10, 3, 1),
503*4882a593Smuzhiyun PIN_FIELD_BASE(18, 18, 7, 0x00a0, 0x10, 21, 1),
504*4882a593Smuzhiyun PIN_FIELD_BASE(19, 19, 7, 0x00a0, 0x10, 22, 1),
505*4882a593Smuzhiyun PIN_FIELD_BASE(20, 20, 7, 0x00a0, 0x10, 23, 1),
506*4882a593Smuzhiyun PIN_FIELD_BASE(21, 21, 7, 0x00a0, 0x10, 24, 1),
507*4882a593Smuzhiyun PIN_FIELD_BASE(22, 22, 2, 0x0090, 0x10, 3, 1),
508*4882a593Smuzhiyun PIN_FIELD_BASE(23, 23, 2, 0x0090, 0x10, 4, 1),
509*4882a593Smuzhiyun PIN_FIELD_BASE(24, 24, 2, 0x0090, 0x10, 5, 1),
510*4882a593Smuzhiyun PIN_FIELD_BASE(25, 25, 2, 0x0090, 0x10, 6, 1),
511*4882a593Smuzhiyun PIN_FIELD_BASE(26, 26, 3, 0x0080, 0x10, 5, 1),
512*4882a593Smuzhiyun PIN_FIELD_BASE(27, 27, 3, 0x0080, 0x10, 6, 1),
513*4882a593Smuzhiyun PIN_FIELD_BASE(28, 28, 3, 0x0080, 0x10, 7, 1),
514*4882a593Smuzhiyun PIN_FIELD_BASE(29, 29, 3, 0x0080, 0x10, 8, 1),
515*4882a593Smuzhiyun PIN_FIELD_BASE(30, 30, 3, 0x0080, 0x10, 9, 1),
516*4882a593Smuzhiyun PIN_FIELD_BASE(31, 31, 3, 0x0070, 0x10, 27, 1),
517*4882a593Smuzhiyun PIN_FIELD_BASE(32, 32, 3, 0x0070, 0x10, 24, 1),
518*4882a593Smuzhiyun PIN_FIELD_BASE(33, 33, 3, 0x0070, 0x10, 26, 1),
519*4882a593Smuzhiyun PIN_FIELD_BASE(34, 34, 3, 0x0070, 0x10, 23, 1),
520*4882a593Smuzhiyun PIN_FIELD_BASE(35, 35, 3, 0x0070, 0x10, 25, 1),
521*4882a593Smuzhiyun PIN_FIELD_BASE(36, 36, 2, 0x0090, 0x10, 20, 1),
522*4882a593Smuzhiyun PIN_FIELD_BASE(37, 37, 2, 0x0090, 0x10, 21, 1),
523*4882a593Smuzhiyun PIN_FIELD_BASE(38, 38, 2, 0x0090, 0x10, 22, 1),
524*4882a593Smuzhiyun PIN_FIELD_BASE(39, 39, 2, 0x0090, 0x10, 23, 1),
525*4882a593Smuzhiyun PIN_FIELD_BASE(40, 40, 8, 0x0050, 0x10, 0, 1),
526*4882a593Smuzhiyun PIN_FIELD_BASE(41, 41, 8, 0x0050, 0x10, 1, 1),
527*4882a593Smuzhiyun PIN_FIELD_BASE(42, 42, 8, 0x0050, 0x10, 4, 1),
528*4882a593Smuzhiyun PIN_FIELD_BASE(43, 43, 7, 0x00a0, 0x10, 25, 1),
529*4882a593Smuzhiyun PIN_FIELD_BASE(44, 44, 7, 0x00a0, 0x10, 26, 1),
530*4882a593Smuzhiyun PIN_FIELD_BASE(57, 57, 3, 0x0080, 0x10, 1, 1),
531*4882a593Smuzhiyun PIN_FIELD_BASE(58, 58, 3, 0x0080, 0x10, 2, 1),
532*4882a593Smuzhiyun PIN_FIELD_BASE(59, 59, 3, 0x0080, 0x10, 3, 1),
533*4882a593Smuzhiyun PIN_FIELD_BASE(60, 60, 3, 0x0080, 0x10, 4, 1),
534*4882a593Smuzhiyun PIN_FIELD_BASE(61, 61, 3, 0x0070, 0x10, 28, 1),
535*4882a593Smuzhiyun PIN_FIELD_BASE(62, 62, 3, 0x0070, 0x10, 22, 1),
536*4882a593Smuzhiyun PIN_FIELD_BASE(63, 63, 3, 0x0070, 0x10, 0, 1),
537*4882a593Smuzhiyun PIN_FIELD_BASE(64, 64, 3, 0x0070, 0x10, 1, 1),
538*4882a593Smuzhiyun PIN_FIELD_BASE(65, 65, 3, 0x0070, 0x10, 12, 1),
539*4882a593Smuzhiyun PIN_FIELD_BASE(66, 66, 3, 0x0070, 0x10, 15, 1),
540*4882a593Smuzhiyun PIN_FIELD_BASE(67, 67, 3, 0x0070, 0x10, 16, 1),
541*4882a593Smuzhiyun PIN_FIELD_BASE(68, 68, 3, 0x0070, 0x10, 17, 1),
542*4882a593Smuzhiyun PIN_FIELD_BASE(69, 69, 3, 0x0070, 0x10, 18, 1),
543*4882a593Smuzhiyun PIN_FIELD_BASE(70, 70, 3, 0x0070, 0x10, 19, 1),
544*4882a593Smuzhiyun PIN_FIELD_BASE(71, 71, 3, 0x0070, 0x10, 20, 1),
545*4882a593Smuzhiyun PIN_FIELD_BASE(72, 72, 3, 0x0070, 0x10, 21, 1),
546*4882a593Smuzhiyun PIN_FIELD_BASE(73, 73, 3, 0x0070, 0x10, 2, 1),
547*4882a593Smuzhiyun PIN_FIELD_BASE(74, 74, 3, 0x0070, 0x10, 3, 1),
548*4882a593Smuzhiyun PIN_FIELD_BASE(75, 75, 3, 0x0070, 0x10, 4, 1),
549*4882a593Smuzhiyun PIN_FIELD_BASE(76, 76, 3, 0x0070, 0x10, 5, 1),
550*4882a593Smuzhiyun PIN_FIELD_BASE(77, 77, 3, 0x0070, 0x10, 6, 1),
551*4882a593Smuzhiyun PIN_FIELD_BASE(78, 78, 3, 0x0070, 0x10, 7, 1),
552*4882a593Smuzhiyun PIN_FIELD_BASE(79, 79, 3, 0x0070, 0x10, 8, 1),
553*4882a593Smuzhiyun PIN_FIELD_BASE(80, 80, 3, 0x0070, 0x10, 9, 1),
554*4882a593Smuzhiyun PIN_FIELD_BASE(81, 81, 3, 0x0070, 0x10, 10, 1),
555*4882a593Smuzhiyun PIN_FIELD_BASE(82, 82, 3, 0x0070, 0x10, 11, 1),
556*4882a593Smuzhiyun PIN_FIELD_BASE(83, 83, 3, 0x0070, 0x10, 13, 1),
557*4882a593Smuzhiyun PIN_FIELD_BASE(84, 84, 3, 0x0070, 0x10, 14, 1),
558*4882a593Smuzhiyun PIN_FIELD_BASE(85, 85, 3, 0x0070, 0x10, 31, 1),
559*4882a593Smuzhiyun PIN_FIELD_BASE(86, 86, 3, 0x0080, 0x10, 0, 1),
560*4882a593Smuzhiyun PIN_FIELD_BASE(87, 87, 3, 0x0070, 0x10, 29, 1),
561*4882a593Smuzhiyun PIN_FIELD_BASE(88, 88, 3, 0x0070, 0x10, 30, 1),
562*4882a593Smuzhiyun PIN_FIELD_BASE(89, 89, 2, 0x0090, 0x10, 24, 1),
563*4882a593Smuzhiyun PIN_FIELD_BASE(90, 90, 2, 0x0090, 0x10, 25, 1),
564*4882a593Smuzhiyun PIN_FIELD_BASE(91, 91, 2, 0x0090, 0x10, 0, 1),
565*4882a593Smuzhiyun PIN_FIELD_BASE(92, 92, 2, 0x00a0, 0x10, 2, 1),
566*4882a593Smuzhiyun PIN_FIELD_BASE(93, 93, 2, 0x00a0, 0x10, 4, 1),
567*4882a593Smuzhiyun PIN_FIELD_BASE(94, 94, 2, 0x00a0, 0x10, 3, 1),
568*4882a593Smuzhiyun PIN_FIELD_BASE(95, 95, 2, 0x00a0, 0x10, 5, 1),
569*4882a593Smuzhiyun PIN_FIELD_BASE(96, 96, 2, 0x0090, 0x10, 31, 1),
570*4882a593Smuzhiyun PIN_FIELD_BASE(97, 97, 2, 0x0090, 0x10, 26, 1),
571*4882a593Smuzhiyun PIN_FIELD_BASE(98, 98, 2, 0x00a0, 0x10, 0, 1),
572*4882a593Smuzhiyun PIN_FIELD_BASE(99, 99, 2, 0x0090, 0x10, 27, 1),
573*4882a593Smuzhiyun PIN_FIELD_BASE(100, 100, 2, 0x0090, 0x10, 28, 1),
574*4882a593Smuzhiyun PIN_FIELD_BASE(101, 101, 2, 0x0090, 0x10, 29, 1),
575*4882a593Smuzhiyun PIN_FIELD_BASE(102, 102, 2, 0x0090, 0x10, 30, 1),
576*4882a593Smuzhiyun PIN_FIELD_BASE(103, 103, 2, 0x0090, 0x10, 18, 1),
577*4882a593Smuzhiyun PIN_FIELD_BASE(104, 104, 2, 0x0090, 0x10, 17, 1),
578*4882a593Smuzhiyun PIN_FIELD_BASE(105, 105, 2, 0x0090, 0x10, 19, 1),
579*4882a593Smuzhiyun PIN_FIELD_BASE(106, 106, 2, 0x0090, 0x10, 16, 1),
580*4882a593Smuzhiyun PIN_FIELD_BASE(107, 107, 2, 0x0090, 0x10, 1, 1),
581*4882a593Smuzhiyun PIN_FIELD_BASE(108, 108, 2, 0x0090, 0x10, 2, 1),
582*4882a593Smuzhiyun PIN_FIELD_BASE(109, 109, 2, 0x0090, 0x10, 10, 1),
583*4882a593Smuzhiyun PIN_FIELD_BASE(110, 110, 2, 0x0090, 0x10, 7, 1),
584*4882a593Smuzhiyun PIN_FIELD_BASE(111, 111, 2, 0x0090, 0x10, 9, 1),
585*4882a593Smuzhiyun PIN_FIELD_BASE(112, 112, 2, 0x0090, 0x10, 11, 1),
586*4882a593Smuzhiyun PIN_FIELD_BASE(113, 113, 2, 0x0090, 0x10, 8, 1),
587*4882a593Smuzhiyun PIN_FIELD_BASE(114, 114, 2, 0x0090, 0x10, 14, 1),
588*4882a593Smuzhiyun PIN_FIELD_BASE(115, 115, 2, 0x0090, 0x10, 13, 1),
589*4882a593Smuzhiyun PIN_FIELD_BASE(116, 116, 2, 0x0090, 0x10, 15, 1),
590*4882a593Smuzhiyun PIN_FIELD_BASE(117, 117, 2, 0x0090, 0x10, 12, 1),
591*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x00b0, 0x10, 23, 1),
592*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x00b0, 0x10, 29, 1),
593*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x00b0, 0x10, 28, 1),
594*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00c0, 0x10, 2, 1),
595*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x00b0, 0x10, 27, 1),
596*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00c0, 0x10, 1, 1),
597*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x00b0, 0x10, 26, 1),
598*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00c0, 0x10, 0, 1),
599*4882a593Smuzhiyun PIN_FIELD_BASE(126, 126, 4, 0x00b0, 0x10, 19, 1),
600*4882a593Smuzhiyun PIN_FIELD_BASE(127, 127, 4, 0x00b0, 0x10, 20, 1),
601*4882a593Smuzhiyun PIN_FIELD_BASE(128, 128, 4, 0x00b0, 0x10, 21, 1),
602*4882a593Smuzhiyun PIN_FIELD_BASE(129, 129, 4, 0x00b0, 0x10, 22, 1),
603*4882a593Smuzhiyun PIN_FIELD_BASE(130, 130, 4, 0x00b0, 0x10, 6, 1),
604*4882a593Smuzhiyun PIN_FIELD_BASE(131, 131, 4, 0x00b0, 0x10, 7, 1),
605*4882a593Smuzhiyun PIN_FIELD_BASE(132, 132, 4, 0x00b0, 0x10, 8, 1),
606*4882a593Smuzhiyun PIN_FIELD_BASE(133, 133, 4, 0x00b0, 0x10, 3, 1),
607*4882a593Smuzhiyun PIN_FIELD_BASE(134, 134, 4, 0x00b0, 0x10, 4, 1),
608*4882a593Smuzhiyun PIN_FIELD_BASE(135, 135, 4, 0x00b0, 0x10, 5, 1),
609*4882a593Smuzhiyun PIN_FIELD_BASE(136, 136, 4, 0x00b0, 0x10, 0, 1),
610*4882a593Smuzhiyun PIN_FIELD_BASE(137, 137, 4, 0x00b0, 0x10, 1, 1),
611*4882a593Smuzhiyun PIN_FIELD_BASE(138, 138, 4, 0x00b0, 0x10, 2, 1),
612*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x00b0, 0x10, 25, 1),
613*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x00b0, 0x10, 31, 1),
614*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x00b0, 0x10, 24, 1),
615*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x00b0, 0x10, 30, 1),
616*4882a593Smuzhiyun PIN_FIELD_BASE(143, 143, 1, 0x0070, 0x10, 6, 1),
617*4882a593Smuzhiyun PIN_FIELD_BASE(144, 144, 1, 0x0070, 0x10, 7, 1),
618*4882a593Smuzhiyun PIN_FIELD_BASE(145, 145, 1, 0x0070, 0x10, 8, 1),
619*4882a593Smuzhiyun PIN_FIELD_BASE(146, 146, 1, 0x0070, 0x10, 3, 1),
620*4882a593Smuzhiyun PIN_FIELD_BASE(147, 147, 1, 0x0070, 0x10, 4, 1),
621*4882a593Smuzhiyun PIN_FIELD_BASE(148, 148, 1, 0x0070, 0x10, 5, 1),
622*4882a593Smuzhiyun PIN_FIELD_BASE(149, 149, 1, 0x0070, 0x10, 0, 1),
623*4882a593Smuzhiyun PIN_FIELD_BASE(150, 150, 1, 0x0070, 0x10, 1, 1),
624*4882a593Smuzhiyun PIN_FIELD_BASE(151, 151, 1, 0x0070, 0x10, 2, 1),
625*4882a593Smuzhiyun PIN_FIELD_BASE(156, 156, 7, 0x00a0, 0x10, 29, 1),
626*4882a593Smuzhiyun PIN_FIELD_BASE(157, 157, 7, 0x00a0, 0x10, 30, 1),
627*4882a593Smuzhiyun PIN_FIELD_BASE(158, 158, 7, 0x00a0, 0x10, 31, 1),
628*4882a593Smuzhiyun PIN_FIELD_BASE(159, 159, 7, 0x00b0, 0x10, 0, 1),
629*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x00a0, 0x10, 27, 1),
630*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x00a0, 0x10, 28, 1),
631*4882a593Smuzhiyun PIN_FIELD_BASE(162, 162, 7, 0x00a0, 0x10, 0, 1),
632*4882a593Smuzhiyun PIN_FIELD_BASE(163, 163, 7, 0x00a0, 0x10, 1, 1),
633*4882a593Smuzhiyun PIN_FIELD_BASE(164, 164, 7, 0x00a0, 0x10, 2, 1),
634*4882a593Smuzhiyun PIN_FIELD_BASE(165, 165, 7, 0x00a0, 0x10, 3, 1),
635*4882a593Smuzhiyun PIN_FIELD_BASE(166, 166, 7, 0x00a0, 0x10, 4, 1),
636*4882a593Smuzhiyun PIN_FIELD_BASE(167, 167, 7, 0x00a0, 0x10, 5, 1),
637*4882a593Smuzhiyun PIN_FIELD_BASE(168, 168, 7, 0x00a0, 0x10, 6, 1),
638*4882a593Smuzhiyun PIN_FIELD_BASE(169, 169, 7, 0x00a0, 0x10, 7, 1),
639*4882a593Smuzhiyun PIN_FIELD_BASE(170, 170, 7, 0x00a0, 0x10, 8, 1),
640*4882a593Smuzhiyun PIN_FIELD_BASE(171, 171, 7, 0x00a0, 0x10, 9, 1),
641*4882a593Smuzhiyun PIN_FIELD_BASE(172, 172, 7, 0x00a0, 0x10, 13, 1),
642*4882a593Smuzhiyun PIN_FIELD_BASE(173, 173, 7, 0x00a0, 0x10, 14, 1),
643*4882a593Smuzhiyun PIN_FIELD_BASE(174, 174, 7, 0x00a0, 0x10, 12, 1),
644*4882a593Smuzhiyun PIN_FIELD_BASE(175, 175, 7, 0x00a0, 0x10, 15, 1),
645*4882a593Smuzhiyun PIN_FIELD_BASE(176, 176, 7, 0x00a0, 0x10, 10, 1),
646*4882a593Smuzhiyun PIN_FIELD_BASE(177, 177, 7, 0x00a0, 0x10, 11, 1),
647*4882a593Smuzhiyun PIN_FIELD_BASE(178, 178, 7, 0x00a0, 0x10, 16, 1),
648*4882a593Smuzhiyun PIN_FIELD_BASE(179, 179, 7, 0x00a0, 0x10, 17, 1),
649*4882a593Smuzhiyun PIN_FIELD_BASE(180, 180, 7, 0x00a0, 0x10, 18, 1),
650*4882a593Smuzhiyun PIN_FIELD_BASE(181, 181, 7, 0x00a0, 0x10, 19, 1),
651*4882a593Smuzhiyun PIN_FIELD_BASE(182, 182, 7, 0x00a0, 0x10, 20, 1),
652*4882a593Smuzhiyun PIN_FIELD_BASE(195, 195, 5, 0x0050, 0x10, 16, 1),
653*4882a593Smuzhiyun PIN_FIELD_BASE(196, 196, 5, 0x0050, 0x10, 6, 1),
654*4882a593Smuzhiyun PIN_FIELD_BASE(197, 197, 5, 0x0050, 0x10, 8, 1),
655*4882a593Smuzhiyun PIN_FIELD_BASE(198, 198, 5, 0x0050, 0x10, 7, 1),
656*4882a593Smuzhiyun PIN_FIELD_BASE(199, 199, 5, 0x0050, 0x10, 3, 1),
657*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0050, 0x10, 6, 1),
658*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0050, 0x10, 8, 1),
659*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0050, 0x10, 15, 1),
660*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0050, 0x10, 17, 1),
661*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0050, 0x10, 5, 1),
662*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0050, 0x10, 7, 1),
663*4882a593Smuzhiyun PIN_FIELD_BASE(206, 206, 5, 0x0050, 0x10, 18, 1),
664*4882a593Smuzhiyun PIN_FIELD_BASE(207, 207, 5, 0x0050, 0x10, 19, 1),
665*4882a593Smuzhiyun PIN_FIELD_BASE(208, 208, 5, 0x0050, 0x10, 20, 1),
666*4882a593Smuzhiyun PIN_FIELD_BASE(209, 209, 5, 0x0050, 0x10, 12, 1),
667*4882a593Smuzhiyun PIN_FIELD_BASE(210, 210, 5, 0x0050, 0x10, 11, 1),
668*4882a593Smuzhiyun PIN_FIELD_BASE(211, 211, 5, 0x0050, 0x10, 13, 1),
669*4882a593Smuzhiyun PIN_FIELD_BASE(212, 212, 5, 0x0050, 0x10, 10, 1),
670*4882a593Smuzhiyun PIN_FIELD_BASE(213, 213, 5, 0x0050, 0x10, 14, 1),
671*4882a593Smuzhiyun PIN_FIELD_BASE(214, 214, 5, 0x0050, 0x10, 0, 1),
672*4882a593Smuzhiyun PIN_FIELD_BASE(215, 215, 5, 0x0050, 0x10, 9, 1),
673*4882a593Smuzhiyun PIN_FIELD_BASE(216, 216, 5, 0x0050, 0x10, 4, 1),
674*4882a593Smuzhiyun PIN_FIELD_BASE(217, 217, 5, 0x0050, 0x10, 5, 1),
675*4882a593Smuzhiyun PIN_FIELD_BASE(218, 218, 5, 0x0050, 0x10, 1, 1),
676*4882a593Smuzhiyun PIN_FIELD_BASE(219, 219, 5, 0x0050, 0x10, 2, 1),
677*4882a593Smuzhiyun };
678*4882a593Smuzhiyun
679*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_pd_range[] = {
680*4882a593Smuzhiyun PIN_FIELD_BASE(0, 0, 4, 0x0090, 0x10, 9, 1),
681*4882a593Smuzhiyun PIN_FIELD_BASE(1, 1, 4, 0x0090, 0x10, 10, 1),
682*4882a593Smuzhiyun PIN_FIELD_BASE(2, 2, 4, 0x0090, 0x10, 11, 1),
683*4882a593Smuzhiyun PIN_FIELD_BASE(3, 3, 4, 0x0090, 0x10, 12, 1),
684*4882a593Smuzhiyun PIN_FIELD_BASE(4, 4, 4, 0x0090, 0x10, 13, 1),
685*4882a593Smuzhiyun PIN_FIELD_BASE(5, 5, 4, 0x0090, 0x10, 14, 1),
686*4882a593Smuzhiyun PIN_FIELD_BASE(6, 6, 4, 0x0090, 0x10, 15, 1),
687*4882a593Smuzhiyun PIN_FIELD_BASE(7, 7, 4, 0x0090, 0x10, 16, 1),
688*4882a593Smuzhiyun PIN_FIELD_BASE(8, 8, 4, 0x0090, 0x10, 17, 1),
689*4882a593Smuzhiyun PIN_FIELD_BASE(9, 9, 4, 0x0090, 0x10, 18, 1),
690*4882a593Smuzhiyun PIN_FIELD_BASE(16, 16, 8, 0x0040, 0x10, 2, 1),
691*4882a593Smuzhiyun PIN_FIELD_BASE(17, 17, 8, 0x0040, 0x10, 3, 1),
692*4882a593Smuzhiyun PIN_FIELD_BASE(18, 18, 7, 0x0070, 0x10, 21, 1),
693*4882a593Smuzhiyun PIN_FIELD_BASE(19, 19, 7, 0x0070, 0x10, 22, 1),
694*4882a593Smuzhiyun PIN_FIELD_BASE(20, 20, 7, 0x0070, 0x10, 23, 1),
695*4882a593Smuzhiyun PIN_FIELD_BASE(21, 21, 7, 0x0070, 0x10, 24, 1),
696*4882a593Smuzhiyun PIN_FIELD_BASE(22, 22, 2, 0x0070, 0x10, 3, 1),
697*4882a593Smuzhiyun PIN_FIELD_BASE(23, 23, 2, 0x0070, 0x10, 4, 1),
698*4882a593Smuzhiyun PIN_FIELD_BASE(24, 24, 2, 0x0070, 0x10, 5, 1),
699*4882a593Smuzhiyun PIN_FIELD_BASE(25, 25, 2, 0x0070, 0x10, 6, 1),
700*4882a593Smuzhiyun PIN_FIELD_BASE(26, 26, 3, 0x0060, 0x10, 5, 1),
701*4882a593Smuzhiyun PIN_FIELD_BASE(27, 27, 3, 0x0060, 0x10, 6, 1),
702*4882a593Smuzhiyun PIN_FIELD_BASE(28, 28, 3, 0x0060, 0x10, 7, 1),
703*4882a593Smuzhiyun PIN_FIELD_BASE(29, 29, 3, 0x0060, 0x10, 8, 1),
704*4882a593Smuzhiyun PIN_FIELD_BASE(30, 30, 3, 0x0060, 0x10, 9, 1),
705*4882a593Smuzhiyun PIN_FIELD_BASE(31, 31, 3, 0x0050, 0x10, 27, 1),
706*4882a593Smuzhiyun PIN_FIELD_BASE(32, 32, 3, 0x0050, 0x10, 24, 1),
707*4882a593Smuzhiyun PIN_FIELD_BASE(33, 33, 3, 0x0050, 0x10, 26, 1),
708*4882a593Smuzhiyun PIN_FIELD_BASE(34, 34, 3, 0x0050, 0x10, 23, 1),
709*4882a593Smuzhiyun PIN_FIELD_BASE(35, 35, 3, 0x0050, 0x10, 25, 1),
710*4882a593Smuzhiyun PIN_FIELD_BASE(36, 36, 2, 0x0070, 0x10, 20, 1),
711*4882a593Smuzhiyun PIN_FIELD_BASE(37, 37, 2, 0x0070, 0x10, 21, 1),
712*4882a593Smuzhiyun PIN_FIELD_BASE(38, 38, 2, 0x0070, 0x10, 22, 1),
713*4882a593Smuzhiyun PIN_FIELD_BASE(39, 39, 2, 0x0070, 0x10, 23, 1),
714*4882a593Smuzhiyun PIN_FIELD_BASE(40, 40, 8, 0x0040, 0x10, 0, 1),
715*4882a593Smuzhiyun PIN_FIELD_BASE(41, 41, 8, 0x0040, 0x10, 1, 1),
716*4882a593Smuzhiyun PIN_FIELD_BASE(42, 42, 8, 0x0040, 0x10, 4, 1),
717*4882a593Smuzhiyun PIN_FIELD_BASE(43, 43, 7, 0x0070, 0x10, 25, 1),
718*4882a593Smuzhiyun PIN_FIELD_BASE(44, 44, 7, 0x0070, 0x10, 26, 1),
719*4882a593Smuzhiyun PIN_FIELD_BASE(57, 57, 3, 0x0060, 0x10, 1, 1),
720*4882a593Smuzhiyun PIN_FIELD_BASE(58, 58, 3, 0x0060, 0x10, 2, 1),
721*4882a593Smuzhiyun PIN_FIELD_BASE(59, 59, 3, 0x0060, 0x10, 3, 1),
722*4882a593Smuzhiyun PIN_FIELD_BASE(60, 60, 3, 0x0060, 0x10, 4, 1),
723*4882a593Smuzhiyun PIN_FIELD_BASE(61, 61, 3, 0x0050, 0x10, 28, 1),
724*4882a593Smuzhiyun PIN_FIELD_BASE(62, 62, 3, 0x0050, 0x10, 22, 1),
725*4882a593Smuzhiyun PIN_FIELD_BASE(63, 63, 3, 0x0050, 0x10, 0, 1),
726*4882a593Smuzhiyun PIN_FIELD_BASE(64, 64, 3, 0x0050, 0x10, 1, 1),
727*4882a593Smuzhiyun PIN_FIELD_BASE(65, 65, 3, 0x0050, 0x10, 12, 1),
728*4882a593Smuzhiyun PIN_FIELD_BASE(66, 66, 3, 0x0050, 0x10, 15, 1),
729*4882a593Smuzhiyun PIN_FIELD_BASE(67, 67, 3, 0x0050, 0x10, 16, 1),
730*4882a593Smuzhiyun PIN_FIELD_BASE(68, 68, 3, 0x0050, 0x10, 17, 1),
731*4882a593Smuzhiyun PIN_FIELD_BASE(69, 69, 3, 0x0050, 0x10, 18, 1),
732*4882a593Smuzhiyun PIN_FIELD_BASE(70, 70, 3, 0x0050, 0x10, 19, 1),
733*4882a593Smuzhiyun PIN_FIELD_BASE(71, 71, 3, 0x0050, 0x10, 20, 1),
734*4882a593Smuzhiyun PIN_FIELD_BASE(72, 72, 3, 0x0050, 0x10, 21, 1),
735*4882a593Smuzhiyun PIN_FIELD_BASE(73, 73, 3, 0x0050, 0x10, 2, 1),
736*4882a593Smuzhiyun PIN_FIELD_BASE(74, 74, 3, 0x0050, 0x10, 3, 1),
737*4882a593Smuzhiyun PIN_FIELD_BASE(75, 75, 3, 0x0050, 0x10, 4, 1),
738*4882a593Smuzhiyun PIN_FIELD_BASE(76, 76, 3, 0x0050, 0x10, 5, 1),
739*4882a593Smuzhiyun PIN_FIELD_BASE(77, 77, 3, 0x0050, 0x10, 6, 1),
740*4882a593Smuzhiyun PIN_FIELD_BASE(78, 78, 3, 0x0050, 0x10, 7, 1),
741*4882a593Smuzhiyun PIN_FIELD_BASE(79, 79, 3, 0x0050, 0x10, 8, 1),
742*4882a593Smuzhiyun PIN_FIELD_BASE(80, 80, 3, 0x0050, 0x10, 9, 1),
743*4882a593Smuzhiyun PIN_FIELD_BASE(81, 81, 3, 0x0050, 0x10, 10, 1),
744*4882a593Smuzhiyun PIN_FIELD_BASE(82, 82, 3, 0x0050, 0x10, 11, 1),
745*4882a593Smuzhiyun PIN_FIELD_BASE(83, 83, 3, 0x0050, 0x10, 13, 1),
746*4882a593Smuzhiyun PIN_FIELD_BASE(84, 84, 3, 0x0050, 0x10, 14, 1),
747*4882a593Smuzhiyun PIN_FIELD_BASE(85, 85, 3, 0x0050, 0x10, 31, 1),
748*4882a593Smuzhiyun PIN_FIELD_BASE(86, 86, 3, 0x0060, 0x10, 0, 1),
749*4882a593Smuzhiyun PIN_FIELD_BASE(87, 87, 3, 0x0050, 0x10, 29, 1),
750*4882a593Smuzhiyun PIN_FIELD_BASE(88, 88, 3, 0x0050, 0x10, 30, 1),
751*4882a593Smuzhiyun PIN_FIELD_BASE(89, 89, 2, 0x0070, 0x10, 24, 1),
752*4882a593Smuzhiyun PIN_FIELD_BASE(90, 90, 2, 0x0070, 0x10, 25, 1),
753*4882a593Smuzhiyun PIN_FIELD_BASE(91, 91, 2, 0x0070, 0x10, 0, 1),
754*4882a593Smuzhiyun PIN_FIELD_BASE(92, 92, 2, 0x0080, 0x10, 2, 1),
755*4882a593Smuzhiyun PIN_FIELD_BASE(93, 93, 2, 0x0080, 0x10, 4, 1),
756*4882a593Smuzhiyun PIN_FIELD_BASE(94, 94, 2, 0x0080, 0x10, 3, 1),
757*4882a593Smuzhiyun PIN_FIELD_BASE(95, 95, 2, 0x0080, 0x10, 5, 1),
758*4882a593Smuzhiyun PIN_FIELD_BASE(96, 96, 2, 0x0070, 0x10, 31, 1),
759*4882a593Smuzhiyun PIN_FIELD_BASE(97, 97, 2, 0x0070, 0x10, 26, 1),
760*4882a593Smuzhiyun PIN_FIELD_BASE(98, 98, 2, 0x0080, 0x10, 0, 1),
761*4882a593Smuzhiyun PIN_FIELD_BASE(99, 99, 2, 0x0070, 0x10, 27, 1),
762*4882a593Smuzhiyun PIN_FIELD_BASE(100, 100, 2, 0x0070, 0x10, 28, 1),
763*4882a593Smuzhiyun PIN_FIELD_BASE(101, 101, 2, 0x0070, 0x10, 29, 1),
764*4882a593Smuzhiyun PIN_FIELD_BASE(102, 102, 2, 0x0070, 0x10, 30, 1),
765*4882a593Smuzhiyun PIN_FIELD_BASE(103, 103, 2, 0x0070, 0x10, 18, 1),
766*4882a593Smuzhiyun PIN_FIELD_BASE(104, 104, 2, 0x0070, 0x10, 17, 1),
767*4882a593Smuzhiyun PIN_FIELD_BASE(105, 105, 2, 0x0070, 0x10, 19, 1),
768*4882a593Smuzhiyun PIN_FIELD_BASE(106, 106, 2, 0x0070, 0x10, 16, 1),
769*4882a593Smuzhiyun PIN_FIELD_BASE(107, 107, 2, 0x0070, 0x10, 1, 1),
770*4882a593Smuzhiyun PIN_FIELD_BASE(108, 108, 2, 0x0070, 0x10, 2, 1),
771*4882a593Smuzhiyun PIN_FIELD_BASE(109, 109, 2, 0x0070, 0x10, 10, 1),
772*4882a593Smuzhiyun PIN_FIELD_BASE(110, 110, 2, 0x0070, 0x10, 7, 1),
773*4882a593Smuzhiyun PIN_FIELD_BASE(111, 111, 2, 0x0070, 0x10, 9, 1),
774*4882a593Smuzhiyun PIN_FIELD_BASE(112, 112, 2, 0x0070, 0x10, 11, 1),
775*4882a593Smuzhiyun PIN_FIELD_BASE(113, 113, 2, 0x0070, 0x10, 8, 1),
776*4882a593Smuzhiyun PIN_FIELD_BASE(114, 114, 2, 0x0070, 0x10, 14, 1),
777*4882a593Smuzhiyun PIN_FIELD_BASE(115, 115, 2, 0x0070, 0x10, 13, 1),
778*4882a593Smuzhiyun PIN_FIELD_BASE(116, 116, 2, 0x0070, 0x10, 15, 1),
779*4882a593Smuzhiyun PIN_FIELD_BASE(117, 117, 2, 0x0070, 0x10, 12, 1),
780*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0090, 0x10, 23, 1),
781*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0090, 0x10, 29, 1),
782*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0090, 0x10, 28, 1),
783*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00a0, 0x10, 2, 1),
784*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0090, 0x10, 27, 1),
785*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00a0, 0x10, 1, 1),
786*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0090, 0x10, 26, 1),
787*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00a0, 0x10, 0, 1),
788*4882a593Smuzhiyun PIN_FIELD_BASE(126, 126, 4, 0x0090, 0x10, 19, 1),
789*4882a593Smuzhiyun PIN_FIELD_BASE(127, 127, 4, 0x0090, 0x10, 20, 1),
790*4882a593Smuzhiyun PIN_FIELD_BASE(128, 128, 4, 0x0090, 0x10, 21, 1),
791*4882a593Smuzhiyun PIN_FIELD_BASE(129, 129, 4, 0x0090, 0x10, 22, 1),
792*4882a593Smuzhiyun PIN_FIELD_BASE(130, 130, 4, 0x0090, 0x10, 6, 1),
793*4882a593Smuzhiyun PIN_FIELD_BASE(131, 131, 4, 0x0090, 0x10, 7, 1),
794*4882a593Smuzhiyun PIN_FIELD_BASE(132, 132, 4, 0x0090, 0x10, 8, 1),
795*4882a593Smuzhiyun PIN_FIELD_BASE(133, 133, 4, 0x0090, 0x10, 3, 1),
796*4882a593Smuzhiyun PIN_FIELD_BASE(134, 134, 4, 0x0090, 0x10, 4, 1),
797*4882a593Smuzhiyun PIN_FIELD_BASE(135, 135, 4, 0x0090, 0x10, 5, 1),
798*4882a593Smuzhiyun PIN_FIELD_BASE(136, 136, 4, 0x0090, 0x10, 0, 1),
799*4882a593Smuzhiyun PIN_FIELD_BASE(137, 137, 4, 0x0090, 0x10, 1, 1),
800*4882a593Smuzhiyun PIN_FIELD_BASE(138, 138, 4, 0x0090, 0x10, 2, 1),
801*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0090, 0x10, 25, 1),
802*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0090, 0x10, 31, 1),
803*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0090, 0x10, 24, 1),
804*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0090, 0x10, 30, 1),
805*4882a593Smuzhiyun PIN_FIELD_BASE(143, 143, 1, 0x0050, 0x10, 6, 1),
806*4882a593Smuzhiyun PIN_FIELD_BASE(144, 144, 1, 0x0050, 0x10, 7, 1),
807*4882a593Smuzhiyun PIN_FIELD_BASE(145, 145, 1, 0x0050, 0x10, 8, 1),
808*4882a593Smuzhiyun PIN_FIELD_BASE(146, 146, 1, 0x0050, 0x10, 3, 1),
809*4882a593Smuzhiyun PIN_FIELD_BASE(147, 147, 1, 0x0050, 0x10, 4, 1),
810*4882a593Smuzhiyun PIN_FIELD_BASE(148, 148, 1, 0x0050, 0x10, 5, 1),
811*4882a593Smuzhiyun PIN_FIELD_BASE(149, 149, 1, 0x0050, 0x10, 0, 1),
812*4882a593Smuzhiyun PIN_FIELD_BASE(150, 150, 1, 0x0050, 0x10, 1, 1),
813*4882a593Smuzhiyun PIN_FIELD_BASE(151, 151, 1, 0x0050, 0x10, 2, 1),
814*4882a593Smuzhiyun PIN_FIELD_BASE(156, 156, 7, 0x0070, 0x10, 29, 1),
815*4882a593Smuzhiyun PIN_FIELD_BASE(157, 157, 7, 0x0070, 0x10, 30, 1),
816*4882a593Smuzhiyun PIN_FIELD_BASE(158, 158, 7, 0x0070, 0x10, 31, 1),
817*4882a593Smuzhiyun PIN_FIELD_BASE(159, 159, 7, 0x0080, 0x10, 0, 1),
818*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0070, 0x10, 27, 1),
819*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0070, 0x10, 28, 1),
820*4882a593Smuzhiyun PIN_FIELD_BASE(162, 162, 7, 0x0070, 0x10, 0, 1),
821*4882a593Smuzhiyun PIN_FIELD_BASE(163, 163, 7, 0x0070, 0x10, 1, 1),
822*4882a593Smuzhiyun PIN_FIELD_BASE(164, 164, 7, 0x0070, 0x10, 2, 1),
823*4882a593Smuzhiyun PIN_FIELD_BASE(165, 165, 7, 0x0070, 0x10, 3, 1),
824*4882a593Smuzhiyun PIN_FIELD_BASE(166, 166, 7, 0x0070, 0x10, 4, 1),
825*4882a593Smuzhiyun PIN_FIELD_BASE(167, 167, 7, 0x0070, 0x10, 5, 1),
826*4882a593Smuzhiyun PIN_FIELD_BASE(168, 168, 7, 0x0070, 0x10, 6, 1),
827*4882a593Smuzhiyun PIN_FIELD_BASE(169, 169, 7, 0x0070, 0x10, 7, 1),
828*4882a593Smuzhiyun PIN_FIELD_BASE(170, 170, 7, 0x0070, 0x10, 8, 1),
829*4882a593Smuzhiyun PIN_FIELD_BASE(171, 171, 7, 0x0070, 0x10, 9, 1),
830*4882a593Smuzhiyun PIN_FIELD_BASE(172, 172, 7, 0x0070, 0x10, 13, 1),
831*4882a593Smuzhiyun PIN_FIELD_BASE(173, 173, 7, 0x0070, 0x10, 14, 1),
832*4882a593Smuzhiyun PIN_FIELD_BASE(174, 174, 7, 0x0070, 0x10, 12, 1),
833*4882a593Smuzhiyun PIN_FIELD_BASE(175, 175, 7, 0x0070, 0x10, 15, 1),
834*4882a593Smuzhiyun PIN_FIELD_BASE(176, 176, 7, 0x0070, 0x10, 10, 1),
835*4882a593Smuzhiyun PIN_FIELD_BASE(177, 177, 7, 0x0070, 0x10, 11, 1),
836*4882a593Smuzhiyun PIN_FIELD_BASE(178, 178, 7, 0x0070, 0x10, 16, 1),
837*4882a593Smuzhiyun PIN_FIELD_BASE(179, 179, 7, 0x0070, 0x10, 17, 1),
838*4882a593Smuzhiyun PIN_FIELD_BASE(180, 180, 7, 0x0070, 0x10, 18, 1),
839*4882a593Smuzhiyun PIN_FIELD_BASE(181, 181, 7, 0x0070, 0x10, 19, 1),
840*4882a593Smuzhiyun PIN_FIELD_BASE(182, 182, 7, 0x0070, 0x10, 20, 1),
841*4882a593Smuzhiyun PIN_FIELD_BASE(195, 195, 5, 0x0040, 0x10, 16, 1),
842*4882a593Smuzhiyun PIN_FIELD_BASE(196, 196, 5, 0x0040, 0x10, 6, 1),
843*4882a593Smuzhiyun PIN_FIELD_BASE(197, 197, 5, 0x0040, 0x10, 8, 1),
844*4882a593Smuzhiyun PIN_FIELD_BASE(198, 198, 5, 0x0040, 0x10, 7, 1),
845*4882a593Smuzhiyun PIN_FIELD_BASE(199, 199, 5, 0x0040, 0x10, 3, 1),
846*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0040, 0x10, 6, 1),
847*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0040, 0x10, 8, 1),
848*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0040, 0x10, 15, 1),
849*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0040, 0x10, 17, 1),
850*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0040, 0x10, 5, 1),
851*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0040, 0x10, 7, 1),
852*4882a593Smuzhiyun PIN_FIELD_BASE(206, 206, 5, 0x0040, 0x10, 18, 1),
853*4882a593Smuzhiyun PIN_FIELD_BASE(207, 207, 5, 0x0040, 0x10, 19, 1),
854*4882a593Smuzhiyun PIN_FIELD_BASE(208, 208, 5, 0x0040, 0x10, 20, 1),
855*4882a593Smuzhiyun PIN_FIELD_BASE(209, 209, 5, 0x0040, 0x10, 12, 1),
856*4882a593Smuzhiyun PIN_FIELD_BASE(210, 210, 5, 0x0040, 0x10, 11, 1),
857*4882a593Smuzhiyun PIN_FIELD_BASE(211, 211, 5, 0x0040, 0x10, 13, 1),
858*4882a593Smuzhiyun PIN_FIELD_BASE(212, 212, 5, 0x0040, 0x10, 10, 1),
859*4882a593Smuzhiyun PIN_FIELD_BASE(213, 213, 5, 0x0040, 0x10, 14, 1),
860*4882a593Smuzhiyun PIN_FIELD_BASE(214, 214, 5, 0x0040, 0x10, 0, 1),
861*4882a593Smuzhiyun PIN_FIELD_BASE(215, 215, 5, 0x0040, 0x10, 9, 1),
862*4882a593Smuzhiyun PIN_FIELD_BASE(216, 216, 5, 0x0040, 0x10, 4, 1),
863*4882a593Smuzhiyun PIN_FIELD_BASE(217, 217, 5, 0x0040, 0x10, 5, 1),
864*4882a593Smuzhiyun PIN_FIELD_BASE(218, 218, 5, 0x0040, 0x10, 1, 1),
865*4882a593Smuzhiyun PIN_FIELD_BASE(219, 219, 5, 0x0040, 0x10, 2, 1),
866*4882a593Smuzhiyun };
867*4882a593Smuzhiyun
868*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_drv_range[] = {
869*4882a593Smuzhiyun PIN_FIELD_BASE(0, 0, 4, 0x0000, 0x10, 18, 3),
870*4882a593Smuzhiyun PIN_FIELD_BASE(1, 1, 4, 0x0000, 0x10, 21, 3),
871*4882a593Smuzhiyun PIN_FIELD_BASE(2, 2, 4, 0x0000, 0x10, 24, 3),
872*4882a593Smuzhiyun PIN_FIELD_BASE(3, 3, 4, 0x0000, 0x10, 27, 3),
873*4882a593Smuzhiyun PIN_FIELD_BASE(4, 4, 4, 0x0010, 0x10, 0, 3),
874*4882a593Smuzhiyun PIN_FIELD_BASE(5, 5, 4, 0x0010, 0x10, 3, 3),
875*4882a593Smuzhiyun PIN_FIELD_BASE(6, 6, 4, 0x0010, 0x10, 6, 3),
876*4882a593Smuzhiyun PIN_FIELD_BASE(7, 7, 4, 0x0010, 0x10, 9, 3),
877*4882a593Smuzhiyun PIN_FIELD_BASE(8, 8, 4, 0x0010, 0x10, 12, 3),
878*4882a593Smuzhiyun PIN_FIELD_BASE(9, 9, 4, 0x0010, 0x10, 15, 3),
879*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0000, 0x10, 0, 3),
880*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0000, 0x10, 3, 3),
881*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0000, 0x10, 6, 3),
882*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0000, 0x10, 9, 3),
883*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0000, 0x10, 12, 3),
884*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0000, 0x10, 15, 3),
885*4882a593Smuzhiyun PIN_FIELD_BASE(16, 16, 8, 0x0000, 0x10, 0, 3),
886*4882a593Smuzhiyun PIN_FIELD_BASE(17, 17, 8, 0x0000, 0x10, 0, 3),
887*4882a593Smuzhiyun PIN_FIELD_BASE(18, 18, 7, 0x0010, 0x10, 15, 3),
888*4882a593Smuzhiyun PIN_FIELD_BASE(19, 19, 7, 0x0010, 0x10, 15, 3),
889*4882a593Smuzhiyun PIN_FIELD_BASE(20, 20, 7, 0x0010, 0x10, 18, 3),
890*4882a593Smuzhiyun PIN_FIELD_BASE(21, 21, 7, 0x0010, 0x10, 18, 3),
891*4882a593Smuzhiyun PIN_FIELD_BASE(22, 22, 2, 0x0000, 0x10, 6, 3),
892*4882a593Smuzhiyun PIN_FIELD_BASE(23, 23, 2, 0x0000, 0x10, 9, 3),
893*4882a593Smuzhiyun PIN_FIELD_BASE(24, 24, 2, 0x0000, 0x10, 12, 3),
894*4882a593Smuzhiyun PIN_FIELD_BASE(25, 25, 2, 0x0000, 0x10, 15, 3),
895*4882a593Smuzhiyun PIN_FIELD_BASE(26, 26, 3, 0x0000, 0x10, 15, 3),
896*4882a593Smuzhiyun PIN_FIELD_BASE(27, 27, 3, 0x0000, 0x10, 18, 3),
897*4882a593Smuzhiyun PIN_FIELD_BASE(28, 28, 3, 0x0000, 0x10, 21, 3),
898*4882a593Smuzhiyun PIN_FIELD_BASE(29, 29, 3, 0x0000, 0x10, 24, 3),
899*4882a593Smuzhiyun PIN_FIELD_BASE(30, 30, 3, 0x0000, 0x10, 27, 3),
900*4882a593Smuzhiyun PIN_FIELD_BASE(31, 31, 3, 0x0000, 0x10, 12, 3),
901*4882a593Smuzhiyun PIN_FIELD_BASE(32, 32, 3, 0x0000, 0x10, 3, 3),
902*4882a593Smuzhiyun PIN_FIELD_BASE(33, 33, 3, 0x0000, 0x10, 9, 3),
903*4882a593Smuzhiyun PIN_FIELD_BASE(34, 34, 3, 0x0000, 0x10, 0, 3),
904*4882a593Smuzhiyun PIN_FIELD_BASE(35, 35, 3, 0x0000, 0x10, 6, 3),
905*4882a593Smuzhiyun PIN_FIELD_BASE(36, 36, 2, 0x0010, 0x10, 21, 3),
906*4882a593Smuzhiyun PIN_FIELD_BASE(37, 37, 2, 0x0010, 0x10, 24, 3),
907*4882a593Smuzhiyun PIN_FIELD_BASE(38, 38, 2, 0x0010, 0x10, 27, 3),
908*4882a593Smuzhiyun PIN_FIELD_BASE(39, 39, 2, 0x0020, 0x10, 0, 3),
909*4882a593Smuzhiyun PIN_FIELD_BASE(40, 40, 8, 0x0000, 0x10, 0, 3),
910*4882a593Smuzhiyun PIN_FIELD_BASE(41, 41, 8, 0x0000, 0x10, 0, 3),
911*4882a593Smuzhiyun PIN_FIELD_BASE(42, 42, 8, 0x0000, 0x10, 3, 3),
912*4882a593Smuzhiyun PIN_FIELD_BASE(43, 43, 7, 0x0010, 0x10, 15, 3),
913*4882a593Smuzhiyun PIN_FIELD_BASE(44, 44, 7, 0x0010, 0x10, 15, 3),
914*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x0010, 0x10, 6, 2),
915*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x0010, 0x10, 6, 2),
916*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x0010, 0x10, 6, 2),
917*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x0010, 0x10, 8, 2),
918*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x0010, 0x10, 8, 2),
919*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x0010, 0x10, 8, 2),
920*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x0000, 0x10, 12, 3),
921*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x0000, 0x10, 15, 3),
922*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x0000, 0x10, 27, 3),
923*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x0000, 0x10, 18, 3),
924*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x0000, 0x10, 24, 3),
925*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x0000, 0x10, 21, 3),
926*4882a593Smuzhiyun PIN_FIELD_BASE(57, 57, 3, 0x0010, 0x10, 24, 3),
927*4882a593Smuzhiyun PIN_FIELD_BASE(58, 58, 3, 0x0010, 0x10, 24, 3),
928*4882a593Smuzhiyun PIN_FIELD_BASE(59, 59, 3, 0x0010, 0x10, 27, 3),
929*4882a593Smuzhiyun PIN_FIELD_BASE(60, 60, 3, 0x0010, 0x10, 27, 3),
930*4882a593Smuzhiyun PIN_FIELD_BASE(61, 61, 3, 0x0020, 0x10, 0, 3),
931*4882a593Smuzhiyun PIN_FIELD_BASE(62, 62, 3, 0x0020, 0x10, 0, 3),
932*4882a593Smuzhiyun PIN_FIELD_BASE(63, 63, 3, 0x0010, 0x10, 0, 3),
933*4882a593Smuzhiyun PIN_FIELD_BASE(64, 64, 3, 0x0010, 0x10, 0, 3),
934*4882a593Smuzhiyun PIN_FIELD_BASE(65, 65, 3, 0x0010, 0x10, 0, 3),
935*4882a593Smuzhiyun PIN_FIELD_BASE(66, 66, 3, 0x0010, 0x10, 0, 3),
936*4882a593Smuzhiyun PIN_FIELD_BASE(67, 67, 3, 0x0010, 0x10, 3, 3),
937*4882a593Smuzhiyun PIN_FIELD_BASE(68, 68, 3, 0x0010, 0x10, 3, 3),
938*4882a593Smuzhiyun PIN_FIELD_BASE(69, 69, 3, 0x0010, 0x10, 3, 3),
939*4882a593Smuzhiyun PIN_FIELD_BASE(70, 70, 3, 0x0010, 0x10, 3, 3),
940*4882a593Smuzhiyun PIN_FIELD_BASE(71, 71, 3, 0x0010, 0x10, 6, 3),
941*4882a593Smuzhiyun PIN_FIELD_BASE(72, 72, 3, 0x0010, 0x10, 6, 3),
942*4882a593Smuzhiyun PIN_FIELD_BASE(73, 73, 3, 0x0010, 0x10, 6, 3),
943*4882a593Smuzhiyun PIN_FIELD_BASE(74, 74, 3, 0x0010, 0x10, 6, 3),
944*4882a593Smuzhiyun PIN_FIELD_BASE(75, 75, 3, 0x0010, 0x10, 9, 3),
945*4882a593Smuzhiyun PIN_FIELD_BASE(76, 76, 3, 0x0010, 0x10, 9, 3),
946*4882a593Smuzhiyun PIN_FIELD_BASE(77, 77, 3, 0x0010, 0x10, 9, 3),
947*4882a593Smuzhiyun PIN_FIELD_BASE(78, 78, 3, 0x0010, 0x10, 9, 3),
948*4882a593Smuzhiyun PIN_FIELD_BASE(79, 79, 3, 0x0010, 0x10, 12, 3),
949*4882a593Smuzhiyun PIN_FIELD_BASE(80, 80, 3, 0x0010, 0x10, 12, 3),
950*4882a593Smuzhiyun PIN_FIELD_BASE(81, 81, 3, 0x0010, 0x10, 12, 3),
951*4882a593Smuzhiyun PIN_FIELD_BASE(82, 82, 3, 0x0010, 0x10, 12, 3),
952*4882a593Smuzhiyun PIN_FIELD_BASE(83, 83, 3, 0x0010, 0x10, 15, 3),
953*4882a593Smuzhiyun PIN_FIELD_BASE(84, 84, 3, 0x0010, 0x10, 15, 3),
954*4882a593Smuzhiyun PIN_FIELD_BASE(85, 85, 3, 0x0010, 0x10, 21, 3),
955*4882a593Smuzhiyun PIN_FIELD_BASE(86, 86, 3, 0x0010, 0x10, 21, 3),
956*4882a593Smuzhiyun PIN_FIELD_BASE(87, 87, 3, 0x0010, 0x10, 18, 3),
957*4882a593Smuzhiyun PIN_FIELD_BASE(88, 88, 3, 0x0010, 0x10, 18, 3),
958*4882a593Smuzhiyun PIN_FIELD_BASE(89, 89, 2, 0x0020, 0x10, 3, 3),
959*4882a593Smuzhiyun PIN_FIELD_BASE(90, 90, 2, 0x0020, 0x10, 6, 3),
960*4882a593Smuzhiyun PIN_FIELD_BASE(91, 91, 2, 0x0010, 0x10, 3, 3),
961*4882a593Smuzhiyun PIN_FIELD_BASE(92, 92, 2, 0x0010, 0x10, 3, 3),
962*4882a593Smuzhiyun PIN_FIELD_BASE(93, 93, 2, 0x0010, 0x10, 3, 3),
963*4882a593Smuzhiyun PIN_FIELD_BASE(94, 94, 2, 0x0010, 0x10, 3, 3),
964*4882a593Smuzhiyun PIN_FIELD_BASE(95, 95, 2, 0x0010, 0x10, 3, 3),
965*4882a593Smuzhiyun PIN_FIELD_BASE(96, 96, 2, 0x0020, 0x10, 24, 3),
966*4882a593Smuzhiyun PIN_FIELD_BASE(97, 97, 2, 0x0020, 0x10, 9, 3),
967*4882a593Smuzhiyun PIN_FIELD_BASE(98, 98, 2, 0x0020, 0x10, 27, 3),
968*4882a593Smuzhiyun PIN_FIELD_BASE(99, 99, 2, 0x0020, 0x10, 12, 3),
969*4882a593Smuzhiyun PIN_FIELD_BASE(100, 100, 2, 0x0020, 0x10, 15, 3),
970*4882a593Smuzhiyun PIN_FIELD_BASE(101, 101, 2, 0x0020, 0x10, 18, 3),
971*4882a593Smuzhiyun PIN_FIELD_BASE(102, 102, 2, 0x0020, 0x10, 21, 3),
972*4882a593Smuzhiyun PIN_FIELD_BASE(103, 103, 2, 0x0010, 0x10, 6, 3),
973*4882a593Smuzhiyun PIN_FIELD_BASE(104, 104, 2, 0x0010, 0x10, 6, 3),
974*4882a593Smuzhiyun PIN_FIELD_BASE(105, 105, 2, 0x0010, 0x10, 6, 3),
975*4882a593Smuzhiyun PIN_FIELD_BASE(106, 106, 2, 0x0010, 0x10, 6, 3),
976*4882a593Smuzhiyun PIN_FIELD_BASE(107, 107, 2, 0x0000, 0x10, 0, 3),
977*4882a593Smuzhiyun PIN_FIELD_BASE(108, 108, 2, 0x0000, 0x10, 3, 3),
978*4882a593Smuzhiyun PIN_FIELD_BASE(109, 109, 2, 0x0000, 0x10, 27, 3),
979*4882a593Smuzhiyun PIN_FIELD_BASE(110, 110, 2, 0x0000, 0x10, 18, 3),
980*4882a593Smuzhiyun PIN_FIELD_BASE(111, 111, 2, 0x0000, 0x10, 24, 3),
981*4882a593Smuzhiyun PIN_FIELD_BASE(112, 112, 2, 0x0010, 0x10, 0, 3),
982*4882a593Smuzhiyun PIN_FIELD_BASE(113, 113, 2, 0x0000, 0x10, 21, 3),
983*4882a593Smuzhiyun PIN_FIELD_BASE(114, 114, 2, 0x0010, 0x10, 15, 3),
984*4882a593Smuzhiyun PIN_FIELD_BASE(115, 115, 2, 0x0010, 0x10, 12, 3),
985*4882a593Smuzhiyun PIN_FIELD_BASE(116, 116, 2, 0x0010, 0x10, 18, 3),
986*4882a593Smuzhiyun PIN_FIELD_BASE(117, 117, 2, 0x0010, 0x10, 9, 3),
987*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0020, 0x10, 3, 3),
988*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0020, 0x10, 21, 3),
989*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0020, 0x10, 18, 3),
990*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x0030, 0x10, 6, 3),
991*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0020, 0x10, 15, 3),
992*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x0030, 0x10, 3, 3),
993*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0020, 0x10, 12, 3),
994*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x0030, 0x10, 0, 3),
995*4882a593Smuzhiyun PIN_FIELD_BASE(126, 126, 4, 0x0010, 0x10, 18, 3),
996*4882a593Smuzhiyun PIN_FIELD_BASE(127, 127, 4, 0x0010, 0x10, 21, 3),
997*4882a593Smuzhiyun PIN_FIELD_BASE(128, 128, 4, 0x0010, 0x10, 24, 3),
998*4882a593Smuzhiyun PIN_FIELD_BASE(129, 129, 4, 0x0010, 0x10, 27, 3),
999*4882a593Smuzhiyun PIN_FIELD_BASE(130, 130, 4, 0x0000, 0x10, 9, 3),
1000*4882a593Smuzhiyun PIN_FIELD_BASE(131, 131, 4, 0x0000, 0x10, 12, 3),
1001*4882a593Smuzhiyun PIN_FIELD_BASE(132, 132, 4, 0x0000, 0x10, 15, 3),
1002*4882a593Smuzhiyun PIN_FIELD_BASE(133, 133, 4, 0x0020, 0x10, 0, 3),
1003*4882a593Smuzhiyun PIN_FIELD_BASE(134, 134, 4, 0x0020, 0x10, 0, 3),
1004*4882a593Smuzhiyun PIN_FIELD_BASE(135, 135, 4, 0x0020, 0x10, 0, 3),
1005*4882a593Smuzhiyun PIN_FIELD_BASE(136, 136, 4, 0x0000, 0x10, 0, 3),
1006*4882a593Smuzhiyun PIN_FIELD_BASE(137, 137, 4, 0x0000, 0x10, 3, 3),
1007*4882a593Smuzhiyun PIN_FIELD_BASE(138, 138, 4, 0x0000, 0x10, 6, 3),
1008*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0020, 0x10, 9, 3),
1009*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0020, 0x10, 27, 3),
1010*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0020, 0x10, 6, 3),
1011*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0020, 0x10, 24, 3),
1012*4882a593Smuzhiyun PIN_FIELD_BASE(143, 143, 1, 0x0010, 0x10, 0, 3),
1013*4882a593Smuzhiyun PIN_FIELD_BASE(144, 144, 1, 0x0010, 0x10, 0, 3),
1014*4882a593Smuzhiyun PIN_FIELD_BASE(145, 145, 1, 0x0010, 0x10, 3, 3),
1015*4882a593Smuzhiyun PIN_FIELD_BASE(146, 146, 1, 0x0010, 0x10, 0, 3),
1016*4882a593Smuzhiyun PIN_FIELD_BASE(147, 147, 1, 0x0010, 0x10, 0, 3),
1017*4882a593Smuzhiyun PIN_FIELD_BASE(148, 148, 1, 0x0000, 0x10, 9, 3),
1018*4882a593Smuzhiyun PIN_FIELD_BASE(149, 149, 1, 0x0000, 0x10, 0, 3),
1019*4882a593Smuzhiyun PIN_FIELD_BASE(150, 150, 1, 0x0000, 0x10, 3, 3),
1020*4882a593Smuzhiyun PIN_FIELD_BASE(151, 151, 1, 0x0000, 0x10, 6, 3),
1021*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x0010, 0x10, 21, 3),
1022*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x0010, 0x10, 21, 3),
1023*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x0010, 0x10, 21, 3),
1024*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x0010, 0x10, 21, 3),
1025*4882a593Smuzhiyun PIN_FIELD_BASE(156, 156, 7, 0x0020, 0x10, 3, 3),
1026*4882a593Smuzhiyun PIN_FIELD_BASE(157, 157, 7, 0x0020, 0x10, 6, 3),
1027*4882a593Smuzhiyun PIN_FIELD_BASE(158, 158, 7, 0x0020, 0x10, 9, 3),
1028*4882a593Smuzhiyun PIN_FIELD_BASE(159, 159, 7, 0x0020, 0x10, 12, 3),
1029*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0010, 0x10, 27, 3),
1030*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0020, 0x10, 0, 3),
1031*4882a593Smuzhiyun PIN_FIELD_BASE(162, 162, 7, 0x0000, 0x10, 0, 3),
1032*4882a593Smuzhiyun PIN_FIELD_BASE(163, 163, 7, 0x0000, 0x10, 3, 3),
1033*4882a593Smuzhiyun PIN_FIELD_BASE(164, 164, 7, 0x0010, 0x10, 24, 3),
1034*4882a593Smuzhiyun PIN_FIELD_BASE(165, 165, 7, 0x0010, 0x10, 24, 3),
1035*4882a593Smuzhiyun PIN_FIELD_BASE(166, 166, 7, 0x0010, 0x10, 24, 3),
1036*4882a593Smuzhiyun PIN_FIELD_BASE(167, 167, 7, 0x0010, 0x10, 24, 3),
1037*4882a593Smuzhiyun PIN_FIELD_BASE(168, 168, 7, 0x0000, 0x10, 6, 3),
1038*4882a593Smuzhiyun PIN_FIELD_BASE(169, 169, 7, 0x0000, 0x10, 9, 3),
1039*4882a593Smuzhiyun PIN_FIELD_BASE(170, 170, 7, 0x0010, 0x10, 24, 3),
1040*4882a593Smuzhiyun PIN_FIELD_BASE(171, 171, 7, 0x0010, 0x10, 24, 3),
1041*4882a593Smuzhiyun PIN_FIELD_BASE(172, 172, 7, 0x0000, 0x10, 21, 3),
1042*4882a593Smuzhiyun PIN_FIELD_BASE(173, 173, 7, 0x0000, 0x10, 24, 3),
1043*4882a593Smuzhiyun PIN_FIELD_BASE(174, 174, 7, 0x0000, 0x10, 18, 3),
1044*4882a593Smuzhiyun PIN_FIELD_BASE(175, 175, 7, 0x0000, 0x10, 27, 3),
1045*4882a593Smuzhiyun PIN_FIELD_BASE(176, 176, 7, 0x0000, 0x10, 12, 3),
1046*4882a593Smuzhiyun PIN_FIELD_BASE(177, 177, 7, 0x0000, 0x10, 15, 3),
1047*4882a593Smuzhiyun PIN_FIELD_BASE(178, 178, 7, 0x0010, 0x10, 0, 3),
1048*4882a593Smuzhiyun PIN_FIELD_BASE(179, 179, 7, 0x0010, 0x10, 3, 3),
1049*4882a593Smuzhiyun PIN_FIELD_BASE(180, 180, 7, 0x0010, 0x10, 6, 3),
1050*4882a593Smuzhiyun PIN_FIELD_BASE(181, 181, 7, 0x0010, 0x10, 9, 3),
1051*4882a593Smuzhiyun PIN_FIELD_BASE(182, 182, 7, 0x0010, 0x10, 12, 3),
1052*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0000, 0x10, 3, 3),
1053*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0000, 0x10, 6, 3),
1054*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0000, 0x10, 12, 3),
1055*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0000, 0x10, 18, 3),
1056*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0000, 0x10, 24, 3),
1057*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0000, 0x10, 9, 3),
1058*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0000, 0x10, 21, 3),
1059*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0000, 0x10, 27, 3),
1060*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0010, 0x10, 0, 3),
1061*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0000, 0x10, 0, 3),
1062*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0000, 0x10, 15, 3),
1063*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0010, 0x10, 3, 3),
1064*4882a593Smuzhiyun PIN_FIELD_BASE(195, 195, 5, 0x0010, 0x10, 3, 3),
1065*4882a593Smuzhiyun PIN_FIELD_BASE(196, 196, 5, 0x0000, 0x10, 18, 3),
1066*4882a593Smuzhiyun PIN_FIELD_BASE(197, 197, 5, 0x0000, 0x10, 24, 3),
1067*4882a593Smuzhiyun PIN_FIELD_BASE(198, 198, 5, 0x0000, 0x10, 21, 3),
1068*4882a593Smuzhiyun PIN_FIELD_BASE(199, 199, 5, 0x0000, 0x10, 9, 3),
1069*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0000, 0x10, 9, 3),
1070*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0000, 0x10, 15, 3),
1071*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0010, 0x10, 6, 3),
1072*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0010, 0x10, 9, 3),
1073*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0000, 0x10, 6, 3),
1074*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0000, 0x10, 12, 3),
1075*4882a593Smuzhiyun PIN_FIELD_BASE(206, 206, 5, 0x0010, 0x10, 3, 3),
1076*4882a593Smuzhiyun PIN_FIELD_BASE(207, 207, 5, 0x0010, 0x10, 3, 3),
1077*4882a593Smuzhiyun PIN_FIELD_BASE(208, 208, 5, 0x0010, 0x10, 12, 3),
1078*4882a593Smuzhiyun PIN_FIELD_BASE(209, 209, 5, 0x0010, 0x10, 0, 3),
1079*4882a593Smuzhiyun PIN_FIELD_BASE(210, 210, 5, 0x0010, 0x10, 0, 3),
1080*4882a593Smuzhiyun PIN_FIELD_BASE(211, 211, 5, 0x0010, 0x10, 0, 3),
1081*4882a593Smuzhiyun PIN_FIELD_BASE(212, 212, 5, 0x0010, 0x10, 0, 3),
1082*4882a593Smuzhiyun PIN_FIELD_BASE(213, 213, 5, 0x0010, 0x10, 3, 3),
1083*4882a593Smuzhiyun PIN_FIELD_BASE(214, 214, 5, 0x0000, 0x10, 0, 3),
1084*4882a593Smuzhiyun PIN_FIELD_BASE(215, 215, 5, 0x0000, 0x10, 27, 3),
1085*4882a593Smuzhiyun PIN_FIELD_BASE(216, 216, 5, 0x0000, 0x10, 12, 3),
1086*4882a593Smuzhiyun PIN_FIELD_BASE(217, 217, 5, 0x0000, 0x10, 15, 3),
1087*4882a593Smuzhiyun PIN_FIELD_BASE(218, 218, 5, 0x0000, 0x10, 3, 3),
1088*4882a593Smuzhiyun PIN_FIELD_BASE(219, 219, 5, 0x0000, 0x10, 6, 3),
1089*4882a593Smuzhiyun };
1090*4882a593Smuzhiyun
1091*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_pupd_range[] = {
1092*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0020, 0x10, 0, 1),
1093*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0020, 0x10, 1, 1),
1094*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0020, 0x10, 2, 1),
1095*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0020, 0x10, 3, 1),
1096*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0020, 0x10, 4, 1),
1097*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0020, 0x10, 5, 1),
1098*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x0060, 0x10, 9, 1),
1099*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x0060, 0x10, 11, 1),
1100*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x0060, 0x10, 10, 1),
1101*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x0060, 0x10, 7, 1),
1102*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x0060, 0x10, 8, 1),
1103*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x0060, 0x10, 6, 1),
1104*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x0060, 0x10, 0, 1),
1105*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x0060, 0x10, 1, 1),
1106*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x0060, 0x10, 5, 1),
1107*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x0060, 0x10, 2, 1),
1108*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x0060, 0x10, 4, 1),
1109*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x0060, 0x10, 3, 1),
1110*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x00e0, 0x10, 31, 1),
1111*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x00e0, 0x10, 31, 1),
1112*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x00e0, 0x10, 31, 1),
1113*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00e0, 0x10, 31, 1),
1114*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x00e0, 0x10, 31, 1),
1115*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00e0, 0x10, 31, 1),
1116*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x00e0, 0x10, 31, 1),
1117*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00e0, 0x10, 31, 1),
1118*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x00e0, 0x10, 31, 1),
1119*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x00e0, 0x10, 31, 1),
1120*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x00e0, 0x10, 31, 1),
1121*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x00e0, 0x10, 31, 1),
1122*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x0090, 0x10, 3, 1),
1123*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x0090, 0x10, 2, 1),
1124*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x0090, 0x10, 0, 1),
1125*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x0090, 0x10, 1, 1),
1126*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x00f0, 0x10, 31, 1),
1127*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x00f0, 0x10, 31, 1),
1128*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0030, 0x10, 1, 1),
1129*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0030, 0x10, 2, 1),
1130*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0030, 0x10, 4, 1),
1131*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0030, 0x10, 6, 1),
1132*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0030, 0x10, 8, 1),
1133*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0030, 0x10, 3, 1),
1134*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0030, 0x10, 7, 1),
1135*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0030, 0x10, 9, 1),
1136*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0030, 0x10, 10, 1),
1137*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0030, 0x10, 0, 1),
1138*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0030, 0x10, 5, 1),
1139*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0030, 0x10, 11, 1),
1140*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0070, 0x10, 31, 1),
1141*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0070, 0x10, 31, 1),
1142*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0070, 0x10, 31, 1),
1143*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0070, 0x10, 31, 1),
1144*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0070, 0x10, 31, 1),
1145*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0070, 0x10, 31, 1),
1146*4882a593Smuzhiyun };
1147*4882a593Smuzhiyun
1148*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_r0_range[] = {
1149*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0030, 0x10, 0, 1),
1150*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0030, 0x10, 1, 1),
1151*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0030, 0x10, 2, 1),
1152*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0030, 0x10, 3, 1),
1153*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0030, 0x10, 4, 1),
1154*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0030, 0x10, 5, 1),
1155*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x0080, 0x10, 9, 1),
1156*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x0080, 0x10, 11, 1),
1157*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x0080, 0x10, 10, 1),
1158*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x0080, 0x10, 7, 1),
1159*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x0080, 0x10, 8, 1),
1160*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x0080, 0x10, 6, 1),
1161*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x0080, 0x10, 0, 1),
1162*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x0080, 0x10, 1, 1),
1163*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x0080, 0x10, 5, 1),
1164*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x0080, 0x10, 2, 1),
1165*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x0080, 0x10, 4, 1),
1166*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x0080, 0x10, 3, 1),
1167*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x00e0, 0x10, 0, 1),
1168*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x00e0, 0x10, 12, 1),
1169*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x00e0, 0x10, 10, 1),
1170*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00e0, 0x10, 22, 1),
1171*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x00e0, 0x10, 8, 1),
1172*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00e0, 0x10, 20, 1),
1173*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x00e0, 0x10, 6, 1),
1174*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00e0, 0x10, 18, 1),
1175*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x00e0, 0x10, 4, 1),
1176*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x00e0, 0x10, 16, 1),
1177*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x00e0, 0x10, 2, 1),
1178*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x00e0, 0x10, 14, 1),
1179*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x00c0, 0x10, 3, 1),
1180*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x00c0, 0x10, 2, 1),
1181*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x00c0, 0x10, 0, 1),
1182*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x00c0, 0x10, 1, 1),
1183*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x00f0, 0x10, 0, 1),
1184*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x00f0, 0x10, 2, 1),
1185*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0040, 0x10, 1, 1),
1186*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0040, 0x10, 2, 1),
1187*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0040, 0x10, 4, 1),
1188*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0040, 0x10, 6, 1),
1189*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0040, 0x10, 8, 1),
1190*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0040, 0x10, 3, 1),
1191*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0040, 0x10, 7, 1),
1192*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0040, 0x10, 9, 1),
1193*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0040, 0x10, 10, 1),
1194*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0040, 0x10, 0, 1),
1195*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0040, 0x10, 5, 1),
1196*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0040, 0x10, 11, 1),
1197*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0070, 0x10, 2, 1),
1198*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0070, 0x10, 6, 1),
1199*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0070, 0x10, 0, 1),
1200*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0070, 0x10, 2, 1),
1201*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0070, 0x10, 0, 1),
1202*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0070, 0x10, 4, 1),
1203*4882a593Smuzhiyun };
1204*4882a593Smuzhiyun
1205*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_r1_range[] = {
1206*4882a593Smuzhiyun PIN_FIELD_BASE(10, 10, 6, 0x0040, 0x10, 0, 1),
1207*4882a593Smuzhiyun PIN_FIELD_BASE(11, 11, 6, 0x0040, 0x10, 1, 1),
1208*4882a593Smuzhiyun PIN_FIELD_BASE(12, 12, 6, 0x0040, 0x10, 2, 1),
1209*4882a593Smuzhiyun PIN_FIELD_BASE(13, 13, 6, 0x0040, 0x10, 3, 1),
1210*4882a593Smuzhiyun PIN_FIELD_BASE(14, 14, 6, 0x0040, 0x10, 4, 1),
1211*4882a593Smuzhiyun PIN_FIELD_BASE(15, 15, 6, 0x0040, 0x10, 5, 1),
1212*4882a593Smuzhiyun PIN_FIELD_BASE(45, 45, 1, 0x0090, 0x10, 9, 1),
1213*4882a593Smuzhiyun PIN_FIELD_BASE(46, 46, 1, 0x0090, 0x10, 11, 1),
1214*4882a593Smuzhiyun PIN_FIELD_BASE(47, 47, 1, 0x0090, 0x10, 10, 1),
1215*4882a593Smuzhiyun PIN_FIELD_BASE(48, 48, 1, 0x0090, 0x10, 7, 1),
1216*4882a593Smuzhiyun PIN_FIELD_BASE(49, 49, 1, 0x0090, 0x10, 8, 1),
1217*4882a593Smuzhiyun PIN_FIELD_BASE(50, 50, 1, 0x0090, 0x10, 6, 1),
1218*4882a593Smuzhiyun PIN_FIELD_BASE(51, 51, 1, 0x0090, 0x10, 0, 1),
1219*4882a593Smuzhiyun PIN_FIELD_BASE(52, 52, 1, 0x0090, 0x10, 1, 1),
1220*4882a593Smuzhiyun PIN_FIELD_BASE(53, 53, 1, 0x0090, 0x10, 5, 1),
1221*4882a593Smuzhiyun PIN_FIELD_BASE(54, 54, 1, 0x0090, 0x10, 2, 1),
1222*4882a593Smuzhiyun PIN_FIELD_BASE(55, 55, 1, 0x0090, 0x10, 4, 1),
1223*4882a593Smuzhiyun PIN_FIELD_BASE(56, 56, 1, 0x0090, 0x10, 3, 1),
1224*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x00e0, 0x10, 1, 1),
1225*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x00e0, 0x10, 13, 1),
1226*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x00e0, 0x10, 11, 1),
1227*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x00e0, 0x10, 23, 1),
1228*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x00e0, 0x10, 9, 1),
1229*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x00e0, 0x10, 21, 1),
1230*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x00e0, 0x10, 7, 1),
1231*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x00e0, 0x10, 19, 1),
1232*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x00e0, 0x10, 5, 1),
1233*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x00e0, 0x10, 17, 1),
1234*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x00e0, 0x10, 3, 1),
1235*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x00e0, 0x10, 15, 1),
1236*4882a593Smuzhiyun PIN_FIELD_BASE(152, 152, 7, 0x00d0, 0x10, 3, 1),
1237*4882a593Smuzhiyun PIN_FIELD_BASE(153, 153, 7, 0x00d0, 0x10, 2, 1),
1238*4882a593Smuzhiyun PIN_FIELD_BASE(154, 154, 7, 0x00d0, 0x10, 0, 1),
1239*4882a593Smuzhiyun PIN_FIELD_BASE(155, 155, 7, 0x00d0, 0x10, 1, 1),
1240*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x00f0, 0x10, 1, 1),
1241*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x00f0, 0x10, 3, 1),
1242*4882a593Smuzhiyun PIN_FIELD_BASE(183, 183, 9, 0x0050, 0x10, 1, 1),
1243*4882a593Smuzhiyun PIN_FIELD_BASE(184, 184, 9, 0x0050, 0x10, 2, 1),
1244*4882a593Smuzhiyun PIN_FIELD_BASE(185, 185, 9, 0x0050, 0x10, 4, 1),
1245*4882a593Smuzhiyun PIN_FIELD_BASE(186, 186, 9, 0x0050, 0x10, 6, 1),
1246*4882a593Smuzhiyun PIN_FIELD_BASE(187, 187, 9, 0x0050, 0x10, 8, 1),
1247*4882a593Smuzhiyun PIN_FIELD_BASE(188, 188, 9, 0x0050, 0x10, 3, 1),
1248*4882a593Smuzhiyun PIN_FIELD_BASE(189, 189, 9, 0x0050, 0x10, 7, 1),
1249*4882a593Smuzhiyun PIN_FIELD_BASE(190, 190, 9, 0x0050, 0x10, 9, 1),
1250*4882a593Smuzhiyun PIN_FIELD_BASE(191, 191, 9, 0x0050, 0x10, 10, 1),
1251*4882a593Smuzhiyun PIN_FIELD_BASE(192, 192, 9, 0x0050, 0x10, 0, 1),
1252*4882a593Smuzhiyun PIN_FIELD_BASE(193, 193, 9, 0x0050, 0x10, 5, 1),
1253*4882a593Smuzhiyun PIN_FIELD_BASE(194, 194, 9, 0x0050, 0x10, 11, 1),
1254*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0070, 0x10, 3, 1),
1255*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0070, 0x10, 7, 1),
1256*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0070, 0x10, 1, 1),
1257*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0070, 0x10, 3, 1),
1258*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0070, 0x10, 1, 1),
1259*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0070, 0x10, 5, 1),
1260*4882a593Smuzhiyun };
1261*4882a593Smuzhiyun
1262*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_e1e0en_range[] = {
1263*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0040, 0x10, 0, 1),
1264*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0040, 0x10, 18, 1),
1265*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0040, 0x10, 15, 1),
1266*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x0050, 0x10, 3, 1),
1267*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0040, 0x10, 12, 1),
1268*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x0050, 0x10, 0, 1),
1269*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0040, 0x10, 9, 1),
1270*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x0040, 0x10, 27, 1),
1271*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0040, 0x10, 6, 1),
1272*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0040, 0x10, 24, 1),
1273*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0040, 0x10, 3, 1),
1274*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0040, 0x10, 21, 1),
1275*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0030, 0x10, 0, 1),
1276*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0030, 0x10, 3, 1),
1277*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0010, 0x10, 3, 1),
1278*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0010, 0x10, 9, 1),
1279*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0020, 0x10, 0, 1),
1280*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0020, 0x10, 3, 1),
1281*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0010, 0x10, 0, 1),
1282*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0010, 0x10, 6, 1),
1283*4882a593Smuzhiyun };
1284*4882a593Smuzhiyun
1285*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_e0_range[] = {
1286*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0040, 0x10, 1, 1),
1287*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0040, 0x10, 19, 1),
1288*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0040, 0x10, 16, 1),
1289*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x0050, 0x10, 4, 1),
1290*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0040, 0x10, 13, 1),
1291*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x0050, 0x10, 1, 1),
1292*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0040, 0x10, 10, 1),
1293*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x0040, 0x10, 28, 1),
1294*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0040, 0x10, 7, 1),
1295*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0040, 0x10, 25, 1),
1296*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0040, 0x10, 4, 1),
1297*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0040, 0x10, 22, 1),
1298*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0030, 0x10, 1, 1),
1299*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0030, 0x10, 4, 1),
1300*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0010, 0x10, 4, 1),
1301*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0010, 0x10, 10, 1),
1302*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0020, 0x10, 1, 1),
1303*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0020, 0x10, 4, 1),
1304*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0010, 0x10, 1, 1),
1305*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0010, 0x10, 7, 1),
1306*4882a593Smuzhiyun };
1307*4882a593Smuzhiyun
1308*4882a593Smuzhiyun static const struct mtk_pin_field_calc mt8192_pin_e1_range[] = {
1309*4882a593Smuzhiyun PIN_FIELD_BASE(118, 118, 4, 0x0040, 0x10, 2, 1),
1310*4882a593Smuzhiyun PIN_FIELD_BASE(119, 119, 4, 0x0040, 0x10, 20, 1),
1311*4882a593Smuzhiyun PIN_FIELD_BASE(120, 120, 4, 0x0040, 0x10, 17, 1),
1312*4882a593Smuzhiyun PIN_FIELD_BASE(121, 121, 4, 0x0050, 0x10, 5, 1),
1313*4882a593Smuzhiyun PIN_FIELD_BASE(122, 122, 4, 0x0040, 0x10, 14, 1),
1314*4882a593Smuzhiyun PIN_FIELD_BASE(123, 123, 4, 0x0050, 0x10, 2, 1),
1315*4882a593Smuzhiyun PIN_FIELD_BASE(124, 124, 4, 0x0040, 0x10, 11, 1),
1316*4882a593Smuzhiyun PIN_FIELD_BASE(125, 125, 4, 0x0040, 0x10, 29, 1),
1317*4882a593Smuzhiyun PIN_FIELD_BASE(139, 139, 4, 0x0040, 0x10, 8, 1),
1318*4882a593Smuzhiyun PIN_FIELD_BASE(140, 140, 4, 0x0040, 0x10, 26, 1),
1319*4882a593Smuzhiyun PIN_FIELD_BASE(141, 141, 4, 0x0040, 0x10, 5, 1),
1320*4882a593Smuzhiyun PIN_FIELD_BASE(142, 142, 4, 0x0040, 0x10, 23, 1),
1321*4882a593Smuzhiyun PIN_FIELD_BASE(160, 160, 7, 0x0030, 0x10, 2, 1),
1322*4882a593Smuzhiyun PIN_FIELD_BASE(161, 161, 7, 0x0030, 0x10, 5, 1),
1323*4882a593Smuzhiyun PIN_FIELD_BASE(200, 200, 8, 0x0010, 0x10, 5, 1),
1324*4882a593Smuzhiyun PIN_FIELD_BASE(201, 201, 8, 0x0010, 0x10, 11, 1),
1325*4882a593Smuzhiyun PIN_FIELD_BASE(202, 202, 5, 0x0020, 0x10, 2, 1),
1326*4882a593Smuzhiyun PIN_FIELD_BASE(203, 203, 5, 0x0020, 0x10, 5, 1),
1327*4882a593Smuzhiyun PIN_FIELD_BASE(204, 204, 8, 0x0010, 0x10, 2, 1),
1328*4882a593Smuzhiyun PIN_FIELD_BASE(205, 205, 8, 0x0010, 0x10, 8, 1),
1329*4882a593Smuzhiyun };
1330*4882a593Smuzhiyun
1331*4882a593Smuzhiyun
1332*4882a593Smuzhiyun static const char * const mt8192_pinctrl_register_base_names[] = {
1333*4882a593Smuzhiyun "iocfg0", "iocfg_rm", "iocfg_bm", "iocfg_bl", "iocfg_br",
1334*4882a593Smuzhiyun "iocfg_lm", "iocfg_lb", "iocfg_rt", "iocfg_lt", "iocfg_tl",
1335*4882a593Smuzhiyun };
1336*4882a593Smuzhiyun
1337*4882a593Smuzhiyun static const struct mtk_eint_hw mt8192_eint_hw = {
1338*4882a593Smuzhiyun .port_mask = 7,
1339*4882a593Smuzhiyun .ports = 7,
1340*4882a593Smuzhiyun .ap_num = 224,
1341*4882a593Smuzhiyun .db_cnt = 32,
1342*4882a593Smuzhiyun };
1343*4882a593Smuzhiyun
1344*4882a593Smuzhiyun static const struct mtk_pin_reg_calc mt8192_reg_cals[PINCTRL_PIN_REG_MAX] = {
1345*4882a593Smuzhiyun [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8192_pin_mode_range),
1346*4882a593Smuzhiyun [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8192_pin_dir_range),
1347*4882a593Smuzhiyun [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8192_pin_di_range),
1348*4882a593Smuzhiyun [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt8192_pin_do_range),
1349*4882a593Smuzhiyun [PINCTRL_PIN_REG_SR] = MTK_RANGE(mt8192_pin_dir_range),
1350*4882a593Smuzhiyun [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt8192_pin_smt_range),
1351*4882a593Smuzhiyun [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt8192_pin_ies_range),
1352*4882a593Smuzhiyun [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt8192_pin_pu_range),
1353*4882a593Smuzhiyun [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt8192_pin_pd_range),
1354*4882a593Smuzhiyun [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt8192_pin_drv_range),
1355*4882a593Smuzhiyun [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt8192_pin_pupd_range),
1356*4882a593Smuzhiyun [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt8192_pin_r0_range),
1357*4882a593Smuzhiyun [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt8192_pin_r1_range),
1358*4882a593Smuzhiyun [PINCTRL_PIN_REG_DRV_EN] = MTK_RANGE(mt8192_pin_e1e0en_range),
1359*4882a593Smuzhiyun [PINCTRL_PIN_REG_DRV_E0] = MTK_RANGE(mt8192_pin_e0_range),
1360*4882a593Smuzhiyun [PINCTRL_PIN_REG_DRV_E1] = MTK_RANGE(mt8192_pin_e1_range),
1361*4882a593Smuzhiyun };
1362*4882a593Smuzhiyun
1363*4882a593Smuzhiyun static const struct mtk_pin_soc mt8192_data = {
1364*4882a593Smuzhiyun .reg_cal = mt8192_reg_cals,
1365*4882a593Smuzhiyun .pins = mtk_pins_mt8192,
1366*4882a593Smuzhiyun .npins = ARRAY_SIZE(mtk_pins_mt8192),
1367*4882a593Smuzhiyun .ngrps = ARRAY_SIZE(mtk_pins_mt8192),
1368*4882a593Smuzhiyun .base_names = mt8192_pinctrl_register_base_names,
1369*4882a593Smuzhiyun .nbase_names = ARRAY_SIZE(mt8192_pinctrl_register_base_names),
1370*4882a593Smuzhiyun .eint_hw = &mt8192_eint_hw,
1371*4882a593Smuzhiyun .nfuncs = 8,
1372*4882a593Smuzhiyun .gpio_m = 0,
1373*4882a593Smuzhiyun .bias_set_combo = mtk_pinconf_bias_set_combo,
1374*4882a593Smuzhiyun .bias_get_combo = mtk_pinconf_bias_get_combo,
1375*4882a593Smuzhiyun .drive_set = mtk_pinconf_drive_set_raw,
1376*4882a593Smuzhiyun .drive_get = mtk_pinconf_drive_get_raw,
1377*4882a593Smuzhiyun .adv_pull_get = mtk_pinconf_adv_pull_get,
1378*4882a593Smuzhiyun .adv_pull_set = mtk_pinconf_adv_pull_set,
1379*4882a593Smuzhiyun .adv_drive_get = mtk_pinconf_adv_drive_get,
1380*4882a593Smuzhiyun .adv_drive_set = mtk_pinconf_adv_drive_set,
1381*4882a593Smuzhiyun };
1382*4882a593Smuzhiyun
1383*4882a593Smuzhiyun static const struct of_device_id mt8192_pinctrl_of_match[] = {
1384*4882a593Smuzhiyun { .compatible = "mediatek,mt8192-pinctrl", },
1385*4882a593Smuzhiyun { }
1386*4882a593Smuzhiyun };
1387*4882a593Smuzhiyun
mt8192_pinctrl_probe(struct platform_device * pdev)1388*4882a593Smuzhiyun static int mt8192_pinctrl_probe(struct platform_device *pdev)
1389*4882a593Smuzhiyun {
1390*4882a593Smuzhiyun return mtk_paris_pinctrl_probe(pdev, &mt8192_data);
1391*4882a593Smuzhiyun }
1392*4882a593Smuzhiyun
1393*4882a593Smuzhiyun static struct platform_driver mt8192_pinctrl_driver = {
1394*4882a593Smuzhiyun .driver = {
1395*4882a593Smuzhiyun .name = "mt8192-pinctrl",
1396*4882a593Smuzhiyun .of_match_table = mt8192_pinctrl_of_match,
1397*4882a593Smuzhiyun .pm = &mtk_paris_pinctrl_pm_ops,
1398*4882a593Smuzhiyun },
1399*4882a593Smuzhiyun .probe = mt8192_pinctrl_probe,
1400*4882a593Smuzhiyun };
1401*4882a593Smuzhiyun
mt8192_pinctrl_init(void)1402*4882a593Smuzhiyun static int __init mt8192_pinctrl_init(void)
1403*4882a593Smuzhiyun {
1404*4882a593Smuzhiyun return platform_driver_register(&mt8192_pinctrl_driver);
1405*4882a593Smuzhiyun }
1406*4882a593Smuzhiyun arch_initcall(mt8192_pinctrl_init);
1407*4882a593Smuzhiyun
1408*4882a593Smuzhiyun MODULE_LICENSE("GPL v2");
1409*4882a593Smuzhiyun MODULE_DESCRIPTION("MediaTek MT8192 Pinctrl Driver");
1410