kernel: update 4.1 to 4.1.13
[openwrt/openwrt.git] / target / linux / mediatek / patches / 0054-pinctrl-mediatek-add-pinctrl-GPIO-EINT-driver-for-mt.patch
1 From 0fabcb34ad6506e9d8dadf373f4ebfe1b5129765 Mon Sep 17 00:00:00 2001
2 From: Yingjoe Chen <yingjoe.chen@mediatek.com>
3 Date: Mon, 18 May 2015 23:11:18 -0700
4 Subject: [PATCH 54/76] pinctrl: mediatek: add pinctrl/GPIO/EINT driver for
5 mt8127
6
7 MT8127 pinctrl/eint are similar to mt8135 and mt8173, add
8 support for mt8127 using mediatek common pinctrl driver.
9
10 Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
11 Signed-off-by: Hongzhou Yang <hongzhou.yang@mediatek.com>
12 ---
13 drivers/pinctrl/mediatek/Kconfig | 6 +
14 drivers/pinctrl/mediatek/Makefile | 1 +
15 drivers/pinctrl/mediatek/pinctrl-mt8127.c | 359 +++++++
16 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h | 1318 +++++++++++++++++++++++++
17 4 files changed, 1684 insertions(+)
18 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt8127.c
19 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h
20
21 --- a/drivers/pinctrl/mediatek/Kconfig
22 +++ b/drivers/pinctrl/mediatek/Kconfig
23 @@ -15,6 +15,12 @@ config PINCTRL_MT8135
24 default MACH_MT8135
25 select PINCTRL_MTK_COMMON
26
27 +config PINCTRL_MT8127
28 + bool "Mediatek MT8127 pin control" if COMPILE_TEST && !MACH_MT8127
29 + depends on OF
30 + default MACH_MT8127
31 + select PINCTRL_MTK_COMMON
32 +
33 # For ARMv8 SoCs
34 config PINCTRL_MT8173
35 bool "Mediatek MT8173 pin control"
36 --- a/drivers/pinctrl/mediatek/Makefile
37 +++ b/drivers/pinctrl/mediatek/Makefile
38 @@ -3,5 +3,6 @@ obj-$(CONFIG_PINCTRL_MTK_COMMON) += pinc
39
40 # SoC Drivers
41 obj-$(CONFIG_PINCTRL_MT8135) += pinctrl-mt8135.o
42 +obj-$(CONFIG_PINCTRL_MT8127) += pinctrl-mt8127.o
43 obj-$(CONFIG_PINCTRL_MT8173) += pinctrl-mt8173.o
44 obj-$(CONFIG_PINCTRL_MT6397) += pinctrl-mt6397.o
45 --- /dev/null
46 +++ b/drivers/pinctrl/mediatek/pinctrl-mt8127.c
47 @@ -0,0 +1,359 @@
48 +/*
49 + * Copyright (c) 2015 MediaTek Inc.
50 + * Author: Hongzhou.Yang <hongzhou.yang@mediatek.com>
51 + * Yingjoe Chen <yingjoe.chen@mediatek.com>
52 + *
53 + * This program is free software; you can redistribute it and/or modify
54 + * it under the terms of the GNU General Public License version 2 as
55 + * published by the Free Software Foundation.
56 + *
57 + * This program is distributed in the hope that it will be useful,
58 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
59 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60 + * GNU General Public License for more details.
61 + */
62 +
63 +#include <linux/module.h>
64 +#include <linux/platform_device.h>
65 +#include <linux/of.h>
66 +#include <linux/of_device.h>
67 +#include <linux/pinctrl/pinctrl.h>
68 +#include <linux/regmap.h>
69 +#include <dt-bindings/pinctrl/mt65xx.h>
70 +
71 +#include "pinctrl-mtk-common.h"
72 +#include "pinctrl-mtk-mt8127.h"
73 +
74 +static const struct mtk_drv_group_desc mt8127_drv_grp[] = {
75 + /* 0E4E8SR 4/8/12/16 */
76 + MTK_DRV_GRP(4, 16, 1, 2, 4),
77 + /* 0E2E4SR 2/4/6/8 */
78 + MTK_DRV_GRP(2, 8, 1, 2, 2),
79 + /* E8E4E2 2/4/6/8/10/12/14/16 */
80 + MTK_DRV_GRP(2, 16, 0, 2, 2)
81 +};
82 +
83 +static const struct mtk_pin_drv_grp mt8127_pin_drv[] = {
84 + MTK_PIN_DRV_GRP(0, 0xb00, 0, 1),
85 + MTK_PIN_DRV_GRP(1, 0xb00, 0, 1),
86 + MTK_PIN_DRV_GRP(2, 0xb00, 0, 1),
87 + MTK_PIN_DRV_GRP(3, 0xb00, 0, 1),
88 + MTK_PIN_DRV_GRP(4, 0xb00, 0, 1),
89 + MTK_PIN_DRV_GRP(5, 0xb00, 0, 1),
90 + MTK_PIN_DRV_GRP(6, 0xb00, 0, 1),
91 + MTK_PIN_DRV_GRP(7, 0xb00, 12, 1),
92 + MTK_PIN_DRV_GRP(8, 0xb00, 12, 1),
93 + MTK_PIN_DRV_GRP(9, 0xb00, 12, 1),
94 + MTK_PIN_DRV_GRP(10, 0xb00, 8, 1),
95 + MTK_PIN_DRV_GRP(11, 0xb00, 8, 1),
96 + MTK_PIN_DRV_GRP(12, 0xb00, 8, 1),
97 + MTK_PIN_DRV_GRP(13, 0xb00, 8, 1),
98 + MTK_PIN_DRV_GRP(14, 0xb10, 4, 0),
99 + MTK_PIN_DRV_GRP(15, 0xb10, 4, 0),
100 + MTK_PIN_DRV_GRP(16, 0xb10, 4, 0),
101 + MTK_PIN_DRV_GRP(17, 0xb10, 4, 0),
102 + MTK_PIN_DRV_GRP(18, 0xb10, 8, 0),
103 + MTK_PIN_DRV_GRP(19, 0xb10, 8, 0),
104 + MTK_PIN_DRV_GRP(20, 0xb10, 8, 0),
105 + MTK_PIN_DRV_GRP(21, 0xb10, 8, 0),
106 + MTK_PIN_DRV_GRP(22, 0xb20, 0, 0),
107 + MTK_PIN_DRV_GRP(23, 0xb20, 0, 0),
108 + MTK_PIN_DRV_GRP(24, 0xb20, 0, 0),
109 + MTK_PIN_DRV_GRP(25, 0xb20, 0, 0),
110 + MTK_PIN_DRV_GRP(26, 0xb20, 0, 0),
111 + MTK_PIN_DRV_GRP(27, 0xb20, 4, 0),
112 + MTK_PIN_DRV_GRP(28, 0xb20, 4, 0),
113 + MTK_PIN_DRV_GRP(29, 0xb20, 4, 0),
114 + MTK_PIN_DRV_GRP(30, 0xb20, 4, 0),
115 + MTK_PIN_DRV_GRP(31, 0xb20, 4, 0),
116 + MTK_PIN_DRV_GRP(32, 0xb20, 4, 0),
117 + MTK_PIN_DRV_GRP(33, 0xb30, 4, 1),
118 + MTK_PIN_DRV_GRP(34, 0xb30, 8, 1),
119 + MTK_PIN_DRV_GRP(35, 0xb30, 8, 1),
120 + MTK_PIN_DRV_GRP(36, 0xb30, 8, 1),
121 + MTK_PIN_DRV_GRP(37, 0xb30, 8, 1),
122 + MTK_PIN_DRV_GRP(38, 0xb30, 8, 1),
123 + MTK_PIN_DRV_GRP(39, 0xb30, 12, 1),
124 + MTK_PIN_DRV_GRP(40, 0xb30, 12, 1),
125 + MTK_PIN_DRV_GRP(41, 0xb30, 12, 1),
126 + MTK_PIN_DRV_GRP(42, 0xb30, 12, 1),
127 + MTK_PIN_DRV_GRP(43, 0xb40, 12, 0),
128 + MTK_PIN_DRV_GRP(44, 0xb40, 12, 0),
129 + MTK_PIN_DRV_GRP(45, 0xb40, 12, 0),
130 + MTK_PIN_DRV_GRP(46, 0xb50, 0, 2),
131 + MTK_PIN_DRV_GRP(47, 0xb50, 0, 2),
132 + MTK_PIN_DRV_GRP(48, 0xb50, 0, 2),
133 + MTK_PIN_DRV_GRP(49, 0xb50, 0, 2),
134 + MTK_PIN_DRV_GRP(50, 0xb70, 0, 1),
135 + MTK_PIN_DRV_GRP(51, 0xb70, 0, 1),
136 + MTK_PIN_DRV_GRP(52, 0xb70, 0, 1),
137 + MTK_PIN_DRV_GRP(53, 0xb50, 12, 1),
138 + MTK_PIN_DRV_GRP(54, 0xb50, 12, 1),
139 + MTK_PIN_DRV_GRP(55, 0xb50, 12, 1),
140 + MTK_PIN_DRV_GRP(56, 0xb50, 12, 1),
141 + MTK_PIN_DRV_GRP(59, 0xb40, 4, 1),
142 + MTK_PIN_DRV_GRP(60, 0xb40, 0, 1),
143 + MTK_PIN_DRV_GRP(61, 0xb40, 0, 1),
144 + MTK_PIN_DRV_GRP(62, 0xb40, 0, 1),
145 + MTK_PIN_DRV_GRP(63, 0xb40, 4, 1),
146 + MTK_PIN_DRV_GRP(64, 0xb40, 4, 1),
147 + MTK_PIN_DRV_GRP(65, 0xb40, 4, 1),
148 + MTK_PIN_DRV_GRP(66, 0xb40, 8, 1),
149 + MTK_PIN_DRV_GRP(67, 0xb40, 8, 1),
150 + MTK_PIN_DRV_GRP(68, 0xb40, 8, 1),
151 + MTK_PIN_DRV_GRP(69, 0xb40, 8, 1),
152 + MTK_PIN_DRV_GRP(70, 0xb40, 8, 1),
153 + MTK_PIN_DRV_GRP(71, 0xb40, 8, 1),
154 + MTK_PIN_DRV_GRP(72, 0xb50, 4, 1),
155 + MTK_PIN_DRV_GRP(73, 0xb50, 4, 1),
156 + MTK_PIN_DRV_GRP(74, 0xb50, 4, 1),
157 + MTK_PIN_DRV_GRP(79, 0xb50, 8, 1),
158 + MTK_PIN_DRV_GRP(80, 0xb50, 8, 1),
159 + MTK_PIN_DRV_GRP(81, 0xb50, 8, 1),
160 + MTK_PIN_DRV_GRP(82, 0xb50, 8, 1),
161 + MTK_PIN_DRV_GRP(83, 0xb50, 8, 1),
162 + MTK_PIN_DRV_GRP(84, 0xb50, 8, 1),
163 + MTK_PIN_DRV_GRP(85, 0xce0, 0, 2),
164 + MTK_PIN_DRV_GRP(86, 0xcd0, 0, 2),
165 + MTK_PIN_DRV_GRP(87, 0xcf0, 0, 2),
166 + MTK_PIN_DRV_GRP(88, 0xcf0, 0, 2),
167 + MTK_PIN_DRV_GRP(89, 0xcf0, 0, 2),
168 + MTK_PIN_DRV_GRP(90, 0xcf0, 0, 2),
169 + MTK_PIN_DRV_GRP(117, 0xb60, 12, 1),
170 + MTK_PIN_DRV_GRP(118, 0xb60, 12, 1),
171 + MTK_PIN_DRV_GRP(119, 0xb60, 12, 1),
172 + MTK_PIN_DRV_GRP(120, 0xb60, 12, 1),
173 + MTK_PIN_DRV_GRP(121, 0xc80, 0, 2),
174 + MTK_PIN_DRV_GRP(122, 0xc70, 0, 2),
175 + MTK_PIN_DRV_GRP(123, 0xc90, 0, 2),
176 + MTK_PIN_DRV_GRP(124, 0xc90, 0, 2),
177 + MTK_PIN_DRV_GRP(125, 0xc90, 0, 2),
178 + MTK_PIN_DRV_GRP(126, 0xc90, 0, 2),
179 + MTK_PIN_DRV_GRP(127, 0xc20, 0, 2),
180 + MTK_PIN_DRV_GRP(128, 0xc20, 0, 2),
181 + MTK_PIN_DRV_GRP(129, 0xc20, 0, 2),
182 + MTK_PIN_DRV_GRP(130, 0xc20, 0, 2),
183 + MTK_PIN_DRV_GRP(131, 0xc20, 0, 2),
184 + MTK_PIN_DRV_GRP(132, 0xc10, 0, 2),
185 + MTK_PIN_DRV_GRP(133, 0xc00, 0, 2),
186 + MTK_PIN_DRV_GRP(134, 0xc20, 0, 2),
187 + MTK_PIN_DRV_GRP(135, 0xc20, 0, 2),
188 + MTK_PIN_DRV_GRP(136, 0xc20, 0, 2),
189 + MTK_PIN_DRV_GRP(137, 0xc20, 0, 2),
190 + MTK_PIN_DRV_GRP(142, 0xb50, 0, 2),
191 +};
192 +
193 +static const struct mtk_pin_spec_pupd_set_samereg mt8127_spec_pupd[] = {
194 + MTK_PIN_PUPD_SPEC_SR(33, 0xd90, 2, 0, 1), /* KPROW0 */
195 + MTK_PIN_PUPD_SPEC_SR(34, 0xd90, 6, 4, 5), /* KPROW1 */
196 + MTK_PIN_PUPD_SPEC_SR(35, 0xd90, 10, 8, 9), /* KPROW2 */
197 + MTK_PIN_PUPD_SPEC_SR(36, 0xda0, 2, 0, 1), /* KPCOL0 */
198 + MTK_PIN_PUPD_SPEC_SR(37, 0xda0, 6, 4, 5), /* KPCOL1 */
199 + MTK_PIN_PUPD_SPEC_SR(38, 0xda0, 10, 8, 9), /* KPCOL2 */
200 + MTK_PIN_PUPD_SPEC_SR(46, 0xdb0, 2, 0, 1), /* EINT14 */
201 + MTK_PIN_PUPD_SPEC_SR(47, 0xdb0, 6, 4, 5), /* EINT15 */
202 + MTK_PIN_PUPD_SPEC_SR(48, 0xdb0, 10, 8, 9), /* EINT16 */
203 + MTK_PIN_PUPD_SPEC_SR(49, 0xdb0, 14, 12, 13), /* EINT17 */
204 + MTK_PIN_PUPD_SPEC_SR(85, 0xce0, 8, 10, 9), /* MSDC2_CMD */
205 + MTK_PIN_PUPD_SPEC_SR(86, 0xcd0, 8, 10, 9), /* MSDC2_CLK */
206 + MTK_PIN_PUPD_SPEC_SR(87, 0xd00, 0, 2, 1), /* MSDC2_DAT0 */
207 + MTK_PIN_PUPD_SPEC_SR(88, 0xd00, 4, 6, 5), /* MSDC2_DAT1 */
208 + MTK_PIN_PUPD_SPEC_SR(89, 0xd00, 8, 10, 9), /* MSDC2_DAT2 */
209 + MTK_PIN_PUPD_SPEC_SR(90, 0xd00, 12, 14, 13), /* MSDC2_DAT3 */
210 + MTK_PIN_PUPD_SPEC_SR(121, 0xc80, 8, 10, 9), /* MSDC1_CMD */
211 + MTK_PIN_PUPD_SPEC_SR(122, 0xc70, 8, 10, 9), /* MSDC1_CLK */
212 + MTK_PIN_PUPD_SPEC_SR(123, 0xca0, 0, 2, 1), /* MSDC1_DAT0 */
213 + MTK_PIN_PUPD_SPEC_SR(124, 0xca0, 4, 6, 5), /* MSDC1_DAT1 */
214 + MTK_PIN_PUPD_SPEC_SR(125, 0xca0, 8, 10, 9), /* MSDC1_DAT2 */
215 + MTK_PIN_PUPD_SPEC_SR(126, 0xca0, 12, 14, 13), /* MSDC1_DAT3 */
216 + MTK_PIN_PUPD_SPEC_SR(127, 0xc40, 12, 14, 13), /* MSDC0_DAT7 */
217 + MTK_PIN_PUPD_SPEC_SR(128, 0xc40, 8, 10, 9), /* MSDC0_DAT6 */
218 + MTK_PIN_PUPD_SPEC_SR(129, 0xc40, 4, 6, 5), /* MSDC0_DAT5 */
219 + MTK_PIN_PUPD_SPEC_SR(130, 0xc40, 0, 2, 1), /* MSDC0_DAT4 */
220 + MTK_PIN_PUPD_SPEC_SR(131, 0xc50, 0, 2, 1), /* MSDC0_RSTB */
221 + MTK_PIN_PUPD_SPEC_SR(132, 0xc10, 8, 10, 9), /* MSDC0_CMD */
222 + MTK_PIN_PUPD_SPEC_SR(133, 0xc00, 8, 10, 9), /* MSDC0_CLK */
223 + MTK_PIN_PUPD_SPEC_SR(134, 0xc30, 12, 14, 13), /* MSDC0_DAT3 */
224 + MTK_PIN_PUPD_SPEC_SR(135, 0xc30, 8, 10, 9), /* MSDC0_DAT2 */
225 + MTK_PIN_PUPD_SPEC_SR(136, 0xc30, 4, 6, 5), /* MSDC0_DAT1 */
226 + MTK_PIN_PUPD_SPEC_SR(137, 0xc30, 0, 2, 1), /* MSDC0_DAT0 */
227 + MTK_PIN_PUPD_SPEC_SR(142, 0xdc0, 2, 0, 1), /* EINT21 */
228 +};
229 +
230 +static int mt8127_spec_pull_set(struct regmap *regmap, unsigned int pin,
231 + unsigned char align, bool isup, unsigned int r1r0)
232 +{
233 + return mtk_pctrl_spec_pull_set_samereg(regmap, mt8127_spec_pupd,
234 + ARRAY_SIZE(mt8127_spec_pupd), pin, align, isup, r1r0);
235 +}
236 +
237 +static const struct mtk_pin_ies_smt_set mt8127_ies_set[] = {
238 + MTK_PIN_IES_SMT_SPEC(0, 9, 0x900, 0),
239 + MTK_PIN_IES_SMT_SPEC(10, 13, 0x900, 1),
240 + MTK_PIN_IES_SMT_SPEC(14, 28, 0x900, 2),
241 + MTK_PIN_IES_SMT_SPEC(29, 32, 0x900, 3),
242 + MTK_PIN_IES_SMT_SPEC(33, 33, 0x910, 11),
243 + MTK_PIN_IES_SMT_SPEC(34, 38, 0x900, 10),
244 + MTK_PIN_IES_SMT_SPEC(39, 42, 0x900, 11),
245 + MTK_PIN_IES_SMT_SPEC(43, 45, 0x900, 12),
246 + MTK_PIN_IES_SMT_SPEC(46, 49, 0x900, 13),
247 + MTK_PIN_IES_SMT_SPEC(50, 52, 0x910, 10),
248 + MTK_PIN_IES_SMT_SPEC(53, 56, 0x900, 14),
249 + MTK_PIN_IES_SMT_SPEC(57, 58, 0x910, 0),
250 + MTK_PIN_IES_SMT_SPEC(59, 65, 0x910, 2),
251 + MTK_PIN_IES_SMT_SPEC(66, 71, 0x910, 3),
252 + MTK_PIN_IES_SMT_SPEC(72, 74, 0x910, 4),
253 + MTK_PIN_IES_SMT_SPEC(75, 76, 0x900, 15),
254 + MTK_PIN_IES_SMT_SPEC(77, 78, 0x910, 1),
255 + MTK_PIN_IES_SMT_SPEC(79, 82, 0x910, 5),
256 + MTK_PIN_IES_SMT_SPEC(83, 84, 0x910, 6),
257 + MTK_PIN_IES_SMT_SPEC(117, 120, 0x910, 7),
258 + MTK_PIN_IES_SMT_SPEC(121, 121, 0xc80, 4),
259 + MTK_PIN_IES_SMT_SPEC(122, 122, 0xc70, 4),
260 + MTK_PIN_IES_SMT_SPEC(123, 126, 0xc90, 4),
261 + MTK_PIN_IES_SMT_SPEC(127, 131, 0xc20, 4),
262 + MTK_PIN_IES_SMT_SPEC(132, 132, 0xc10, 4),
263 + MTK_PIN_IES_SMT_SPEC(133, 133, 0xc00, 4),
264 + MTK_PIN_IES_SMT_SPEC(134, 137, 0xc20, 4),
265 + MTK_PIN_IES_SMT_SPEC(138, 141, 0x910, 9),
266 + MTK_PIN_IES_SMT_SPEC(142, 142, 0x900, 13),
267 +};
268 +
269 +static const struct mtk_pin_ies_smt_set mt8127_smt_set[] = {
270 + MTK_PIN_IES_SMT_SPEC(0, 9, 0x920, 0),
271 + MTK_PIN_IES_SMT_SPEC(10, 13, 0x920, 1),
272 + MTK_PIN_IES_SMT_SPEC(14, 28, 0x920, 2),
273 + MTK_PIN_IES_SMT_SPEC(29, 32, 0x920, 3),
274 + MTK_PIN_IES_SMT_SPEC(33, 33, 0x930, 11),
275 + MTK_PIN_IES_SMT_SPEC(34, 38, 0x920, 10),
276 + MTK_PIN_IES_SMT_SPEC(39, 42, 0x920, 11),
277 + MTK_PIN_IES_SMT_SPEC(43, 45, 0x920, 12),
278 + MTK_PIN_IES_SMT_SPEC(46, 49, 0x920, 13),
279 + MTK_PIN_IES_SMT_SPEC(50, 52, 0x930, 10),
280 + MTK_PIN_IES_SMT_SPEC(53, 56, 0x920, 14),
281 + MTK_PIN_IES_SMT_SPEC(57, 58, 0x930, 0),
282 + MTK_PIN_IES_SMT_SPEC(59, 65, 0x930, 2),
283 + MTK_PIN_IES_SMT_SPEC(66, 71, 0x930, 3),
284 + MTK_PIN_IES_SMT_SPEC(72, 74, 0x930, 4),
285 + MTK_PIN_IES_SMT_SPEC(75, 76, 0x920, 15),
286 + MTK_PIN_IES_SMT_SPEC(77, 78, 0x930, 1),
287 + MTK_PIN_IES_SMT_SPEC(79, 82, 0x930, 5),
288 + MTK_PIN_IES_SMT_SPEC(83, 84, 0x930, 6),
289 + MTK_PIN_IES_SMT_SPEC(85, 85, 0xce0, 11),
290 + MTK_PIN_IES_SMT_SPEC(86, 86, 0xcd0, 11),
291 + MTK_PIN_IES_SMT_SPEC(87, 87, 0xd00, 3),
292 + MTK_PIN_IES_SMT_SPEC(88, 88, 0xd00, 7),
293 + MTK_PIN_IES_SMT_SPEC(89, 89, 0xd00, 11),
294 + MTK_PIN_IES_SMT_SPEC(90, 90, 0xd00, 15),
295 + MTK_PIN_IES_SMT_SPEC(117, 120, 0x930, 7),
296 + MTK_PIN_IES_SMT_SPEC(121, 121, 0xc80, 11),
297 + MTK_PIN_IES_SMT_SPEC(122, 122, 0xc70, 11),
298 + MTK_PIN_IES_SMT_SPEC(123, 123, 0xca0, 3),
299 + MTK_PIN_IES_SMT_SPEC(124, 124, 0xca0, 7),
300 + MTK_PIN_IES_SMT_SPEC(125, 125, 0xca0, 11),
301 + MTK_PIN_IES_SMT_SPEC(126, 126, 0xca0, 15),
302 + MTK_PIN_IES_SMT_SPEC(127, 127, 0xc40, 15),
303 + MTK_PIN_IES_SMT_SPEC(128, 128, 0xc40, 11),
304 + MTK_PIN_IES_SMT_SPEC(129, 129, 0xc40, 7),
305 + MTK_PIN_IES_SMT_SPEC(130, 130, 0xc40, 3),
306 + MTK_PIN_IES_SMT_SPEC(131, 131, 0xc50, 3),
307 + MTK_PIN_IES_SMT_SPEC(132, 132, 0xc10, 11),
308 + MTK_PIN_IES_SMT_SPEC(133, 133, 0xc00, 11),
309 + MTK_PIN_IES_SMT_SPEC(134, 134, 0xc30, 15),
310 + MTK_PIN_IES_SMT_SPEC(135, 135, 0xc30, 11),
311 + MTK_PIN_IES_SMT_SPEC(136, 136, 0xc30, 7),
312 + MTK_PIN_IES_SMT_SPEC(137, 137, 0xc30, 3),
313 + MTK_PIN_IES_SMT_SPEC(138, 141, 0x930, 9),
314 + MTK_PIN_IES_SMT_SPEC(142, 142, 0x920, 13),
315 +};
316 +
317 +static int mt8127_ies_smt_set(struct regmap *regmap, unsigned int pin,
318 + unsigned char align, int value, enum pin_config_param arg)
319 +{
320 + if (arg == PIN_CONFIG_INPUT_ENABLE)
321 + return mtk_pconf_spec_set_ies_smt_range(regmap, mt8127_ies_set,
322 + ARRAY_SIZE(mt8127_ies_set), pin, align, value);
323 + else if (arg == PIN_CONFIG_INPUT_SCHMITT_ENABLE)
324 + return mtk_pconf_spec_set_ies_smt_range(regmap, mt8127_smt_set,
325 + ARRAY_SIZE(mt8127_smt_set), pin, align, value);
326 + return -EINVAL;
327 +}
328 +
329 +
330 +static const struct mtk_pinctrl_devdata mt8127_pinctrl_data = {
331 + .pins = mtk_pins_mt8127,
332 + .npins = ARRAY_SIZE(mtk_pins_mt8127),
333 + .grp_desc = mt8127_drv_grp,
334 + .n_grp_cls = ARRAY_SIZE(mt8127_drv_grp),
335 + .pin_drv_grp = mt8127_pin_drv,
336 + .n_pin_drv_grps = ARRAY_SIZE(mt8127_pin_drv),
337 + .spec_pull_set = mt8127_spec_pull_set,
338 + .spec_ies_smt_set = mt8127_ies_smt_set,
339 + .dir_offset = 0x0000,
340 + .pullen_offset = 0x0100,
341 + .pullsel_offset = 0x0200,
342 + .dout_offset = 0x0400,
343 + .din_offset = 0x0500,
344 + .pinmux_offset = 0x0600,
345 + .type1_start = 143,
346 + .type1_end = 143,
347 + .port_shf = 4,
348 + .port_mask = 0xf,
349 + .port_align = 4,
350 + .eint_offsets = {
351 + .name = "mt8127_eint",
352 + .stat = 0x000,
353 + .ack = 0x040,
354 + .mask = 0x080,
355 + .mask_set = 0x0c0,
356 + .mask_clr = 0x100,
357 + .sens = 0x140,
358 + .sens_set = 0x180,
359 + .sens_clr = 0x1c0,
360 + .soft = 0x200,
361 + .soft_set = 0x240,
362 + .soft_clr = 0x280,
363 + .pol = 0x300,
364 + .pol_set = 0x340,
365 + .pol_clr = 0x380,
366 + .dom_en = 0x400,
367 + .dbnc_ctrl = 0x500,
368 + .dbnc_set = 0x600,
369 + .dbnc_clr = 0x700,
370 + .port_mask = 7,
371 + .ports = 6,
372 + },
373 + .ap_num = 143,
374 + .db_cnt = 16,
375 +};
376 +
377 +static int mt8127_pinctrl_probe(struct platform_device *pdev)
378 +{
379 + return mtk_pctrl_init(pdev, &mt8127_pinctrl_data, NULL);
380 +}
381 +
382 +static const struct of_device_id mt8127_pctrl_match[] = {
383 + { .compatible = "mediatek,mt8127-pinctrl", },
384 + { }
385 +};
386 +MODULE_DEVICE_TABLE(of, mt8127_pctrl_match);
387 +
388 +static struct platform_driver mtk_pinctrl_driver = {
389 + .probe = mt8127_pinctrl_probe,
390 + .driver = {
391 + .name = "mediatek-mt8127-pinctrl",
392 + .owner = THIS_MODULE,
393 + .of_match_table = mt8127_pctrl_match,
394 + },
395 +};
396 +
397 +static int __init mtk_pinctrl_init(void)
398 +{
399 + return platform_driver_register(&mtk_pinctrl_driver);
400 +}
401 +
402 +module_init(mtk_pinctrl_init);
403 +
404 +MODULE_LICENSE("GPL v2");
405 +MODULE_DESCRIPTION("MediaTek MT8127 Pinctrl Driver");
406 +MODULE_AUTHOR("Yingjoe Chen <yingjoe.chen@mediatek.com>");
407 --- /dev/null
408 +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h
409 @@ -0,0 +1,1318 @@
410 +#ifndef __PINCTRL_MTK_MT8127_H
411 +#define __PINCTRL_MTK_MT8127_H
412 +
413 +#include <linux/pinctrl/pinctrl.h>
414 +#include "pinctrl-mtk-common.h"
415 +
416 +static const struct mtk_desc_pin mtk_pins_mt8127[] = {
417 + MTK_PIN(
418 + PINCTRL_PIN(0, "PWRAP_SPI0_MI"),
419 + "P22", "mt8127",
420 + MTK_EINT_FUNCTION(0, 22),
421 + MTK_FUNCTION(0, "GPIO0"),
422 + MTK_FUNCTION(1, "PWRAP_SPIDO"),
423 + MTK_FUNCTION(2, "PWRAP_SPIDI")
424 + ),
425 + MTK_PIN(
426 + PINCTRL_PIN(1, "PWRAP_SPI0_MO"),
427 + "M22", "mt8127",
428 + MTK_EINT_FUNCTION(0, 23),
429 + MTK_FUNCTION(0, "GPIO1"),
430 + MTK_FUNCTION(1, "PWRAP_SPIDI"),
431 + MTK_FUNCTION(2, "PWRAP_SPIDO")
432 + ),
433 + MTK_PIN(
434 + PINCTRL_PIN(2, "PWRAP_INT"),
435 + "L23", "mt8127",
436 + MTK_EINT_FUNCTION(0, 24),
437 + MTK_FUNCTION(0, "GPIO2")
438 + ),
439 + MTK_PIN(
440 + PINCTRL_PIN(3, "PWRAP_SPI0_CK"),
441 + "N23", "mt8127",
442 + MTK_EINT_FUNCTION(0, 25),
443 + MTK_FUNCTION(0, "GPIO3"),
444 + MTK_FUNCTION(1, "PWRAP_SPICK_I")
445 + ),
446 + MTK_PIN(
447 + PINCTRL_PIN(4, "PWRAP_SPI0_CSN"),
448 + "N22", "mt8127",
449 + MTK_EINT_FUNCTION(0, 26),
450 + MTK_FUNCTION(0, "GPIO4"),
451 + MTK_FUNCTION(1, "PWRAP_SPICS_B_I")
452 + ),
453 + MTK_PIN(
454 + PINCTRL_PIN(5, "PWRAP_SPI0_CK2"),
455 + "L19", "mt8127",
456 + MTK_EINT_FUNCTION(0, 27),
457 + MTK_FUNCTION(0, "GPIO5"),
458 + MTK_FUNCTION(1, "PWRAP_SPICK2_I"),
459 + MTK_FUNCTION(2, "ANT_SEL1"),
460 + MTK_FUNCTION(3, "VDEC_TEST_CK"),
461 + MTK_FUNCTION(7, "DBG_MON_B[0]")
462 + ),
463 + MTK_PIN(
464 + PINCTRL_PIN(6, "PWRAP_SPI0_CSN2"),
465 + "M23", "mt8127",
466 + MTK_EINT_FUNCTION(0, 28),
467 + MTK_FUNCTION(0, "GPIO6"),
468 + MTK_FUNCTION(1, "PWRAP_SPICS2_B_I"),
469 + MTK_FUNCTION(2, "ANT_SEL0"),
470 + MTK_FUNCTION(3, "MM_TEST_CK"),
471 + MTK_FUNCTION(7, "DBG_MON_B[1]")
472 + ),
473 + MTK_PIN(
474 + PINCTRL_PIN(7, "AUD_CLK_MOSI"),
475 + "K23", "mt8127",
476 + MTK_EINT_FUNCTION(0, 29),
477 + MTK_FUNCTION(0, "GPIO7"),
478 + MTK_FUNCTION(1, "AUD_CLK"),
479 + MTK_FUNCTION(2, "ADC_CK")
480 + ),
481 + MTK_PIN(
482 + PINCTRL_PIN(8, "AUD_DAT_MISO"),
483 + "K24", "mt8127",
484 + MTK_EINT_FUNCTION(0, 30),
485 + MTK_FUNCTION(0, "GPIO8"),
486 + MTK_FUNCTION(1, "AUD_MISO"),
487 + MTK_FUNCTION(2, "ADC_DAT_IN"),
488 + MTK_FUNCTION(3, "AUD_MOSI")
489 + ),
490 + MTK_PIN(
491 + PINCTRL_PIN(9, "AUD_DAT_MOSI"),
492 + "K22", "mt8127",
493 + MTK_EINT_FUNCTION(0, 31),
494 + MTK_FUNCTION(0, "GPIO9"),
495 + MTK_FUNCTION(1, "AUD_MOSI"),
496 + MTK_FUNCTION(2, "ADC_WS"),
497 + MTK_FUNCTION(3, "AUD_MISO")
498 + ),
499 + MTK_PIN(
500 + PINCTRL_PIN(10, "RTC32K_CK"),
501 + "R21", "mt8127",
502 + MTK_EINT_FUNCTION(0, 32),
503 + MTK_FUNCTION(0, "GPIO10"),
504 + MTK_FUNCTION(1, "RTC32K_CK")
505 + ),
506 + MTK_PIN(
507 + PINCTRL_PIN(11, "WATCHDOG"),
508 + "P24", "mt8127",
509 + MTK_EINT_FUNCTION(0, 33),
510 + MTK_FUNCTION(0, "GPIO11"),
511 + MTK_FUNCTION(1, "WATCHDOG")
512 + ),
513 + MTK_PIN(
514 + PINCTRL_PIN(12, "SRCLKENA"),
515 + "R22", "mt8127",
516 + MTK_EINT_FUNCTION(0, 34),
517 + MTK_FUNCTION(0, "GPIO12"),
518 + MTK_FUNCTION(1, "SRCLKENA")
519 + ),
520 + MTK_PIN(
521 + PINCTRL_PIN(13, "SRCLKENAI"),
522 + "P23", "mt8127",
523 + MTK_EINT_FUNCTION(0, 35),
524 + MTK_FUNCTION(0, "GPIO13"),
525 + MTK_FUNCTION(1, "SRCLKENAI")
526 + ),
527 + MTK_PIN(
528 + PINCTRL_PIN(14, "URXD2"),
529 + "U19", "mt8127",
530 + MTK_EINT_FUNCTION(0, 36),
531 + MTK_FUNCTION(0, "GPIO14"),
532 + MTK_FUNCTION(1, "URXD2"),
533 + MTK_FUNCTION(2, "DPI_D5"),
534 + MTK_FUNCTION(3, "UTXD2"),
535 + MTK_FUNCTION(5, "SRCCLKENAI2"),
536 + MTK_FUNCTION(6, "KROW4")
537 + ),
538 + MTK_PIN(
539 + PINCTRL_PIN(15, "UTXD2"),
540 + "U20", "mt8127",
541 + MTK_EINT_FUNCTION(0, 37),
542 + MTK_FUNCTION(0, "GPIO15"),
543 + MTK_FUNCTION(1, "UTXD2"),
544 + MTK_FUNCTION(2, "DPI_HSYNC"),
545 + MTK_FUNCTION(3, "URXD2"),
546 + MTK_FUNCTION(6, "KROW5")
547 + ),
548 + MTK_PIN(
549 + PINCTRL_PIN(16, "URXD3"),
550 + "U18", "mt8127",
551 + MTK_EINT_FUNCTION(0, 38),
552 + MTK_FUNCTION(0, "GPIO16"),
553 + MTK_FUNCTION(1, "URXD3"),
554 + MTK_FUNCTION(2, "DPI_DE"),
555 + MTK_FUNCTION(3, "UTXD3"),
556 + MTK_FUNCTION(4, "UCTS2"),
557 + MTK_FUNCTION(5, "PWM3"),
558 + MTK_FUNCTION(6, "KROW6")
559 + ),
560 + MTK_PIN(
561 + PINCTRL_PIN(17, "UTXD3"),
562 + "R18", "mt8127",
563 + MTK_EINT_FUNCTION(0, 39),
564 + MTK_FUNCTION(0, "GPIO17"),
565 + MTK_FUNCTION(1, "UTXD3"),
566 + MTK_FUNCTION(2, "DPI_VSYNC"),
567 + MTK_FUNCTION(3, "URXD3"),
568 + MTK_FUNCTION(4, "URTS2"),
569 + MTK_FUNCTION(5, "PWM4"),
570 + MTK_FUNCTION(6, "KROW7")
571 + ),
572 + MTK_PIN(
573 + PINCTRL_PIN(18, "PCM_CLK"),
574 + "U22", "mt8127",
575 + MTK_EINT_FUNCTION(0, 40),
576 + MTK_FUNCTION(0, "GPIO18"),
577 + MTK_FUNCTION(1, "PCM_CLK0"),
578 + MTK_FUNCTION(2, "DPI_D4"),
579 + MTK_FUNCTION(3, "I2SIN1_BCK0"),
580 + MTK_FUNCTION(4, "I2SOUT_BCK"),
581 + MTK_FUNCTION(5, "CONN_DSP_JCK"),
582 + MTK_FUNCTION(6, "IR"),
583 + MTK_FUNCTION(7, "DBG_MON_A[0]")
584 + ),
585 + MTK_PIN(
586 + PINCTRL_PIN(19, "PCM_SYNC"),
587 + "U23", "mt8127",
588 + MTK_EINT_FUNCTION(0, 41),
589 + MTK_FUNCTION(0, "GPIO19"),
590 + MTK_FUNCTION(1, "PCM_SYNC"),
591 + MTK_FUNCTION(2, "DPI_D3"),
592 + MTK_FUNCTION(3, "I2SIN1_LRCK"),
593 + MTK_FUNCTION(4, "I2SOUT_LRCK"),
594 + MTK_FUNCTION(5, "CONN_DSP_JINTP"),
595 + MTK_FUNCTION(6, "EXT_COL"),
596 + MTK_FUNCTION(7, "DBG_MON_A[1]")
597 + ),
598 + MTK_PIN(
599 + PINCTRL_PIN(20, "PCM_RX"),
600 + "V22", "mt8127",
601 + MTK_EINT_FUNCTION(0, 42),
602 + MTK_FUNCTION(0, "GPIO20"),
603 + MTK_FUNCTION(1, "PCM_RX"),
604 + MTK_FUNCTION(2, "DPI_D1"),
605 + MTK_FUNCTION(3, "I2SIN1_DATA_IN"),
606 + MTK_FUNCTION(4, "PCM_TX"),
607 + MTK_FUNCTION(5, "CONN_DSP_JDI"),
608 + MTK_FUNCTION(6, "EXT_MDIO"),
609 + MTK_FUNCTION(7, "DBG_MON_A[2]")
610 + ),
611 + MTK_PIN(
612 + PINCTRL_PIN(21, "PCM_TX"),
613 + "U21", "mt8127",
614 + MTK_EINT_FUNCTION(0, 43),
615 + MTK_FUNCTION(0, "GPIO21"),
616 + MTK_FUNCTION(1, "PCM_TX"),
617 + MTK_FUNCTION(2, "DPI_D2"),
618 + MTK_FUNCTION(3, "I2SOUT_DATA_OUT"),
619 + MTK_FUNCTION(4, "PCM_RX"),
620 + MTK_FUNCTION(5, "CONN_DSP_JMS"),
621 + MTK_FUNCTION(6, "EXT_MDC"),
622 + MTK_FUNCTION(7, "DBG_MON_A[3]")
623 + ),
624 + MTK_PIN(
625 + PINCTRL_PIN(22, "EINT0"),
626 + "AB19", "mt8127",
627 + MTK_EINT_FUNCTION(0, 0),
628 + MTK_FUNCTION(0, "GPIO22"),
629 + MTK_FUNCTION(1, "PWM1"),
630 + MTK_FUNCTION(2, "DPI_CK"),
631 + MTK_FUNCTION(4, "EXT_TXD0"),
632 + MTK_FUNCTION(5, "CONN_DSP_JDO"),
633 + MTK_FUNCTION(7, "DBG_MON_A[4]")
634 + ),
635 + MTK_PIN(
636 + PINCTRL_PIN(23, "EINT1"),
637 + "AA21", "mt8127",
638 + MTK_EINT_FUNCTION(0, 1),
639 + MTK_FUNCTION(0, "GPIO23"),
640 + MTK_FUNCTION(1, "PWM2"),
641 + MTK_FUNCTION(2, "DPI_D12"),
642 + MTK_FUNCTION(4, "EXT_TXD1"),
643 + MTK_FUNCTION(5, "CONN_MCU_TDO"),
644 + MTK_FUNCTION(7, "DBG_MON_A[5]")
645 + ),
646 + MTK_PIN(
647 + PINCTRL_PIN(24, "EINT2"),
648 + "AA19", "mt8127",
649 + MTK_EINT_FUNCTION(0, 2),
650 + MTK_FUNCTION(0, "GPIO24"),
651 + MTK_FUNCTION(1, "CLKM0"),
652 + MTK_FUNCTION(2, "DPI_D13"),
653 + MTK_FUNCTION(4, "EXT_TXD2"),
654 + MTK_FUNCTION(5, "CONN_MCU_DBGACK_N"),
655 + MTK_FUNCTION(6, "KCOL4"),
656 + MTK_FUNCTION(7, "DBG_MON_A[6]")
657 + ),
658 + MTK_PIN(
659 + PINCTRL_PIN(25, "EINT3"),
660 + "Y19", "mt8127",
661 + MTK_EINT_FUNCTION(0, 3),
662 + MTK_FUNCTION(0, "GPIO25"),
663 + MTK_FUNCTION(1, "CLKM1"),
664 + MTK_FUNCTION(2, "DPI_D14"),
665 + MTK_FUNCTION(3, "SPI_MI"),
666 + MTK_FUNCTION(4, "EXT_TXD3"),
667 + MTK_FUNCTION(5, "CONN_MCU_DBGI_N"),
668 + MTK_FUNCTION(6, "KCOL5"),
669 + MTK_FUNCTION(7, "DBG_MON_A[7]")
670 + ),
671 + MTK_PIN(
672 + PINCTRL_PIN(26, "EINT4"),
673 + "V21", "mt8127",
674 + MTK_EINT_FUNCTION(0, 4),
675 + MTK_FUNCTION(0, "GPIO26"),
676 + MTK_FUNCTION(1, "CLKM2"),
677 + MTK_FUNCTION(2, "DPI_D15"),
678 + MTK_FUNCTION(3, "SPI_MO"),
679 + MTK_FUNCTION(4, "EXT_TXC"),
680 + MTK_FUNCTION(5, "CONN_MCU_TCK0"),
681 + MTK_FUNCTION(6, "CONN_MCU_AICE_JCKC"),
682 + MTK_FUNCTION(7, "DBG_MON_A[8]")
683 + ),
684 + MTK_PIN(
685 + PINCTRL_PIN(27, "EINT5"),
686 + "AB22", "mt8127",
687 + MTK_EINT_FUNCTION(0, 5),
688 + MTK_FUNCTION(0, "GPIO27"),
689 + MTK_FUNCTION(1, "UCTS2"),
690 + MTK_FUNCTION(2, "DPI_D16"),
691 + MTK_FUNCTION(3, "SPI_CS"),
692 + MTK_FUNCTION(4, "EXT_RXER"),
693 + MTK_FUNCTION(5, "CONN_MCU_TDI"),
694 + MTK_FUNCTION(6, "KCOL6"),
695 + MTK_FUNCTION(7, "DBG_MON_A[9]")
696 + ),
697 + MTK_PIN(
698 + PINCTRL_PIN(28, "EINT6"),
699 + "AA23", "mt8127",
700 + MTK_EINT_FUNCTION(0, 6),
701 + MTK_FUNCTION(0, "GPIO28"),
702 + MTK_FUNCTION(1, "URTS2"),
703 + MTK_FUNCTION(2, "DPI_D17"),
704 + MTK_FUNCTION(3, "SPI_CK"),
705 + MTK_FUNCTION(4, "EXT_RXC"),
706 + MTK_FUNCTION(5, "CONN_MCU_TRST_B"),
707 + MTK_FUNCTION(6, "KCOL7"),
708 + MTK_FUNCTION(7, "DBG_MON_A[10]")
709 + ),
710 + MTK_PIN(
711 + PINCTRL_PIN(29, "EINT7"),
712 + "Y23", "mt8127",
713 + MTK_EINT_FUNCTION(0, 7),
714 + MTK_FUNCTION(0, "GPIO29"),
715 + MTK_FUNCTION(1, "UCTS3"),
716 + MTK_FUNCTION(2, "DPI_D6"),
717 + MTK_FUNCTION(3, "SDA1"),
718 + MTK_FUNCTION(4, "EXT_RXDV"),
719 + MTK_FUNCTION(5, "CONN_MCU_TMS"),
720 + MTK_FUNCTION(6, "CONN_MCU_AICE_JMSC"),
721 + MTK_FUNCTION(7, "DBG_MON_A[11]")
722 + ),
723 + MTK_PIN(
724 + PINCTRL_PIN(30, "EINT8"),
725 + "Y24", "mt8127",
726 + MTK_EINT_FUNCTION(0, 8),
727 + MTK_FUNCTION(0, "GPIO30"),
728 + MTK_FUNCTION(1, "URTS3"),
729 + MTK_FUNCTION(2, "CLKM3"),
730 + MTK_FUNCTION(3, "SCL1"),
731 + MTK_FUNCTION(4, "EXT_RXD0"),
732 + MTK_FUNCTION(5, "ANT_SEL0"),
733 + MTK_FUNCTION(6, "DPI_D7"),
734 + MTK_FUNCTION(7, "DBG_MON_B[2]")
735 + ),
736 + MTK_PIN(
737 + PINCTRL_PIN(31, "EINT9"),
738 + "W23", "mt8127",
739 + MTK_EINT_FUNCTION(0, 9),
740 + MTK_FUNCTION(0, "GPIO31"),
741 + MTK_FUNCTION(1, "CLKM4"),
742 + MTK_FUNCTION(2, "SDA2"),
743 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"),
744 + MTK_FUNCTION(4, "EXT_RXD1"),
745 + MTK_FUNCTION(5, "ANT_SEL1"),
746 + MTK_FUNCTION(6, "DPI_D8"),
747 + MTK_FUNCTION(7, "DBG_MON_B[3]")
748 + ),
749 + MTK_PIN(
750 + PINCTRL_PIN(32, "EINT10"),
751 + "W24", "mt8127",
752 + MTK_EINT_FUNCTION(0, 10),
753 + MTK_FUNCTION(0, "GPIO32"),
754 + MTK_FUNCTION(1, "CLKM5"),
755 + MTK_FUNCTION(2, "SCL2"),
756 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"),
757 + MTK_FUNCTION(4, "EXT_RXD2"),
758 + MTK_FUNCTION(5, "ANT_SEL2"),
759 + MTK_FUNCTION(6, "DPI_D9"),
760 + MTK_FUNCTION(7, "DBG_MON_B[4]")
761 + ),
762 + MTK_PIN(
763 + PINCTRL_PIN(33, "KPROW0"),
764 + "AB24", "mt8127",
765 + MTK_EINT_FUNCTION(0, 44),
766 + MTK_FUNCTION(0, "GPIO33"),
767 + MTK_FUNCTION(1, "KROW0"),
768 + MTK_FUNCTION(4, "IMG_TEST_CK"),
769 + MTK_FUNCTION(7, "DBG_MON_A[12]")
770 + ),
771 + MTK_PIN(
772 + PINCTRL_PIN(34, "KPROW1"),
773 + "AC24", "mt8127",
774 + MTK_EINT_FUNCTION(0, 45),
775 + MTK_FUNCTION(0, "GPIO34"),
776 + MTK_FUNCTION(1, "KROW1"),
777 + MTK_FUNCTION(2, "IDDIG"),
778 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"),
779 + MTK_FUNCTION(4, "MFG_TEST_CK"),
780 + MTK_FUNCTION(7, "DBG_MON_B[5]")
781 + ),
782 + MTK_PIN(
783 + PINCTRL_PIN(35, "KPROW2"),
784 + "AD24", "mt8127",
785 + MTK_EINT_FUNCTION(0, 46),
786 + MTK_FUNCTION(0, "GPIO35"),
787 + MTK_FUNCTION(1, "KROW2"),
788 + MTK_FUNCTION(2, "DRV_VBUS"),
789 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"),
790 + MTK_FUNCTION(4, "CONN_TEST_CK"),
791 + MTK_FUNCTION(7, "DBG_MON_B[6]")
792 + ),
793 + MTK_PIN(
794 + PINCTRL_PIN(36, "KPCOL0"),
795 + "AB23", "mt8127",
796 + MTK_EINT_FUNCTION(0, 47),
797 + MTK_FUNCTION(0, "GPIO36"),
798 + MTK_FUNCTION(1, "KCOL0"),
799 + MTK_FUNCTION(7, "DBG_MON_A[13]")
800 + ),
801 + MTK_PIN(
802 + PINCTRL_PIN(37, "KPCOL1"),
803 + "AC22", "mt8127",
804 + MTK_EINT_FUNCTION(0, 48),
805 + MTK_FUNCTION(0, "GPIO37"),
806 + MTK_FUNCTION(1, "KCOL1"),
807 + MTK_FUNCTION(7, "DBG_MON_B[7]")
808 + ),
809 + MTK_PIN(
810 + PINCTRL_PIN(38, "KPCOL2"),
811 + "AC23", "mt8127",
812 + MTK_EINT_FUNCTION(0, 49),
813 + MTK_FUNCTION(0, "GPIO38"),
814 + MTK_FUNCTION(1, "KCOL2"),
815 + MTK_FUNCTION(2, "IDDIG"),
816 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"),
817 + MTK_FUNCTION(7, "DBG_MON_B[8]")
818 + ),
819 + MTK_PIN(
820 + PINCTRL_PIN(39, "JTMS"),
821 + "V18", "mt8127",
822 + MTK_EINT_FUNCTION(0, 50),
823 + MTK_FUNCTION(0, "GPIO39"),
824 + MTK_FUNCTION(1, "JTMS"),
825 + MTK_FUNCTION(2, "CONN_MCU_TMS"),
826 + MTK_FUNCTION(3, "CONN_MCU_AICE_JMSC")
827 + ),
828 + MTK_PIN(
829 + PINCTRL_PIN(40, "JTCK"),
830 + "AA18", "mt8127",
831 + MTK_EINT_FUNCTION(0, 51),
832 + MTK_FUNCTION(0, "GPIO40"),
833 + MTK_FUNCTION(1, "JTCK"),
834 + MTK_FUNCTION(2, "CONN_MCU_TCK1"),
835 + MTK_FUNCTION(3, "CONN_MCU_AICE_JCKC")
836 + ),
837 + MTK_PIN(
838 + PINCTRL_PIN(41, "JTDI"),
839 + "W18", "mt8127",
840 + MTK_EINT_FUNCTION(0, 52),
841 + MTK_FUNCTION(0, "GPIO41"),
842 + MTK_FUNCTION(1, "JTDI"),
843 + MTK_FUNCTION(2, "CONN_MCU_TDI")
844 + ),
845 + MTK_PIN(
846 + PINCTRL_PIN(42, "JTDO"),
847 + "Y18", "mt8127",
848 + MTK_EINT_FUNCTION(0, 53),
849 + MTK_FUNCTION(0, "GPIO42"),
850 + MTK_FUNCTION(1, "JTDO"),
851 + MTK_FUNCTION(2, "CONN_MCU_TDO")
852 + ),
853 + MTK_PIN(
854 + PINCTRL_PIN(43, "EINT11"),
855 + "W22", "mt8127",
856 + MTK_EINT_FUNCTION(0, 11),
857 + MTK_FUNCTION(0, "GPIO43"),
858 + MTK_FUNCTION(1, "CLKM4"),
859 + MTK_FUNCTION(2, "PWM2"),
860 + MTK_FUNCTION(3, "KROW3"),
861 + MTK_FUNCTION(4, "ANT_SEL3"),
862 + MTK_FUNCTION(5, "DPI_D10"),
863 + MTK_FUNCTION(6, "EXT_RXD3"),
864 + MTK_FUNCTION(7, "DBG_MON_B[9]")
865 + ),
866 + MTK_PIN(
867 + PINCTRL_PIN(44, "EINT12"),
868 + "V23", "mt8127",
869 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
870 + MTK_FUNCTION(0, "GPIO44"),
871 + MTK_FUNCTION(1, "CLKM5"),
872 + MTK_FUNCTION(2, "PWM0"),
873 + MTK_FUNCTION(3, "KCOL3"),
874 + MTK_FUNCTION(4, "ANT_SEL4"),
875 + MTK_FUNCTION(5, "DPI_D11"),
876 + MTK_FUNCTION(6, "EXT_TXEN"),
877 + MTK_FUNCTION(7, "DBG_MON_B[10]")
878 + ),
879 + MTK_PIN(
880 + PINCTRL_PIN(45, "EINT13"),
881 + "Y21", "mt8127",
882 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
883 + MTK_FUNCTION(0, "GPIO45"),
884 + MTK_FUNCTION(4, "ANT_SEL5"),
885 + MTK_FUNCTION(5, "DPI_D0"),
886 + MTK_FUNCTION(6, "SPDIF"),
887 + MTK_FUNCTION(7, "DBG_MON_B[11]")
888 + ),
889 + MTK_PIN(
890 + PINCTRL_PIN(46, "EINT14"),
891 + "F23", "mt8127",
892 + MTK_EINT_FUNCTION(0, 14),
893 + MTK_FUNCTION(0, "GPIO46"),
894 + MTK_FUNCTION(2, "DAC_DAT_OUT"),
895 + MTK_FUNCTION(4, "ANT_SEL1"),
896 + MTK_FUNCTION(5, "CONN_MCU_DBGACK_N"),
897 + MTK_FUNCTION(6, "NCLE"),
898 + MTK_FUNCTION(7, "DBG_MON_A[14]")
899 + ),
900 + MTK_PIN(
901 + PINCTRL_PIN(47, "EINT15"),
902 + "G23", "mt8127",
903 + MTK_EINT_FUNCTION(0, 15),
904 + MTK_FUNCTION(0, "GPIO47"),
905 + MTK_FUNCTION(2, "DAC_WS"),
906 + MTK_FUNCTION(4, "ANT_SEL2"),
907 + MTK_FUNCTION(5, "CONN_MCU_DBGI_N"),
908 + MTK_FUNCTION(6, "NCEB1"),
909 + MTK_FUNCTION(7, "DBG_MON_A[15]")
910 + ),
911 + MTK_PIN(
912 + PINCTRL_PIN(48, "EINT16"),
913 + "H23", "mt8127",
914 + MTK_EINT_FUNCTION(0, 16),
915 + MTK_FUNCTION(0, "GPIO48"),
916 + MTK_FUNCTION(2, "DAC_CK"),
917 + MTK_FUNCTION(4, "ANT_SEL3"),
918 + MTK_FUNCTION(5, "CONN_MCU_TRST_B"),
919 + MTK_FUNCTION(6, "NCEB0"),
920 + MTK_FUNCTION(7, "DBG_MON_A[16]")
921 + ),
922 + MTK_PIN(
923 + PINCTRL_PIN(49, "EINT17"),
924 + "J22", "mt8127",
925 + MTK_EINT_FUNCTION(0, 17),
926 + MTK_FUNCTION(0, "GPIO49"),
927 + MTK_FUNCTION(1, "UCTS0"),
928 + MTK_FUNCTION(3, "CLKM0"),
929 + MTK_FUNCTION(4, "IDDIG"),
930 + MTK_FUNCTION(5, "ANT_SEL4"),
931 + MTK_FUNCTION(6, "NREB"),
932 + MTK_FUNCTION(7, "DBG_MON_A[17]")
933 + ),
934 + MTK_PIN(
935 + PINCTRL_PIN(50, "EINT18"),
936 + "AD20", "mt8127",
937 + MTK_EINT_FUNCTION(0, 18),
938 + MTK_FUNCTION(0, "GPIO50"),
939 + MTK_FUNCTION(1, "URTS0"),
940 + MTK_FUNCTION(2, "CLKM3"),
941 + MTK_FUNCTION(3, "I2SOUT_LRCK"),
942 + MTK_FUNCTION(4, "DRV_VBUS"),
943 + MTK_FUNCTION(5, "ANT_SEL3"),
944 + MTK_FUNCTION(6, "ADC_CK"),
945 + MTK_FUNCTION(7, "DBG_MON_B[12]")
946 + ),
947 + MTK_PIN(
948 + PINCTRL_PIN(51, "EINT19"),
949 + "AC21", "mt8127",
950 + MTK_EINT_FUNCTION(0, 19),
951 + MTK_FUNCTION(0, "GPIO51"),
952 + MTK_FUNCTION(1, "UCTS1"),
953 + MTK_FUNCTION(3, "I2SOUT_BCK"),
954 + MTK_FUNCTION(4, "CLKM1"),
955 + MTK_FUNCTION(5, "ANT_SEL4"),
956 + MTK_FUNCTION(6, "ADC_DAT_IN"),
957 + MTK_FUNCTION(7, "DBG_MON_B[13]")
958 + ),
959 + MTK_PIN(
960 + PINCTRL_PIN(52, "EINT20"),
961 + "V20", "mt8127",
962 + MTK_EINT_FUNCTION(0, 20),
963 + MTK_FUNCTION(0, "GPIO52"),
964 + MTK_FUNCTION(1, "URTS1"),
965 + MTK_FUNCTION(2, "PCM_TX"),
966 + MTK_FUNCTION(3, "I2SOUT_DATA_OUT"),
967 + MTK_FUNCTION(4, "CLKM2"),
968 + MTK_FUNCTION(5, "ANT_SEL5"),
969 + MTK_FUNCTION(6, "ADC_WS"),
970 + MTK_FUNCTION(7, "DBG_MON_B[14]")
971 + ),
972 + MTK_PIN(
973 + PINCTRL_PIN(53, "SPI_CS"),
974 + "AD19", "mt8127",
975 + MTK_EINT_FUNCTION(0, 54),
976 + MTK_FUNCTION(0, "GPIO53"),
977 + MTK_FUNCTION(1, "SPI_CS"),
978 + MTK_FUNCTION(3, "I2SIN1_DATA_IN"),
979 + MTK_FUNCTION(4, "ADC_CK"),
980 + MTK_FUNCTION(7, "DBG_MON_B[15]")
981 + ),
982 + MTK_PIN(
983 + PINCTRL_PIN(54, "SPI_CK"),
984 + "AC18", "mt8127",
985 + MTK_EINT_FUNCTION(0, 55),
986 + MTK_FUNCTION(0, "GPIO54"),
987 + MTK_FUNCTION(1, "SPI_CK"),
988 + MTK_FUNCTION(3, "I2SIN1_LRCK"),
989 + MTK_FUNCTION(4, "ADC_DAT_IN"),
990 + MTK_FUNCTION(7, "DBG_MON_B[16]")
991 + ),
992 + MTK_PIN(
993 + PINCTRL_PIN(55, "SPI_MI"),
994 + "AC19", "mt8127",
995 + MTK_EINT_FUNCTION(0, 56),
996 + MTK_FUNCTION(0, "GPIO55"),
997 + MTK_FUNCTION(1, "SPI_MI"),
998 + MTK_FUNCTION(2, "SPI_MO"),
999 + MTK_FUNCTION(3, "I2SIN1_BCK1"),
1000 + MTK_FUNCTION(4, "ADC_WS"),
1001 + MTK_FUNCTION(7, "DBG_MON_B[17]")
1002 + ),
1003 + MTK_PIN(
1004 + PINCTRL_PIN(56, "SPI_MO"),
1005 + "AD18", "mt8127",
1006 + MTK_EINT_FUNCTION(0, 57),
1007 + MTK_FUNCTION(0, "GPIO56"),
1008 + MTK_FUNCTION(1, "SPI_MO"),
1009 + MTK_FUNCTION(2, "SPI_MI"),
1010 + MTK_FUNCTION(7, "DBG_MON_B[18]")
1011 + ),
1012 + MTK_PIN(
1013 + PINCTRL_PIN(57, "SDA1"),
1014 + "AE23", "mt8127",
1015 + MTK_EINT_FUNCTION(0, 58),
1016 + MTK_FUNCTION(0, "GPIO57"),
1017 + MTK_FUNCTION(1, "SDA1")
1018 + ),
1019 + MTK_PIN(
1020 + PINCTRL_PIN(58, "SCL1"),
1021 + "AD23", "mt8127",
1022 + MTK_EINT_FUNCTION(0, 59),
1023 + MTK_FUNCTION(0, "GPIO58"),
1024 + MTK_FUNCTION(1, "SCL1")
1025 + ),
1026 + MTK_PIN(
1027 + PINCTRL_PIN(59, "DISP_PWM"),
1028 + "AC20", "mt8127",
1029 + MTK_EINT_FUNCTION(0, 60),
1030 + MTK_FUNCTION(0, "GPIO59"),
1031 + MTK_FUNCTION(1, "DISP_PWM"),
1032 + MTK_FUNCTION(2, "PWM1"),
1033 + MTK_FUNCTION(7, "DBG_MON_A[18]")
1034 + ),
1035 + MTK_PIN(
1036 + PINCTRL_PIN(60, "WB_RSTB"),
1037 + "AD7", "mt8127",
1038 + MTK_EINT_FUNCTION(0, 61),
1039 + MTK_FUNCTION(0, "GPIO60"),
1040 + MTK_FUNCTION(1, "WB_RSTB"),
1041 + MTK_FUNCTION(7, "DBG_MON_A[19]")
1042 + ),
1043 + MTK_PIN(
1044 + PINCTRL_PIN(61, "F2W_DATA"),
1045 + "Y10", "mt8127",
1046 + MTK_EINT_FUNCTION(0, 62),
1047 + MTK_FUNCTION(0, "GPIO61"),
1048 + MTK_FUNCTION(1, "F2W_DATA"),
1049 + MTK_FUNCTION(7, "DBG_MON_A[20]")
1050 + ),
1051 + MTK_PIN(
1052 + PINCTRL_PIN(62, "F2W_CLK"),
1053 + "W10", "mt8127",
1054 + MTK_EINT_FUNCTION(0, 63),
1055 + MTK_FUNCTION(0, "GPIO62"),
1056 + MTK_FUNCTION(1, "F2W_CK"),
1057 + MTK_FUNCTION(7, "DBG_MON_A[21]")
1058 + ),
1059 + MTK_PIN(
1060 + PINCTRL_PIN(63, "WB_SCLK"),
1061 + "AB7", "mt8127",
1062 + MTK_EINT_FUNCTION(0, 64),
1063 + MTK_FUNCTION(0, "GPIO63"),
1064 + MTK_FUNCTION(1, "WB_SCLK"),
1065 + MTK_FUNCTION(7, "DBG_MON_A[22]")
1066 + ),
1067 + MTK_PIN(
1068 + PINCTRL_PIN(64, "WB_SDATA"),
1069 + "AA7", "mt8127",
1070 + MTK_EINT_FUNCTION(0, 65),
1071 + MTK_FUNCTION(0, "GPIO64"),
1072 + MTK_FUNCTION(1, "WB_SDATA"),
1073 + MTK_FUNCTION(7, "DBG_MON_A[23]")
1074 + ),
1075 + MTK_PIN(
1076 + PINCTRL_PIN(65, "WB_SEN"),
1077 + "Y7", "mt8127",
1078 + MTK_EINT_FUNCTION(0, 66),
1079 + MTK_FUNCTION(0, "GPIO65"),
1080 + MTK_FUNCTION(1, "WB_SEN"),
1081 + MTK_FUNCTION(7, "DBG_MON_A[24]")
1082 + ),
1083 + MTK_PIN(
1084 + PINCTRL_PIN(66, "WB_CRTL0"),
1085 + "AA1", "mt8127",
1086 + MTK_EINT_FUNCTION(0, 67),
1087 + MTK_FUNCTION(0, "GPIO66"),
1088 + MTK_FUNCTION(1, "WB_CRTL0"),
1089 + MTK_FUNCTION(2, "DFD_NTRST_XI"),
1090 + MTK_FUNCTION(7, "DBG_MON_A[25]")
1091 + ),
1092 + MTK_PIN(
1093 + PINCTRL_PIN(67, "WB_CRTL1"),
1094 + "AA2", "mt8127",
1095 + MTK_EINT_FUNCTION(0, 68),
1096 + MTK_FUNCTION(0, "GPIO67"),
1097 + MTK_FUNCTION(1, "WB_CRTL1"),
1098 + MTK_FUNCTION(2, "DFD_TMS_XI"),
1099 + MTK_FUNCTION(7, "DBG_MON_A[26]")
1100 + ),
1101 + MTK_PIN(
1102 + PINCTRL_PIN(68, "WB_CRTL2"),
1103 + "Y1", "mt8127",
1104 + MTK_EINT_FUNCTION(0, 69),
1105 + MTK_FUNCTION(0, "GPIO68"),
1106 + MTK_FUNCTION(1, "WB_CRTL2"),
1107 + MTK_FUNCTION(2, "DFD_TCK_XI"),
1108 + MTK_FUNCTION(7, "DBG_MON_A[27]")
1109 + ),
1110 + MTK_PIN(
1111 + PINCTRL_PIN(69, "WB_CRTL3"),
1112 + "Y2", "mt8127",
1113 + MTK_EINT_FUNCTION(0, 70),
1114 + MTK_FUNCTION(0, "GPIO69"),
1115 + MTK_FUNCTION(1, "WB_CRTL3"),
1116 + MTK_FUNCTION(2, "DFD_TDI_XI"),
1117 + MTK_FUNCTION(7, "DBG_MON_A[28]")
1118 + ),
1119 + MTK_PIN(
1120 + PINCTRL_PIN(70, "WB_CRTL4"),
1121 + "Y3", "mt8127",
1122 + MTK_EINT_FUNCTION(0, 71),
1123 + MTK_FUNCTION(0, "GPIO70"),
1124 + MTK_FUNCTION(1, "WB_CRTL4"),
1125 + MTK_FUNCTION(2, "DFD_TDO"),
1126 + MTK_FUNCTION(7, "DBG_MON_A[29]")
1127 + ),
1128 + MTK_PIN(
1129 + PINCTRL_PIN(71, "WB_CRTL5"),
1130 + "Y4", "mt8127",
1131 + MTK_EINT_FUNCTION(0, 72),
1132 + MTK_FUNCTION(0, "GPIO71"),
1133 + MTK_FUNCTION(1, "WB_CRTL5"),
1134 + MTK_FUNCTION(7, "DBG_MON_A[30]")
1135 + ),
1136 + MTK_PIN(
1137 + PINCTRL_PIN(72, "I2S_DATA_IN"),
1138 + "K21", "mt8127",
1139 + MTK_EINT_FUNCTION(0, 73),
1140 + MTK_FUNCTION(0, "GPIO72"),
1141 + MTK_FUNCTION(1, "I2SIN1_DATA_IN"),
1142 + MTK_FUNCTION(2, "PCM_RX"),
1143 + MTK_FUNCTION(3, "I2SOUT_DATA_OUT"),
1144 + MTK_FUNCTION(4, "DAC_DAT_OUT"),
1145 + MTK_FUNCTION(5, "PWM0"),
1146 + MTK_FUNCTION(6, "ADC_CK"),
1147 + MTK_FUNCTION(7, "DBG_MON_B[19]")
1148 + ),
1149 + MTK_PIN(
1150 + PINCTRL_PIN(73, "I2S_LRCK"),
1151 + "L21", "mt8127",
1152 + MTK_EINT_FUNCTION(0, 74),
1153 + MTK_FUNCTION(0, "GPIO73"),
1154 + MTK_FUNCTION(1, "I2SIN1_LRCK"),
1155 + MTK_FUNCTION(2, "PCM_SYNC"),
1156 + MTK_FUNCTION(3, "I2SOUT_LRCK"),
1157 + MTK_FUNCTION(4, "DAC_WS"),
1158 + MTK_FUNCTION(5, "PWM3"),
1159 + MTK_FUNCTION(6, "ADC_DAT_IN"),
1160 + MTK_FUNCTION(7, "DBG_MON_B[20]")
1161 + ),
1162 + MTK_PIN(
1163 + PINCTRL_PIN(74, "I2S_BCK"),
1164 + "L20", "mt8127",
1165 + MTK_EINT_FUNCTION(0, 75),
1166 + MTK_FUNCTION(0, "GPIO74"),
1167 + MTK_FUNCTION(1, "I2SIN1_BCK2"),
1168 + MTK_FUNCTION(2, "PCM_CLK1"),
1169 + MTK_FUNCTION(3, "I2SOUT_BCK"),
1170 + MTK_FUNCTION(4, "DAC_CK"),
1171 + MTK_FUNCTION(5, "PWM4"),
1172 + MTK_FUNCTION(6, "ADC_WS"),
1173 + MTK_FUNCTION(7, "DBG_MON_B[21]")
1174 + ),
1175 + MTK_PIN(
1176 + PINCTRL_PIN(75, "SDA0"),
1177 + "W3", "mt8127",
1178 + MTK_EINT_FUNCTION(0, 76),
1179 + MTK_FUNCTION(0, "GPIO75"),
1180 + MTK_FUNCTION(1, "SDA0")
1181 + ),
1182 + MTK_PIN(
1183 + PINCTRL_PIN(76, "SCL0"),
1184 + "W4", "mt8127",
1185 + MTK_EINT_FUNCTION(0, 77),
1186 + MTK_FUNCTION(0, "GPIO76"),
1187 + MTK_FUNCTION(1, "SCL0")
1188 + ),
1189 + MTK_PIN(
1190 + PINCTRL_PIN(77, "SDA2"),
1191 + "K19", "mt8127",
1192 + MTK_EINT_FUNCTION(0, 78),
1193 + MTK_FUNCTION(0, "GPIO77"),
1194 + MTK_FUNCTION(1, "SDA2"),
1195 + MTK_FUNCTION(2, "PWM1")
1196 + ),
1197 + MTK_PIN(
1198 + PINCTRL_PIN(78, "SCL2"),
1199 + "K20", "mt8127",
1200 + MTK_EINT_FUNCTION(0, 79),
1201 + MTK_FUNCTION(0, "GPIO78"),
1202 + MTK_FUNCTION(1, "SCL2"),
1203 + MTK_FUNCTION(2, "PWM2")
1204 + ),
1205 + MTK_PIN(
1206 + PINCTRL_PIN(79, "URXD0"),
1207 + "K18", "mt8127",
1208 + MTK_EINT_FUNCTION(0, 80),
1209 + MTK_FUNCTION(0, "GPIO79"),
1210 + MTK_FUNCTION(1, "URXD0"),
1211 + MTK_FUNCTION(2, "UTXD0")
1212 + ),
1213 + MTK_PIN(
1214 + PINCTRL_PIN(80, "UTXD0"),
1215 + "K17", "mt8127",
1216 + MTK_EINT_FUNCTION(0, 81),
1217 + MTK_FUNCTION(0, "GPIO80"),
1218 + MTK_FUNCTION(1, "UTXD0"),
1219 + MTK_FUNCTION(2, "URXD0")
1220 + ),
1221 + MTK_PIN(
1222 + PINCTRL_PIN(81, "URXD1"),
1223 + "L17", "mt8127",
1224 + MTK_EINT_FUNCTION(0, 82),
1225 + MTK_FUNCTION(0, "GPIO81"),
1226 + MTK_FUNCTION(1, "URXD1"),
1227 + MTK_FUNCTION(2, "UTXD1")
1228 + ),
1229 + MTK_PIN(
1230 + PINCTRL_PIN(82, "UTXD1"),
1231 + "L18", "mt8127",
1232 + MTK_EINT_FUNCTION(0, 83),
1233 + MTK_FUNCTION(0, "GPIO82"),
1234 + MTK_FUNCTION(1, "UTXD1"),
1235 + MTK_FUNCTION(2, "URXD1")
1236 + ),
1237 + MTK_PIN(
1238 + PINCTRL_PIN(83, "LCM_RST"),
1239 + "W5", "mt8127",
1240 + MTK_EINT_FUNCTION(0, 84),
1241 + MTK_FUNCTION(0, "GPIO83"),
1242 + MTK_FUNCTION(1, "LCM_RST"),
1243 + MTK_FUNCTION(2, "VDAC_CK_XI"),
1244 + MTK_FUNCTION(7, "DBG_MON_A[31]")
1245 + ),
1246 + MTK_PIN(
1247 + PINCTRL_PIN(84, "DSI_TE"),
1248 + "W6", "mt8127",
1249 + MTK_EINT_FUNCTION(0, 85),
1250 + MTK_FUNCTION(0, "GPIO84"),
1251 + MTK_FUNCTION(1, "DSI_TE"),
1252 + MTK_FUNCTION(7, "DBG_MON_A[32]")
1253 + ),
1254 + MTK_PIN(
1255 + PINCTRL_PIN(85, "MSDC2_CMD"),
1256 + "U7", "mt8127",
1257 + MTK_EINT_FUNCTION(0, 86),
1258 + MTK_FUNCTION(0, "GPIO85"),
1259 + MTK_FUNCTION(1, "MSDC2_CMD"),
1260 + MTK_FUNCTION(2, "ANT_SEL0"),
1261 + MTK_FUNCTION(3, "SDA1"),
1262 + MTK_FUNCTION(6, "I2SOUT_BCK"),
1263 + MTK_FUNCTION(7, "DBG_MON_B[22]")
1264 + ),
1265 + MTK_PIN(
1266 + PINCTRL_PIN(86, "MSDC2_CLK"),
1267 + "T8", "mt8127",
1268 + MTK_EINT_FUNCTION(0, 87),
1269 + MTK_FUNCTION(0, "GPIO86"),
1270 + MTK_FUNCTION(1, "MSDC2_CLK"),
1271 + MTK_FUNCTION(2, "ANT_SEL1"),
1272 + MTK_FUNCTION(3, "SCL1"),
1273 + MTK_FUNCTION(6, "I2SOUT_LRCK"),
1274 + MTK_FUNCTION(7, "DBG_MON_B[23]")
1275 + ),
1276 + MTK_PIN(
1277 + PINCTRL_PIN(87, "MSDC2_DAT0"),
1278 + "V3", "mt8127",
1279 + MTK_EINT_FUNCTION(0, 88),
1280 + MTK_FUNCTION(0, "GPIO87"),
1281 + MTK_FUNCTION(1, "MSDC2_DAT0"),
1282 + MTK_FUNCTION(2, "ANT_SEL2"),
1283 + MTK_FUNCTION(5, "UTXD0"),
1284 + MTK_FUNCTION(6, "I2SOUT_DATA_OUT"),
1285 + MTK_FUNCTION(7, "DBG_MON_B[24]")
1286 + ),
1287 + MTK_PIN(
1288 + PINCTRL_PIN(88, "MSDC2_DAT1"),
1289 + "V4", "mt8127",
1290 + MTK_EINT_FUNCTION(0, 89),
1291 + MTK_FUNCTION(0, "GPIO88"),
1292 + MTK_FUNCTION(1, "MSDC2_DAT1"),
1293 + MTK_FUNCTION(2, "ANT_SEL3"),
1294 + MTK_FUNCTION(3, "PWM0"),
1295 + MTK_FUNCTION(5, "URXD0"),
1296 + MTK_FUNCTION(6, "PWM1"),
1297 + MTK_FUNCTION(7, "DBG_MON_B[25]")
1298 + ),
1299 + MTK_PIN(
1300 + PINCTRL_PIN(89, "MSDC2_DAT2"),
1301 + "U5", "mt8127",
1302 + MTK_EINT_FUNCTION(0, 90),
1303 + MTK_FUNCTION(0, "GPIO89"),
1304 + MTK_FUNCTION(1, "MSDC2_DAT2"),
1305 + MTK_FUNCTION(2, "ANT_SEL4"),
1306 + MTK_FUNCTION(3, "SDA2"),
1307 + MTK_FUNCTION(5, "UTXD1"),
1308 + MTK_FUNCTION(6, "PWM2"),
1309 + MTK_FUNCTION(7, "DBG_MON_B[26]")
1310 + ),
1311 + MTK_PIN(
1312 + PINCTRL_PIN(90, "MSDC2_DAT3"),
1313 + "U6", "mt8127",
1314 + MTK_EINT_FUNCTION(0, 91),
1315 + MTK_FUNCTION(0, "GPIO90"),
1316 + MTK_FUNCTION(1, "MSDC2_DAT3"),
1317 + MTK_FUNCTION(2, "ANT_SEL5"),
1318 + MTK_FUNCTION(3, "SCL2"),
1319 + MTK_FUNCTION(4, "EXT_FRAME_SYNC"),
1320 + MTK_FUNCTION(5, "URXD1"),
1321 + MTK_FUNCTION(6, "PWM3"),
1322 + MTK_FUNCTION(7, "DBG_MON_B[27]")
1323 + ),
1324 + MTK_PIN(
1325 + PINCTRL_PIN(91, "TDN3"),
1326 + "U2", "mt8127",
1327 + MTK_EINT_FUNCTION(0, 92),
1328 + MTK_FUNCTION(0, "GPI91"),
1329 + MTK_FUNCTION(1, "TDN3")
1330 + ),
1331 + MTK_PIN(
1332 + PINCTRL_PIN(92, "TDP3"),
1333 + "U1", "mt8127",
1334 + MTK_EINT_FUNCTION(0, 93),
1335 + MTK_FUNCTION(0, "GPI92"),
1336 + MTK_FUNCTION(1, "TDP3")
1337 + ),
1338 + MTK_PIN(
1339 + PINCTRL_PIN(93, "TDN2"),
1340 + "T2", "mt8127",
1341 + MTK_EINT_FUNCTION(0, 94),
1342 + MTK_FUNCTION(0, "GPI93"),
1343 + MTK_FUNCTION(1, "TDN2")
1344 + ),
1345 + MTK_PIN(
1346 + PINCTRL_PIN(94, "TDP2"),
1347 + "T1", "mt8127",
1348 + MTK_EINT_FUNCTION(0, 95),
1349 + MTK_FUNCTION(0, "GPI94"),
1350 + MTK_FUNCTION(1, "TDP2")
1351 + ),
1352 + MTK_PIN(
1353 + PINCTRL_PIN(95, "TCN"),
1354 + "R5", "mt8127",
1355 + MTK_EINT_FUNCTION(0, 96),
1356 + MTK_FUNCTION(0, "GPI95"),
1357 + MTK_FUNCTION(1, "TCN")
1358 + ),
1359 + MTK_PIN(
1360 + PINCTRL_PIN(96, "TCP"),
1361 + "R4", "mt8127",
1362 + MTK_EINT_FUNCTION(0, 97),
1363 + MTK_FUNCTION(0, "GPI96"),
1364 + MTK_FUNCTION(1, "TCP")
1365 + ),
1366 + MTK_PIN(
1367 + PINCTRL_PIN(97, "TDN1"),
1368 + "R3", "mt8127",
1369 + MTK_EINT_FUNCTION(0, 98),
1370 + MTK_FUNCTION(0, "GPI97"),
1371 + MTK_FUNCTION(1, "TDN1")
1372 + ),
1373 + MTK_PIN(
1374 + PINCTRL_PIN(98, "TDP1"),
1375 + "R2", "mt8127",
1376 + MTK_EINT_FUNCTION(0, 99),
1377 + MTK_FUNCTION(0, "GPI98"),
1378 + MTK_FUNCTION(1, "TDP1")
1379 + ),
1380 + MTK_PIN(
1381 + PINCTRL_PIN(99, "TDN0"),
1382 + "P3", "mt8127",
1383 + MTK_EINT_FUNCTION(0, 100),
1384 + MTK_FUNCTION(0, "GPI99"),
1385 + MTK_FUNCTION(1, "TDN0")
1386 + ),
1387 + MTK_PIN(
1388 + PINCTRL_PIN(100, "TDP0"),
1389 + "P2", "mt8127",
1390 + MTK_EINT_FUNCTION(0, 101),
1391 + MTK_FUNCTION(0, "GPI100"),
1392 + MTK_FUNCTION(1, "TDP0")
1393 + ),
1394 + MTK_PIN(
1395 + PINCTRL_PIN(101, "RDN0"),
1396 + "K1", "mt8127",
1397 + MTK_EINT_FUNCTION(0, 102),
1398 + MTK_FUNCTION(0, "GPI101"),
1399 + MTK_FUNCTION(1, "RDN0")
1400 + ),
1401 + MTK_PIN(
1402 + PINCTRL_PIN(102, "RDP0"),
1403 + "K2", "mt8127",
1404 + MTK_EINT_FUNCTION(0, 103),
1405 + MTK_FUNCTION(0, "GPI102"),
1406 + MTK_FUNCTION(1, "RDP0")
1407 + ),
1408 + MTK_PIN(
1409 + PINCTRL_PIN(103, "RDN1"),
1410 + "L2", "mt8127",
1411 + MTK_EINT_FUNCTION(0, 104),
1412 + MTK_FUNCTION(0, "GPI103"),
1413 + MTK_FUNCTION(1, "RDN1")
1414 + ),
1415 + MTK_PIN(
1416 + PINCTRL_PIN(104, "RDP1"),
1417 + "L3", "mt8127",
1418 + MTK_EINT_FUNCTION(0, 105),
1419 + MTK_FUNCTION(0, "GPI104"),
1420 + MTK_FUNCTION(1, "RDP1")
1421 + ),
1422 + MTK_PIN(
1423 + PINCTRL_PIN(105, "RCN"),
1424 + "M4", "mt8127",
1425 + MTK_EINT_FUNCTION(0, 106),
1426 + MTK_FUNCTION(0, "GPI105"),
1427 + MTK_FUNCTION(1, "RCN")
1428 + ),
1429 + MTK_PIN(
1430 + PINCTRL_PIN(106, "RCP"),
1431 + "M5", "mt8127",
1432 + MTK_EINT_FUNCTION(0, 107),
1433 + MTK_FUNCTION(0, "GPI106"),
1434 + MTK_FUNCTION(1, "RCP")
1435 + ),
1436 + MTK_PIN(
1437 + PINCTRL_PIN(107, "RDN2"),
1438 + "M2", "mt8127",
1439 + MTK_EINT_FUNCTION(0, 108),
1440 + MTK_FUNCTION(0, "GPI107"),
1441 + MTK_FUNCTION(1, "RDN2"),
1442 + MTK_FUNCTION(2, "CMDAT8")
1443 + ),
1444 + MTK_PIN(
1445 + PINCTRL_PIN(108, "RDP2"),
1446 + "M3", "mt8127",
1447 + MTK_EINT_FUNCTION(0, 109),
1448 + MTK_FUNCTION(0, "GPI108"),
1449 + MTK_FUNCTION(1, "RDP2"),
1450 + MTK_FUNCTION(2, "CMDAT9")
1451 + ),
1452 + MTK_PIN(
1453 + PINCTRL_PIN(109, "RDN3"),
1454 + "N2", "mt8127",
1455 + MTK_EINT_FUNCTION(0, 110),
1456 + MTK_FUNCTION(0, "GPI109"),
1457 + MTK_FUNCTION(1, "RDN3"),
1458 + MTK_FUNCTION(2, "CMDAT4")
1459 + ),
1460 + MTK_PIN(
1461 + PINCTRL_PIN(110, "RDP3"),
1462 + "N3", "mt8127",
1463 + MTK_EINT_FUNCTION(0, 111),
1464 + MTK_FUNCTION(0, "GPI110"),
1465 + MTK_FUNCTION(1, "RDP3"),
1466 + MTK_FUNCTION(2, "CMDAT5")
1467 + ),
1468 + MTK_PIN(
1469 + PINCTRL_PIN(111, "RCN_A"),
1470 + "J5", "mt8127",
1471 + MTK_EINT_FUNCTION(0, 112),
1472 + MTK_FUNCTION(0, "GPI111"),
1473 + MTK_FUNCTION(1, "RCN_A"),
1474 + MTK_FUNCTION(2, "CMDAT6")
1475 + ),
1476 + MTK_PIN(
1477 + PINCTRL_PIN(112, "RCP_A"),
1478 + "J4", "mt8127",
1479 + MTK_EINT_FUNCTION(0, 113),
1480 + MTK_FUNCTION(0, "GPI112"),
1481 + MTK_FUNCTION(1, "RCP_A"),
1482 + MTK_FUNCTION(2, "CMDAT7")
1483 + ),
1484 + MTK_PIN(
1485 + PINCTRL_PIN(113, "RDN1_A"),
1486 + "J2", "mt8127",
1487 + MTK_EINT_FUNCTION(0, 114),
1488 + MTK_FUNCTION(0, "GPI113"),
1489 + MTK_FUNCTION(1, "RDN1_A"),
1490 + MTK_FUNCTION(2, "CMDAT2"),
1491 + MTK_FUNCTION(3, "CMCSD2")
1492 + ),
1493 + MTK_PIN(
1494 + PINCTRL_PIN(114, "RDP1_A"),
1495 + "J3", "mt8127",
1496 + MTK_EINT_FUNCTION(0, 115),
1497 + MTK_FUNCTION(0, "GPI114"),
1498 + MTK_FUNCTION(1, "RDP1_A"),
1499 + MTK_FUNCTION(2, "CMDAT3"),
1500 + MTK_FUNCTION(3, "CMCSD3")
1501 + ),
1502 + MTK_PIN(
1503 + PINCTRL_PIN(115, "RDN0_A"),
1504 + "H2", "mt8127",
1505 + MTK_EINT_FUNCTION(0, 116),
1506 + MTK_FUNCTION(0, "GPI115"),
1507 + MTK_FUNCTION(1, "RDN0_A"),
1508 + MTK_FUNCTION(2, "CMHSYNC")
1509 + ),
1510 + MTK_PIN(
1511 + PINCTRL_PIN(116, "RDP0_A"),
1512 + "H3", "mt8127",
1513 + MTK_EINT_FUNCTION(0, 117),
1514 + MTK_FUNCTION(0, "GPI116"),
1515 + MTK_FUNCTION(1, "RDP0_A"),
1516 + MTK_FUNCTION(2, "CMVSYNC")
1517 + ),
1518 + MTK_PIN(
1519 + PINCTRL_PIN(117, "CMDAT0"),
1520 + "G5", "mt8127",
1521 + MTK_EINT_FUNCTION(0, 118),
1522 + MTK_FUNCTION(0, "GPIO117"),
1523 + MTK_FUNCTION(1, "CMDAT0"),
1524 + MTK_FUNCTION(2, "CMCSD0"),
1525 + MTK_FUNCTION(3, "ANT_SEL2"),
1526 + MTK_FUNCTION(7, "DBG_MON_B[28]")
1527 + ),
1528 + MTK_PIN(
1529 + PINCTRL_PIN(118, "CMDAT1"),
1530 + "G4", "mt8127",
1531 + MTK_EINT_FUNCTION(0, 119),
1532 + MTK_FUNCTION(0, "GPIO118"),
1533 + MTK_FUNCTION(1, "CMDAT1"),
1534 + MTK_FUNCTION(2, "CMCSD1"),
1535 + MTK_FUNCTION(3, "ANT_SEL3"),
1536 + MTK_FUNCTION(7, "DBG_MON_B[29]")
1537 + ),
1538 + MTK_PIN(
1539 + PINCTRL_PIN(119, "CMMCLK"),
1540 + "F3", "mt8127",
1541 + MTK_EINT_FUNCTION(0, 120),
1542 + MTK_FUNCTION(0, "GPIO119"),
1543 + MTK_FUNCTION(1, "CMMCLK"),
1544 + MTK_FUNCTION(3, "ANT_SEL4"),
1545 + MTK_FUNCTION(7, "DBG_MON_B[30]")
1546 + ),
1547 + MTK_PIN(
1548 + PINCTRL_PIN(120, "CMPCLK"),
1549 + "G6", "mt8127",
1550 + MTK_EINT_FUNCTION(0, 121),
1551 + MTK_FUNCTION(0, "GPIO120"),
1552 + MTK_FUNCTION(1, "CMPCLK"),
1553 + MTK_FUNCTION(2, "CMCSK"),
1554 + MTK_FUNCTION(3, "ANT_SEL5"),
1555 + MTK_FUNCTION(7, "DBG_MON_B[31]")
1556 + ),
1557 + MTK_PIN(
1558 + PINCTRL_PIN(121, "MSDC1_CMD"),
1559 + "E3", "mt8127",
1560 + MTK_EINT_FUNCTION(0, 122),
1561 + MTK_FUNCTION(0, "GPIO121"),
1562 + MTK_FUNCTION(1, "MSDC1_CMD")
1563 + ),
1564 + MTK_PIN(
1565 + PINCTRL_PIN(122, "MSDC1_CLK"),
1566 + "D1", "mt8127",
1567 + MTK_EINT_FUNCTION(0, 123),
1568 + MTK_FUNCTION(0, "GPIO122"),
1569 + MTK_FUNCTION(1, "MSDC1_CLK")
1570 + ),
1571 + MTK_PIN(
1572 + PINCTRL_PIN(123, "MSDC1_DAT0"),
1573 + "D2", "mt8127",
1574 + MTK_EINT_FUNCTION(0, 124),
1575 + MTK_FUNCTION(0, "GPIO123"),
1576 + MTK_FUNCTION(1, "MSDC1_DAT0")
1577 + ),
1578 + MTK_PIN(
1579 + PINCTRL_PIN(124, "MSDC1_DAT1"),
1580 + "D3", "mt8127",
1581 + MTK_EINT_FUNCTION(0, 125),
1582 + MTK_FUNCTION(0, "GPIO124"),
1583 + MTK_FUNCTION(1, "MSDC1_DAT1")
1584 + ),
1585 + MTK_PIN(
1586 + PINCTRL_PIN(125, "MSDC1_DAT2"),
1587 + "F2", "mt8127",
1588 + MTK_EINT_FUNCTION(0, 126),
1589 + MTK_FUNCTION(0, "GPIO125"),
1590 + MTK_FUNCTION(1, "MSDC1_DAT2")
1591 + ),
1592 + MTK_PIN(
1593 + PINCTRL_PIN(126, "MSDC1_DAT3"),
1594 + "E2", "mt8127",
1595 + MTK_EINT_FUNCTION(0, 127),
1596 + MTK_FUNCTION(0, "GPIO126"),
1597 + MTK_FUNCTION(1, "MSDC1_DAT3")
1598 + ),
1599 + MTK_PIN(
1600 + PINCTRL_PIN(127, "MSDC0_DAT7"),
1601 + "C23", "mt8127",
1602 + MTK_EINT_FUNCTION(0, 128),
1603 + MTK_FUNCTION(0, "GPIO127"),
1604 + MTK_FUNCTION(1, "MSDC0_DAT7"),
1605 + MTK_FUNCTION(4, "NLD7")
1606 + ),
1607 + MTK_PIN(
1608 + PINCTRL_PIN(128, "MSDC0_DAT6"),
1609 + "C24", "mt8127",
1610 + MTK_EINT_FUNCTION(0, 129),
1611 + MTK_FUNCTION(0, "GPIO128"),
1612 + MTK_FUNCTION(1, "MSDC0_DAT6"),
1613 + MTK_FUNCTION(4, "NLD6")
1614 + ),
1615 + MTK_PIN(
1616 + PINCTRL_PIN(129, "MSDC0_DAT5"),
1617 + "D22", "mt8127",
1618 + MTK_EINT_FUNCTION(0, 130),
1619 + MTK_FUNCTION(0, "GPIO129"),
1620 + MTK_FUNCTION(1, "MSDC0_DAT5"),
1621 + MTK_FUNCTION(4, "NLD4")
1622 + ),
1623 + MTK_PIN(
1624 + PINCTRL_PIN(130, "MSDC0_DAT4"),
1625 + "D24", "mt8127",
1626 + MTK_EINT_FUNCTION(0, 131),
1627 + MTK_FUNCTION(0, "GPIO130"),
1628 + MTK_FUNCTION(1, "MSDC0_DAT4"),
1629 + MTK_FUNCTION(4, "NLD3")
1630 + ),
1631 + MTK_PIN(
1632 + PINCTRL_PIN(131, "MSDC0_RSTB"),
1633 + "F24", "mt8127",
1634 + MTK_EINT_FUNCTION(0, 132),
1635 + MTK_FUNCTION(0, "GPIO131"),
1636 + MTK_FUNCTION(1, "MSDC0_RSTB"),
1637 + MTK_FUNCTION(4, "NLD0")
1638 + ),
1639 + MTK_PIN(
1640 + PINCTRL_PIN(132, "MSDC0_CMD"),
1641 + "G20", "mt8127",
1642 + MTK_EINT_FUNCTION(0, 133),
1643 + MTK_FUNCTION(0, "GPIO132"),
1644 + MTK_FUNCTION(1, "MSDC0_CMD"),
1645 + MTK_FUNCTION(4, "NALE")
1646 + ),
1647 + MTK_PIN(
1648 + PINCTRL_PIN(133, "MSDC0_CLK"),
1649 + "G21", "mt8127",
1650 + MTK_EINT_FUNCTION(0, 134),
1651 + MTK_FUNCTION(0, "GPIO133"),
1652 + MTK_FUNCTION(1, "MSDC0_CLK"),
1653 + MTK_FUNCTION(4, "NWEB")
1654 + ),
1655 + MTK_PIN(
1656 + PINCTRL_PIN(134, "MSDC0_DAT3"),
1657 + "D23", "mt8127",
1658 + MTK_EINT_FUNCTION(0, 135),
1659 + MTK_FUNCTION(0, "GPIO134"),
1660 + MTK_FUNCTION(1, "MSDC0_DAT3"),
1661 + MTK_FUNCTION(4, "NLD1")
1662 + ),
1663 + MTK_PIN(
1664 + PINCTRL_PIN(135, "MSDC0_DAT2"),
1665 + "E22", "mt8127",
1666 + MTK_EINT_FUNCTION(0, 136),
1667 + MTK_FUNCTION(0, "GPIO135"),
1668 + MTK_FUNCTION(1, "MSDC0_DAT2"),
1669 + MTK_FUNCTION(4, "NLD5")
1670 + ),
1671 + MTK_PIN(
1672 + PINCTRL_PIN(136, "MSDC0_DAT1"),
1673 + "E23", "mt8127",
1674 + MTK_EINT_FUNCTION(0, 137),
1675 + MTK_FUNCTION(0, "GPIO136"),
1676 + MTK_FUNCTION(1, "MSDC0_DAT1"),
1677 + MTK_FUNCTION(4, "NLD8")
1678 + ),
1679 + MTK_PIN(
1680 + PINCTRL_PIN(137, "MSDC0_DAT0"),
1681 + "F22", "mt8127",
1682 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
1683 + MTK_FUNCTION(0, "GPIO137"),
1684 + MTK_FUNCTION(1, "MSDC0_DAT0"),
1685 + MTK_FUNCTION(4, "WATCHDOG"),
1686 + MTK_FUNCTION(5, "NLD2")
1687 + ),
1688 + MTK_PIN(
1689 + PINCTRL_PIN(138, "CEC"),
1690 + "AE21", "mt8127",
1691 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
1692 + MTK_FUNCTION(0, "GPIO138"),
1693 + MTK_FUNCTION(1, "CEC")
1694 + ),
1695 + MTK_PIN(
1696 + PINCTRL_PIN(139, "HTPLG"),
1697 + "AD21", "mt8127",
1698 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
1699 + MTK_FUNCTION(0, "GPIO139"),
1700 + MTK_FUNCTION(1, "HTPLG")
1701 + ),
1702 + MTK_PIN(
1703 + PINCTRL_PIN(140, "HDMISCK"),
1704 + "AE22", "mt8127",
1705 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
1706 + MTK_FUNCTION(0, "GPIO140"),
1707 + MTK_FUNCTION(1, "HDMISCK")
1708 + ),
1709 + MTK_PIN(
1710 + PINCTRL_PIN(141, "HDMISD"),
1711 + "AD22", "mt8127",
1712 + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
1713 + MTK_FUNCTION(0, "GPIO141"),
1714 + MTK_FUNCTION(1, "HDMISD")
1715 + ),
1716 + MTK_PIN(
1717 + PINCTRL_PIN(142, "EINT21"),
1718 + "J23", "mt8127",
1719 + MTK_EINT_FUNCTION(0, 21),
1720 + MTK_FUNCTION(0, "GPIO142"),
1721 + MTK_FUNCTION(1, "NRNB"),
1722 + MTK_FUNCTION(2, "ANT_SEL0"),
1723 + MTK_FUNCTION(7, "DBG_MON_B[32]")
1724 + ),
1725 +};
1726 +
1727 +#endif /* __PINCTRL_MTK_MT8127_H */