xref: /linux/drivers/pinctrl/mediatek/pinctrl-mt6858.c (revision cf9610f9116d55c5a66ef9f1faecacabd93a9322)
1449816f1SNikolai Burov // SPDX-License-Identifier: GPL-2.0-only
2449816f1SNikolai Burov /*
3449816f1SNikolai Burov  * Copyright (c) 2025 MediaTek Inc.
4449816f1SNikolai Burov  *               Alice Chao <alice.chao@mediatek.com>
5449816f1SNikolai Burov  * Copyright (c) 2026 Jolla Mobile Ltd
6449816f1SNikolai Burov  *               Nikolai Burov <nikolai.burov@jolla.com>
7449816f1SNikolai Burov  */
8449816f1SNikolai Burov 
9449816f1SNikolai Burov #include <linux/module.h>
10449816f1SNikolai Burov #include "pinctrl-mtk-mt6858.h"
11449816f1SNikolai Burov #include "pinctrl-paris.h"
12449816f1SNikolai Burov 
13449816f1SNikolai Burov /* MT6858 have multiple bases to program pin configuration listed as the below:
14449816f1SNikolai Burov  * GPIO_BASE: 0x10005000
15449816f1SNikolai Burov  * IOCFG_LM_BASE: 0x11B20000
16449816f1SNikolai Burov  * IOCFG_RB_BASE: 0x11C10000
17449816f1SNikolai Burov  * IOCFG_BM2_BASE: 0x11D10000
18449816f1SNikolai Burov  * IOCFG_BM_BASE: 0x11D30000
19449816f1SNikolai Burov  * IOCFG_BM1_BASE: 0x11D40000
20449816f1SNikolai Burov  * IOCFG_LT_BASE: 0x11E20000
21449816f1SNikolai Burov  * IOCFG_LT1_BASE: 0x11E30000
22449816f1SNikolai Burov  * IOCFG_RT_BASE: 0x11ED0000
23449816f1SNikolai Burov  * IOCFG_RT1_BASE: 0x11EE0000
24449816f1SNikolai Burov  * _i_based could be used to indicate what base the pin should be mapped into.
25449816f1SNikolai Burov  */
26449816f1SNikolai Burov 
27449816f1SNikolai Burov #define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \
28449816f1SNikolai Burov 	PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \
29449816f1SNikolai Burov 			32, 0)
30449816f1SNikolai Burov 
31449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_mode_range[] = {
32449816f1SNikolai Burov 	/* Pin mode field is 5 bits with 8 bit stride */
33449816f1SNikolai Burov 	PIN_FIELD(0, 196, 0x0300, 0x10, 0, 8),
34449816f1SNikolai Burov };
35449816f1SNikolai Burov 
36449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_dir_range[] = {
37449816f1SNikolai Burov 	PIN_FIELD(0, 196, 0x0000, 0x10, 0, 1),
38449816f1SNikolai Burov };
39449816f1SNikolai Burov 
40449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_di_range[] = {
41449816f1SNikolai Burov 	PIN_FIELD(0, 196, 0x0200, 0x10, 0, 1),
42449816f1SNikolai Burov };
43449816f1SNikolai Burov 
44449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_do_range[] = {
45449816f1SNikolai Burov 	PIN_FIELD(0, 196, 0x0100, 0x10, 0, 1),
46449816f1SNikolai Burov };
47449816f1SNikolai Burov 
48449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_ies_range[] = {
49449816f1SNikolai Burov 	PIN_FIELD_BASE(0, 0, 8, 0x0060, 0x10, 4, 1),
50449816f1SNikolai Burov 	PIN_FIELD_BASE(1, 1, 8, 0x0060, 0x10, 5, 1),
51449816f1SNikolai Burov 	PIN_FIELD_BASE(2, 2, 8, 0x0060, 0x10, 6, 1),
52449816f1SNikolai Burov 	PIN_FIELD_BASE(3, 3, 8, 0x0060, 0x10, 8, 1),
53449816f1SNikolai Burov 	PIN_FIELD_BASE(4, 4, 8, 0x0060, 0x10, 9, 1),
54449816f1SNikolai Burov 	PIN_FIELD_BASE(5, 5, 8, 0x0060, 0x10, 10, 1),
55449816f1SNikolai Burov 	PIN_FIELD_BASE(6, 6, 8, 0x0060, 0x10, 11, 1),
56449816f1SNikolai Burov 	PIN_FIELD_BASE(7, 7, 8, 0x0060, 0x10, 12, 1),
57449816f1SNikolai Burov 	PIN_FIELD_BASE(8, 8, 5, 0x0060, 0x10, 15, 1),
58449816f1SNikolai Burov 	PIN_FIELD_BASE(9, 9, 5, 0x0060, 0x10, 16, 1),
59449816f1SNikolai Burov 	PIN_FIELD_BASE(10, 10, 5, 0x0060, 0x10, 9, 1),
60449816f1SNikolai Burov 	PIN_FIELD_BASE(11, 11, 5, 0x0060, 0x10, 10, 1),
61449816f1SNikolai Burov 	PIN_FIELD_BASE(12, 12, 5, 0x0060, 0x10, 11, 1),
62449816f1SNikolai Burov 	PIN_FIELD_BASE(13, 13, 7, 0x0030, 0x10, 0, 1),
63449816f1SNikolai Burov 	PIN_FIELD_BASE(14, 14, 7, 0x0030, 0x10, 1, 1),
64449816f1SNikolai Burov 	PIN_FIELD_BASE(15, 15, 7, 0x0030, 0x10, 2, 1),
65449816f1SNikolai Burov 	PIN_FIELD_BASE(16, 16, 7, 0x0030, 0x10, 3, 1),
66449816f1SNikolai Burov 	PIN_FIELD_BASE(17, 17, 7, 0x0030, 0x10, 4, 1),
67449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x0020, 0x10, 0, 1),
68449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x0020, 0x10, 1, 1),
69449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x0020, 0x10, 2, 1),
70449816f1SNikolai Burov 	PIN_FIELD_BASE(21, 21, 5, 0x0060, 0x10, 12, 1),
71449816f1SNikolai Burov 	PIN_FIELD_BASE(22, 22, 5, 0x0060, 0x10, 13, 1),
72449816f1SNikolai Burov 	PIN_FIELD_BASE(23, 23, 8, 0x0060, 0x10, 7, 1),
73449816f1SNikolai Burov 	PIN_FIELD_BASE(24, 24, 5, 0x0060, 0x10, 14, 1),
74449816f1SNikolai Burov 	PIN_FIELD_BASE(25, 25, 2, 0x0050, 0x10, 14, 1),
75449816f1SNikolai Burov 	PIN_FIELD_BASE(26, 26, 3, 0x0060, 0x10, 1, 1),
76449816f1SNikolai Burov 	PIN_FIELD_BASE(27, 27, 2, 0x0050, 0x10, 0, 1),
77449816f1SNikolai Burov 	PIN_FIELD_BASE(28, 28, 2, 0x0050, 0x10, 1, 1),
78449816f1SNikolai Burov 	PIN_FIELD_BASE(29, 29, 2, 0x0050, 0x10, 2, 1),
79449816f1SNikolai Burov 	PIN_FIELD_BASE(30, 30, 2, 0x0050, 0x10, 3, 1),
80449816f1SNikolai Burov 	PIN_FIELD_BASE(31, 31, 2, 0x0050, 0x10, 4, 1),
81449816f1SNikolai Burov 	PIN_FIELD_BASE(32, 32, 2, 0x0050, 0x10, 5, 1),
82449816f1SNikolai Burov 	PIN_FIELD_BASE(33, 33, 2, 0x0050, 0x10, 6, 1),
83449816f1SNikolai Burov 	PIN_FIELD_BASE(34, 34, 2, 0x0050, 0x10, 7, 1),
84449816f1SNikolai Burov 	PIN_FIELD_BASE(35, 35, 4, 0x0050, 0x10, 4, 1),
85449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x0060, 0x10, 0, 1),
86449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x0060, 0x10, 1, 1),
87449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x0060, 0x10, 2, 1),
88449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x0060, 0x10, 3, 1),
89449816f1SNikolai Burov 	PIN_FIELD_BASE(40, 40, 1, 0x0050, 0x10, 11, 1),
90449816f1SNikolai Burov 	PIN_FIELD_BASE(41, 41, 1, 0x0050, 0x10, 8, 1),
91449816f1SNikolai Burov 	PIN_FIELD_BASE(42, 42, 1, 0x0050, 0x10, 10, 1),
92449816f1SNikolai Burov 	PIN_FIELD_BASE(43, 43, 1, 0x0050, 0x10, 12, 1),
93449816f1SNikolai Burov 	PIN_FIELD_BASE(44, 44, 1, 0x0050, 0x10, 9, 1),
94449816f1SNikolai Burov 	PIN_FIELD_BASE(45, 45, 5, 0x0060, 0x10, 17, 1),
95449816f1SNikolai Burov 	PIN_FIELD_BASE(46, 46, 5, 0x0060, 0x10, 19, 1),
96449816f1SNikolai Burov 	PIN_FIELD_BASE(47, 47, 5, 0x0060, 0x10, 20, 1),
97449816f1SNikolai Burov 	PIN_FIELD_BASE(48, 48, 5, 0x0060, 0x10, 18, 1),
98449816f1SNikolai Burov 	PIN_FIELD_BASE(49, 49, 4, 0x0050, 0x10, 26, 1),
99449816f1SNikolai Burov 	PIN_FIELD_BASE(50, 50, 4, 0x0050, 0x10, 25, 1),
100449816f1SNikolai Burov 	PIN_FIELD_BASE(51, 51, 1, 0x0050, 0x10, 28, 1),
101449816f1SNikolai Burov 	PIN_FIELD_BASE(52, 52, 1, 0x0050, 0x10, 27, 1),
102449816f1SNikolai Burov 	PIN_FIELD_BASE(53, 53, 5, 0x0060, 0x10, 25, 1),
103449816f1SNikolai Burov 	PIN_FIELD_BASE(54, 54, 5, 0x0060, 0x10, 21, 1),
104449816f1SNikolai Burov 	PIN_FIELD_BASE(55, 55, 5, 0x0060, 0x10, 24, 1),
105449816f1SNikolai Burov 	PIN_FIELD_BASE(56, 56, 5, 0x0060, 0x10, 22, 1),
106449816f1SNikolai Burov 	PIN_FIELD_BASE(57, 57, 5, 0x0060, 0x10, 23, 1),
107449816f1SNikolai Burov 	PIN_FIELD_BASE(58, 58, 3, 0x0060, 0x10, 21, 1),
108449816f1SNikolai Burov 	PIN_FIELD_BASE(59, 59, 3, 0x0060, 0x10, 22, 1),
109449816f1SNikolai Burov 	PIN_FIELD_BASE(60, 60, 3, 0x0060, 0x10, 24, 1),
110449816f1SNikolai Burov 	PIN_FIELD_BASE(61, 61, 3, 0x0060, 0x10, 23, 1),
111449816f1SNikolai Burov 	PIN_FIELD_BASE(62, 62, 8, 0x0060, 0x10, 25, 1),
112449816f1SNikolai Burov 	PIN_FIELD_BASE(63, 63, 8, 0x0060, 0x10, 26, 1),
113449816f1SNikolai Burov 	PIN_FIELD_BASE(64, 64, 8, 0x0060, 0x10, 28, 1),
114449816f1SNikolai Burov 	PIN_FIELD_BASE(65, 65, 8, 0x0060, 0x10, 27, 1),
115449816f1SNikolai Burov 	PIN_FIELD_BASE(66, 66, 1, 0x0050, 0x10, 17, 1),
116449816f1SNikolai Burov 	PIN_FIELD_BASE(67, 67, 1, 0x0050, 0x10, 18, 1),
117449816f1SNikolai Burov 	PIN_FIELD_BASE(68, 68, 1, 0x0050, 0x10, 20, 1),
118449816f1SNikolai Burov 	PIN_FIELD_BASE(69, 69, 1, 0x0050, 0x10, 19, 1),
119449816f1SNikolai Burov 	PIN_FIELD_BASE(70, 70, 1, 0x0050, 0x10, 21, 1),
120449816f1SNikolai Burov 	PIN_FIELD_BASE(71, 71, 1, 0x0050, 0x10, 22, 1),
121449816f1SNikolai Burov 	PIN_FIELD_BASE(72, 72, 1, 0x0050, 0x10, 24, 1),
122449816f1SNikolai Burov 	PIN_FIELD_BASE(73, 73, 1, 0x0050, 0x10, 23, 1),
123449816f1SNikolai Burov 	PIN_FIELD_BASE(74, 74, 1, 0x0050, 0x10, 13, 1),
124449816f1SNikolai Burov 	PIN_FIELD_BASE(75, 75, 1, 0x0050, 0x10, 14, 1),
125449816f1SNikolai Burov 	PIN_FIELD_BASE(76, 76, 1, 0x0050, 0x10, 16, 1),
126449816f1SNikolai Burov 	PIN_FIELD_BASE(77, 77, 1, 0x0050, 0x10, 15, 1),
127449816f1SNikolai Burov 	PIN_FIELD_BASE(78, 78, 3, 0x0060, 0x10, 25, 1),
128449816f1SNikolai Burov 	PIN_FIELD_BASE(79, 79, 3, 0x0060, 0x10, 26, 1),
129449816f1SNikolai Burov 	PIN_FIELD_BASE(80, 80, 3, 0x0060, 0x10, 28, 1),
130449816f1SNikolai Burov 	PIN_FIELD_BASE(81, 81, 3, 0x0060, 0x10, 27, 1),
131449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x0060, 0x10, 13, 1),
132449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x0060, 0x10, 14, 1),
133449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x0060, 0x10, 15, 1),
134449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x0060, 0x10, 16, 1),
135449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x0060, 0x10, 17, 1),
136449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x0060, 0x10, 18, 1),
137449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x0050, 0x10, 19, 1),
138449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x0050, 0x10, 21, 1),
139449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x0050, 0x10, 20, 1),
140449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x0050, 0x10, 22, 1),
141449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x0050, 0x10, 24, 1),
142449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x0050, 0x10, 23, 1),
143449816f1SNikolai Burov 	PIN_FIELD_BASE(94, 94, 4, 0x0050, 0x10, 7, 1),
144449816f1SNikolai Burov 	PIN_FIELD_BASE(95, 95, 4, 0x0050, 0x10, 8, 1),
145449816f1SNikolai Burov 	PIN_FIELD_BASE(96, 96, 4, 0x0050, 0x10, 6, 1),
146449816f1SNikolai Burov 	PIN_FIELD_BASE(97, 97, 4, 0x0050, 0x10, 9, 1),
147449816f1SNikolai Burov 	PIN_FIELD_BASE(98, 98, 5, 0x0060, 0x10, 8, 1),
148449816f1SNikolai Burov 	PIN_FIELD_BASE(99, 99, 9, 0x0040, 0x10, 0, 1),
149449816f1SNikolai Burov 	PIN_FIELD_BASE(100, 100, 9, 0x0040, 0x10, 1, 1),
150449816f1SNikolai Burov 	PIN_FIELD_BASE(101, 101, 9, 0x0040, 0x10, 2, 1),
151449816f1SNikolai Burov 	PIN_FIELD_BASE(102, 102, 9, 0x0040, 0x10, 3, 1),
152449816f1SNikolai Burov 	PIN_FIELD_BASE(103, 103, 9, 0x0040, 0x10, 4, 1),
153449816f1SNikolai Burov 	PIN_FIELD_BASE(104, 104, 9, 0x0040, 0x10, 5, 1),
154449816f1SNikolai Burov 	PIN_FIELD_BASE(105, 105, 9, 0x0040, 0x10, 6, 1),
155449816f1SNikolai Burov 	PIN_FIELD_BASE(106, 106, 5, 0x0060, 0x10, 0, 1),
156449816f1SNikolai Burov 	PIN_FIELD_BASE(107, 107, 4, 0x0050, 0x10, 0, 1),
157449816f1SNikolai Burov 	PIN_FIELD_BASE(108, 108, 4, 0x0050, 0x10, 1, 1),
158449816f1SNikolai Burov 	PIN_FIELD_BASE(109, 109, 5, 0x0060, 0x10, 1, 1),
159449816f1SNikolai Burov 	PIN_FIELD_BASE(110, 110, 5, 0x0060, 0x10, 2, 1),
160449816f1SNikolai Burov 	PIN_FIELD_BASE(111, 111, 5, 0x0060, 0x10, 3, 1),
161449816f1SNikolai Burov 	PIN_FIELD_BASE(112, 112, 5, 0x0060, 0x10, 4, 1),
162449816f1SNikolai Burov 	PIN_FIELD_BASE(113, 113, 4, 0x0050, 0x10, 2, 1),
163449816f1SNikolai Burov 	PIN_FIELD_BASE(114, 114, 4, 0x0050, 0x10, 3, 1),
164449816f1SNikolai Burov 	PIN_FIELD_BASE(115, 115, 5, 0x0060, 0x10, 5, 1),
165449816f1SNikolai Burov 	PIN_FIELD_BASE(116, 116, 4, 0x0050, 0x10, 10, 1),
166449816f1SNikolai Burov 	PIN_FIELD_BASE(117, 117, 4, 0x0050, 0x10, 5, 1),
167449816f1SNikolai Burov 	PIN_FIELD_BASE(118, 118, 3, 0x0060, 0x10, 4, 1),
168449816f1SNikolai Burov 	PIN_FIELD_BASE(119, 119, 3, 0x0060, 0x10, 0, 1),
169449816f1SNikolai Burov 	PIN_FIELD_BASE(120, 120, 3, 0x0060, 0x10, 5, 1),
170449816f1SNikolai Burov 	PIN_FIELD_BASE(121, 121, 3, 0x0060, 0x10, 6, 1),
171449816f1SNikolai Burov 	PIN_FIELD_BASE(122, 122, 7, 0x0030, 0x10, 7, 1),
172449816f1SNikolai Burov 	PIN_FIELD_BASE(123, 123, 3, 0x0060, 0x10, 7, 1),
173449816f1SNikolai Burov 	PIN_FIELD_BASE(124, 124, 1, 0x0050, 0x10, 26, 1),
174449816f1SNikolai Burov 	PIN_FIELD_BASE(125, 125, 7, 0x0030, 0x10, 8, 1),
175449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x0050, 0x10, 15, 1),
176449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x0050, 0x10, 16, 1),
177449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x0050, 0x10, 17, 1),
178449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x0050, 0x10, 18, 1),
179449816f1SNikolai Burov 	PIN_FIELD_BASE(130, 130, 3, 0x0060, 0x10, 8, 1),
180449816f1SNikolai Burov 	PIN_FIELD_BASE(131, 131, 3, 0x0060, 0x10, 9, 1),
181449816f1SNikolai Burov 	PIN_FIELD_BASE(132, 132, 3, 0x0060, 0x10, 10, 1),
182449816f1SNikolai Burov 	PIN_FIELD_BASE(133, 133, 3, 0x0060, 0x10, 11, 1),
183449816f1SNikolai Burov 	PIN_FIELD_BASE(134, 134, 3, 0x0060, 0x10, 12, 1),
184449816f1SNikolai Burov 	PIN_FIELD_BASE(135, 135, 8, 0x0060, 0x10, 19, 1),
185449816f1SNikolai Burov 	PIN_FIELD_BASE(136, 136, 8, 0x0060, 0x10, 20, 1),
186449816f1SNikolai Burov 	PIN_FIELD_BASE(137, 137, 7, 0x0030, 0x10, 5, 1),
187449816f1SNikolai Burov 	PIN_FIELD_BASE(138, 138, 7, 0x0030, 0x10, 6, 1),
188449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x0060, 0x10, 13, 1),
189449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x0060, 0x10, 17, 1),
190449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x0060, 0x10, 14, 1),
191449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x0060, 0x10, 18, 1),
192449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x0060, 0x10, 2, 1),
193449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x0060, 0x10, 3, 1),
194449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x0060, 0x10, 15, 1),
195449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x0060, 0x10, 19, 1),
196449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x0050, 0x10, 8, 1),
197449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x0050, 0x10, 11, 1),
198449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x0060, 0x10, 6, 1),
199449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x0060, 0x10, 7, 1),
200449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x0060, 0x10, 16, 1),
201449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x0060, 0x10, 20, 1),
202449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x0050, 0x10, 9, 1),
203449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x0050, 0x10, 12, 1),
204449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x0050, 0x10, 10, 1),
205449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x0050, 0x10, 13, 1),
206449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0060, 0x10, 21, 1),
207449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0060, 0x10, 23, 1),
208449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0060, 0x10, 22, 1),
209449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0060, 0x10, 24, 1),
210449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x0060, 0x10, 26, 1),
211449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x0060, 0x10, 28, 1),
212449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x0060, 0x10, 27, 1),
213449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x0060, 0x10, 29, 1),
214449816f1SNikolai Burov 	PIN_FIELD_BASE(165, 165, 4, 0x0050, 0x10, 11, 1),
215449816f1SNikolai Burov 	PIN_FIELD_BASE(166, 166, 4, 0x0050, 0x10, 12, 1),
216449816f1SNikolai Burov 	PIN_FIELD_BASE(167, 167, 4, 0x0050, 0x10, 13, 1),
217449816f1SNikolai Burov 	PIN_FIELD_BASE(168, 168, 4, 0x0050, 0x10, 14, 1),
218449816f1SNikolai Burov 	PIN_FIELD_BASE(169, 169, 4, 0x0050, 0x10, 15, 1),
219449816f1SNikolai Burov 	PIN_FIELD_BASE(170, 170, 4, 0x0050, 0x10, 16, 1),
220449816f1SNikolai Burov 	PIN_FIELD_BASE(171, 171, 4, 0x0050, 0x10, 17, 1),
221449816f1SNikolai Burov 	PIN_FIELD_BASE(172, 172, 4, 0x0050, 0x10, 18, 1),
222449816f1SNikolai Burov 	PIN_FIELD_BASE(173, 173, 1, 0x0050, 0x10, 0, 1),
223449816f1SNikolai Burov 	PIN_FIELD_BASE(174, 174, 1, 0x0050, 0x10, 7, 1),
224449816f1SNikolai Burov 	PIN_FIELD_BASE(175, 175, 1, 0x0050, 0x10, 3, 1),
225449816f1SNikolai Burov 	PIN_FIELD_BASE(176, 176, 1, 0x0050, 0x10, 4, 1),
226449816f1SNikolai Burov 	PIN_FIELD_BASE(177, 177, 1, 0x0050, 0x10, 5, 1),
227449816f1SNikolai Burov 	PIN_FIELD_BASE(178, 178, 1, 0x0050, 0x10, 6, 1),
228449816f1SNikolai Burov 	PIN_FIELD_BASE(179, 179, 1, 0x0050, 0x10, 1, 1),
229449816f1SNikolai Burov 	PIN_FIELD_BASE(180, 180, 1, 0x0050, 0x10, 2, 1),
230449816f1SNikolai Burov 	PIN_FIELD_BASE(181, 181, 1, 0x0050, 0x10, 25, 1),
231449816f1SNikolai Burov 	PIN_FIELD_BASE(182, 182, 9, 0x0040, 0x10, 11, 1),
232449816f1SNikolai Burov 	PIN_FIELD_BASE(183, 183, 9, 0x0040, 0x10, 13, 1),
233449816f1SNikolai Burov 	PIN_FIELD_BASE(184, 184, 9, 0x0040, 0x10, 7, 1),
234449816f1SNikolai Burov 	PIN_FIELD_BASE(185, 185, 9, 0x0040, 0x10, 8, 1),
235449816f1SNikolai Burov 	PIN_FIELD_BASE(186, 186, 9, 0x0040, 0x10, 9, 1),
236449816f1SNikolai Burov 	PIN_FIELD_BASE(187, 187, 9, 0x0040, 0x10, 15, 1),
237449816f1SNikolai Burov 	PIN_FIELD_BASE(188, 188, 9, 0x0040, 0x10, 16, 1),
238449816f1SNikolai Burov 	PIN_FIELD_BASE(189, 189, 9, 0x0040, 0x10, 17, 1),
239449816f1SNikolai Burov 	PIN_FIELD_BASE(190, 190, 9, 0x0040, 0x10, 18, 1),
240449816f1SNikolai Burov 	PIN_FIELD_BASE(191, 191, 9, 0x0040, 0x10, 12, 1),
241449816f1SNikolai Burov 	PIN_FIELD_BASE(192, 192, 9, 0x0040, 0x10, 14, 1),
242449816f1SNikolai Burov 	PIN_FIELD_BASE(193, 193, 9, 0x0040, 0x10, 10, 1),
243449816f1SNikolai Burov 	PIN_FIELD_BASE(194, 194, 9, 0x0040, 0x10, 19, 1),
244449816f1SNikolai Burov 	PIN_FIELD_BASE(195, 195, 9, 0x0040, 0x10, 20, 1),
245449816f1SNikolai Burov 	PIN_FIELD_BASE(196, 196, 6, 0x0020, 0x10, 3, 1),
246449816f1SNikolai Burov };
247449816f1SNikolai Burov 
248449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_smt_range[] = {
249449816f1SNikolai Burov 	PIN_FIELD_BASE(0, 0, 8, 0x0110, 0x10, 4, 1),
250449816f1SNikolai Burov 	PIN_FIELD_BASE(1, 1, 8, 0x0110, 0x10, 5, 1),
251449816f1SNikolai Burov 	PIN_FIELD_BASE(2, 2, 8, 0x0110, 0x10, 6, 1),
252449816f1SNikolai Burov 	PIN_FIELD_BASE(3, 3, 8, 0x0110, 0x10, 8, 1),
253449816f1SNikolai Burov 	PIN_FIELD_BASE(4, 4, 8, 0x0110, 0x10, 9, 1),
254449816f1SNikolai Burov 	PIN_FIELD_BASE(5, 5, 8, 0x0110, 0x10, 10, 1),
255449816f1SNikolai Burov 	PIN_FIELD_BASE(6, 6, 8, 0x0110, 0x10, 11, 1),
256449816f1SNikolai Burov 	PIN_FIELD_BASE(7, 7, 8, 0x0110, 0x10, 12, 1),
257449816f1SNikolai Burov 	PIN_FIELD_BASE(8, 8, 5, 0x00e0, 0x10, 15, 1),
258449816f1SNikolai Burov 	PIN_FIELD_BASE(9, 9, 5, 0x00e0, 0x10, 16, 1),
259449816f1SNikolai Burov 	PIN_FIELD_BASE(10, 10, 5, 0x00e0, 0x10, 9, 1),
260449816f1SNikolai Burov 	PIN_FIELD_BASE(11, 11, 5, 0x00e0, 0x10, 10, 1),
261449816f1SNikolai Burov 	PIN_FIELD_BASE(12, 12, 5, 0x00e0, 0x10, 11, 1),
262449816f1SNikolai Burov 	PIN_FIELD_BASE(13, 13, 7, 0x0090, 0x10, 0, 1),
263449816f1SNikolai Burov 	PIN_FIELD_BASE(14, 14, 7, 0x0090, 0x10, 1, 1),
264449816f1SNikolai Burov 	PIN_FIELD_BASE(15, 15, 7, 0x0090, 0x10, 2, 1),
265449816f1SNikolai Burov 	PIN_FIELD_BASE(16, 16, 7, 0x0090, 0x10, 3, 1),
266449816f1SNikolai Burov 	PIN_FIELD_BASE(17, 17, 7, 0x0090, 0x10, 4, 1),
267449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x00c0, 0x10, 0, 1),
268449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x00c0, 0x10, 1, 1),
269449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x00c0, 0x10, 2, 1),
270449816f1SNikolai Burov 	PIN_FIELD_BASE(21, 21, 5, 0x00e0, 0x10, 12, 1),
271449816f1SNikolai Burov 	PIN_FIELD_BASE(22, 22, 5, 0x00e0, 0x10, 13, 1),
272449816f1SNikolai Burov 	PIN_FIELD_BASE(23, 23, 8, 0x0110, 0x10, 7, 1),
273449816f1SNikolai Burov 	PIN_FIELD_BASE(24, 24, 5, 0x00e0, 0x10, 14, 1),
274449816f1SNikolai Burov 	PIN_FIELD_BASE(25, 25, 2, 0x00c0, 0x10, 14, 1),
275449816f1SNikolai Burov 	PIN_FIELD_BASE(26, 26, 3, 0x00f0, 0x10, 1, 1),
276449816f1SNikolai Burov 	PIN_FIELD_BASE(27, 27, 2, 0x00c0, 0x10, 0, 1),
277449816f1SNikolai Burov 	PIN_FIELD_BASE(28, 28, 2, 0x00c0, 0x10, 1, 1),
278449816f1SNikolai Burov 	PIN_FIELD_BASE(29, 29, 2, 0x00c0, 0x10, 2, 1),
279449816f1SNikolai Burov 	PIN_FIELD_BASE(30, 30, 2, 0x00c0, 0x10, 3, 1),
280449816f1SNikolai Burov 	PIN_FIELD_BASE(31, 31, 2, 0x00c0, 0x10, 4, 1),
281449816f1SNikolai Burov 	PIN_FIELD_BASE(32, 32, 2, 0x00c0, 0x10, 5, 1),
282449816f1SNikolai Burov 	PIN_FIELD_BASE(33, 33, 2, 0x00c0, 0x10, 6, 1),
283449816f1SNikolai Burov 	PIN_FIELD_BASE(34, 34, 2, 0x00c0, 0x10, 7, 1),
284449816f1SNikolai Burov 	PIN_FIELD_BASE(35, 35, 4, 0x0100, 0x10, 4, 1),
285449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x0110, 0x10, 0, 1),
286449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x0110, 0x10, 1, 1),
287449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x0110, 0x10, 2, 1),
288449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x0110, 0x10, 3, 1),
289449816f1SNikolai Burov 	PIN_FIELD_BASE(40, 40, 1, 0x00b0, 0x10, 2, 1),
290449816f1SNikolai Burov 	PIN_FIELD_BASE(41, 41, 1, 0x00b0, 0x10, 1, 1),
291449816f1SNikolai Burov 	PIN_FIELD_BASE(42, 42, 1, 0x00b0, 0x10, 1, 1),
292449816f1SNikolai Burov 	PIN_FIELD_BASE(43, 43, 1, 0x00b0, 0x10, 1, 1),
293449816f1SNikolai Burov 	PIN_FIELD_BASE(44, 44, 1, 0x00b0, 0x10, 1, 1),
294449816f1SNikolai Burov 	PIN_FIELD_BASE(45, 45, 5, 0x00e0, 0x10, 17, 1),
295449816f1SNikolai Burov 	PIN_FIELD_BASE(46, 46, 5, 0x00e0, 0x10, 17, 1),
296449816f1SNikolai Burov 	PIN_FIELD_BASE(47, 47, 5, 0x00e0, 0x10, 17, 1),
297449816f1SNikolai Burov 	PIN_FIELD_BASE(48, 48, 5, 0x00e0, 0x10, 17, 1),
298449816f1SNikolai Burov 	PIN_FIELD_BASE(49, 49, 4, 0x0100, 0x10, 18, 1),
299449816f1SNikolai Burov 	PIN_FIELD_BASE(50, 50, 4, 0x0100, 0x10, 17, 1),
300449816f1SNikolai Burov 	PIN_FIELD_BASE(51, 51, 1, 0x00b0, 0x10, 18, 1),
301449816f1SNikolai Burov 	PIN_FIELD_BASE(52, 52, 1, 0x00b0, 0x10, 17, 1),
302449816f1SNikolai Burov 	PIN_FIELD_BASE(53, 53, 5, 0x00e0, 0x10, 22, 1),
303449816f1SNikolai Burov 	PIN_FIELD_BASE(54, 54, 5, 0x00e0, 0x10, 18, 1),
304449816f1SNikolai Burov 	PIN_FIELD_BASE(55, 55, 5, 0x00e0, 0x10, 21, 1),
305449816f1SNikolai Burov 	PIN_FIELD_BASE(56, 56, 5, 0x00e0, 0x10, 19, 1),
306449816f1SNikolai Burov 	PIN_FIELD_BASE(57, 57, 5, 0x00e0, 0x10, 20, 1),
307449816f1SNikolai Burov 	PIN_FIELD_BASE(58, 58, 3, 0x00f0, 0x10, 21, 1),
308449816f1SNikolai Burov 	PIN_FIELD_BASE(59, 59, 3, 0x00f0, 0x10, 22, 1),
309449816f1SNikolai Burov 	PIN_FIELD_BASE(60, 60, 3, 0x00f0, 0x10, 24, 1),
310449816f1SNikolai Burov 	PIN_FIELD_BASE(61, 61, 3, 0x00f0, 0x10, 23, 1),
311449816f1SNikolai Burov 	PIN_FIELD_BASE(62, 62, 8, 0x0110, 0x10, 25, 1),
312449816f1SNikolai Burov 	PIN_FIELD_BASE(63, 63, 8, 0x0110, 0x10, 26, 1),
313449816f1SNikolai Burov 	PIN_FIELD_BASE(64, 64, 8, 0x0110, 0x10, 28, 1),
314449816f1SNikolai Burov 	PIN_FIELD_BASE(65, 65, 8, 0x0110, 0x10, 27, 1),
315449816f1SNikolai Burov 	PIN_FIELD_BASE(66, 66, 1, 0x00b0, 0x10, 7, 1),
316449816f1SNikolai Burov 	PIN_FIELD_BASE(67, 67, 1, 0x00b0, 0x10, 8, 1),
317449816f1SNikolai Burov 	PIN_FIELD_BASE(68, 68, 1, 0x00b0, 0x10, 10, 1),
318449816f1SNikolai Burov 	PIN_FIELD_BASE(69, 69, 1, 0x00b0, 0x10, 9, 1),
319449816f1SNikolai Burov 	PIN_FIELD_BASE(70, 70, 1, 0x00b0, 0x10, 11, 1),
320449816f1SNikolai Burov 	PIN_FIELD_BASE(71, 71, 1, 0x00b0, 0x10, 12, 1),
321449816f1SNikolai Burov 	PIN_FIELD_BASE(72, 72, 1, 0x00b0, 0x10, 14, 1),
322449816f1SNikolai Burov 	PIN_FIELD_BASE(73, 73, 1, 0x00b0, 0x10, 13, 1),
323449816f1SNikolai Burov 	PIN_FIELD_BASE(74, 74, 1, 0x00b0, 0x10, 3, 1),
324449816f1SNikolai Burov 	PIN_FIELD_BASE(75, 75, 1, 0x00b0, 0x10, 4, 1),
325449816f1SNikolai Burov 	PIN_FIELD_BASE(76, 76, 1, 0x00b0, 0x10, 6, 1),
326449816f1SNikolai Burov 	PIN_FIELD_BASE(77, 77, 1, 0x00b0, 0x10, 5, 1),
327449816f1SNikolai Burov 	PIN_FIELD_BASE(78, 78, 3, 0x00f0, 0x10, 25, 1),
328449816f1SNikolai Burov 	PIN_FIELD_BASE(79, 79, 3, 0x00f0, 0x10, 26, 1),
329449816f1SNikolai Burov 	PIN_FIELD_BASE(80, 80, 3, 0x00f0, 0x10, 28, 1),
330449816f1SNikolai Burov 	PIN_FIELD_BASE(81, 81, 3, 0x00f0, 0x10, 27, 1),
331449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x0110, 0x10, 13, 1),
332449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x0110, 0x10, 14, 1),
333449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x0110, 0x10, 15, 1),
334449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x0110, 0x10, 16, 1),
335449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x0110, 0x10, 17, 1),
336449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x0110, 0x10, 18, 1),
337449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x0100, 0x10, 15, 1),
338449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x0100, 0x10, 15, 1),
339449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x0100, 0x10, 15, 1),
340449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x0100, 0x10, 16, 1),
341449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x0100, 0x10, 16, 1),
342449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x0100, 0x10, 16, 1),
343449816f1SNikolai Burov 	PIN_FIELD_BASE(94, 94, 4, 0x0100, 0x10, 7, 1),
344449816f1SNikolai Burov 	PIN_FIELD_BASE(95, 95, 4, 0x0100, 0x10, 8, 1),
345449816f1SNikolai Burov 	PIN_FIELD_BASE(96, 96, 4, 0x0100, 0x10, 6, 1),
346449816f1SNikolai Burov 	PIN_FIELD_BASE(97, 97, 4, 0x0100, 0x10, 9, 1),
347449816f1SNikolai Burov 	PIN_FIELD_BASE(98, 98, 5, 0x00e0, 0x10, 8, 1),
348449816f1SNikolai Burov 	PIN_FIELD_BASE(99, 99, 9, 0x00a0, 0x10, 0, 1),
349449816f1SNikolai Burov 	PIN_FIELD_BASE(100, 100, 9, 0x00a0, 0x10, 1, 1),
350449816f1SNikolai Burov 	PIN_FIELD_BASE(101, 101, 9, 0x00a0, 0x10, 2, 1),
351449816f1SNikolai Burov 	PIN_FIELD_BASE(102, 102, 9, 0x00a0, 0x10, 3, 1),
352449816f1SNikolai Burov 	PIN_FIELD_BASE(103, 103, 9, 0x00a0, 0x10, 4, 1),
353449816f1SNikolai Burov 	PIN_FIELD_BASE(104, 104, 9, 0x00a0, 0x10, 5, 1),
354449816f1SNikolai Burov 	PIN_FIELD_BASE(105, 105, 9, 0x00a0, 0x10, 6, 1),
355449816f1SNikolai Burov 	PIN_FIELD_BASE(106, 106, 5, 0x00e0, 0x10, 0, 1),
356449816f1SNikolai Burov 	PIN_FIELD_BASE(107, 107, 4, 0x0100, 0x10, 0, 1),
357449816f1SNikolai Burov 	PIN_FIELD_BASE(108, 108, 4, 0x0100, 0x10, 1, 1),
358449816f1SNikolai Burov 	PIN_FIELD_BASE(109, 109, 5, 0x00e0, 0x10, 1, 1),
359449816f1SNikolai Burov 	PIN_FIELD_BASE(110, 110, 5, 0x00e0, 0x10, 2, 1),
360449816f1SNikolai Burov 	PIN_FIELD_BASE(111, 111, 5, 0x00e0, 0x10, 3, 1),
361449816f1SNikolai Burov 	PIN_FIELD_BASE(112, 112, 5, 0x00e0, 0x10, 4, 1),
362449816f1SNikolai Burov 	PIN_FIELD_BASE(113, 113, 4, 0x0100, 0x10, 2, 1),
363449816f1SNikolai Burov 	PIN_FIELD_BASE(114, 114, 4, 0x0100, 0x10, 3, 1),
364449816f1SNikolai Burov 	PIN_FIELD_BASE(115, 115, 5, 0x00e0, 0x10, 5, 1),
365449816f1SNikolai Burov 	PIN_FIELD_BASE(116, 116, 4, 0x0100, 0x10, 10, 1),
366449816f1SNikolai Burov 	PIN_FIELD_BASE(117, 117, 4, 0x0100, 0x10, 5, 1),
367449816f1SNikolai Burov 	PIN_FIELD_BASE(118, 118, 3, 0x00f0, 0x10, 4, 1),
368449816f1SNikolai Burov 	PIN_FIELD_BASE(119, 119, 3, 0x00f0, 0x10, 0, 1),
369449816f1SNikolai Burov 	PIN_FIELD_BASE(120, 120, 3, 0x00f0, 0x10, 5, 1),
370449816f1SNikolai Burov 	PIN_FIELD_BASE(121, 121, 3, 0x00f0, 0x10, 6, 1),
371449816f1SNikolai Burov 	PIN_FIELD_BASE(122, 122, 7, 0x0090, 0x10, 7, 1),
372449816f1SNikolai Burov 	PIN_FIELD_BASE(123, 123, 3, 0x00f0, 0x10, 7, 1),
373449816f1SNikolai Burov 	PIN_FIELD_BASE(124, 124, 1, 0x00b0, 0x10, 16, 1),
374449816f1SNikolai Burov 	PIN_FIELD_BASE(125, 125, 7, 0x0090, 0x10, 8, 1),
375449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x00c0, 0x10, 15, 1),
376449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x00c0, 0x10, 16, 1),
377449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x00c0, 0x10, 17, 1),
378449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x00c0, 0x10, 18, 1),
379449816f1SNikolai Burov 	PIN_FIELD_BASE(130, 130, 3, 0x00f0, 0x10, 8, 1),
380449816f1SNikolai Burov 	PIN_FIELD_BASE(131, 131, 3, 0x00f0, 0x10, 9, 1),
381449816f1SNikolai Burov 	PIN_FIELD_BASE(132, 132, 3, 0x00f0, 0x10, 10, 1),
382449816f1SNikolai Burov 	PIN_FIELD_BASE(133, 133, 3, 0x00f0, 0x10, 11, 1),
383449816f1SNikolai Burov 	PIN_FIELD_BASE(134, 134, 3, 0x00f0, 0x10, 12, 1),
384449816f1SNikolai Burov 	PIN_FIELD_BASE(135, 135, 8, 0x0110, 0x10, 19, 1),
385449816f1SNikolai Burov 	PIN_FIELD_BASE(136, 136, 8, 0x0110, 0x10, 20, 1),
386449816f1SNikolai Burov 	PIN_FIELD_BASE(137, 137, 7, 0x0090, 0x10, 5, 1),
387449816f1SNikolai Burov 	PIN_FIELD_BASE(138, 138, 7, 0x0090, 0x10, 6, 1),
388449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x00f0, 0x10, 13, 1),
389449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x00f0, 0x10, 17, 1),
390449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x00f0, 0x10, 14, 1),
391449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x00f0, 0x10, 18, 1),
392449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x00f0, 0x10, 2, 1),
393449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x00f0, 0x10, 3, 1),
394449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x00f0, 0x10, 15, 1),
395449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x00f0, 0x10, 19, 1),
396449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x00c0, 0x10, 8, 1),
397449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x00c0, 0x10, 11, 1),
398449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x00e0, 0x10, 6, 1),
399449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x00e0, 0x10, 7, 1),
400449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x00f0, 0x10, 16, 1),
401449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x00f0, 0x10, 20, 1),
402449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x00c0, 0x10, 9, 1),
403449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x00c0, 0x10, 12, 1),
404449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x00c0, 0x10, 10, 1),
405449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x00c0, 0x10, 13, 1),
406449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0110, 0x10, 21, 1),
407449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0110, 0x10, 23, 1),
408449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0110, 0x10, 22, 1),
409449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0110, 0x10, 24, 1),
410449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x00e0, 0x10, 23, 1),
411449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x00e0, 0x10, 25, 1),
412449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x00e0, 0x10, 24, 1),
413449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x00e0, 0x10, 26, 1),
414449816f1SNikolai Burov 	PIN_FIELD_BASE(165, 165, 4, 0x0100, 0x10, 11, 1),
415449816f1SNikolai Burov 	PIN_FIELD_BASE(166, 166, 4, 0x0100, 0x10, 11, 1),
416449816f1SNikolai Burov 	PIN_FIELD_BASE(167, 167, 4, 0x0100, 0x10, 12, 1),
417449816f1SNikolai Burov 	PIN_FIELD_BASE(168, 168, 4, 0x0100, 0x10, 12, 1),
418449816f1SNikolai Burov 	PIN_FIELD_BASE(169, 169, 4, 0x0100, 0x10, 13, 1),
419449816f1SNikolai Burov 	PIN_FIELD_BASE(170, 170, 4, 0x0100, 0x10, 13, 1),
420449816f1SNikolai Burov 	PIN_FIELD_BASE(171, 171, 4, 0x0100, 0x10, 14, 1),
421449816f1SNikolai Burov 	PIN_FIELD_BASE(172, 172, 4, 0x0100, 0x10, 14, 1),
422449816f1SNikolai Burov 	PIN_FIELD_BASE(173, 173, 1, 0x00b0, 0x10, 0, 1),
423449816f1SNikolai Burov 	PIN_FIELD_BASE(174, 174, 1, 0x00b0, 0x10, 0, 1),
424449816f1SNikolai Burov 	PIN_FIELD_BASE(175, 175, 1, 0x00b0, 0x10, 0, 1),
425449816f1SNikolai Burov 	PIN_FIELD_BASE(176, 176, 1, 0x00b0, 0x10, 0, 1),
426449816f1SNikolai Burov 	PIN_FIELD_BASE(177, 177, 1, 0x00b0, 0x10, 0, 1),
427449816f1SNikolai Burov 	PIN_FIELD_BASE(178, 178, 1, 0x00b0, 0x10, 0, 1),
428449816f1SNikolai Burov 	PIN_FIELD_BASE(179, 179, 1, 0x00b0, 0x10, 0, 1),
429449816f1SNikolai Burov 	PIN_FIELD_BASE(180, 180, 1, 0x00b0, 0x10, 0, 1),
430449816f1SNikolai Burov 	PIN_FIELD_BASE(181, 181, 1, 0x00b0, 0x10, 15, 1),
431449816f1SNikolai Burov 	PIN_FIELD_BASE(182, 182, 9, 0x00a0, 0x10, 11, 1),
432449816f1SNikolai Burov 	PIN_FIELD_BASE(183, 183, 9, 0x00a0, 0x10, 13, 1),
433449816f1SNikolai Burov 	PIN_FIELD_BASE(184, 184, 9, 0x00a0, 0x10, 7, 1),
434449816f1SNikolai Burov 	PIN_FIELD_BASE(185, 185, 9, 0x00a0, 0x10, 8, 1),
435449816f1SNikolai Burov 	PIN_FIELD_BASE(186, 186, 9, 0x00a0, 0x10, 9, 1),
436449816f1SNikolai Burov 	PIN_FIELD_BASE(187, 187, 9, 0x00a0, 0x10, 15, 1),
437449816f1SNikolai Burov 	PIN_FIELD_BASE(188, 188, 9, 0x00a0, 0x10, 16, 1),
438449816f1SNikolai Burov 	PIN_FIELD_BASE(189, 189, 9, 0x00a0, 0x10, 17, 1),
439449816f1SNikolai Burov 	PIN_FIELD_BASE(190, 190, 9, 0x00a0, 0x10, 18, 1),
440449816f1SNikolai Burov 	PIN_FIELD_BASE(191, 191, 9, 0x00a0, 0x10, 12, 1),
441449816f1SNikolai Burov 	PIN_FIELD_BASE(192, 192, 9, 0x00a0, 0x10, 14, 1),
442449816f1SNikolai Burov 	PIN_FIELD_BASE(193, 193, 9, 0x00a0, 0x10, 10, 1),
443449816f1SNikolai Burov 	PIN_FIELD_BASE(194, 194, 9, 0x00a0, 0x10, 19, 1),
444449816f1SNikolai Burov 	PIN_FIELD_BASE(195, 195, 9, 0x00a0, 0x10, 20, 1),
445449816f1SNikolai Burov 	PIN_FIELD_BASE(196, 196, 6, 0x00c0, 0x10, 3, 1),
446449816f1SNikolai Burov };
447449816f1SNikolai Burov 
448449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_pu_range[] = {
449449816f1SNikolai Burov 	PIN_FIELD_BASE(0, 0, 8, 0x00b0, 0x10, 4, 1),
450449816f1SNikolai Burov 	PIN_FIELD_BASE(1, 1, 8, 0x00b0, 0x10, 5, 1),
451449816f1SNikolai Burov 	PIN_FIELD_BASE(2, 2, 8, 0x00b0, 0x10, 6, 1),
452449816f1SNikolai Burov 	PIN_FIELD_BASE(3, 3, 8, 0x00b0, 0x10, 8, 1),
453449816f1SNikolai Burov 	PIN_FIELD_BASE(4, 4, 8, 0x00b0, 0x10, 9, 1),
454449816f1SNikolai Burov 	PIN_FIELD_BASE(5, 5, 8, 0x00b0, 0x10, 10, 1),
455449816f1SNikolai Burov 	PIN_FIELD_BASE(6, 6, 8, 0x00b0, 0x10, 11, 1),
456449816f1SNikolai Burov 	PIN_FIELD_BASE(7, 7, 8, 0x00b0, 0x10, 12, 1),
457449816f1SNikolai Burov 	PIN_FIELD_BASE(8, 8, 5, 0x00a0, 0x10, 15, 1),
458449816f1SNikolai Burov 	PIN_FIELD_BASE(9, 9, 5, 0x00a0, 0x10, 16, 1),
459449816f1SNikolai Burov 	PIN_FIELD_BASE(10, 10, 5, 0x00a0, 0x10, 9, 1),
460449816f1SNikolai Burov 	PIN_FIELD_BASE(11, 11, 5, 0x00a0, 0x10, 10, 1),
461449816f1SNikolai Burov 	PIN_FIELD_BASE(12, 12, 5, 0x00a0, 0x10, 11, 1),
462449816f1SNikolai Burov 	PIN_FIELD_BASE(13, 13, 7, 0x0070, 0x10, 0, 1),
463449816f1SNikolai Burov 	PIN_FIELD_BASE(14, 14, 7, 0x0070, 0x10, 1, 1),
464449816f1SNikolai Burov 	PIN_FIELD_BASE(15, 15, 7, 0x0070, 0x10, 2, 1),
465449816f1SNikolai Burov 	PIN_FIELD_BASE(16, 16, 7, 0x0070, 0x10, 3, 1),
466449816f1SNikolai Burov 	PIN_FIELD_BASE(17, 17, 7, 0x0070, 0x10, 4, 1),
467449816f1SNikolai Burov 	PIN_FIELD_BASE(21, 21, 5, 0x00a0, 0x10, 12, 1),
468449816f1SNikolai Burov 	PIN_FIELD_BASE(22, 22, 5, 0x00a0, 0x10, 13, 1),
469449816f1SNikolai Burov 	PIN_FIELD_BASE(23, 23, 8, 0x00b0, 0x10, 7, 1),
470449816f1SNikolai Burov 	PIN_FIELD_BASE(24, 24, 5, 0x00a0, 0x10, 14, 1),
471449816f1SNikolai Burov 	PIN_FIELD_BASE(25, 25, 2, 0x0090, 0x10, 14, 1),
472449816f1SNikolai Burov 	PIN_FIELD_BASE(26, 26, 3, 0x00a0, 0x10, 1, 1),
473449816f1SNikolai Burov 	PIN_FIELD_BASE(27, 27, 2, 0x0090, 0x10, 0, 1),
474449816f1SNikolai Burov 	PIN_FIELD_BASE(28, 28, 2, 0x0090, 0x10, 1, 1),
475449816f1SNikolai Burov 	PIN_FIELD_BASE(29, 29, 2, 0x0090, 0x10, 2, 1),
476449816f1SNikolai Burov 	PIN_FIELD_BASE(30, 30, 2, 0x0090, 0x10, 3, 1),
477449816f1SNikolai Burov 	PIN_FIELD_BASE(31, 31, 2, 0x0090, 0x10, 4, 1),
478449816f1SNikolai Burov 	PIN_FIELD_BASE(32, 32, 2, 0x0090, 0x10, 5, 1),
479449816f1SNikolai Burov 	PIN_FIELD_BASE(33, 33, 2, 0x0090, 0x10, 6, 1),
480449816f1SNikolai Burov 	PIN_FIELD_BASE(34, 34, 2, 0x0090, 0x10, 7, 1),
481449816f1SNikolai Burov 	PIN_FIELD_BASE(35, 35, 4, 0x00b0, 0x10, 4, 1),
482449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x00b0, 0x10, 0, 1),
483449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x00b0, 0x10, 1, 1),
484449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x00b0, 0x10, 2, 1),
485449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x00b0, 0x10, 3, 1),
486449816f1SNikolai Burov 	PIN_FIELD_BASE(40, 40, 1, 0x0090, 0x10, 11, 1),
487449816f1SNikolai Burov 	PIN_FIELD_BASE(41, 41, 1, 0x0090, 0x10, 8, 1),
488449816f1SNikolai Burov 	PIN_FIELD_BASE(42, 42, 1, 0x0090, 0x10, 10, 1),
489449816f1SNikolai Burov 	PIN_FIELD_BASE(43, 43, 1, 0x0090, 0x10, 12, 1),
490449816f1SNikolai Burov 	PIN_FIELD_BASE(44, 44, 1, 0x0090, 0x10, 9, 1),
491449816f1SNikolai Burov 	PIN_FIELD_BASE(45, 45, 5, 0x00a0, 0x10, 17, 1),
492449816f1SNikolai Burov 	PIN_FIELD_BASE(46, 46, 5, 0x00a0, 0x10, 19, 1),
493449816f1SNikolai Burov 	PIN_FIELD_BASE(47, 47, 5, 0x00a0, 0x10, 20, 1),
494449816f1SNikolai Burov 	PIN_FIELD_BASE(48, 48, 5, 0x00a0, 0x10, 18, 1),
495449816f1SNikolai Burov 	PIN_FIELD_BASE(49, 49, 4, 0x00b0, 0x10, 20, 1),
496449816f1SNikolai Burov 	PIN_FIELD_BASE(50, 50, 4, 0x00b0, 0x10, 19, 1),
497449816f1SNikolai Burov 	PIN_FIELD_BASE(51, 51, 1, 0x0090, 0x10, 28, 1),
498449816f1SNikolai Burov 	PIN_FIELD_BASE(52, 52, 1, 0x0090, 0x10, 27, 1),
499449816f1SNikolai Burov 	PIN_FIELD_BASE(53, 53, 5, 0x00a0, 0x10, 25, 1),
500449816f1SNikolai Burov 	PIN_FIELD_BASE(54, 54, 5, 0x00a0, 0x10, 21, 1),
501449816f1SNikolai Burov 	PIN_FIELD_BASE(55, 55, 5, 0x00a0, 0x10, 24, 1),
502449816f1SNikolai Burov 	PIN_FIELD_BASE(56, 56, 5, 0x00a0, 0x10, 22, 1),
503449816f1SNikolai Burov 	PIN_FIELD_BASE(57, 57, 5, 0x00a0, 0x10, 23, 1),
504449816f1SNikolai Burov 	PIN_FIELD_BASE(58, 58, 3, 0x00a0, 0x10, 21, 1),
505449816f1SNikolai Burov 	PIN_FIELD_BASE(59, 59, 3, 0x00a0, 0x10, 22, 1),
506449816f1SNikolai Burov 	PIN_FIELD_BASE(60, 60, 3, 0x00a0, 0x10, 24, 1),
507449816f1SNikolai Burov 	PIN_FIELD_BASE(61, 61, 3, 0x00a0, 0x10, 23, 1),
508449816f1SNikolai Burov 	PIN_FIELD_BASE(62, 62, 8, 0x00b0, 0x10, 19, 1),
509449816f1SNikolai Burov 	PIN_FIELD_BASE(63, 63, 8, 0x00b0, 0x10, 20, 1),
510449816f1SNikolai Burov 	PIN_FIELD_BASE(64, 64, 8, 0x00b0, 0x10, 22, 1),
511449816f1SNikolai Burov 	PIN_FIELD_BASE(65, 65, 8, 0x00b0, 0x10, 21, 1),
512449816f1SNikolai Burov 	PIN_FIELD_BASE(66, 66, 1, 0x0090, 0x10, 17, 1),
513449816f1SNikolai Burov 	PIN_FIELD_BASE(67, 67, 1, 0x0090, 0x10, 18, 1),
514449816f1SNikolai Burov 	PIN_FIELD_BASE(68, 68, 1, 0x0090, 0x10, 20, 1),
515449816f1SNikolai Burov 	PIN_FIELD_BASE(69, 69, 1, 0x0090, 0x10, 19, 1),
516449816f1SNikolai Burov 	PIN_FIELD_BASE(70, 70, 1, 0x0090, 0x10, 21, 1),
517449816f1SNikolai Burov 	PIN_FIELD_BASE(71, 71, 1, 0x0090, 0x10, 22, 1),
518449816f1SNikolai Burov 	PIN_FIELD_BASE(72, 72, 1, 0x0090, 0x10, 24, 1),
519449816f1SNikolai Burov 	PIN_FIELD_BASE(73, 73, 1, 0x0090, 0x10, 23, 1),
520449816f1SNikolai Burov 	PIN_FIELD_BASE(74, 74, 1, 0x0090, 0x10, 13, 1),
521449816f1SNikolai Burov 	PIN_FIELD_BASE(75, 75, 1, 0x0090, 0x10, 14, 1),
522449816f1SNikolai Burov 	PIN_FIELD_BASE(76, 76, 1, 0x0090, 0x10, 16, 1),
523449816f1SNikolai Burov 	PIN_FIELD_BASE(77, 77, 1, 0x0090, 0x10, 15, 1),
524449816f1SNikolai Burov 	PIN_FIELD_BASE(78, 78, 3, 0x00a0, 0x10, 25, 1),
525449816f1SNikolai Burov 	PIN_FIELD_BASE(79, 79, 3, 0x00a0, 0x10, 26, 1),
526449816f1SNikolai Burov 	PIN_FIELD_BASE(80, 80, 3, 0x00a0, 0x10, 28, 1),
527449816f1SNikolai Burov 	PIN_FIELD_BASE(81, 81, 3, 0x00a0, 0x10, 27, 1),
528449816f1SNikolai Burov 	PIN_FIELD_BASE(94, 94, 4, 0x00b0, 0x10, 7, 1),
529449816f1SNikolai Burov 	PIN_FIELD_BASE(95, 95, 4, 0x00b0, 0x10, 8, 1),
530449816f1SNikolai Burov 	PIN_FIELD_BASE(96, 96, 4, 0x00b0, 0x10, 6, 1),
531449816f1SNikolai Burov 	PIN_FIELD_BASE(97, 97, 4, 0x00b0, 0x10, 9, 1),
532449816f1SNikolai Burov 	PIN_FIELD_BASE(98, 98, 5, 0x00a0, 0x10, 8, 1),
533449816f1SNikolai Burov 	PIN_FIELD_BASE(99, 99, 9, 0x0080, 0x10, 0, 1),
534449816f1SNikolai Burov 	PIN_FIELD_BASE(100, 100, 9, 0x0080, 0x10, 1, 1),
535449816f1SNikolai Burov 	PIN_FIELD_BASE(101, 101, 9, 0x0080, 0x10, 2, 1),
536449816f1SNikolai Burov 	PIN_FIELD_BASE(102, 102, 9, 0x0080, 0x10, 3, 1),
537449816f1SNikolai Burov 	PIN_FIELD_BASE(103, 103, 9, 0x0080, 0x10, 4, 1),
538449816f1SNikolai Burov 	PIN_FIELD_BASE(104, 104, 9, 0x0080, 0x10, 5, 1),
539449816f1SNikolai Burov 	PIN_FIELD_BASE(105, 105, 9, 0x0080, 0x10, 6, 1),
540449816f1SNikolai Burov 	PIN_FIELD_BASE(106, 106, 5, 0x00a0, 0x10, 0, 1),
541449816f1SNikolai Burov 	PIN_FIELD_BASE(107, 107, 4, 0x00b0, 0x10, 0, 1),
542449816f1SNikolai Burov 	PIN_FIELD_BASE(108, 108, 4, 0x00b0, 0x10, 1, 1),
543449816f1SNikolai Burov 	PIN_FIELD_BASE(109, 109, 5, 0x00a0, 0x10, 1, 1),
544449816f1SNikolai Burov 	PIN_FIELD_BASE(110, 110, 5, 0x00a0, 0x10, 2, 1),
545449816f1SNikolai Burov 	PIN_FIELD_BASE(111, 111, 5, 0x00a0, 0x10, 3, 1),
546449816f1SNikolai Burov 	PIN_FIELD_BASE(112, 112, 5, 0x00a0, 0x10, 4, 1),
547449816f1SNikolai Burov 	PIN_FIELD_BASE(113, 113, 4, 0x00b0, 0x10, 2, 1),
548449816f1SNikolai Burov 	PIN_FIELD_BASE(114, 114, 4, 0x00b0, 0x10, 3, 1),
549449816f1SNikolai Burov 	PIN_FIELD_BASE(115, 115, 5, 0x00a0, 0x10, 5, 1),
550449816f1SNikolai Burov 	PIN_FIELD_BASE(116, 116, 4, 0x00b0, 0x10, 10, 1),
551449816f1SNikolai Burov 	PIN_FIELD_BASE(117, 117, 4, 0x00b0, 0x10, 5, 1),
552449816f1SNikolai Burov 	PIN_FIELD_BASE(118, 118, 3, 0x00a0, 0x10, 4, 1),
553449816f1SNikolai Burov 	PIN_FIELD_BASE(119, 119, 3, 0x00a0, 0x10, 0, 1),
554449816f1SNikolai Burov 	PIN_FIELD_BASE(120, 120, 3, 0x00a0, 0x10, 5, 1),
555449816f1SNikolai Burov 	PIN_FIELD_BASE(121, 121, 3, 0x00a0, 0x10, 6, 1),
556449816f1SNikolai Burov 	PIN_FIELD_BASE(122, 122, 7, 0x0070, 0x10, 9, 1),
557449816f1SNikolai Burov 	PIN_FIELD_BASE(123, 123, 3, 0x00a0, 0x10, 7, 1),
558449816f1SNikolai Burov 	PIN_FIELD_BASE(124, 124, 1, 0x0090, 0x10, 26, 1),
559449816f1SNikolai Burov 	PIN_FIELD_BASE(125, 125, 7, 0x0070, 0x10, 10, 1),
560449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x0090, 0x10, 15, 1),
561449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x0090, 0x10, 16, 1),
562449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x0090, 0x10, 17, 1),
563449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x0090, 0x10, 18, 1),
564449816f1SNikolai Burov 	PIN_FIELD_BASE(130, 130, 3, 0x00a0, 0x10, 8, 1),
565449816f1SNikolai Burov 	PIN_FIELD_BASE(131, 131, 3, 0x00a0, 0x10, 9, 1),
566449816f1SNikolai Burov 	PIN_FIELD_BASE(132, 132, 3, 0x00a0, 0x10, 10, 1),
567449816f1SNikolai Burov 	PIN_FIELD_BASE(133, 133, 3, 0x00a0, 0x10, 11, 1),
568449816f1SNikolai Burov 	PIN_FIELD_BASE(134, 134, 3, 0x00a0, 0x10, 12, 1),
569449816f1SNikolai Burov 	PIN_FIELD_BASE(135, 135, 8, 0x00b0, 0x10, 13, 1),
570449816f1SNikolai Burov 	PIN_FIELD_BASE(136, 136, 8, 0x00b0, 0x10, 14, 1),
571449816f1SNikolai Burov 	PIN_FIELD_BASE(137, 137, 7, 0x0070, 0x10, 5, 1),
572449816f1SNikolai Burov 	PIN_FIELD_BASE(138, 138, 7, 0x0070, 0x10, 6, 1),
573449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x00a0, 0x10, 13, 1),
574449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x00a0, 0x10, 17, 1),
575449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x00a0, 0x10, 14, 1),
576449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x00a0, 0x10, 18, 1),
577449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x00a0, 0x10, 2, 1),
578449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x00a0, 0x10, 3, 1),
579449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x00a0, 0x10, 15, 1),
580449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x00a0, 0x10, 19, 1),
581449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x0090, 0x10, 8, 1),
582449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x0090, 0x10, 11, 1),
583449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x00a0, 0x10, 6, 1),
584449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x00a0, 0x10, 7, 1),
585449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x00a0, 0x10, 16, 1),
586449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x00a0, 0x10, 20, 1),
587449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x0090, 0x10, 9, 1),
588449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x0090, 0x10, 12, 1),
589449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x0090, 0x10, 10, 1),
590449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x0090, 0x10, 13, 1),
591449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x00b0, 0x10, 15, 1),
592449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x00b0, 0x10, 17, 1),
593449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x00b0, 0x10, 16, 1),
594449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x00b0, 0x10, 18, 1),
595449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x00a0, 0x10, 26, 1),
596449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x00a0, 0x10, 28, 1),
597449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x00a0, 0x10, 27, 1),
598449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x00a0, 0x10, 29, 1),
599449816f1SNikolai Burov 	PIN_FIELD_BASE(165, 165, 4, 0x00b0, 0x10, 11, 1),
600449816f1SNikolai Burov 	PIN_FIELD_BASE(166, 166, 4, 0x00b0, 0x10, 12, 1),
601449816f1SNikolai Burov 	PIN_FIELD_BASE(167, 167, 4, 0x00b0, 0x10, 13, 1),
602449816f1SNikolai Burov 	PIN_FIELD_BASE(168, 168, 4, 0x00b0, 0x10, 14, 1),
603449816f1SNikolai Burov 	PIN_FIELD_BASE(169, 169, 4, 0x00b0, 0x10, 15, 1),
604449816f1SNikolai Burov 	PIN_FIELD_BASE(170, 170, 4, 0x00b0, 0x10, 16, 1),
605449816f1SNikolai Burov 	PIN_FIELD_BASE(171, 171, 4, 0x00b0, 0x10, 17, 1),
606449816f1SNikolai Burov 	PIN_FIELD_BASE(172, 172, 4, 0x00b0, 0x10, 18, 1),
607449816f1SNikolai Burov 	PIN_FIELD_BASE(173, 173, 1, 0x0090, 0x10, 0, 1),
608449816f1SNikolai Burov 	PIN_FIELD_BASE(174, 174, 1, 0x0090, 0x10, 7, 1),
609449816f1SNikolai Burov 	PIN_FIELD_BASE(175, 175, 1, 0x0090, 0x10, 3, 1),
610449816f1SNikolai Burov 	PIN_FIELD_BASE(176, 176, 1, 0x0090, 0x10, 4, 1),
611449816f1SNikolai Burov 	PIN_FIELD_BASE(177, 177, 1, 0x0090, 0x10, 5, 1),
612449816f1SNikolai Burov 	PIN_FIELD_BASE(178, 178, 1, 0x0090, 0x10, 6, 1),
613449816f1SNikolai Burov 	PIN_FIELD_BASE(179, 179, 1, 0x0090, 0x10, 1, 1),
614449816f1SNikolai Burov 	PIN_FIELD_BASE(180, 180, 1, 0x0090, 0x10, 2, 1),
615449816f1SNikolai Burov 	PIN_FIELD_BASE(181, 181, 1, 0x0090, 0x10, 25, 1),
616449816f1SNikolai Burov 	PIN_FIELD_BASE(182, 182, 9, 0x0080, 0x10, 11, 1),
617449816f1SNikolai Burov 	PIN_FIELD_BASE(183, 183, 9, 0x0080, 0x10, 13, 1),
618449816f1SNikolai Burov 	PIN_FIELD_BASE(184, 184, 9, 0x0080, 0x10, 7, 1),
619449816f1SNikolai Burov 	PIN_FIELD_BASE(185, 185, 9, 0x0080, 0x10, 8, 1),
620449816f1SNikolai Burov 	PIN_FIELD_BASE(186, 186, 9, 0x0080, 0x10, 9, 1),
621449816f1SNikolai Burov 	PIN_FIELD_BASE(187, 187, 9, 0x0080, 0x10, 15, 1),
622449816f1SNikolai Burov 	PIN_FIELD_BASE(188, 188, 9, 0x0080, 0x10, 16, 1),
623449816f1SNikolai Burov 	PIN_FIELD_BASE(189, 189, 9, 0x0080, 0x10, 17, 1),
624449816f1SNikolai Burov 	PIN_FIELD_BASE(190, 190, 9, 0x0080, 0x10, 18, 1),
625449816f1SNikolai Burov 	PIN_FIELD_BASE(191, 191, 9, 0x0080, 0x10, 12, 1),
626449816f1SNikolai Burov 	PIN_FIELD_BASE(192, 192, 9, 0x0080, 0x10, 14, 1),
627449816f1SNikolai Burov 	PIN_FIELD_BASE(193, 193, 9, 0x0080, 0x10, 10, 1),
628449816f1SNikolai Burov 	PIN_FIELD_BASE(194, 194, 9, 0x0080, 0x10, 19, 1),
629449816f1SNikolai Burov 	PIN_FIELD_BASE(195, 195, 9, 0x0080, 0x10, 20, 1),
630449816f1SNikolai Burov 	PIN_FIELD_BASE(196, 196, 6, 0x0080, 0x10, 0, 1),
631449816f1SNikolai Burov };
632449816f1SNikolai Burov 
633449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_pd_range[] = {
634449816f1SNikolai Burov 	PIN_FIELD_BASE(0, 0, 8, 0x0090, 0x10, 4, 1),
635449816f1SNikolai Burov 	PIN_FIELD_BASE(1, 1, 8, 0x0090, 0x10, 5, 1),
636449816f1SNikolai Burov 	PIN_FIELD_BASE(2, 2, 8, 0x0090, 0x10, 6, 1),
637449816f1SNikolai Burov 	PIN_FIELD_BASE(3, 3, 8, 0x0090, 0x10, 8, 1),
638449816f1SNikolai Burov 	PIN_FIELD_BASE(4, 4, 8, 0x0090, 0x10, 9, 1),
639449816f1SNikolai Burov 	PIN_FIELD_BASE(5, 5, 8, 0x0090, 0x10, 10, 1),
640449816f1SNikolai Burov 	PIN_FIELD_BASE(6, 6, 8, 0x0090, 0x10, 11, 1),
641449816f1SNikolai Burov 	PIN_FIELD_BASE(7, 7, 8, 0x0090, 0x10, 12, 1),
642449816f1SNikolai Burov 	PIN_FIELD_BASE(8, 8, 5, 0x0090, 0x10, 15, 1),
643449816f1SNikolai Burov 	PIN_FIELD_BASE(9, 9, 5, 0x0090, 0x10, 16, 1),
644449816f1SNikolai Burov 	PIN_FIELD_BASE(10, 10, 5, 0x0090, 0x10, 9, 1),
645449816f1SNikolai Burov 	PIN_FIELD_BASE(11, 11, 5, 0x0090, 0x10, 10, 1),
646449816f1SNikolai Burov 	PIN_FIELD_BASE(12, 12, 5, 0x0090, 0x10, 11, 1),
647449816f1SNikolai Burov 	PIN_FIELD_BASE(13, 13, 7, 0x0060, 0x10, 0, 1),
648449816f1SNikolai Burov 	PIN_FIELD_BASE(14, 14, 7, 0x0060, 0x10, 1, 1),
649449816f1SNikolai Burov 	PIN_FIELD_BASE(15, 15, 7, 0x0060, 0x10, 2, 1),
650449816f1SNikolai Burov 	PIN_FIELD_BASE(16, 16, 7, 0x0060, 0x10, 3, 1),
651449816f1SNikolai Burov 	PIN_FIELD_BASE(17, 17, 7, 0x0060, 0x10, 4, 1),
652449816f1SNikolai Burov 	PIN_FIELD_BASE(21, 21, 5, 0x0090, 0x10, 12, 1),
653449816f1SNikolai Burov 	PIN_FIELD_BASE(22, 22, 5, 0x0090, 0x10, 13, 1),
654449816f1SNikolai Burov 	PIN_FIELD_BASE(23, 23, 8, 0x0090, 0x10, 7, 1),
655449816f1SNikolai Burov 	PIN_FIELD_BASE(24, 24, 5, 0x0090, 0x10, 14, 1),
656449816f1SNikolai Burov 	PIN_FIELD_BASE(25, 25, 2, 0x0080, 0x10, 14, 1),
657449816f1SNikolai Burov 	PIN_FIELD_BASE(26, 26, 3, 0x0090, 0x10, 1, 1),
658449816f1SNikolai Burov 	PIN_FIELD_BASE(27, 27, 2, 0x0080, 0x10, 0, 1),
659449816f1SNikolai Burov 	PIN_FIELD_BASE(28, 28, 2, 0x0080, 0x10, 1, 1),
660449816f1SNikolai Burov 	PIN_FIELD_BASE(29, 29, 2, 0x0080, 0x10, 2, 1),
661449816f1SNikolai Burov 	PIN_FIELD_BASE(30, 30, 2, 0x0080, 0x10, 3, 1),
662449816f1SNikolai Burov 	PIN_FIELD_BASE(31, 31, 2, 0x0080, 0x10, 4, 1),
663449816f1SNikolai Burov 	PIN_FIELD_BASE(32, 32, 2, 0x0080, 0x10, 5, 1),
664449816f1SNikolai Burov 	PIN_FIELD_BASE(33, 33, 2, 0x0080, 0x10, 6, 1),
665449816f1SNikolai Burov 	PIN_FIELD_BASE(34, 34, 2, 0x0080, 0x10, 7, 1),
666449816f1SNikolai Burov 	PIN_FIELD_BASE(35, 35, 4, 0x0090, 0x10, 4, 1),
667449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x0090, 0x10, 0, 1),
668449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x0090, 0x10, 1, 1),
669449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x0090, 0x10, 2, 1),
670449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x0090, 0x10, 3, 1),
671449816f1SNikolai Burov 	PIN_FIELD_BASE(40, 40, 1, 0x0080, 0x10, 11, 1),
672449816f1SNikolai Burov 	PIN_FIELD_BASE(41, 41, 1, 0x0080, 0x10, 8, 1),
673449816f1SNikolai Burov 	PIN_FIELD_BASE(42, 42, 1, 0x0080, 0x10, 10, 1),
674449816f1SNikolai Burov 	PIN_FIELD_BASE(43, 43, 1, 0x0080, 0x10, 12, 1),
675449816f1SNikolai Burov 	PIN_FIELD_BASE(44, 44, 1, 0x0080, 0x10, 9, 1),
676449816f1SNikolai Burov 	PIN_FIELD_BASE(45, 45, 5, 0x0090, 0x10, 17, 1),
677449816f1SNikolai Burov 	PIN_FIELD_BASE(46, 46, 5, 0x0090, 0x10, 19, 1),
678449816f1SNikolai Burov 	PIN_FIELD_BASE(47, 47, 5, 0x0090, 0x10, 20, 1),
679449816f1SNikolai Burov 	PIN_FIELD_BASE(48, 48, 5, 0x0090, 0x10, 18, 1),
680449816f1SNikolai Burov 	PIN_FIELD_BASE(49, 49, 4, 0x0090, 0x10, 20, 1),
681449816f1SNikolai Burov 	PIN_FIELD_BASE(50, 50, 4, 0x0090, 0x10, 19, 1),
682449816f1SNikolai Burov 	PIN_FIELD_BASE(51, 51, 1, 0x0080, 0x10, 28, 1),
683449816f1SNikolai Burov 	PIN_FIELD_BASE(52, 52, 1, 0x0080, 0x10, 27, 1),
684449816f1SNikolai Burov 	PIN_FIELD_BASE(53, 53, 5, 0x0090, 0x10, 25, 1),
685449816f1SNikolai Burov 	PIN_FIELD_BASE(54, 54, 5, 0x0090, 0x10, 21, 1),
686449816f1SNikolai Burov 	PIN_FIELD_BASE(55, 55, 5, 0x0090, 0x10, 24, 1),
687449816f1SNikolai Burov 	PIN_FIELD_BASE(56, 56, 5, 0x0090, 0x10, 22, 1),
688449816f1SNikolai Burov 	PIN_FIELD_BASE(57, 57, 5, 0x0090, 0x10, 23, 1),
689449816f1SNikolai Burov 	PIN_FIELD_BASE(58, 58, 3, 0x0090, 0x10, 21, 1),
690449816f1SNikolai Burov 	PIN_FIELD_BASE(59, 59, 3, 0x0090, 0x10, 22, 1),
691449816f1SNikolai Burov 	PIN_FIELD_BASE(60, 60, 3, 0x0090, 0x10, 24, 1),
692449816f1SNikolai Burov 	PIN_FIELD_BASE(61, 61, 3, 0x0090, 0x10, 23, 1),
693449816f1SNikolai Burov 	PIN_FIELD_BASE(62, 62, 8, 0x0090, 0x10, 19, 1),
694449816f1SNikolai Burov 	PIN_FIELD_BASE(63, 63, 8, 0x0090, 0x10, 20, 1),
695449816f1SNikolai Burov 	PIN_FIELD_BASE(64, 64, 8, 0x0090, 0x10, 22, 1),
696449816f1SNikolai Burov 	PIN_FIELD_BASE(65, 65, 8, 0x0090, 0x10, 21, 1),
697449816f1SNikolai Burov 	PIN_FIELD_BASE(66, 66, 1, 0x0080, 0x10, 17, 1),
698449816f1SNikolai Burov 	PIN_FIELD_BASE(67, 67, 1, 0x0080, 0x10, 18, 1),
699449816f1SNikolai Burov 	PIN_FIELD_BASE(68, 68, 1, 0x0080, 0x10, 20, 1),
700449816f1SNikolai Burov 	PIN_FIELD_BASE(69, 69, 1, 0x0080, 0x10, 19, 1),
701449816f1SNikolai Burov 	PIN_FIELD_BASE(70, 70, 1, 0x0080, 0x10, 21, 1),
702449816f1SNikolai Burov 	PIN_FIELD_BASE(71, 71, 1, 0x0080, 0x10, 22, 1),
703449816f1SNikolai Burov 	PIN_FIELD_BASE(72, 72, 1, 0x0080, 0x10, 24, 1),
704449816f1SNikolai Burov 	PIN_FIELD_BASE(73, 73, 1, 0x0080, 0x10, 23, 1),
705449816f1SNikolai Burov 	PIN_FIELD_BASE(74, 74, 1, 0x0080, 0x10, 13, 1),
706449816f1SNikolai Burov 	PIN_FIELD_BASE(75, 75, 1, 0x0080, 0x10, 14, 1),
707449816f1SNikolai Burov 	PIN_FIELD_BASE(76, 76, 1, 0x0080, 0x10, 16, 1),
708449816f1SNikolai Burov 	PIN_FIELD_BASE(77, 77, 1, 0x0080, 0x10, 15, 1),
709449816f1SNikolai Burov 	PIN_FIELD_BASE(78, 78, 3, 0x0090, 0x10, 25, 1),
710449816f1SNikolai Burov 	PIN_FIELD_BASE(79, 79, 3, 0x0090, 0x10, 26, 1),
711449816f1SNikolai Burov 	PIN_FIELD_BASE(80, 80, 3, 0x0090, 0x10, 28, 1),
712449816f1SNikolai Burov 	PIN_FIELD_BASE(81, 81, 3, 0x0090, 0x10, 27, 1),
713449816f1SNikolai Burov 	PIN_FIELD_BASE(94, 94, 4, 0x0090, 0x10, 7, 1),
714449816f1SNikolai Burov 	PIN_FIELD_BASE(95, 95, 4, 0x0090, 0x10, 8, 1),
715449816f1SNikolai Burov 	PIN_FIELD_BASE(96, 96, 4, 0x0090, 0x10, 6, 1),
716449816f1SNikolai Burov 	PIN_FIELD_BASE(97, 97, 4, 0x0090, 0x10, 9, 1),
717449816f1SNikolai Burov 	PIN_FIELD_BASE(98, 98, 5, 0x0090, 0x10, 8, 1),
718449816f1SNikolai Burov 	PIN_FIELD_BASE(99, 99, 9, 0x0070, 0x10, 0, 1),
719449816f1SNikolai Burov 	PIN_FIELD_BASE(100, 100, 9, 0x0070, 0x10, 1, 1),
720449816f1SNikolai Burov 	PIN_FIELD_BASE(101, 101, 9, 0x0070, 0x10, 2, 1),
721449816f1SNikolai Burov 	PIN_FIELD_BASE(102, 102, 9, 0x0070, 0x10, 3, 1),
722449816f1SNikolai Burov 	PIN_FIELD_BASE(103, 103, 9, 0x0070, 0x10, 4, 1),
723449816f1SNikolai Burov 	PIN_FIELD_BASE(104, 104, 9, 0x0070, 0x10, 5, 1),
724449816f1SNikolai Burov 	PIN_FIELD_BASE(105, 105, 9, 0x0070, 0x10, 6, 1),
725449816f1SNikolai Burov 	PIN_FIELD_BASE(106, 106, 5, 0x0090, 0x10, 0, 1),
726449816f1SNikolai Burov 	PIN_FIELD_BASE(107, 107, 4, 0x0090, 0x10, 0, 1),
727449816f1SNikolai Burov 	PIN_FIELD_BASE(108, 108, 4, 0x0090, 0x10, 1, 1),
728449816f1SNikolai Burov 	PIN_FIELD_BASE(109, 109, 5, 0x0090, 0x10, 1, 1),
729449816f1SNikolai Burov 	PIN_FIELD_BASE(110, 110, 5, 0x0090, 0x10, 2, 1),
730449816f1SNikolai Burov 	PIN_FIELD_BASE(111, 111, 5, 0x0090, 0x10, 3, 1),
731449816f1SNikolai Burov 	PIN_FIELD_BASE(112, 112, 5, 0x0090, 0x10, 4, 1),
732449816f1SNikolai Burov 	PIN_FIELD_BASE(113, 113, 4, 0x0090, 0x10, 2, 1),
733449816f1SNikolai Burov 	PIN_FIELD_BASE(114, 114, 4, 0x0090, 0x10, 3, 1),
734449816f1SNikolai Burov 	PIN_FIELD_BASE(115, 115, 5, 0x0090, 0x10, 5, 1),
735449816f1SNikolai Burov 	PIN_FIELD_BASE(116, 116, 4, 0x0090, 0x10, 10, 1),
736449816f1SNikolai Burov 	PIN_FIELD_BASE(117, 117, 4, 0x0090, 0x10, 5, 1),
737449816f1SNikolai Burov 	PIN_FIELD_BASE(118, 118, 3, 0x0090, 0x10, 4, 1),
738449816f1SNikolai Burov 	PIN_FIELD_BASE(119, 119, 3, 0x0090, 0x10, 0, 1),
739449816f1SNikolai Burov 	PIN_FIELD_BASE(120, 120, 3, 0x0090, 0x10, 5, 1),
740449816f1SNikolai Burov 	PIN_FIELD_BASE(121, 121, 3, 0x0090, 0x10, 6, 1),
741449816f1SNikolai Burov 	PIN_FIELD_BASE(122, 122, 7, 0x0060, 0x10, 9, 1),
742449816f1SNikolai Burov 	PIN_FIELD_BASE(123, 123, 3, 0x0090, 0x10, 7, 1),
743449816f1SNikolai Burov 	PIN_FIELD_BASE(124, 124, 1, 0x0080, 0x10, 26, 1),
744449816f1SNikolai Burov 	PIN_FIELD_BASE(125, 125, 7, 0x0060, 0x10, 10, 1),
745449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x0080, 0x10, 15, 1),
746449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x0080, 0x10, 16, 1),
747449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x0080, 0x10, 17, 1),
748449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x0080, 0x10, 18, 1),
749449816f1SNikolai Burov 	PIN_FIELD_BASE(130, 130, 3, 0x0090, 0x10, 8, 1),
750449816f1SNikolai Burov 	PIN_FIELD_BASE(131, 131, 3, 0x0090, 0x10, 9, 1),
751449816f1SNikolai Burov 	PIN_FIELD_BASE(132, 132, 3, 0x0090, 0x10, 10, 1),
752449816f1SNikolai Burov 	PIN_FIELD_BASE(133, 133, 3, 0x0090, 0x10, 11, 1),
753449816f1SNikolai Burov 	PIN_FIELD_BASE(134, 134, 3, 0x0090, 0x10, 12, 1),
754449816f1SNikolai Burov 	PIN_FIELD_BASE(135, 135, 8, 0x0090, 0x10, 13, 1),
755449816f1SNikolai Burov 	PIN_FIELD_BASE(136, 136, 8, 0x0090, 0x10, 14, 1),
756449816f1SNikolai Burov 	PIN_FIELD_BASE(137, 137, 7, 0x0060, 0x10, 5, 1),
757449816f1SNikolai Burov 	PIN_FIELD_BASE(138, 138, 7, 0x0060, 0x10, 6, 1),
758449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x0090, 0x10, 13, 1),
759449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x0090, 0x10, 17, 1),
760449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x0090, 0x10, 14, 1),
761449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x0090, 0x10, 18, 1),
762449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x0090, 0x10, 2, 1),
763449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x0090, 0x10, 3, 1),
764449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x0090, 0x10, 15, 1),
765449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x0090, 0x10, 19, 1),
766449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x0080, 0x10, 8, 1),
767449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x0080, 0x10, 11, 1),
768449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x0090, 0x10, 6, 1),
769449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x0090, 0x10, 7, 1),
770449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x0090, 0x10, 16, 1),
771449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x0090, 0x10, 20, 1),
772449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x0080, 0x10, 9, 1),
773449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x0080, 0x10, 12, 1),
774449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x0080, 0x10, 10, 1),
775449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x0080, 0x10, 13, 1),
776449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0090, 0x10, 15, 1),
777449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0090, 0x10, 17, 1),
778449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0090, 0x10, 16, 1),
779449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0090, 0x10, 18, 1),
780449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x0090, 0x10, 26, 1),
781449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x0090, 0x10, 28, 1),
782449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x0090, 0x10, 27, 1),
783449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x0090, 0x10, 29, 1),
784449816f1SNikolai Burov 	PIN_FIELD_BASE(165, 165, 4, 0x0090, 0x10, 11, 1),
785449816f1SNikolai Burov 	PIN_FIELD_BASE(166, 166, 4, 0x0090, 0x10, 12, 1),
786449816f1SNikolai Burov 	PIN_FIELD_BASE(167, 167, 4, 0x0090, 0x10, 13, 1),
787449816f1SNikolai Burov 	PIN_FIELD_BASE(168, 168, 4, 0x0090, 0x10, 14, 1),
788449816f1SNikolai Burov 	PIN_FIELD_BASE(169, 169, 4, 0x0090, 0x10, 15, 1),
789449816f1SNikolai Burov 	PIN_FIELD_BASE(170, 170, 4, 0x0090, 0x10, 16, 1),
790449816f1SNikolai Burov 	PIN_FIELD_BASE(171, 171, 4, 0x0090, 0x10, 17, 1),
791449816f1SNikolai Burov 	PIN_FIELD_BASE(172, 172, 4, 0x0090, 0x10, 18, 1),
792449816f1SNikolai Burov 	PIN_FIELD_BASE(173, 173, 1, 0x0080, 0x10, 0, 1),
793449816f1SNikolai Burov 	PIN_FIELD_BASE(174, 174, 1, 0x0080, 0x10, 7, 1),
794449816f1SNikolai Burov 	PIN_FIELD_BASE(175, 175, 1, 0x0080, 0x10, 3, 1),
795449816f1SNikolai Burov 	PIN_FIELD_BASE(176, 176, 1, 0x0080, 0x10, 4, 1),
796449816f1SNikolai Burov 	PIN_FIELD_BASE(177, 177, 1, 0x0080, 0x10, 5, 1),
797449816f1SNikolai Burov 	PIN_FIELD_BASE(178, 178, 1, 0x0080, 0x10, 6, 1),
798449816f1SNikolai Burov 	PIN_FIELD_BASE(179, 179, 1, 0x0080, 0x10, 1, 1),
799449816f1SNikolai Burov 	PIN_FIELD_BASE(180, 180, 1, 0x0080, 0x10, 2, 1),
800449816f1SNikolai Burov 	PIN_FIELD_BASE(181, 181, 1, 0x0080, 0x10, 25, 1),
801449816f1SNikolai Burov 	PIN_FIELD_BASE(182, 182, 9, 0x0070, 0x10, 11, 1),
802449816f1SNikolai Burov 	PIN_FIELD_BASE(183, 183, 9, 0x0070, 0x10, 13, 1),
803449816f1SNikolai Burov 	PIN_FIELD_BASE(184, 184, 9, 0x0070, 0x10, 7, 1),
804449816f1SNikolai Burov 	PIN_FIELD_BASE(185, 185, 9, 0x0070, 0x10, 8, 1),
805449816f1SNikolai Burov 	PIN_FIELD_BASE(186, 186, 9, 0x0070, 0x10, 9, 1),
806449816f1SNikolai Burov 	PIN_FIELD_BASE(187, 187, 9, 0x0070, 0x10, 15, 1),
807449816f1SNikolai Burov 	PIN_FIELD_BASE(188, 188, 9, 0x0070, 0x10, 16, 1),
808449816f1SNikolai Burov 	PIN_FIELD_BASE(189, 189, 9, 0x0070, 0x10, 17, 1),
809449816f1SNikolai Burov 	PIN_FIELD_BASE(190, 190, 9, 0x0070, 0x10, 18, 1),
810449816f1SNikolai Burov 	PIN_FIELD_BASE(191, 191, 9, 0x0070, 0x10, 12, 1),
811449816f1SNikolai Burov 	PIN_FIELD_BASE(192, 192, 9, 0x0070, 0x10, 14, 1),
812449816f1SNikolai Burov 	PIN_FIELD_BASE(193, 193, 9, 0x0070, 0x10, 10, 1),
813449816f1SNikolai Burov 	PIN_FIELD_BASE(194, 194, 9, 0x0070, 0x10, 19, 1),
814449816f1SNikolai Burov 	PIN_FIELD_BASE(195, 195, 9, 0x0070, 0x10, 20, 1),
815449816f1SNikolai Burov 	PIN_FIELD_BASE(196, 196, 6, 0x0060, 0x10, 0, 1),
816449816f1SNikolai Burov };
817449816f1SNikolai Burov 
818449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_pupd_range[] = {
819449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x0070, 0x10, 0, 1),
820449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x0070, 0x10, 1, 1),
821449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x0070, 0x10, 2, 1),
822449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x00a0, 0x10, 0, 1),
823449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x00a0, 0x10, 1, 1),
824449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x00a0, 0x10, 2, 1),
825449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x00a0, 0x10, 3, 1),
826449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x00a0, 0x10, 4, 1),
827449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x00a0, 0x10, 5, 1),
828449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x00a0, 0x10, 0, 1),
829449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x00a0, 0x10, 2, 1),
830449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x00a0, 0x10, 1, 1),
831449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x00a0, 0x10, 3, 1),
832449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x00a0, 0x10, 5, 1),
833449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x00a0, 0x10, 4, 1),
834449816f1SNikolai Burov };
835449816f1SNikolai Burov 
836449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_r0_range[] = {
837449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x0090, 0x10, 0, 1),
838449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x0090, 0x10, 1, 1),
839449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x0090, 0x10, 2, 1),
840449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x00c0, 0x10, 0, 1),
841449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x00c0, 0x10, 1, 1),
842449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x00c0, 0x10, 2, 1),
843449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x00c0, 0x10, 3, 1),
844449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x00c0, 0x10, 4, 1),
845449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x00c0, 0x10, 5, 1),
846449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x00c0, 0x10, 0, 1),
847449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x00c0, 0x10, 2, 1),
848449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x00c0, 0x10, 1, 1),
849449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x00c0, 0x10, 3, 1),
850449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x00c0, 0x10, 5, 1),
851449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x00c0, 0x10, 4, 1),
852449816f1SNikolai Burov };
853449816f1SNikolai Burov 
854449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_r1_range[] = {
855449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x00a0, 0x10, 0, 1),
856449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x00a0, 0x10, 1, 1),
857449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x00a0, 0x10, 2, 1),
858449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x00d0, 0x10, 0, 1),
859449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x00d0, 0x10, 1, 1),
860449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x00d0, 0x10, 2, 1),
861449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x00d0, 0x10, 3, 1),
862449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x00d0, 0x10, 4, 1),
863449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x00d0, 0x10, 5, 1),
864449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x00d0, 0x10, 0, 1),
865449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x00d0, 0x10, 2, 1),
866449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x00d0, 0x10, 1, 1),
867449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x00d0, 0x10, 3, 1),
868449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x00d0, 0x10, 5, 1),
869449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x00d0, 0x10, 4, 1),
870449816f1SNikolai Burov };
871449816f1SNikolai Burov 
872449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_drv_range[] = {
873449816f1SNikolai Burov 	PIN_FIELD_BASE(0, 0, 8, 0x0000, 0x10, 12, 3),
874449816f1SNikolai Burov 	PIN_FIELD_BASE(1, 1, 8, 0x0000, 0x10, 15, 3),
875449816f1SNikolai Burov 	PIN_FIELD_BASE(2, 2, 8, 0x0000, 0x10, 21, 3),
876449816f1SNikolai Burov 	PIN_FIELD_BASE(3, 3, 8, 0x0000, 0x10, 24, 3),
877449816f1SNikolai Burov 	PIN_FIELD_BASE(4, 4, 8, 0x0000, 0x10, 27, 3),
878449816f1SNikolai Burov 	PIN_FIELD_BASE(5, 5, 8, 0x0010, 0x10, 0, 3),
879449816f1SNikolai Burov 	PIN_FIELD_BASE(6, 6, 8, 0x0010, 0x10, 3, 3),
880449816f1SNikolai Burov 	PIN_FIELD_BASE(7, 7, 8, 0x0010, 0x10, 6, 3),
881449816f1SNikolai Burov 	PIN_FIELD_BASE(8, 8, 5, 0x0010, 0x10, 15, 3),
882449816f1SNikolai Burov 	PIN_FIELD_BASE(9, 9, 5, 0x0010, 0x10, 18, 3),
883449816f1SNikolai Burov 	PIN_FIELD_BASE(10, 10, 5, 0x0000, 0x10, 27, 3),
884449816f1SNikolai Burov 	PIN_FIELD_BASE(11, 11, 5, 0x0010, 0x10, 0, 3),
885449816f1SNikolai Burov 	PIN_FIELD_BASE(12, 12, 5, 0x0010, 0x10, 3, 3),
886449816f1SNikolai Burov 	PIN_FIELD_BASE(13, 13, 7, 0x0000, 0x10, 0, 3),
887449816f1SNikolai Burov 	PIN_FIELD_BASE(14, 14, 7, 0x0000, 0x10, 3, 3),
888449816f1SNikolai Burov 	PIN_FIELD_BASE(15, 15, 7, 0x0000, 0x10, 6, 3),
889449816f1SNikolai Burov 	PIN_FIELD_BASE(16, 16, 7, 0x0000, 0x10, 9, 3),
890449816f1SNikolai Burov 	PIN_FIELD_BASE(17, 17, 7, 0x0000, 0x10, 12, 3),
891449816f1SNikolai Burov 	PIN_FIELD_BASE(18, 18, 6, 0x0000, 0x10, 0, 3),
892449816f1SNikolai Burov 	PIN_FIELD_BASE(19, 19, 6, 0x0000, 0x10, 3, 3),
893449816f1SNikolai Burov 	PIN_FIELD_BASE(20, 20, 6, 0x0000, 0x10, 6, 3),
894449816f1SNikolai Burov 	PIN_FIELD_BASE(21, 21, 5, 0x0010, 0x10, 6, 3),
895449816f1SNikolai Burov 	PIN_FIELD_BASE(22, 22, 5, 0x0010, 0x10, 9, 3),
896449816f1SNikolai Burov 	PIN_FIELD_BASE(23, 23, 8, 0x0000, 0x10, 18, 3),
897449816f1SNikolai Burov 	PIN_FIELD_BASE(24, 24, 5, 0x0010, 0x10, 12, 3),
898449816f1SNikolai Burov 	PIN_FIELD_BASE(25, 25, 2, 0x0010, 0x10, 12, 3),
899449816f1SNikolai Burov 	PIN_FIELD_BASE(26, 26, 3, 0x0000, 0x10, 3, 3),
900449816f1SNikolai Burov 	PIN_FIELD_BASE(27, 27, 2, 0x0000, 0x10, 0, 3),
901449816f1SNikolai Burov 	PIN_FIELD_BASE(28, 28, 2, 0x0000, 0x10, 3, 3),
902449816f1SNikolai Burov 	PIN_FIELD_BASE(29, 29, 2, 0x0000, 0x10, 6, 3),
903449816f1SNikolai Burov 	PIN_FIELD_BASE(30, 30, 2, 0x0000, 0x10, 9, 3),
904449816f1SNikolai Burov 	PIN_FIELD_BASE(31, 31, 2, 0x0000, 0x10, 12, 3),
905449816f1SNikolai Burov 	PIN_FIELD_BASE(32, 32, 2, 0x0000, 0x10, 15, 3),
906449816f1SNikolai Burov 	PIN_FIELD_BASE(33, 33, 2, 0x0000, 0x10, 18, 3),
907449816f1SNikolai Burov 	PIN_FIELD_BASE(34, 34, 2, 0x0000, 0x10, 21, 3),
908449816f1SNikolai Burov 	PIN_FIELD_BASE(35, 35, 4, 0x0000, 0x10, 12, 3),
909449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x0000, 0x10, 0, 3),
910449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x0000, 0x10, 3, 3),
911449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x0000, 0x10, 6, 3),
912449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x0000, 0x10, 9, 3),
913449816f1SNikolai Burov 	PIN_FIELD_BASE(40, 40, 1, 0x0000, 0x10, 3, 3),
914449816f1SNikolai Burov 	PIN_FIELD_BASE(41, 41, 1, 0x0000, 0x10, 3, 3),
915449816f1SNikolai Burov 	PIN_FIELD_BASE(42, 42, 1, 0x0000, 0x10, 3, 3),
916449816f1SNikolai Burov 	PIN_FIELD_BASE(43, 43, 1, 0x0000, 0x10, 3, 3),
917449816f1SNikolai Burov 	PIN_FIELD_BASE(44, 44, 1, 0x0000, 0x10, 3, 3),
918449816f1SNikolai Burov 	PIN_FIELD_BASE(45, 45, 5, 0x0010, 0x10, 21, 3),
919449816f1SNikolai Burov 	PIN_FIELD_BASE(46, 46, 5, 0x0010, 0x10, 21, 3),
920449816f1SNikolai Burov 	PIN_FIELD_BASE(47, 47, 5, 0x0010, 0x10, 21, 3),
921449816f1SNikolai Burov 	PIN_FIELD_BASE(48, 48, 5, 0x0010, 0x10, 21, 3),
922449816f1SNikolai Burov 	PIN_FIELD_BASE(49, 49, 4, 0x0010, 0x10, 24, 3),
923449816f1SNikolai Burov 	PIN_FIELD_BASE(50, 50, 4, 0x0010, 0x10, 21, 3),
924449816f1SNikolai Burov 	PIN_FIELD_BASE(51, 51, 1, 0x0010, 0x10, 21, 3),
925449816f1SNikolai Burov 	PIN_FIELD_BASE(52, 52, 1, 0x0010, 0x10, 18, 3),
926449816f1SNikolai Burov 	PIN_FIELD_BASE(53, 53, 5, 0x0020, 0x10, 6, 3),
927449816f1SNikolai Burov 	PIN_FIELD_BASE(54, 54, 5, 0x0010, 0x10, 24, 3),
928449816f1SNikolai Burov 	PIN_FIELD_BASE(55, 55, 5, 0x0020, 0x10, 3, 3),
929449816f1SNikolai Burov 	PIN_FIELD_BASE(56, 56, 5, 0x0010, 0x10, 27, 3),
930449816f1SNikolai Burov 	PIN_FIELD_BASE(57, 57, 5, 0x0020, 0x10, 0, 3),
931449816f1SNikolai Burov 	PIN_FIELD_BASE(58, 58, 3, 0x0020, 0x10, 3, 3),
932449816f1SNikolai Burov 	PIN_FIELD_BASE(59, 59, 3, 0x0020, 0x10, 6, 3),
933449816f1SNikolai Burov 	PIN_FIELD_BASE(60, 60, 3, 0x0020, 0x10, 12, 3),
934449816f1SNikolai Burov 	PIN_FIELD_BASE(61, 61, 3, 0x0020, 0x10, 9, 3),
935449816f1SNikolai Burov 	PIN_FIELD_BASE(62, 62, 8, 0x0020, 0x10, 15, 3),
936449816f1SNikolai Burov 	PIN_FIELD_BASE(63, 63, 8, 0x0020, 0x10, 18, 3),
937449816f1SNikolai Burov 	PIN_FIELD_BASE(64, 64, 8, 0x0020, 0x10, 24, 3),
938449816f1SNikolai Burov 	PIN_FIELD_BASE(65, 65, 8, 0x0020, 0x10, 21, 3),
939449816f1SNikolai Burov 	PIN_FIELD_BASE(66, 66, 1, 0x0000, 0x10, 18, 3),
940449816f1SNikolai Burov 	PIN_FIELD_BASE(67, 67, 1, 0x0000, 0x10, 21, 3),
941449816f1SNikolai Burov 	PIN_FIELD_BASE(68, 68, 1, 0x0000, 0x10, 27, 3),
942449816f1SNikolai Burov 	PIN_FIELD_BASE(69, 69, 1, 0x0000, 0x10, 24, 3),
943449816f1SNikolai Burov 	PIN_FIELD_BASE(70, 70, 1, 0x0010, 0x10, 0, 3),
944449816f1SNikolai Burov 	PIN_FIELD_BASE(71, 71, 1, 0x0010, 0x10, 3, 3),
945449816f1SNikolai Burov 	PIN_FIELD_BASE(72, 72, 1, 0x0010, 0x10, 9, 3),
946449816f1SNikolai Burov 	PIN_FIELD_BASE(73, 73, 1, 0x0010, 0x10, 6, 3),
947449816f1SNikolai Burov 	PIN_FIELD_BASE(74, 74, 1, 0x0000, 0x10, 6, 3),
948449816f1SNikolai Burov 	PIN_FIELD_BASE(75, 75, 1, 0x0000, 0x10, 9, 3),
949449816f1SNikolai Burov 	PIN_FIELD_BASE(76, 76, 1, 0x0000, 0x10, 15, 3),
950449816f1SNikolai Burov 	PIN_FIELD_BASE(77, 77, 1, 0x0000, 0x10, 12, 3),
951449816f1SNikolai Burov 	PIN_FIELD_BASE(78, 78, 3, 0x0020, 0x10, 15, 3),
952449816f1SNikolai Burov 	PIN_FIELD_BASE(79, 79, 3, 0x0020, 0x10, 18, 3),
953449816f1SNikolai Burov 	PIN_FIELD_BASE(80, 80, 3, 0x0020, 0x10, 24, 3),
954449816f1SNikolai Burov 	PIN_FIELD_BASE(81, 81, 3, 0x0020, 0x10, 21, 3),
955449816f1SNikolai Burov 	PIN_FIELD_BASE(82, 82, 8, 0x0010, 0x10, 9, 3),
956449816f1SNikolai Burov 	PIN_FIELD_BASE(83, 83, 8, 0x0010, 0x10, 12, 3),
957449816f1SNikolai Burov 	PIN_FIELD_BASE(84, 84, 8, 0x0010, 0x10, 15, 3),
958449816f1SNikolai Burov 	PIN_FIELD_BASE(85, 85, 8, 0x0010, 0x10, 18, 3),
959449816f1SNikolai Burov 	PIN_FIELD_BASE(86, 86, 8, 0x0010, 0x10, 21, 3),
960449816f1SNikolai Burov 	PIN_FIELD_BASE(87, 87, 8, 0x0010, 0x10, 24, 3),
961449816f1SNikolai Burov 	PIN_FIELD_BASE(88, 88, 4, 0x0010, 0x10, 15, 3),
962449816f1SNikolai Burov 	PIN_FIELD_BASE(89, 89, 4, 0x0010, 0x10, 15, 3),
963449816f1SNikolai Burov 	PIN_FIELD_BASE(90, 90, 4, 0x0010, 0x10, 15, 3),
964449816f1SNikolai Burov 	PIN_FIELD_BASE(91, 91, 4, 0x0010, 0x10, 18, 3),
965449816f1SNikolai Burov 	PIN_FIELD_BASE(92, 92, 4, 0x0010, 0x10, 18, 3),
966449816f1SNikolai Burov 	PIN_FIELD_BASE(93, 93, 4, 0x0010, 0x10, 18, 3),
967449816f1SNikolai Burov 	PIN_FIELD_BASE(94, 94, 4, 0x0000, 0x10, 21, 3),
968449816f1SNikolai Burov 	PIN_FIELD_BASE(95, 95, 4, 0x0000, 0x10, 24, 3),
969449816f1SNikolai Burov 	PIN_FIELD_BASE(96, 96, 4, 0x0000, 0x10, 18, 3),
970449816f1SNikolai Burov 	PIN_FIELD_BASE(97, 97, 4, 0x0000, 0x10, 27, 3),
971449816f1SNikolai Burov 	PIN_FIELD_BASE(98, 98, 5, 0x0000, 0x10, 24, 3),
972449816f1SNikolai Burov 	PIN_FIELD_BASE(99, 99, 9, 0x0000, 0x10, 0, 3),
973449816f1SNikolai Burov 	PIN_FIELD_BASE(100, 100, 9, 0x0000, 0x10, 3, 3),
974449816f1SNikolai Burov 	PIN_FIELD_BASE(101, 101, 9, 0x0000, 0x10, 6, 3),
975449816f1SNikolai Burov 	PIN_FIELD_BASE(102, 102, 9, 0x0000, 0x10, 9, 3),
976449816f1SNikolai Burov 	PIN_FIELD_BASE(103, 103, 9, 0x0000, 0x10, 12, 3),
977449816f1SNikolai Burov 	PIN_FIELD_BASE(104, 104, 9, 0x0000, 0x10, 15, 3),
978449816f1SNikolai Burov 	PIN_FIELD_BASE(105, 105, 9, 0x0000, 0x10, 18, 3),
979449816f1SNikolai Burov 	PIN_FIELD_BASE(106, 106, 5, 0x0000, 0x10, 0, 3),
980449816f1SNikolai Burov 	PIN_FIELD_BASE(107, 107, 4, 0x0000, 0x10, 0, 3),
981449816f1SNikolai Burov 	PIN_FIELD_BASE(108, 108, 4, 0x0000, 0x10, 3, 3),
982449816f1SNikolai Burov 	PIN_FIELD_BASE(109, 109, 5, 0x0000, 0x10, 3, 3),
983449816f1SNikolai Burov 	PIN_FIELD_BASE(110, 110, 5, 0x0000, 0x10, 6, 3),
984449816f1SNikolai Burov 	PIN_FIELD_BASE(111, 111, 5, 0x0000, 0x10, 9, 3),
985449816f1SNikolai Burov 	PIN_FIELD_BASE(112, 112, 5, 0x0000, 0x10, 12, 3),
986449816f1SNikolai Burov 	PIN_FIELD_BASE(113, 113, 4, 0x0000, 0x10, 6, 3),
987449816f1SNikolai Burov 	PIN_FIELD_BASE(114, 114, 4, 0x0000, 0x10, 9, 3),
988449816f1SNikolai Burov 	PIN_FIELD_BASE(115, 115, 5, 0x0000, 0x10, 15, 3),
989449816f1SNikolai Burov 	PIN_FIELD_BASE(116, 116, 4, 0x0010, 0x10, 0, 3),
990449816f1SNikolai Burov 	PIN_FIELD_BASE(117, 117, 4, 0x0000, 0x10, 15, 3),
991449816f1SNikolai Burov 	PIN_FIELD_BASE(118, 118, 3, 0x0000, 0x10, 12, 3),
992449816f1SNikolai Burov 	PIN_FIELD_BASE(119, 119, 3, 0x0000, 0x10, 0, 3),
993449816f1SNikolai Burov 	PIN_FIELD_BASE(120, 120, 3, 0x0000, 0x10, 15, 3),
994449816f1SNikolai Burov 	PIN_FIELD_BASE(121, 121, 3, 0x0000, 0x10, 18, 3),
995449816f1SNikolai Burov 	PIN_FIELD_BASE(122, 122, 7, 0x0000, 0x10, 21, 3),
996449816f1SNikolai Burov 	PIN_FIELD_BASE(123, 123, 3, 0x0000, 0x10, 21, 3),
997449816f1SNikolai Burov 	PIN_FIELD_BASE(124, 124, 1, 0x0010, 0x10, 15, 3),
998449816f1SNikolai Burov 	PIN_FIELD_BASE(125, 125, 7, 0x0000, 0x10, 24, 3),
999449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x0010, 0x10, 15, 3),
1000449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x0010, 0x10, 18, 3),
1001449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x0010, 0x10, 21, 3),
1002449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x0010, 0x10, 24, 3),
1003449816f1SNikolai Burov 	PIN_FIELD_BASE(130, 130, 3, 0x0000, 0x10, 24, 3),
1004449816f1SNikolai Burov 	PIN_FIELD_BASE(131, 131, 3, 0x0000, 0x10, 27, 3),
1005449816f1SNikolai Burov 	PIN_FIELD_BASE(132, 132, 3, 0x0010, 0x10, 0, 3),
1006449816f1SNikolai Burov 	PIN_FIELD_BASE(133, 133, 3, 0x0010, 0x10, 3, 3),
1007449816f1SNikolai Burov 	PIN_FIELD_BASE(134, 134, 3, 0x0010, 0x10, 6, 3),
1008449816f1SNikolai Burov 	PIN_FIELD_BASE(135, 135, 8, 0x0010, 0x10, 27, 3),
1009449816f1SNikolai Burov 	PIN_FIELD_BASE(136, 136, 8, 0x0020, 0x10, 0, 3),
1010449816f1SNikolai Burov 	PIN_FIELD_BASE(137, 137, 7, 0x0000, 0x10, 15, 3),
1011449816f1SNikolai Burov 	PIN_FIELD_BASE(138, 138, 7, 0x0000, 0x10, 18, 3),
1012449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x0010, 0x10, 9, 3),
1013449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x0010, 0x10, 21, 3),
1014449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x0010, 0x10, 12, 3),
1015449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x0010, 0x10, 24, 3),
1016449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x0000, 0x10, 6, 3),
1017449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x0000, 0x10, 9, 3),
1018449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x0010, 0x10, 15, 3),
1019449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x0010, 0x10, 27, 3),
1020449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x0000, 0x10, 24, 3),
1021449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x0010, 0x10, 3, 3),
1022449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x0000, 0x10, 18, 3),
1023449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x0000, 0x10, 21, 3),
1024449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x0010, 0x10, 18, 3),
1025449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x0020, 0x10, 0, 3),
1026449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x0000, 0x10, 27, 3),
1027449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x0010, 0x10, 6, 3),
1028449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x0010, 0x10, 0, 3),
1029449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x0010, 0x10, 9, 3),
1030449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0020, 0x10, 3, 3),
1031449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0020, 0x10, 9, 3),
1032449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0020, 0x10, 6, 3),
1033449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0020, 0x10, 12, 3),
1034449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x0020, 0x10, 9, 3),
1035449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x0020, 0x10, 15, 3),
1036449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x0020, 0x10, 12, 3),
1037449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x0020, 0x10, 18, 3),
1038449816f1SNikolai Burov 	PIN_FIELD_BASE(165, 165, 4, 0x0010, 0x10, 3, 3),
1039449816f1SNikolai Burov 	PIN_FIELD_BASE(166, 166, 4, 0x0010, 0x10, 3, 3),
1040449816f1SNikolai Burov 	PIN_FIELD_BASE(167, 167, 4, 0x0010, 0x10, 9, 3),
1041449816f1SNikolai Burov 	PIN_FIELD_BASE(168, 168, 4, 0x0010, 0x10, 9, 3),
1042449816f1SNikolai Burov 	PIN_FIELD_BASE(169, 169, 4, 0x0010, 0x10, 12, 3),
1043449816f1SNikolai Burov 	PIN_FIELD_BASE(170, 170, 4, 0x0010, 0x10, 12, 3),
1044449816f1SNikolai Burov 	PIN_FIELD_BASE(171, 171, 4, 0x0010, 0x10, 6, 3),
1045449816f1SNikolai Burov 	PIN_FIELD_BASE(172, 172, 4, 0x0010, 0x10, 6, 3),
1046449816f1SNikolai Burov 	PIN_FIELD_BASE(173, 173, 1, 0x0000, 0x10, 0, 3),
1047449816f1SNikolai Burov 	PIN_FIELD_BASE(174, 174, 1, 0x0000, 0x10, 0, 3),
1048449816f1SNikolai Burov 	PIN_FIELD_BASE(175, 175, 1, 0x0000, 0x10, 0, 3),
1049449816f1SNikolai Burov 	PIN_FIELD_BASE(176, 176, 1, 0x0000, 0x10, 0, 3),
1050449816f1SNikolai Burov 	PIN_FIELD_BASE(177, 177, 1, 0x0000, 0x10, 0, 3),
1051449816f1SNikolai Burov 	PIN_FIELD_BASE(178, 178, 1, 0x0000, 0x10, 0, 3),
1052449816f1SNikolai Burov 	PIN_FIELD_BASE(179, 179, 1, 0x0000, 0x10, 0, 3),
1053449816f1SNikolai Burov 	PIN_FIELD_BASE(180, 180, 1, 0x0000, 0x10, 0, 3),
1054449816f1SNikolai Burov 	PIN_FIELD_BASE(181, 181, 1, 0x0010, 0x10, 12, 3),
1055449816f1SNikolai Burov 	PIN_FIELD_BASE(182, 182, 9, 0x0010, 0x10, 3, 3),
1056449816f1SNikolai Burov 	PIN_FIELD_BASE(183, 183, 9, 0x0010, 0x10, 9, 3),
1057449816f1SNikolai Burov 	PIN_FIELD_BASE(184, 184, 9, 0x0000, 0x10, 21, 3),
1058449816f1SNikolai Burov 	PIN_FIELD_BASE(185, 185, 9, 0x0000, 0x10, 24, 3),
1059449816f1SNikolai Burov 	PIN_FIELD_BASE(186, 186, 9, 0x0000, 0x10, 27, 3),
1060449816f1SNikolai Burov 	PIN_FIELD_BASE(187, 187, 9, 0x0010, 0x10, 15, 3),
1061449816f1SNikolai Burov 	PIN_FIELD_BASE(188, 188, 9, 0x0010, 0x10, 18, 3),
1062449816f1SNikolai Burov 	PIN_FIELD_BASE(189, 189, 9, 0x0010, 0x10, 21, 3),
1063449816f1SNikolai Burov 	PIN_FIELD_BASE(190, 190, 9, 0x0010, 0x10, 24, 3),
1064449816f1SNikolai Burov 	PIN_FIELD_BASE(191, 191, 9, 0x0010, 0x10, 6, 3),
1065449816f1SNikolai Burov 	PIN_FIELD_BASE(192, 192, 9, 0x0010, 0x10, 12, 3),
1066449816f1SNikolai Burov 	PIN_FIELD_BASE(193, 193, 9, 0x0010, 0x10, 0, 3),
1067449816f1SNikolai Burov 	PIN_FIELD_BASE(194, 194, 9, 0x0010, 0x10, 27, 3),
1068449816f1SNikolai Burov 	PIN_FIELD_BASE(195, 195, 9, 0x0020, 0x10, 0, 3),
1069449816f1SNikolai Burov 	PIN_FIELD_BASE(196, 196, 6, 0x0000, 0x10, 9, 3),
1070449816f1SNikolai Burov };
1071449816f1SNikolai Burov 
1072449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_drv_adv_range[] = {
1073449816f1SNikolai Burov 	PIN_FIELD_BASE(36, 36, 8, 0x0030, 0x10, 0, 5),
1074449816f1SNikolai Burov 	PIN_FIELD_BASE(37, 37, 8, 0x0030, 0x10, 5, 5),
1075449816f1SNikolai Burov 	PIN_FIELD_BASE(38, 38, 8, 0x0030, 0x10, 10, 5),
1076449816f1SNikolai Burov 	PIN_FIELD_BASE(39, 39, 8, 0x0030, 0x10, 15, 5),
1077449816f1SNikolai Burov 	PIN_FIELD_BASE(126, 126, 2, 0x0020, 0x10, 18, 5),
1078449816f1SNikolai Burov 	PIN_FIELD_BASE(127, 127, 2, 0x0020, 0x10, 23, 5),
1079449816f1SNikolai Burov 	PIN_FIELD_BASE(128, 128, 2, 0x0030, 0x10, 0, 5),
1080449816f1SNikolai Burov 	PIN_FIELD_BASE(129, 129, 2, 0x0030, 0x10, 5, 5),
1081449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x0030, 0x10, 6, 3),
1082449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x0030, 0x10, 18, 3),
1083449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x0030, 0x10, 9, 3),
1084449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x0030, 0x10, 21, 3),
1085449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x0030, 0x10, 0, 3),
1086449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x0030, 0x10, 3, 3),
1087449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x0030, 0x10, 12, 3),
1088449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x0030, 0x10, 24, 3),
1089449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x0020, 0x10, 0, 3),
1090449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x0020, 0x10, 9, 3),
1091449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x0030, 0x10, 0, 3),
1092449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x0030, 0x10, 3, 3),
1093449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x0030, 0x10, 15, 3),
1094449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x0030, 0x10, 27, 3),
1095449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x0020, 0x10, 3, 3),
1096449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x0020, 0x10, 12, 3),
1097449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x0020, 0x10, 6, 3),
1098449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x0020, 0x10, 15, 3),
1099449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0030, 0x10, 20, 3),
1100449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0030, 0x10, 26, 3),
1101449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0030, 0x10, 23, 3),
1102449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0030, 0x10, 29, 3),
1103449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x0030, 0x10, 6, 3),
1104449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x0030, 0x10, 12, 3),
1105449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x0030, 0x10, 9, 3),
1106449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x0030, 0x10, 15, 3),
1107449816f1SNikolai Burov };
1108449816f1SNikolai Burov 
1109449816f1SNikolai Burov static const struct mtk_pin_field_calc mt6858_pin_rsel_range[] = {
1110449816f1SNikolai Burov 	PIN_FIELD_BASE(139, 139, 3, 0x00e0, 0x10, 6, 3),
1111449816f1SNikolai Burov 	PIN_FIELD_BASE(140, 140, 3, 0x00e0, 0x10, 18, 3),
1112449816f1SNikolai Burov 	PIN_FIELD_BASE(141, 141, 3, 0x00e0, 0x10, 9, 3),
1113449816f1SNikolai Burov 	PIN_FIELD_BASE(142, 142, 3, 0x00e0, 0x10, 21, 3),
1114449816f1SNikolai Burov 	PIN_FIELD_BASE(143, 143, 3, 0x00e0, 0x10, 0, 3),
1115449816f1SNikolai Burov 	PIN_FIELD_BASE(144, 144, 3, 0x00e0, 0x10, 3, 3),
1116449816f1SNikolai Burov 	PIN_FIELD_BASE(145, 145, 3, 0x00e0, 0x10, 12, 3),
1117449816f1SNikolai Burov 	PIN_FIELD_BASE(146, 146, 3, 0x00e0, 0x10, 24, 3),
1118449816f1SNikolai Burov 	PIN_FIELD_BASE(147, 147, 2, 0x00b0, 0x10, 0, 3),
1119449816f1SNikolai Burov 	PIN_FIELD_BASE(148, 148, 2, 0x00b0, 0x10, 9, 3),
1120449816f1SNikolai Burov 	PIN_FIELD_BASE(149, 149, 5, 0x00d0, 0x10, 0, 3),
1121449816f1SNikolai Burov 	PIN_FIELD_BASE(150, 150, 5, 0x00d0, 0x10, 3, 3),
1122449816f1SNikolai Burov 	PIN_FIELD_BASE(151, 151, 3, 0x00e0, 0x10, 15, 3),
1123449816f1SNikolai Burov 	PIN_FIELD_BASE(152, 152, 3, 0x00e0, 0x10, 27, 3),
1124449816f1SNikolai Burov 	PIN_FIELD_BASE(153, 153, 2, 0x00b0, 0x10, 3, 3),
1125449816f1SNikolai Burov 	PIN_FIELD_BASE(154, 154, 2, 0x00b0, 0x10, 12, 3),
1126449816f1SNikolai Burov 	PIN_FIELD_BASE(155, 155, 2, 0x00b0, 0x10, 6, 3),
1127449816f1SNikolai Burov 	PIN_FIELD_BASE(156, 156, 2, 0x00b0, 0x10, 15, 3),
1128449816f1SNikolai Burov 	PIN_FIELD_BASE(157, 157, 8, 0x0100, 0x10, 0, 3),
1129449816f1SNikolai Burov 	PIN_FIELD_BASE(158, 158, 8, 0x0100, 0x10, 6, 3),
1130449816f1SNikolai Burov 	PIN_FIELD_BASE(159, 159, 8, 0x0100, 0x10, 3, 3),
1131449816f1SNikolai Burov 	PIN_FIELD_BASE(160, 160, 8, 0x0100, 0x10, 9, 3),
1132449816f1SNikolai Burov 	PIN_FIELD_BASE(161, 161, 5, 0x00d0, 0x10, 6, 3),
1133449816f1SNikolai Burov 	PIN_FIELD_BASE(162, 162, 5, 0x00d0, 0x10, 12, 3),
1134449816f1SNikolai Burov 	PIN_FIELD_BASE(163, 163, 5, 0x00d0, 0x10, 9, 3),
1135449816f1SNikolai Burov 	PIN_FIELD_BASE(164, 164, 5, 0x00d0, 0x10, 15, 3),
1136449816f1SNikolai Burov };
1137449816f1SNikolai Burov 
1138449816f1SNikolai Burov static const unsigned int mt6858_pull_type[] = {
1139449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 0 */
1140449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 1 */
1141449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 2 */
1142449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 3 */
1143449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 4 */
1144449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 5 */
1145449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 6 */
1146449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 7 */
1147449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 8 */
1148449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 9 */
1149449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 10 */
1150449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 11 */
1151449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 12 */
1152449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 13 */
1153449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 14 */
1154449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 15 */
1155449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 16 */
1156449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 17 */
1157449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 18 */
1158449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 19 */
1159449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 20 */
1160449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 21 */
1161449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 22 */
1162449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 23 */
1163449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 24 */
1164449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 25 */
1165449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 26 */
1166449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 27 */
1167449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 28 */
1168449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 29 */
1169449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 30 */
1170449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 31 */
1171449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 32 */
1172449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 33 */
1173449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 34 */
1174449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 35 */
1175449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 36 */
1176449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 37 */
1177449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 38 */
1178449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 39 */
1179449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 40 */
1180449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 41 */
1181449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 42 */
1182449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 43 */
1183449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 44 */
1184449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 45 */
1185449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 46 */
1186449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 47 */
1187449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 48 */
1188449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 49 */
1189449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 50 */
1190449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 51 */
1191449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 52 */
1192449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 53 */
1193449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 54 */
1194449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 55 */
1195449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 56 */
1196449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 57 */
1197449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 58 */
1198449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 59 */
1199449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 60 */
1200449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 61 */
1201449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 62 */
1202449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 63 */
1203449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 64 */
1204449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 65 */
1205449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 66 */
1206449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 67 */
1207449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 68 */
1208449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 69 */
1209449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 70 */
1210449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 71 */
1211449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 72 */
1212449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 73 */
1213449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 74 */
1214449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 75 */
1215449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 76 */
1216449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 77 */
1217449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 78 */
1218449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 79 */
1219449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 80 */
1220449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 81 */
1221449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 82 */
1222449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 83 */
1223449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 84 */
1224449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 85 */
1225449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 86 */
1226449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 87 */
1227449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 88 */
1228449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 89 */
1229449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 90 */
1230449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 91 */
1231449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 92 */
1232449816f1SNikolai Burov 	MTK_PULL_PUPD_R1R0_TYPE, /* 93 */
1233449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 94 */
1234449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 95 */
1235449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 96 */
1236449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 97 */
1237449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 98 */
1238449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 99 */
1239449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 100 */
1240449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 101 */
1241449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 102 */
1242449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 103 */
1243449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 104 */
1244449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 105 */
1245449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 106 */
1246449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 107 */
1247449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 108 */
1248449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 109 */
1249449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 110 */
1250449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 111 */
1251449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 112 */
1252449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 113 */
1253449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 114 */
1254449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 115 */
1255449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 116 */
1256449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 117 */
1257449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 118 */
1258449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 119 */
1259449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 120 */
1260449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 121 */
1261449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 122 */
1262449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 123 */
1263449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 124 */
1264449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 125 */
1265449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 126 */
1266449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 127 */
1267449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 128 */
1268449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 129 */
1269449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 130 */
1270449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 131 */
1271449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 132 */
1272449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 133 */
1273449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 134 */
1274449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 135 */
1275449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 136 */
1276449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 137 */
1277449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 138 */
1278449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 139 */
1279449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 140 */
1280449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 141 */
1281449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 142 */
1282449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 143 */
1283449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 144 */
1284449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 145 */
1285449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 146 */
1286449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 147 */
1287449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 148 */
1288449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 149 */
1289449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 150 */
1290449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 151 */
1291449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 152 */
1292449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 153 */
1293449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 154 */
1294449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 155 */
1295449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 156 */
1296449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 157 */
1297449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 158 */
1298449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 159 */
1299449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 160 */
1300449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 161 */
1301449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 162 */
1302449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 163 */
1303449816f1SNikolai Burov 	MTK_PULL_PU_PD_RSEL_TYPE, /* 164 */
1304449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 165 */
1305449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 166 */
1306449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 167 */
1307449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 168 */
1308449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 169 */
1309449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 170 */
1310449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 171 */
1311449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 172 */
1312449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 173 */
1313449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 174 */
1314449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 175 */
1315449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 176 */
1316449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 177 */
1317449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 178 */
1318449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 179 */
1319449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 180 */
1320449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 181 */
1321449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 182 */
1322449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 183 */
1323449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 184 */
1324449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 185 */
1325449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 186 */
1326449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 187 */
1327449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 188 */
1328449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 189 */
1329449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 190 */
1330449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 191 */
1331449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 192 */
1332449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 193 */
1333449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 194 */
1334449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 195 */
1335449816f1SNikolai Burov 	MTK_PULL_PU_PD_TYPE, /* 196 */
1336449816f1SNikolai Burov };
1337449816f1SNikolai Burov 
1338449816f1SNikolai Burov static const struct mtk_pin_reg_calc mt6858_reg_cals[PINCTRL_PIN_REG_MAX] = {
1339449816f1SNikolai Burov 	[PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt6858_pin_mode_range),
1340449816f1SNikolai Burov 	[PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt6858_pin_dir_range),
1341449816f1SNikolai Burov 	[PINCTRL_PIN_REG_DI] = MTK_RANGE(mt6858_pin_di_range),
1342449816f1SNikolai Burov 	[PINCTRL_PIN_REG_DO] = MTK_RANGE(mt6858_pin_do_range),
1343449816f1SNikolai Burov 	[PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt6858_pin_smt_range),
1344449816f1SNikolai Burov 	[PINCTRL_PIN_REG_IES] = MTK_RANGE(mt6858_pin_ies_range),
1345449816f1SNikolai Burov 	[PINCTRL_PIN_REG_PU] = MTK_RANGE(mt6858_pin_pu_range),
1346449816f1SNikolai Burov 	[PINCTRL_PIN_REG_PD] = MTK_RANGE(mt6858_pin_pd_range),
1347449816f1SNikolai Burov 	[PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt6858_pin_drv_range),
1348449816f1SNikolai Burov 	[PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt6858_pin_pupd_range),
1349449816f1SNikolai Burov 	[PINCTRL_PIN_REG_R0] = MTK_RANGE(mt6858_pin_r0_range),
1350449816f1SNikolai Burov 	[PINCTRL_PIN_REG_R1] = MTK_RANGE(mt6858_pin_r1_range),
1351449816f1SNikolai Burov 	[PINCTRL_PIN_REG_DRV_ADV] = MTK_RANGE(mt6858_pin_drv_adv_range),
1352449816f1SNikolai Burov 	[PINCTRL_PIN_REG_RSEL] = MTK_RANGE(mt6858_pin_rsel_range),
1353449816f1SNikolai Burov };
1354449816f1SNikolai Burov 
1355449816f1SNikolai Burov static const char * const mt6858_pinctrl_register_base_names[] = {
1356449816f1SNikolai Burov 	"base", "lm", "rb", "bm2", "bm", "bm1", "lt", "lt1", "rt", "rt1",
1357449816f1SNikolai Burov };
1358449816f1SNikolai Burov 
1359449816f1SNikolai Burov static const struct mtk_eint_hw mt6858_eint_hw = {
1360449816f1SNikolai Burov 	.port_mask = 0xf,
1361449816f1SNikolai Burov 	.ports     = 3,
1362449816f1SNikolai Burov 	.ap_num    = 217,
1363449816f1SNikolai Burov 	.db_cnt    = 36,
1364449816f1SNikolai Burov 	.db_time   = debounce_time_mt6878,
1365449816f1SNikolai Burov };
1366449816f1SNikolai Burov 
1367449816f1SNikolai Burov static const struct mtk_pin_soc mt6858_data = {
1368449816f1SNikolai Burov 	.reg_cal = mt6858_reg_cals,
1369449816f1SNikolai Burov 	.pins = mtk_pins_mt6858,
1370449816f1SNikolai Burov 	.npins = ARRAY_SIZE(mtk_pins_mt6858),
1371449816f1SNikolai Burov 	.ngrps = ARRAY_SIZE(mtk_pins_mt6858),
1372449816f1SNikolai Burov 	.eint_hw = &mt6858_eint_hw,
1373449816f1SNikolai Burov 	.eint_pin = eint_pins_mt6858,
1374449816f1SNikolai Burov 	.nfuncs = 16,
1375449816f1SNikolai Burov 	.gpio_m = 0,
1376449816f1SNikolai Burov 	.base_names = mt6858_pinctrl_register_base_names,
1377449816f1SNikolai Burov 	.nbase_names = ARRAY_SIZE(mt6858_pinctrl_register_base_names),
1378449816f1SNikolai Burov 	.pull_type = mt6858_pull_type,
1379449816f1SNikolai Burov 	.bias_set_combo = mtk_pinconf_bias_set_combo,
1380449816f1SNikolai Burov 	.bias_get_combo = mtk_pinconf_bias_get_combo,
1381449816f1SNikolai Burov 	.drive_set = mtk_pinconf_drive_set_rev1,
1382449816f1SNikolai Burov 	.drive_get = mtk_pinconf_drive_get_rev1,
1383449816f1SNikolai Burov 	.adv_drive_get = mtk_pinconf_adv_drive_get_raw,
1384449816f1SNikolai Burov 	.adv_drive_set = mtk_pinconf_adv_drive_set_raw,
1385449816f1SNikolai Burov };
1386449816f1SNikolai Burov 
1387449816f1SNikolai Burov static const struct of_device_id mt6858_pinctrl_of_match[] = {
1388449816f1SNikolai Burov 	{ .compatible = "mediatek,mt6858-pinctrl", .data = &mt6858_data },
1389449816f1SNikolai Burov 	{ /* sentinel */ }
1390449816f1SNikolai Burov };
1391*5f306681SJustin Yeh MODULE_DEVICE_TABLE(of, mt6858_pinctrl_of_match);
1392449816f1SNikolai Burov 
1393449816f1SNikolai Burov static struct platform_driver mt6858_pinctrl_driver = {
1394449816f1SNikolai Burov 	.driver = {
1395449816f1SNikolai Burov 		.name = "mt6858-pinctrl",
1396449816f1SNikolai Burov 		.of_match_table = mt6858_pinctrl_of_match,
1397449816f1SNikolai Burov 		.pm = pm_sleep_ptr(&mtk_paris_pinctrl_pm_ops),
1398449816f1SNikolai Burov 	},
1399449816f1SNikolai Burov 	.probe = mtk_paris_pinctrl_probe,
1400449816f1SNikolai Burov };
1401449816f1SNikolai Burov 
mt6858_pinctrl_init(void)1402449816f1SNikolai Burov static int __init mt6858_pinctrl_init(void)
1403449816f1SNikolai Burov {
1404449816f1SNikolai Burov 	return platform_driver_register(&mt6858_pinctrl_driver);
1405449816f1SNikolai Burov }
1406449816f1SNikolai Burov arch_initcall(mt6858_pinctrl_init);
1407449816f1SNikolai Burov 
1408449816f1SNikolai Burov MODULE_DESCRIPTION("MediaTek MT6858 Pinctrl Driver");
1409*5f306681SJustin Yeh MODULE_LICENSE("GPL v2");
1410