Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: mediatek: Add MT8167 Pinctrl driver

This commit adds the pinctrl driver for the MediaTek's MT8167 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Link: https://lore.kernel.org/r/20200907110221.1691168-2-fparent@baylibre.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Fabien Parent and committed by
Linus Walleij
82d70627 3c41f060

+1618
+7
drivers/pinctrl/mediatek/Kconfig
··· 119 119 default ARM64 && ARCH_MEDIATEK 120 120 select PINCTRL_MTK_MOORE 121 121 122 + config PINCTRL_MT8167 123 + bool "Mediatek MT8167 pin control" 124 + depends on OF 125 + depends on ARM64 || COMPILE_TEST 126 + default ARM64 && ARCH_MEDIATEK 127 + select PINCTRL_MTK 128 + 122 129 config PINCTRL_MT8173 123 130 bool "Mediatek MT8173 pin control" 124 131 depends on OF
+1
drivers/pinctrl/mediatek/Makefile
··· 17 17 obj-$(CONFIG_PINCTRL_MT7622) += pinctrl-mt7622.o 18 18 obj-$(CONFIG_PINCTRL_MT7623) += pinctrl-mt7623.o 19 19 obj-$(CONFIG_PINCTRL_MT7629) += pinctrl-mt7629.o 20 + obj-$(CONFIG_PINCTRL_MT8167) += pinctrl-mt8167.o 20 21 obj-$(CONFIG_PINCTRL_MT8173) += pinctrl-mt8173.o 21 22 obj-$(CONFIG_PINCTRL_MT8183) += pinctrl-mt8183.o 22 23 obj-$(CONFIG_PINCTRL_MT8192) += pinctrl-mt8192.o
+362
drivers/pinctrl/mediatek/pinctrl-mt8167.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2020 MediaTek Inc. 4 + * Author: Min.Guo <min.guo@mediatek.com> 5 + */ 6 + 7 + #include <dt-bindings/pinctrl/mt65xx.h> 8 + #include <linux/of.h> 9 + #include <linux/of_device.h> 10 + #include <linux/module.h> 11 + #include <linux/pinctrl/pinctrl.h> 12 + #include <linux/platform_device.h> 13 + #include <linux/regmap.h> 14 + 15 + #include "pinctrl-mtk-common.h" 16 + #include "pinctrl-mtk-mt8167.h" 17 + 18 + static const struct mtk_drv_group_desc mt8167_drv_grp[] = { 19 + /* 0E4E8SR 4/8/12/16 */ 20 + MTK_DRV_GRP(4, 16, 1, 2, 4), 21 + /* 0E2E4SR 2/4/6/8 */ 22 + MTK_DRV_GRP(2, 8, 1, 2, 2), 23 + /* E8E4E2 2/4/6/8/10/12/14/16 */ 24 + MTK_DRV_GRP(2, 16, 0, 2, 2) 25 + }; 26 + 27 + static const struct mtk_pin_drv_grp mt8167_pin_drv[] = { 28 + MTK_PIN_DRV_GRP(0, 0xd00, 0, 0), 29 + MTK_PIN_DRV_GRP(1, 0xd00, 0, 0), 30 + MTK_PIN_DRV_GRP(2, 0xd00, 0, 0), 31 + MTK_PIN_DRV_GRP(3, 0xd00, 0, 0), 32 + MTK_PIN_DRV_GRP(4, 0xd00, 0, 0), 33 + 34 + MTK_PIN_DRV_GRP(5, 0xd00, 4, 0), 35 + MTK_PIN_DRV_GRP(6, 0xd00, 4, 0), 36 + MTK_PIN_DRV_GRP(7, 0xd00, 4, 0), 37 + MTK_PIN_DRV_GRP(8, 0xd00, 4, 0), 38 + MTK_PIN_DRV_GRP(9, 0xd00, 4, 0), 39 + MTK_PIN_DRV_GRP(10, 0xd00, 4, 0), 40 + 41 + MTK_PIN_DRV_GRP(11, 0xd00, 8, 0), 42 + MTK_PIN_DRV_GRP(12, 0xd00, 8, 0), 43 + MTK_PIN_DRV_GRP(13, 0xd00, 8, 0), 44 + 45 + MTK_PIN_DRV_GRP(14, 0xd00, 12, 2), 46 + MTK_PIN_DRV_GRP(15, 0xd00, 12, 2), 47 + MTK_PIN_DRV_GRP(16, 0xd00, 12, 2), 48 + MTK_PIN_DRV_GRP(17, 0xd00, 12, 2), 49 + 50 + MTK_PIN_DRV_GRP(18, 0xd10, 0, 0), 51 + MTK_PIN_DRV_GRP(19, 0xd10, 0, 0), 52 + MTK_PIN_DRV_GRP(20, 0xd10, 0, 0), 53 + 54 + MTK_PIN_DRV_GRP(21, 0xd00, 12, 2), 55 + MTK_PIN_DRV_GRP(22, 0xd00, 12, 2), 56 + MTK_PIN_DRV_GRP(23, 0xd00, 12, 2), 57 + 58 + MTK_PIN_DRV_GRP(24, 0xd00, 8, 0), 59 + MTK_PIN_DRV_GRP(25, 0xd00, 8, 0), 60 + 61 + MTK_PIN_DRV_GRP(26, 0xd10, 4, 1), 62 + MTK_PIN_DRV_GRP(27, 0xd10, 4, 1), 63 + MTK_PIN_DRV_GRP(28, 0xd10, 4, 1), 64 + MTK_PIN_DRV_GRP(29, 0xd10, 4, 1), 65 + MTK_PIN_DRV_GRP(30, 0xd10, 4, 1), 66 + 67 + MTK_PIN_DRV_GRP(31, 0xd10, 8, 1), 68 + MTK_PIN_DRV_GRP(32, 0xd10, 8, 1), 69 + MTK_PIN_DRV_GRP(33, 0xd10, 8, 1), 70 + 71 + MTK_PIN_DRV_GRP(34, 0xd10, 12, 0), 72 + MTK_PIN_DRV_GRP(35, 0xd10, 12, 0), 73 + 74 + MTK_PIN_DRV_GRP(36, 0xd20, 0, 0), 75 + MTK_PIN_DRV_GRP(37, 0xd20, 0, 0), 76 + MTK_PIN_DRV_GRP(38, 0xd20, 0, 0), 77 + MTK_PIN_DRV_GRP(39, 0xd20, 0, 0), 78 + 79 + MTK_PIN_DRV_GRP(40, 0xd20, 4, 1), 80 + 81 + MTK_PIN_DRV_GRP(41, 0xd20, 8, 1), 82 + MTK_PIN_DRV_GRP(42, 0xd20, 8, 1), 83 + MTK_PIN_DRV_GRP(43, 0xd20, 8, 1), 84 + 85 + MTK_PIN_DRV_GRP(44, 0xd20, 12, 1), 86 + MTK_PIN_DRV_GRP(45, 0xd20, 12, 1), 87 + MTK_PIN_DRV_GRP(46, 0xd20, 12, 1), 88 + MTK_PIN_DRV_GRP(47, 0xd20, 12, 1), 89 + 90 + MTK_PIN_DRV_GRP(48, 0xd30, 0, 1), 91 + MTK_PIN_DRV_GRP(49, 0xd30, 0, 1), 92 + MTK_PIN_DRV_GRP(50, 0xd30, 0, 1), 93 + MTK_PIN_DRV_GRP(51, 0xd30, 0, 1), 94 + 95 + MTK_PIN_DRV_GRP(54, 0xd30, 8, 1), 96 + 97 + MTK_PIN_DRV_GRP(55, 0xd30, 12, 1), 98 + MTK_PIN_DRV_GRP(56, 0xd30, 12, 1), 99 + MTK_PIN_DRV_GRP(57, 0xd30, 12, 1), 100 + 101 + MTK_PIN_DRV_GRP(62, 0xd40, 8, 1), 102 + MTK_PIN_DRV_GRP(63, 0xd40, 8, 1), 103 + MTK_PIN_DRV_GRP(64, 0xd40, 8, 1), 104 + MTK_PIN_DRV_GRP(65, 0xd40, 8, 1), 105 + MTK_PIN_DRV_GRP(66, 0xd40, 8, 1), 106 + MTK_PIN_DRV_GRP(67, 0xd40, 8, 1), 107 + 108 + MTK_PIN_DRV_GRP(68, 0xd40, 12, 2), 109 + 110 + MTK_PIN_DRV_GRP(69, 0xd50, 0, 2), 111 + 112 + MTK_PIN_DRV_GRP(70, 0xd50, 4, 2), 113 + MTK_PIN_DRV_GRP(71, 0xd50, 4, 2), 114 + MTK_PIN_DRV_GRP(72, 0xd50, 4, 2), 115 + MTK_PIN_DRV_GRP(73, 0xd50, 4, 2), 116 + 117 + MTK_PIN_DRV_GRP(100, 0xd50, 8, 1), 118 + MTK_PIN_DRV_GRP(101, 0xd50, 8, 1), 119 + MTK_PIN_DRV_GRP(102, 0xd50, 8, 1), 120 + MTK_PIN_DRV_GRP(103, 0xd50, 8, 1), 121 + 122 + MTK_PIN_DRV_GRP(104, 0xd50, 12, 2), 123 + 124 + MTK_PIN_DRV_GRP(105, 0xd60, 0, 2), 125 + 126 + MTK_PIN_DRV_GRP(106, 0xd60, 4, 2), 127 + MTK_PIN_DRV_GRP(107, 0xd60, 4, 2), 128 + MTK_PIN_DRV_GRP(108, 0xd60, 4, 2), 129 + MTK_PIN_DRV_GRP(109, 0xd60, 4, 2), 130 + 131 + MTK_PIN_DRV_GRP(110, 0xd70, 0, 2), 132 + MTK_PIN_DRV_GRP(111, 0xd70, 0, 2), 133 + MTK_PIN_DRV_GRP(112, 0xd70, 0, 2), 134 + MTK_PIN_DRV_GRP(113, 0xd70, 0, 2), 135 + 136 + MTK_PIN_DRV_GRP(114, 0xd70, 4, 2), 137 + 138 + MTK_PIN_DRV_GRP(115, 0xd60, 12, 2), 139 + 140 + MTK_PIN_DRV_GRP(116, 0xd60, 8, 2), 141 + 142 + MTK_PIN_DRV_GRP(117, 0xd70, 0, 2), 143 + MTK_PIN_DRV_GRP(118, 0xd70, 0, 2), 144 + MTK_PIN_DRV_GRP(119, 0xd70, 0, 2), 145 + MTK_PIN_DRV_GRP(120, 0xd70, 0, 2), 146 + }; 147 + 148 + static const struct mtk_pin_spec_pupd_set_samereg mt8167_spec_pupd[] = { 149 + MTK_PIN_PUPD_SPEC_SR(14, 0xe50, 14, 13, 12), 150 + MTK_PIN_PUPD_SPEC_SR(15, 0xe60, 2, 1, 0), 151 + MTK_PIN_PUPD_SPEC_SR(16, 0xe60, 6, 5, 4), 152 + MTK_PIN_PUPD_SPEC_SR(17, 0xe60, 10, 9, 8), 153 + 154 + MTK_PIN_PUPD_SPEC_SR(21, 0xe60, 14, 13, 12), 155 + MTK_PIN_PUPD_SPEC_SR(22, 0xe70, 2, 1, 0), 156 + MTK_PIN_PUPD_SPEC_SR(23, 0xe70, 6, 5, 4), 157 + 158 + MTK_PIN_PUPD_SPEC_SR(40, 0xe80, 2, 1, 0), 159 + MTK_PIN_PUPD_SPEC_SR(41, 0xe80, 6, 5, 4), 160 + MTK_PIN_PUPD_SPEC_SR(42, 0xe90, 2, 1, 0), 161 + MTK_PIN_PUPD_SPEC_SR(43, 0xe90, 6, 5, 4), 162 + 163 + MTK_PIN_PUPD_SPEC_SR(68, 0xe50, 10, 9, 8), 164 + MTK_PIN_PUPD_SPEC_SR(69, 0xe50, 6, 5, 4), 165 + MTK_PIN_PUPD_SPEC_SR(70, 0xe40, 6, 5, 4), 166 + MTK_PIN_PUPD_SPEC_SR(71, 0xe40, 10, 9, 8), 167 + MTK_PIN_PUPD_SPEC_SR(72, 0xe40, 14, 13, 12), 168 + MTK_PIN_PUPD_SPEC_SR(73, 0xe50, 2, 1, 0), 169 + 170 + MTK_PIN_PUPD_SPEC_SR(104, 0xe40, 2, 1, 0), 171 + MTK_PIN_PUPD_SPEC_SR(105, 0xe30, 14, 13, 12), 172 + MTK_PIN_PUPD_SPEC_SR(106, 0xe20, 14, 13, 12), 173 + MTK_PIN_PUPD_SPEC_SR(107, 0xe30, 2, 1, 0), 174 + MTK_PIN_PUPD_SPEC_SR(108, 0xe30, 6, 5, 4), 175 + MTK_PIN_PUPD_SPEC_SR(109, 0xe30, 10, 9, 8), 176 + MTK_PIN_PUPD_SPEC_SR(110, 0xe10, 14, 13, 12), 177 + MTK_PIN_PUPD_SPEC_SR(111, 0xe10, 10, 9, 8), 178 + MTK_PIN_PUPD_SPEC_SR(112, 0xe10, 6, 5, 4), 179 + MTK_PIN_PUPD_SPEC_SR(113, 0xe10, 2, 1, 0), 180 + MTK_PIN_PUPD_SPEC_SR(114, 0xe20, 10, 9, 8), 181 + MTK_PIN_PUPD_SPEC_SR(115, 0xe20, 2, 1, 0), 182 + MTK_PIN_PUPD_SPEC_SR(116, 0xe20, 6, 5, 4), 183 + MTK_PIN_PUPD_SPEC_SR(117, 0xe00, 14, 13, 12), 184 + MTK_PIN_PUPD_SPEC_SR(118, 0xe00, 10, 9, 8), 185 + MTK_PIN_PUPD_SPEC_SR(119, 0xe00, 6, 5, 4), 186 + MTK_PIN_PUPD_SPEC_SR(120, 0xe00, 2, 1, 0), 187 + }; 188 + 189 + static int mt8167_spec_pull_set(struct regmap *regmap, unsigned int pin, 190 + unsigned char align, bool isup, unsigned int r1r0) 191 + { 192 + return mtk_pctrl_spec_pull_set_samereg(regmap, mt8167_spec_pupd, 193 + ARRAY_SIZE(mt8167_spec_pupd), pin, align, isup, r1r0); 194 + } 195 + 196 + static const struct mtk_pin_ies_smt_set mt8167_ies_set[] = { 197 + MTK_PIN_IES_SMT_SPEC(0, 6, 0x900, 2), 198 + MTK_PIN_IES_SMT_SPEC(7, 10, 0x900, 3), 199 + MTK_PIN_IES_SMT_SPEC(11, 13, 0x900, 12), 200 + MTK_PIN_IES_SMT_SPEC(14, 17, 0x900, 13), 201 + MTK_PIN_IES_SMT_SPEC(18, 20, 0x910, 10), 202 + MTK_PIN_IES_SMT_SPEC(21, 23, 0x900, 13), 203 + MTK_PIN_IES_SMT_SPEC(24, 25, 0x900, 12), 204 + MTK_PIN_IES_SMT_SPEC(26, 30, 0x900, 0), 205 + MTK_PIN_IES_SMT_SPEC(31, 33, 0x900, 1), 206 + MTK_PIN_IES_SMT_SPEC(34, 39, 0x900, 2), 207 + MTK_PIN_IES_SMT_SPEC(40, 40, 0x910, 11), 208 + MTK_PIN_IES_SMT_SPEC(41, 43, 0x900, 10), 209 + MTK_PIN_IES_SMT_SPEC(44, 47, 0x900, 11), 210 + MTK_PIN_IES_SMT_SPEC(48, 51, 0x900, 14), 211 + MTK_PIN_IES_SMT_SPEC(52, 53, 0x910, 0), 212 + MTK_PIN_IES_SMT_SPEC(54, 54, 0x910, 2), 213 + MTK_PIN_IES_SMT_SPEC(55, 57, 0x910, 4), 214 + MTK_PIN_IES_SMT_SPEC(58, 59, 0x900, 15), 215 + MTK_PIN_IES_SMT_SPEC(60, 61, 0x910, 1), 216 + MTK_PIN_IES_SMT_SPEC(62, 65, 0x910, 5), 217 + MTK_PIN_IES_SMT_SPEC(66, 67, 0x910, 6), 218 + MTK_PIN_IES_SMT_SPEC(68, 68, 0x930, 2), 219 + MTK_PIN_IES_SMT_SPEC(69, 69, 0x930, 1), 220 + MTK_PIN_IES_SMT_SPEC(70, 70, 0x930, 6), 221 + MTK_PIN_IES_SMT_SPEC(71, 71, 0x930, 5), 222 + MTK_PIN_IES_SMT_SPEC(72, 72, 0x930, 4), 223 + MTK_PIN_IES_SMT_SPEC(73, 73, 0x930, 3), 224 + MTK_PIN_IES_SMT_SPEC(100, 103, 0x910, 7), 225 + MTK_PIN_IES_SMT_SPEC(104, 104, 0x920, 12), 226 + MTK_PIN_IES_SMT_SPEC(105, 105, 0x920, 11), 227 + MTK_PIN_IES_SMT_SPEC(106, 106, 0x930, 0), 228 + MTK_PIN_IES_SMT_SPEC(107, 107, 0x920, 15), 229 + MTK_PIN_IES_SMT_SPEC(108, 108, 0x920, 14), 230 + MTK_PIN_IES_SMT_SPEC(109, 109, 0x920, 13), 231 + MTK_PIN_IES_SMT_SPEC(110, 110, 0x920, 9), 232 + MTK_PIN_IES_SMT_SPEC(111, 111, 0x920, 8), 233 + MTK_PIN_IES_SMT_SPEC(112, 112, 0x920, 7), 234 + MTK_PIN_IES_SMT_SPEC(113, 113, 0x920, 6), 235 + MTK_PIN_IES_SMT_SPEC(114, 114, 0x920, 10), 236 + MTK_PIN_IES_SMT_SPEC(115, 115, 0x920, 1), 237 + MTK_PIN_IES_SMT_SPEC(116, 116, 0x920, 0), 238 + MTK_PIN_IES_SMT_SPEC(117, 117, 0x920, 5), 239 + MTK_PIN_IES_SMT_SPEC(118, 118, 0x920, 4), 240 + MTK_PIN_IES_SMT_SPEC(119, 119, 0x920, 3), 241 + MTK_PIN_IES_SMT_SPEC(120, 120, 0x920, 2), 242 + MTK_PIN_IES_SMT_SPEC(121, 124, 0x910, 9), 243 + }; 244 + 245 + static const struct mtk_pin_ies_smt_set mt8167_smt_set[] = { 246 + MTK_PIN_IES_SMT_SPEC(0, 6, 0xA00, 2), 247 + MTK_PIN_IES_SMT_SPEC(7, 10, 0xA00, 3), 248 + MTK_PIN_IES_SMT_SPEC(11, 13, 0xA00, 12), 249 + MTK_PIN_IES_SMT_SPEC(14, 17, 0xA00, 13), 250 + MTK_PIN_IES_SMT_SPEC(18, 20, 0xA10, 10), 251 + MTK_PIN_IES_SMT_SPEC(21, 23, 0xA00, 13), 252 + MTK_PIN_IES_SMT_SPEC(24, 25, 0xA00, 12), 253 + MTK_PIN_IES_SMT_SPEC(26, 30, 0xA00, 0), 254 + MTK_PIN_IES_SMT_SPEC(31, 33, 0xA00, 1), 255 + MTK_PIN_IES_SMT_SPEC(34, 39, 0xA900, 2), 256 + MTK_PIN_IES_SMT_SPEC(40, 40, 0xA10, 11), 257 + MTK_PIN_IES_SMT_SPEC(41, 43, 0xA00, 10), 258 + MTK_PIN_IES_SMT_SPEC(44, 47, 0xA00, 11), 259 + MTK_PIN_IES_SMT_SPEC(48, 51, 0xA00, 14), 260 + MTK_PIN_IES_SMT_SPEC(52, 53, 0xA10, 0), 261 + MTK_PIN_IES_SMT_SPEC(54, 54, 0xA10, 2), 262 + MTK_PIN_IES_SMT_SPEC(55, 57, 0xA10, 4), 263 + MTK_PIN_IES_SMT_SPEC(58, 59, 0xA00, 15), 264 + MTK_PIN_IES_SMT_SPEC(60, 61, 0xA10, 1), 265 + MTK_PIN_IES_SMT_SPEC(62, 65, 0xA10, 5), 266 + MTK_PIN_IES_SMT_SPEC(66, 67, 0xA10, 6), 267 + MTK_PIN_IES_SMT_SPEC(68, 68, 0xA30, 2), 268 + MTK_PIN_IES_SMT_SPEC(69, 69, 0xA30, 1), 269 + MTK_PIN_IES_SMT_SPEC(70, 70, 0xA30, 3), 270 + MTK_PIN_IES_SMT_SPEC(71, 71, 0xA30, 4), 271 + MTK_PIN_IES_SMT_SPEC(72, 72, 0xA30, 5), 272 + MTK_PIN_IES_SMT_SPEC(73, 73, 0xA30, 6), 273 + 274 + MTK_PIN_IES_SMT_SPEC(100, 103, 0xA10, 7), 275 + MTK_PIN_IES_SMT_SPEC(104, 104, 0xA20, 12), 276 + MTK_PIN_IES_SMT_SPEC(105, 105, 0xA20, 11), 277 + MTK_PIN_IES_SMT_SPEC(106, 106, 0xA30, 13), 278 + MTK_PIN_IES_SMT_SPEC(107, 107, 0xA20, 14), 279 + MTK_PIN_IES_SMT_SPEC(108, 108, 0xA20, 15), 280 + MTK_PIN_IES_SMT_SPEC(109, 109, 0xA30, 0), 281 + MTK_PIN_IES_SMT_SPEC(110, 110, 0xA20, 9), 282 + MTK_PIN_IES_SMT_SPEC(111, 111, 0xA20, 8), 283 + MTK_PIN_IES_SMT_SPEC(112, 112, 0xA20, 7), 284 + MTK_PIN_IES_SMT_SPEC(113, 113, 0xA20, 6), 285 + MTK_PIN_IES_SMT_SPEC(114, 114, 0xA20, 10), 286 + MTK_PIN_IES_SMT_SPEC(115, 115, 0xA20, 1), 287 + MTK_PIN_IES_SMT_SPEC(116, 116, 0xA20, 0), 288 + MTK_PIN_IES_SMT_SPEC(117, 117, 0xA20, 5), 289 + MTK_PIN_IES_SMT_SPEC(118, 118, 0xA20, 4), 290 + MTK_PIN_IES_SMT_SPEC(119, 119, 0xA20, 3), 291 + MTK_PIN_IES_SMT_SPEC(120, 120, 0xA20, 2), 292 + MTK_PIN_IES_SMT_SPEC(121, 124, 0xA10, 9), 293 + }; 294 + 295 + static int mt8167_ies_smt_set(struct regmap *regmap, unsigned int pin, 296 + unsigned char align, int value, enum pin_config_param arg) 297 + { 298 + if (arg == PIN_CONFIG_INPUT_ENABLE) 299 + return mtk_pconf_spec_set_ies_smt_range(regmap, mt8167_ies_set, 300 + ARRAY_SIZE(mt8167_ies_set), pin, align, value); 301 + else if (arg == PIN_CONFIG_INPUT_SCHMITT_ENABLE) 302 + return mtk_pconf_spec_set_ies_smt_range(regmap, mt8167_smt_set, 303 + ARRAY_SIZE(mt8167_smt_set), pin, align, value); 304 + return -EINVAL; 305 + } 306 + 307 + static const struct mtk_pinctrl_devdata mt8167_pinctrl_data = { 308 + .pins = mtk_pins_mt8167, 309 + .npins = ARRAY_SIZE(mtk_pins_mt8167), 310 + .grp_desc = mt8167_drv_grp, 311 + .n_grp_cls = ARRAY_SIZE(mt8167_drv_grp), 312 + .pin_drv_grp = mt8167_pin_drv, 313 + .n_pin_drv_grps = ARRAY_SIZE(mt8167_pin_drv), 314 + .spec_pull_set = mt8167_spec_pull_set, 315 + .spec_ies_smt_set = mt8167_ies_smt_set, 316 + .dir_offset = 0x0000, 317 + .pullen_offset = 0x0500, 318 + .pullsel_offset = 0x0600, 319 + .dout_offset = 0x0100, 320 + .din_offset = 0x0200, 321 + .pinmux_offset = 0x0300, 322 + .type1_start = 125, 323 + .type1_end = 125, 324 + .port_shf = 4, 325 + .port_mask = 0xf, 326 + .port_align = 4, 327 + .eint_hw = { 328 + .port_mask = 7, 329 + .ports = 6, 330 + .ap_num = 169, 331 + .db_cnt = 64, 332 + }, 333 + }; 334 + 335 + static int mt8167_pinctrl_probe(struct platform_device *pdev) 336 + { 337 + return mtk_pctrl_init(pdev, &mt8167_pinctrl_data, NULL); 338 + } 339 + 340 + static const struct of_device_id mt8167_pctrl_match[] = { 341 + { 342 + .compatible = "mediatek,mt8167-pinctrl", 343 + }, 344 + {} 345 + }; 346 + 347 + MODULE_DEVICE_TABLE(of, mt8167_pctrl_match); 348 + 349 + static struct platform_driver mtk_pinctrl_driver = { 350 + .probe = mt8167_pinctrl_probe, 351 + .driver = { 352 + .name = "mediatek-mt8167-pinctrl", 353 + .of_match_table = mt8167_pctrl_match, 354 + .pm = &mtk_eint_pm_ops, 355 + }, 356 + }; 357 + 358 + static int __init mtk_pinctrl_init(void) 359 + { 360 + return platform_driver_register(&mtk_pinctrl_driver); 361 + } 362 + arch_initcall(mtk_pinctrl_init);
+1248
drivers/pinctrl/mediatek/pinctrl-mtk-mt8167.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* 3 + * Copyright (C) 2020 MediaTek Inc. 4 + */ 5 + #ifndef __PINCTRL_MTK_MT8167_H 6 + #define __PINCTRL_MTK_MT8167_H 7 + 8 + #include <linux/pinctrl/pinctrl.h> 9 + #include "pinctrl-mtk-common.h" 10 + 11 + static const struct mtk_desc_pin mtk_pins_mt8167[] = { 12 + MTK_PIN( 13 + PINCTRL_PIN(0, "EINT0"), 14 + NULL, "mt8167", 15 + MTK_EINT_FUNCTION(0, 0), 16 + MTK_FUNCTION(0, "GPIO0"), 17 + MTK_FUNCTION(1, "PWM_B"), 18 + MTK_FUNCTION(2, "DPI_CK"), 19 + MTK_FUNCTION(3, "I2S2_BCK"), 20 + MTK_FUNCTION(4, "EXT_TXD0"), 21 + MTK_FUNCTION(6, "SQICS"), 22 + MTK_FUNCTION(7, "DBG_MON_A[6]") 23 + ), 24 + MTK_PIN( 25 + PINCTRL_PIN(1, "EINT1"), 26 + NULL, "mt8167", 27 + MTK_EINT_FUNCTION(0, 1), 28 + MTK_FUNCTION(0, "GPIO1"), 29 + MTK_FUNCTION(1, "PWM_C"), 30 + MTK_FUNCTION(2, "DPI_D12"), 31 + MTK_FUNCTION(3, "I2S2_DI"), 32 + MTK_FUNCTION(4, "EXT_TXD1"), 33 + MTK_FUNCTION(5, "CONN_MCU_TDO"), 34 + MTK_FUNCTION(6, "SQISO"), 35 + MTK_FUNCTION(7, "DBG_MON_A[7]") 36 + ), 37 + MTK_PIN( 38 + PINCTRL_PIN(2, "EINT2"), 39 + NULL, "mt8167", 40 + MTK_EINT_FUNCTION(0, 2), 41 + MTK_FUNCTION(0, "GPIO2"), 42 + MTK_FUNCTION(1, "CLKM0"), 43 + MTK_FUNCTION(2, "DPI_D13"), 44 + MTK_FUNCTION(3, "I2S2_LRCK"), 45 + MTK_FUNCTION(4, "EXT_TXD2"), 46 + MTK_FUNCTION(5, "CONN_MCU_DBGACK_N"), 47 + MTK_FUNCTION(6, "SQISI"), 48 + MTK_FUNCTION(7, "DBG_MON_A[8]") 49 + ), 50 + MTK_PIN( 51 + PINCTRL_PIN(3, "EINT3"), 52 + NULL, "mt8167", 53 + MTK_EINT_FUNCTION(0, 3), 54 + MTK_FUNCTION(0, "GPIO3"), 55 + MTK_FUNCTION(1, "CLKM1"), 56 + MTK_FUNCTION(2, "DPI_D14"), 57 + MTK_FUNCTION(3, "SPI_MI"), 58 + MTK_FUNCTION(4, "EXT_TXD3"), 59 + MTK_FUNCTION(5, "CONN_MCU_DBGI_N"), 60 + MTK_FUNCTION(6, "SQIWP"), 61 + MTK_FUNCTION(7, "DBG_MON_A[9]") 62 + ), 63 + MTK_PIN( 64 + PINCTRL_PIN(4, "EINT4"), 65 + NULL, "mt8167", 66 + MTK_EINT_FUNCTION(0, 4), 67 + MTK_FUNCTION(0, "GPIO4"), 68 + MTK_FUNCTION(1, "CLKM2"), 69 + MTK_FUNCTION(2, "DPI_D15"), 70 + MTK_FUNCTION(3, "SPI_MO"), 71 + MTK_FUNCTION(4, "EXT_TXC"), 72 + MTK_FUNCTION(5, "CONN_MCU_TCK"), 73 + MTK_FUNCTION(6, "CONN_MCU_AICE_JCKC"), 74 + MTK_FUNCTION(7, "DBG_MON_A[10]") 75 + ), 76 + MTK_PIN( 77 + PINCTRL_PIN(5, "EINT5"), 78 + NULL, "mt8167", 79 + MTK_EINT_FUNCTION(0, 5), 80 + MTK_FUNCTION(0, "GPIO5"), 81 + MTK_FUNCTION(1, "UCTS2"), 82 + MTK_FUNCTION(2, "DPI_D16"), 83 + MTK_FUNCTION(3, "SPI_CSB"), 84 + MTK_FUNCTION(4, "EXT_RXER"), 85 + MTK_FUNCTION(5, "CONN_MCU_TDI"), 86 + MTK_FUNCTION(6, "CONN_TEST_CK"), 87 + MTK_FUNCTION(7, "DBG_MON_A[11]") 88 + ), 89 + MTK_PIN( 90 + PINCTRL_PIN(6, "EINT6"), 91 + NULL, "mt8167", 92 + MTK_EINT_FUNCTION(0, 6), 93 + MTK_FUNCTION(0, "GPIO6"), 94 + MTK_FUNCTION(1, "URTS2"), 95 + MTK_FUNCTION(2, "DPI_D17"), 96 + MTK_FUNCTION(3, "SPI_CLK"), 97 + MTK_FUNCTION(4, "EXT_RXC"), 98 + MTK_FUNCTION(5, "CONN_MCU_TRST_B"), 99 + MTK_FUNCTION(6, "MM_TEST_CK"), 100 + MTK_FUNCTION(7, "DBG_MON_A[12]") 101 + ), 102 + MTK_PIN( 103 + PINCTRL_PIN(7, "EINT7"), 104 + NULL, "mt8167", 105 + MTK_EINT_FUNCTION(0, 7), 106 + MTK_FUNCTION(0, "GPIO7"), 107 + MTK_FUNCTION(1, "SQIRST"), 108 + MTK_FUNCTION(2, "DPI_D6"), 109 + MTK_FUNCTION(3, "SDA1_0"), 110 + MTK_FUNCTION(4, "EXT_RXDV"), 111 + MTK_FUNCTION(5, "CONN_MCU_TMS"), 112 + MTK_FUNCTION(6, "CONN_MCU_AICE_JMSC"), 113 + MTK_FUNCTION(7, "DBG_MON_A[13]") 114 + ), 115 + MTK_PIN( 116 + PINCTRL_PIN(8, "EINT8"), 117 + NULL, "mt8167", 118 + MTK_EINT_FUNCTION(0, 8), 119 + MTK_FUNCTION(0, "GPIO8"), 120 + MTK_FUNCTION(1, "SQICK"), 121 + MTK_FUNCTION(2, "CLKM3"), 122 + MTK_FUNCTION(3, "SCL1_0"), 123 + MTK_FUNCTION(4, "EXT_RXD0"), 124 + MTK_FUNCTION(5, "ANT_SEL0"), 125 + MTK_FUNCTION(6, "DPI_D7"), 126 + MTK_FUNCTION(7, "DBG_MON_A[14]") 127 + ), 128 + MTK_PIN( 129 + PINCTRL_PIN(9, "EINT9"), 130 + NULL, "mt8167", 131 + MTK_EINT_FUNCTION(0, 9), 132 + MTK_FUNCTION(0, "GPIO9"), 133 + MTK_FUNCTION(1, "CLKM4"), 134 + MTK_FUNCTION(2, "SDA2_0"), 135 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"), 136 + MTK_FUNCTION(4, "EXT_RXD1"), 137 + MTK_FUNCTION(5, "ANT_SEL1"), 138 + MTK_FUNCTION(6, "DPI_D8"), 139 + MTK_FUNCTION(7, "DBG_MON_A[15]") 140 + ), 141 + MTK_PIN( 142 + PINCTRL_PIN(10, "EINT10"), 143 + NULL, "mt8167", 144 + MTK_EINT_FUNCTION(0, 10), 145 + MTK_FUNCTION(0, "GPIO10"), 146 + MTK_FUNCTION(1, "CLKM5"), 147 + MTK_FUNCTION(2, "SCL2_0"), 148 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"), 149 + MTK_FUNCTION(4, "EXT_RXD2"), 150 + MTK_FUNCTION(5, "ANT_SEL2"), 151 + MTK_FUNCTION(6, "DPI_D9"), 152 + MTK_FUNCTION(7, "DBG_MON_A[16]") 153 + ), 154 + MTK_PIN( 155 + PINCTRL_PIN(11, "EINT11"), 156 + NULL, "mt8167", 157 + MTK_EINT_FUNCTION(0, 11), 158 + MTK_FUNCTION(0, "GPIO11"), 159 + MTK_FUNCTION(1, "CLKM4"), 160 + MTK_FUNCTION(2, "PWM_C"), 161 + MTK_FUNCTION(3, "CONN_TEST_CK"), 162 + MTK_FUNCTION(4, "ANT_SEL3"), 163 + MTK_FUNCTION(5, "DPI_D10"), 164 + MTK_FUNCTION(6, "EXT_RXD3"), 165 + MTK_FUNCTION(7, "DBG_MON_A[17]") 166 + ), 167 + MTK_PIN( 168 + PINCTRL_PIN(12, "EINT12"), 169 + NULL, "mt8167", 170 + MTK_EINT_FUNCTION(0, 12), 171 + MTK_FUNCTION(0, "GPIO12"), 172 + MTK_FUNCTION(1, "CLKM5"), 173 + MTK_FUNCTION(2, "PWM_A"), 174 + MTK_FUNCTION(3, "SPDIF_OUT"), 175 + MTK_FUNCTION(4, "ANT_SEL4"), 176 + MTK_FUNCTION(5, "DPI_D11"), 177 + MTK_FUNCTION(6, "EXT_TXEN"), 178 + MTK_FUNCTION(7, "DBG_MON_A[18]") 179 + ), 180 + MTK_PIN( 181 + PINCTRL_PIN(13, "EINT13"), 182 + NULL, "mt8167", 183 + MTK_EINT_FUNCTION(0, 13), 184 + MTK_FUNCTION(0, "GPIO13"), 185 + MTK_FUNCTION(3, "TSF_IN"), 186 + MTK_FUNCTION(4, "ANT_SEL5"), 187 + MTK_FUNCTION(5, "DPI_D0"), 188 + MTK_FUNCTION(6, "SPDIF_IN"), 189 + MTK_FUNCTION(7, "DBG_MON_A[19]") 190 + ), 191 + MTK_PIN( 192 + PINCTRL_PIN(14, "EINT14"), 193 + NULL, "mt8167", 194 + MTK_EINT_FUNCTION(0, 14), 195 + MTK_FUNCTION(0, "GPIO14"), 196 + MTK_FUNCTION(2, "I2S_8CH_DO1"), 197 + MTK_FUNCTION(3, "TDM_RX_MCK"), 198 + MTK_FUNCTION(4, "ANT_SEL1"), 199 + MTK_FUNCTION(5, "CONN_MCU_DBGACK_N"), 200 + MTK_FUNCTION(6, "NCLE"), 201 + MTK_FUNCTION(7, "DBG_MON_B[8]") 202 + ), 203 + MTK_PIN( 204 + PINCTRL_PIN(15, "EINT15"), 205 + NULL, "mt8167", 206 + MTK_EINT_FUNCTION(0, 15), 207 + MTK_FUNCTION(0, "GPIO15"), 208 + MTK_FUNCTION(2, "I2S_8CH_LRCK"), 209 + MTK_FUNCTION(3, "TDM_RX_BCK"), 210 + MTK_FUNCTION(4, "ANT_SEL2"), 211 + MTK_FUNCTION(5, "CONN_MCU_DBGI_N"), 212 + MTK_FUNCTION(6, "NCEB1"), 213 + MTK_FUNCTION(7, "DBG_MON_B[9]") 214 + ), 215 + MTK_PIN( 216 + PINCTRL_PIN(16, "EINT16"), 217 + NULL, "mt8167", 218 + MTK_EINT_FUNCTION(0, 16), 219 + MTK_FUNCTION(0, "GPIO16"), 220 + MTK_FUNCTION(2, "I2S_8CH_BCK"), 221 + MTK_FUNCTION(3, "TDM_RX_LRCK"), 222 + MTK_FUNCTION(4, "ANT_SEL3"), 223 + MTK_FUNCTION(5, "CONN_MCU_TRST_B"), 224 + MTK_FUNCTION(6, "NCEB0"), 225 + MTK_FUNCTION(7, "DBG_MON_B[10]") 226 + ), 227 + MTK_PIN( 228 + PINCTRL_PIN(17, "EINT17"), 229 + NULL, "mt8167", 230 + MTK_EINT_FUNCTION(0, 17), 231 + MTK_FUNCTION(0, "GPIO17"), 232 + MTK_FUNCTION(2, "I2S_8CH_MCK"), 233 + MTK_FUNCTION(3, "TDM_RX_DI"), 234 + MTK_FUNCTION(4, "IDDIG"), 235 + MTK_FUNCTION(5, "ANT_SEL4"), 236 + MTK_FUNCTION(6, "NREB"), 237 + MTK_FUNCTION(7, "DBG_MON_B[11]") 238 + ), 239 + MTK_PIN( 240 + PINCTRL_PIN(18, "EINT18"), 241 + NULL, "mt8167", 242 + MTK_EINT_FUNCTION(0, 18), 243 + MTK_FUNCTION(0, "GPIO18"), 244 + MTK_FUNCTION(2, "USB_DRVVBUS"), 245 + MTK_FUNCTION(3, "I2S3_LRCK"), 246 + MTK_FUNCTION(4, "CLKM1"), 247 + MTK_FUNCTION(5, "ANT_SEL3"), 248 + MTK_FUNCTION(6, "I2S2_BCK"), 249 + MTK_FUNCTION(7, "DBG_MON_A[20]") 250 + ), 251 + MTK_PIN( 252 + PINCTRL_PIN(19, "EINT19"), 253 + NULL, "mt8167", 254 + MTK_EINT_FUNCTION(0, 19), 255 + MTK_FUNCTION(0, "GPIO19"), 256 + MTK_FUNCTION(1, "UCTS1"), 257 + MTK_FUNCTION(2, "IDDIG"), 258 + MTK_FUNCTION(3, "I2S3_BCK"), 259 + MTK_FUNCTION(4, "CLKM2"), 260 + MTK_FUNCTION(5, "ANT_SEL4"), 261 + MTK_FUNCTION(6, "I2S2_DI"), 262 + MTK_FUNCTION(7, "DBG_MON_A[21]") 263 + ), 264 + MTK_PIN( 265 + PINCTRL_PIN(20, "EINT20"), 266 + NULL, "mt8167", 267 + MTK_EINT_FUNCTION(0, 20), 268 + MTK_FUNCTION(0, "GPIO20"), 269 + MTK_FUNCTION(1, "URTS1"), 270 + MTK_FUNCTION(3, "I2S3_DO"), 271 + MTK_FUNCTION(4, "CLKM3"), 272 + MTK_FUNCTION(5, "ANT_SEL5"), 273 + MTK_FUNCTION(6, "I2S2_LRCK"), 274 + MTK_FUNCTION(7, "DBG_MON_A[22]") 275 + ), 276 + MTK_PIN( 277 + PINCTRL_PIN(21, "EINT21"), 278 + NULL, "mt8167", 279 + MTK_EINT_FUNCTION(0, 21), 280 + MTK_FUNCTION(0, "GPIO21"), 281 + MTK_FUNCTION(1, "NRNB"), 282 + MTK_FUNCTION(2, "ANT_SEL0"), 283 + MTK_FUNCTION(3, "I2S_8CH_DO4"), 284 + MTK_FUNCTION(7, "DBG_MON_B[31]") 285 + ), 286 + MTK_PIN( 287 + PINCTRL_PIN(22, "EINT22"), 288 + NULL, "mt8167", 289 + MTK_EINT_FUNCTION(0, 22), 290 + MTK_FUNCTION(0, "GPIO22"), 291 + MTK_FUNCTION(2, "I2S_8CH_DO2"), 292 + MTK_FUNCTION(3, "TSF_IN"), 293 + MTK_FUNCTION(4, "USB_DRVVBUS"), 294 + MTK_FUNCTION(5, "SPDIF_OUT"), 295 + MTK_FUNCTION(6, "NRE_C"), 296 + MTK_FUNCTION(7, "DBG_MON_B[12]") 297 + ), 298 + MTK_PIN( 299 + PINCTRL_PIN(23, "EINT23"), 300 + NULL, "mt8167", 301 + MTK_EINT_FUNCTION(0, 23), 302 + MTK_FUNCTION(0, "GPIO23"), 303 + MTK_FUNCTION(2, "I2S_8CH_DO3"), 304 + MTK_FUNCTION(3, "CLKM0"), 305 + MTK_FUNCTION(4, "IR"), 306 + MTK_FUNCTION(5, "SPDIF_IN"), 307 + MTK_FUNCTION(6, "NDQS_C"), 308 + MTK_FUNCTION(7, "DBG_MON_B[13]") 309 + ), 310 + MTK_PIN( 311 + PINCTRL_PIN(24, "EINT24"), 312 + NULL, "mt8167", 313 + MTK_EINT_FUNCTION(0, 24), 314 + MTK_FUNCTION(0, "GPIO24"), 315 + MTK_FUNCTION(1, "DPI_D20"), 316 + MTK_FUNCTION(2, "DPI_DE"), 317 + MTK_FUNCTION(3, "ANT_SEL1"), 318 + MTK_FUNCTION(4, "UCTS2"), 319 + MTK_FUNCTION(5, "PWM_A"), 320 + MTK_FUNCTION(6, "I2S0_MCK"), 321 + MTK_FUNCTION(7, "DBG_MON_A[0]") 322 + ), 323 + MTK_PIN( 324 + PINCTRL_PIN(25, "EINT25"), 325 + NULL, "mt8167", 326 + MTK_EINT_FUNCTION(0, 25), 327 + MTK_FUNCTION(0, "GPIO25"), 328 + MTK_FUNCTION(1, "DPI_D19"), 329 + MTK_FUNCTION(2, "DPI_VSYNC"), 330 + MTK_FUNCTION(3, "ANT_SEL0"), 331 + MTK_FUNCTION(4, "URTS2"), 332 + MTK_FUNCTION(5, "PWM_B"), 333 + MTK_FUNCTION(6, "I2S_8CH_MCK"), 334 + MTK_FUNCTION(7, "DBG_MON_A[1]") 335 + ), 336 + MTK_PIN( 337 + PINCTRL_PIN(26, "PWRAP_SPI0_MI"), 338 + NULL, "mt8167", 339 + MTK_EINT_FUNCTION(0, 26), 340 + MTK_FUNCTION(0, "GPIO26"), 341 + MTK_FUNCTION(1, "PWRAP_SPI0_MO"), 342 + MTK_FUNCTION(2, "PWRAP_SPI0_MI") 343 + ), 344 + MTK_PIN( 345 + PINCTRL_PIN(27, "PWRAP_SPI0_MO"), 346 + NULL, "mt8167", 347 + MTK_EINT_FUNCTION(0, 27), 348 + MTK_FUNCTION(0, "GPIO27"), 349 + MTK_FUNCTION(1, "PWRAP_SPI0_MI"), 350 + MTK_FUNCTION(2, "PWRAP_SPI0_MO") 351 + ), 352 + MTK_PIN( 353 + PINCTRL_PIN(28, "PWRAP_INT"), 354 + NULL, "mt8167", 355 + MTK_EINT_FUNCTION(0, 28), 356 + MTK_FUNCTION(0, "GPIO28"), 357 + MTK_FUNCTION(1, "I2S0_MCK"), 358 + MTK_FUNCTION(4, "I2S_8CH_MCK"), 359 + MTK_FUNCTION(5, "I2S2_MCK"), 360 + MTK_FUNCTION(6, "I2S3_MCK") 361 + ), 362 + MTK_PIN( 363 + PINCTRL_PIN(29, "PWRAP_SPI0_CK"), 364 + NULL, "mt8167", 365 + MTK_EINT_FUNCTION(0, 29), 366 + MTK_FUNCTION(0, "GPIO29"), 367 + MTK_FUNCTION(1, "PWRAP_SPI0_CK") 368 + ), 369 + MTK_PIN( 370 + PINCTRL_PIN(30, "PWRAP_SPI0_CSN"), 371 + NULL, "mt8167", 372 + MTK_EINT_FUNCTION(0, 30), 373 + MTK_FUNCTION(0, "GPIO30"), 374 + MTK_FUNCTION(1, "PWRAP_SPI0_CSN") 375 + ), 376 + MTK_PIN( 377 + PINCTRL_PIN(31, "RTC32K_CK"), 378 + NULL, "mt8167", 379 + MTK_EINT_FUNCTION(0, 31), 380 + MTK_FUNCTION(0, "GPIO31"), 381 + MTK_FUNCTION(1, "RTC32K_CK") 382 + ), 383 + MTK_PIN( 384 + PINCTRL_PIN(32, "WATCHDOG"), 385 + NULL, "mt8167", 386 + MTK_EINT_FUNCTION(0, 32), 387 + MTK_FUNCTION(0, "GPIO32"), 388 + MTK_FUNCTION(1, "WATCHDOG") 389 + ), 390 + MTK_PIN( 391 + PINCTRL_PIN(33, "SRCLKENA"), 392 + NULL, "mt8167", 393 + MTK_EINT_FUNCTION(0, 33), 394 + MTK_FUNCTION(0, "GPIO33"), 395 + MTK_FUNCTION(1, "SRCLKENA0") 396 + ), 397 + MTK_PIN( 398 + PINCTRL_PIN(34, "URXD2"), 399 + NULL, "mt8167", 400 + MTK_EINT_FUNCTION(0, 34), 401 + MTK_FUNCTION(0, "GPIO34"), 402 + MTK_FUNCTION(1, "URXD2"), 403 + MTK_FUNCTION(2, "DPI_D5"), 404 + MTK_FUNCTION(3, "UTXD2"), 405 + MTK_FUNCTION(4, "DBG_SCL"), 406 + MTK_FUNCTION(6, "I2S2_MCK"), 407 + MTK_FUNCTION(7, "DBG_MON_B[0]") 408 + ), 409 + MTK_PIN( 410 + PINCTRL_PIN(35, "UTXD2"), 411 + NULL, "mt8167", 412 + MTK_EINT_FUNCTION(0, 35), 413 + MTK_FUNCTION(0, "GPIO35"), 414 + MTK_FUNCTION(1, "UTXD2"), 415 + MTK_FUNCTION(2, "DPI_HSYNC"), 416 + MTK_FUNCTION(3, "URXD2"), 417 + MTK_FUNCTION(4, "DBG_SDA"), 418 + MTK_FUNCTION(5, "DPI_D18"), 419 + MTK_FUNCTION(6, "I2S3_MCK"), 420 + MTK_FUNCTION(7, "DBG_MON_B[1]") 421 + ), 422 + MTK_PIN( 423 + PINCTRL_PIN(36, "MRG_CLK"), 424 + NULL, "mt8167", 425 + MTK_EINT_FUNCTION(0, 36), 426 + MTK_FUNCTION(0, "GPIO36"), 427 + MTK_FUNCTION(1, "MRG_CLK"), 428 + MTK_FUNCTION(2, "DPI_D4"), 429 + MTK_FUNCTION(3, "I2S0_BCK"), 430 + MTK_FUNCTION(4, "I2S3_BCK"), 431 + MTK_FUNCTION(5, "PCM0_CLK"), 432 + MTK_FUNCTION(6, "IR"), 433 + MTK_FUNCTION(7, "DBG_MON_A[2]") 434 + ), 435 + MTK_PIN( 436 + PINCTRL_PIN(37, "MRG_SYNC"), 437 + NULL, "mt8167", 438 + MTK_EINT_FUNCTION(0, 37), 439 + MTK_FUNCTION(0, "GPIO37"), 440 + MTK_FUNCTION(1, "MRG_SYNC"), 441 + MTK_FUNCTION(2, "DPI_D3"), 442 + MTK_FUNCTION(3, "I2S0_LRCK"), 443 + MTK_FUNCTION(4, "I2S3_LRCK"), 444 + MTK_FUNCTION(5, "PCM0_SYNC"), 445 + MTK_FUNCTION(6, "EXT_COL"), 446 + MTK_FUNCTION(7, "DBG_MON_A[3]") 447 + ), 448 + MTK_PIN( 449 + PINCTRL_PIN(38, "MRG_DI"), 450 + NULL, "mt8167", 451 + MTK_EINT_FUNCTION(0, 38), 452 + MTK_FUNCTION(0, "GPIO38"), 453 + MTK_FUNCTION(1, "MRG_DI"), 454 + MTK_FUNCTION(2, "DPI_D1"), 455 + MTK_FUNCTION(3, "I2S0_DI"), 456 + MTK_FUNCTION(4, "I2S3_DO"), 457 + MTK_FUNCTION(5, "PCM0_DI"), 458 + MTK_FUNCTION(6, "EXT_MDIO"), 459 + MTK_FUNCTION(7, "DBG_MON_A[4]") 460 + ), 461 + MTK_PIN( 462 + PINCTRL_PIN(39, "MRG_DO"), 463 + NULL, "mt8167", 464 + MTK_EINT_FUNCTION(0, 39), 465 + MTK_FUNCTION(0, "GPIO39"), 466 + MTK_FUNCTION(1, "MRG_DO"), 467 + MTK_FUNCTION(2, "DPI_D2"), 468 + MTK_FUNCTION(3, "I2S0_MCK"), 469 + MTK_FUNCTION(4, "I2S3_MCK"), 470 + MTK_FUNCTION(5, "PCM0_DO"), 471 + MTK_FUNCTION(6, "EXT_MDC"), 472 + MTK_FUNCTION(7, "DBG_MON_A[5]") 473 + ), 474 + MTK_PIN( 475 + PINCTRL_PIN(40, "KPROW0"), 476 + NULL, "mt8167", 477 + MTK_EINT_FUNCTION(0, 40), 478 + MTK_FUNCTION(0, "GPIO40"), 479 + MTK_FUNCTION(1, "KPROW0"), 480 + MTK_FUNCTION(4, "IMG_TEST_CK"), 481 + MTK_FUNCTION(7, "DBG_MON_B[4]") 482 + ), 483 + MTK_PIN( 484 + PINCTRL_PIN(41, "KPROW1"), 485 + NULL, "mt8167", 486 + MTK_EINT_FUNCTION(0, 41), 487 + MTK_FUNCTION(0, "GPIO41"), 488 + MTK_FUNCTION(1, "KPROW1"), 489 + MTK_FUNCTION(2, "IDDIG"), 490 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"), 491 + MTK_FUNCTION(4, "MFG_TEST_CK"), 492 + MTK_FUNCTION(7, "DBG_MON_B[5]") 493 + ), 494 + MTK_PIN( 495 + PINCTRL_PIN(42, "KPCOL0"), 496 + NULL, "mt8167", 497 + MTK_EINT_FUNCTION(0, 42), 498 + MTK_FUNCTION(0, "GPIO42"), 499 + MTK_FUNCTION(1, "KPCOL0"), 500 + MTK_FUNCTION(7, "DBG_MON_B[6]") 501 + ), 502 + MTK_PIN( 503 + PINCTRL_PIN(43, "KPCOL1"), 504 + NULL, "mt8167", 505 + MTK_EINT_FUNCTION(0, 43), 506 + MTK_FUNCTION(0, "GPIO43"), 507 + MTK_FUNCTION(1, "KPCOL1"), 508 + MTK_FUNCTION(2, "USB_DRVVBUS"), 509 + MTK_FUNCTION(3, "EXT_FRAME_SYNC"), 510 + MTK_FUNCTION(4, "TSF_IN"), 511 + MTK_FUNCTION(5, "DFD_NTRST_XI"), 512 + MTK_FUNCTION(6, "UDI_NTRST_XI"), 513 + MTK_FUNCTION(7, "DBG_MON_B[7]") 514 + ), 515 + MTK_PIN( 516 + PINCTRL_PIN(44, "JTMS"), 517 + NULL, "mt8167", 518 + MTK_EINT_FUNCTION(0, 44), 519 + MTK_FUNCTION(0, "GPIO44"), 520 + MTK_FUNCTION(1, "JTMS"), 521 + MTK_FUNCTION(2, "CONN_MCU_TMS"), 522 + MTK_FUNCTION(3, "CONN_MCU_AICE_JMSC"), 523 + MTK_FUNCTION(4, "GPUDFD_TMS_XI"), 524 + MTK_FUNCTION(5, "DFD_TMS_XI"), 525 + MTK_FUNCTION(6, "UDI_TMS_XI") 526 + ), 527 + MTK_PIN( 528 + PINCTRL_PIN(45, "JTCK"), 529 + NULL, "mt8167", 530 + MTK_EINT_FUNCTION(0, 45), 531 + MTK_FUNCTION(0, "GPIO45"), 532 + MTK_FUNCTION(1, "JTCK"), 533 + MTK_FUNCTION(2, "CONN_MCU_TCK"), 534 + MTK_FUNCTION(3, "CONN_MCU_AICE_JCKC"), 535 + MTK_FUNCTION(4, "GPUDFD_TCK_XI"), 536 + MTK_FUNCTION(5, "DFD_TCK_XI"), 537 + MTK_FUNCTION(6, "UDI_TCK_XI") 538 + ), 539 + MTK_PIN( 540 + PINCTRL_PIN(46, "JTDI"), 541 + NULL, "mt8167", 542 + MTK_EINT_FUNCTION(0, 46), 543 + MTK_FUNCTION(0, "GPIO46"), 544 + MTK_FUNCTION(1, "JTDI"), 545 + MTK_FUNCTION(2, "CONN_MCU_TDI"), 546 + MTK_FUNCTION(4, "GPUDFD_TDI_XI"), 547 + MTK_FUNCTION(5, "DFD_TDI_XI"), 548 + MTK_FUNCTION(6, "UDI_TDI_XI") 549 + ), 550 + MTK_PIN( 551 + PINCTRL_PIN(47, "JTDO"), 552 + NULL, "mt8167", 553 + MTK_EINT_FUNCTION(0, 47), 554 + MTK_FUNCTION(0, "GPIO47"), 555 + MTK_FUNCTION(1, "JTDO"), 556 + MTK_FUNCTION(2, "CONN_MCU_TDO"), 557 + MTK_FUNCTION(4, "GPUDFD_TDO"), 558 + MTK_FUNCTION(5, "DFD_TDO"), 559 + MTK_FUNCTION(6, "UDI_TDO") 560 + ), 561 + MTK_PIN( 562 + PINCTRL_PIN(48, "SPI_CS"), 563 + NULL, "mt8167", 564 + MTK_EINT_FUNCTION(0, 48), 565 + MTK_FUNCTION(0, "GPIO48"), 566 + MTK_FUNCTION(1, "SPI_CSB"), 567 + MTK_FUNCTION(3, "I2S0_DI"), 568 + MTK_FUNCTION(4, "I2S2_BCK"), 569 + MTK_FUNCTION(7, "DBG_MON_A[23]") 570 + ), 571 + MTK_PIN( 572 + PINCTRL_PIN(49, "SPI_CK"), 573 + NULL, "mt8167", 574 + MTK_EINT_FUNCTION(0, 49), 575 + MTK_FUNCTION(0, "GPIO49"), 576 + MTK_FUNCTION(1, "SPI_CLK"), 577 + MTK_FUNCTION(3, "I2S0_LRCK"), 578 + MTK_FUNCTION(4, "I2S2_DI"), 579 + MTK_FUNCTION(7, "DBG_MON_A[24]") 580 + ), 581 + MTK_PIN( 582 + PINCTRL_PIN(50, "SPI_MI"), 583 + NULL, "mt8167", 584 + MTK_EINT_FUNCTION(0, 50), 585 + MTK_FUNCTION(0, "GPIO50"), 586 + MTK_FUNCTION(1, "SPI_MI"), 587 + MTK_FUNCTION(2, "SPI_MO"), 588 + MTK_FUNCTION(3, "I2S0_BCK"), 589 + MTK_FUNCTION(4, "I2S2_LRCK"), 590 + MTK_FUNCTION(7, "DBG_MON_A[25]") 591 + ), 592 + MTK_PIN( 593 + PINCTRL_PIN(51, "SPI_MO"), 594 + NULL, "mt8167", 595 + MTK_EINT_FUNCTION(0, 51), 596 + MTK_FUNCTION(0, "GPIO51"), 597 + MTK_FUNCTION(1, "SPI_MO"), 598 + MTK_FUNCTION(2, "SPI_MI"), 599 + MTK_FUNCTION(3, "I2S0_MCK"), 600 + MTK_FUNCTION(4, "I2S2_MCK"), 601 + MTK_FUNCTION(7, "DBG_MON_A[26]") 602 + ), 603 + MTK_PIN( 604 + PINCTRL_PIN(52, "SDA1"), 605 + NULL, "mt8167", 606 + MTK_EINT_FUNCTION(0, 52), 607 + MTK_FUNCTION(0, "GPIO52"), 608 + MTK_FUNCTION(1, "SDA1_0") 609 + ), 610 + MTK_PIN( 611 + PINCTRL_PIN(53, "SCL1"), 612 + NULL, "mt8167", 613 + MTK_EINT_FUNCTION(0, 53), 614 + MTK_FUNCTION(0, "GPIO53"), 615 + MTK_FUNCTION(1, "SCL1_0") 616 + ), 617 + MTK_PIN( 618 + PINCTRL_PIN(54, "DISP_PWM"), 619 + NULL, "mt8167", 620 + MTK_EINT_FUNCTION(0, 54), 621 + MTK_FUNCTION(0, "GPIO54"), 622 + MTK_FUNCTION(1, "DISP_PWM"), 623 + MTK_FUNCTION(2, "PWM_B"), 624 + MTK_FUNCTION(7, "DBG_MON_B[2]") 625 + ), 626 + MTK_PIN( 627 + PINCTRL_PIN(55, "I2S_DATA_IN"), 628 + NULL, "mt8167", 629 + MTK_EINT_FUNCTION(0, 55), 630 + MTK_FUNCTION(0, "GPIO55"), 631 + MTK_FUNCTION(1, "I2S0_DI"), 632 + MTK_FUNCTION(2, "UCTS0"), 633 + MTK_FUNCTION(3, "I2S3_DO"), 634 + MTK_FUNCTION(4, "I2S_8CH_DO1"), 635 + MTK_FUNCTION(5, "PWM_A"), 636 + MTK_FUNCTION(6, "I2S2_BCK"), 637 + MTK_FUNCTION(7, "DBG_MON_A[28]") 638 + ), 639 + MTK_PIN( 640 + PINCTRL_PIN(56, "I2S_LRCK"), 641 + NULL, "mt8167", 642 + MTK_EINT_FUNCTION(0, 56), 643 + MTK_FUNCTION(0, "GPIO56"), 644 + MTK_FUNCTION(1, "I2S0_LRCK"), 645 + MTK_FUNCTION(3, "I2S3_LRCK"), 646 + MTK_FUNCTION(4, "I2S_8CH_LRCK"), 647 + MTK_FUNCTION(5, "PWM_B"), 648 + MTK_FUNCTION(6, "I2S2_DI"), 649 + MTK_FUNCTION(7, "DBG_MON_A[29]") 650 + ), 651 + MTK_PIN( 652 + PINCTRL_PIN(57, "I2S_BCK"), 653 + NULL, "mt8167", 654 + MTK_EINT_FUNCTION(0, 57), 655 + MTK_FUNCTION(0, "GPIO57"), 656 + MTK_FUNCTION(1, "I2S0_BCK"), 657 + MTK_FUNCTION(2, "URTS0"), 658 + MTK_FUNCTION(3, "I2S3_BCK"), 659 + MTK_FUNCTION(4, "I2S_8CH_BCK"), 660 + MTK_FUNCTION(5, "PWM_C"), 661 + MTK_FUNCTION(6, "I2S2_LRCK"), 662 + MTK_FUNCTION(7, "DBG_MON_A[30]") 663 + ), 664 + MTK_PIN( 665 + PINCTRL_PIN(58, "SDA0"), 666 + NULL, "mt8167", 667 + MTK_EINT_FUNCTION(0, 58), 668 + MTK_FUNCTION(0, "GPIO58"), 669 + MTK_FUNCTION(1, "SDA0_0") 670 + ), 671 + MTK_PIN( 672 + PINCTRL_PIN(59, "SCL0"), 673 + NULL, "mt8167", 674 + MTK_EINT_FUNCTION(0, 59), 675 + MTK_FUNCTION(0, "GPIO59"), 676 + MTK_FUNCTION(1, "SCL0_0") 677 + ), 678 + MTK_PIN( 679 + PINCTRL_PIN(60, "SDA2"), 680 + NULL, "mt8167", 681 + MTK_EINT_FUNCTION(0, 60), 682 + MTK_FUNCTION(0, "GPIO60"), 683 + MTK_FUNCTION(1, "SDA2_0"), 684 + MTK_FUNCTION(2, "PWM_B") 685 + ), 686 + MTK_PIN( 687 + PINCTRL_PIN(61, "SCL2"), 688 + NULL, "mt8167", 689 + MTK_EINT_FUNCTION(0, 61), 690 + MTK_FUNCTION(0, "GPIO61"), 691 + MTK_FUNCTION(1, "SCL2_0"), 692 + MTK_FUNCTION(2, "PWM_C") 693 + ), 694 + MTK_PIN( 695 + PINCTRL_PIN(62, "URXD0"), 696 + NULL, "mt8167", 697 + MTK_EINT_FUNCTION(0, 62), 698 + MTK_FUNCTION(0, "GPIO62"), 699 + MTK_FUNCTION(1, "URXD0"), 700 + MTK_FUNCTION(2, "UTXD0") 701 + ), 702 + MTK_PIN( 703 + PINCTRL_PIN(63, "UTXD0"), 704 + NULL, "mt8167", 705 + MTK_EINT_FUNCTION(0, 63), 706 + MTK_FUNCTION(0, "GPIO63"), 707 + MTK_FUNCTION(1, "UTXD0"), 708 + MTK_FUNCTION(2, "URXD0") 709 + ), 710 + MTK_PIN( 711 + PINCTRL_PIN(64, "URXD1"), 712 + NULL, "mt8167", 713 + MTK_EINT_FUNCTION(0, 64), 714 + MTK_FUNCTION(0, "GPIO64"), 715 + MTK_FUNCTION(1, "URXD1"), 716 + MTK_FUNCTION(2, "UTXD1"), 717 + MTK_FUNCTION(7, "DBG_MON_A[27]") 718 + ), 719 + MTK_PIN( 720 + PINCTRL_PIN(65, "UTXD1"), 721 + NULL, "mt8167", 722 + MTK_EINT_FUNCTION(0, 65), 723 + MTK_FUNCTION(0, "GPIO65"), 724 + MTK_FUNCTION(1, "UTXD1"), 725 + MTK_FUNCTION(2, "URXD1"), 726 + MTK_FUNCTION(7, "DBG_MON_A[31]") 727 + ), 728 + MTK_PIN( 729 + PINCTRL_PIN(66, "LCM_RST"), 730 + NULL, "mt8167", 731 + MTK_EINT_FUNCTION(0, 66), 732 + MTK_FUNCTION(0, "GPIO66"), 733 + MTK_FUNCTION(1, "LCM_RST"), 734 + MTK_FUNCTION(3, "I2S0_MCK"), 735 + MTK_FUNCTION(7, "DBG_MON_B[3]") 736 + ), 737 + MTK_PIN( 738 + PINCTRL_PIN(67, "DSI_TE"), 739 + NULL, "mt8167", 740 + MTK_EINT_FUNCTION(0, 67), 741 + MTK_FUNCTION(0, "GPIO67"), 742 + MTK_FUNCTION(1, "DSI_TE"), 743 + MTK_FUNCTION(3, "I2S_8CH_MCK"), 744 + MTK_FUNCTION(7, "DBG_MON_B[14]") 745 + ), 746 + MTK_PIN( 747 + PINCTRL_PIN(68, "MSDC2_CMD"), 748 + NULL, "mt8167", 749 + MTK_EINT_FUNCTION(0, 68), 750 + MTK_FUNCTION(0, "GPIO68"), 751 + MTK_FUNCTION(1, "MSDC2_CMD"), 752 + MTK_FUNCTION(2, "I2S_8CH_DO4"), 753 + MTK_FUNCTION(3, "SDA1_0"), 754 + MTK_FUNCTION(5, "USB_SDA"), 755 + MTK_FUNCTION(6, "I2S3_BCK"), 756 + MTK_FUNCTION(7, "DBG_MON_B[15]") 757 + ), 758 + MTK_PIN( 759 + PINCTRL_PIN(69, "MSDC2_CLK"), 760 + NULL, "mt8167", 761 + MTK_EINT_FUNCTION(0, 69), 762 + MTK_FUNCTION(0, "GPIO69"), 763 + MTK_FUNCTION(1, "MSDC2_CLK"), 764 + MTK_FUNCTION(2, "I2S_8CH_DO3"), 765 + MTK_FUNCTION(3, "SCL1_0"), 766 + MTK_FUNCTION(4, "DPI_D21"), 767 + MTK_FUNCTION(5, "USB_SCL"), 768 + MTK_FUNCTION(6, "I2S3_LRCK"), 769 + MTK_FUNCTION(7, "DBG_MON_B[16]") 770 + ), 771 + MTK_PIN( 772 + PINCTRL_PIN(70, "MSDC2_DAT0"), 773 + NULL, "mt8167", 774 + MTK_EINT_FUNCTION(0, 70), 775 + MTK_FUNCTION(0, "GPIO70"), 776 + MTK_FUNCTION(1, "MSDC2_DAT0"), 777 + MTK_FUNCTION(2, "I2S_8CH_DO2"), 778 + MTK_FUNCTION(4, "DPI_D22"), 779 + MTK_FUNCTION(5, "UTXD0"), 780 + MTK_FUNCTION(6, "I2S3_DO"), 781 + MTK_FUNCTION(7, "DBG_MON_B[17]") 782 + ), 783 + MTK_PIN( 784 + PINCTRL_PIN(71, "MSDC2_DAT1"), 785 + NULL, "mt8167", 786 + MTK_EINT_FUNCTION(0, 71), 787 + MTK_FUNCTION(0, "GPIO71"), 788 + MTK_FUNCTION(1, "MSDC2_DAT1"), 789 + MTK_FUNCTION(2, "I2S_8CH_DO1"), 790 + MTK_FUNCTION(3, "PWM_A"), 791 + MTK_FUNCTION(4, "I2S3_MCK"), 792 + MTK_FUNCTION(5, "URXD0"), 793 + MTK_FUNCTION(6, "PWM_B"), 794 + MTK_FUNCTION(7, "DBG_MON_B[18]") 795 + ), 796 + MTK_PIN( 797 + PINCTRL_PIN(72, "MSDC2_DAT2"), 798 + NULL, "mt8167", 799 + MTK_EINT_FUNCTION(0, 72), 800 + MTK_FUNCTION(0, "GPIO72"), 801 + MTK_FUNCTION(1, "MSDC2_DAT2"), 802 + MTK_FUNCTION(2, "I2S_8CH_LRCK"), 803 + MTK_FUNCTION(3, "SDA2_0"), 804 + MTK_FUNCTION(4, "DPI_D23"), 805 + MTK_FUNCTION(5, "UTXD1"), 806 + MTK_FUNCTION(6, "PWM_C"), 807 + MTK_FUNCTION(7, "DBG_MON_B[19]") 808 + ), 809 + MTK_PIN( 810 + PINCTRL_PIN(73, "MSDC2_DAT3"), 811 + NULL, "mt8167", 812 + MTK_EINT_FUNCTION(0, 73), 813 + MTK_FUNCTION(0, "GPIO73"), 814 + MTK_FUNCTION(1, "MSDC2_DAT3"), 815 + MTK_FUNCTION(2, "I2S_8CH_BCK"), 816 + MTK_FUNCTION(3, "SCL2_0"), 817 + MTK_FUNCTION(4, "EXT_FRAME_SYNC"), 818 + MTK_FUNCTION(5, "URXD1"), 819 + MTK_FUNCTION(6, "PWM_A"), 820 + MTK_FUNCTION(7, "DBG_MON_B[20]") 821 + ), 822 + MTK_PIN( 823 + PINCTRL_PIN(74, "TDN3"), 824 + NULL, "mt8167", 825 + MTK_EINT_FUNCTION(0, 74), 826 + MTK_FUNCTION(0, "GPI74"), 827 + MTK_FUNCTION(1, "TDN3") 828 + ), 829 + MTK_PIN( 830 + PINCTRL_PIN(75, "TDP3"), 831 + NULL, "mt8167", 832 + MTK_EINT_FUNCTION(0, 75), 833 + MTK_FUNCTION(0, "GPI75"), 834 + MTK_FUNCTION(1, "TDP3") 835 + ), 836 + MTK_PIN( 837 + PINCTRL_PIN(76, "TDN2"), 838 + NULL, "mt8167", 839 + MTK_EINT_FUNCTION(0, 76), 840 + MTK_FUNCTION(0, "GPI76"), 841 + MTK_FUNCTION(1, "TDN2") 842 + ), 843 + MTK_PIN( 844 + PINCTRL_PIN(77, "TDP2"), 845 + NULL, "mt8167", 846 + MTK_EINT_FUNCTION(0, 77), 847 + MTK_FUNCTION(0, "GPI77"), 848 + MTK_FUNCTION(1, "TDP2") 849 + ), 850 + MTK_PIN( 851 + PINCTRL_PIN(78, "TCN"), 852 + NULL, "mt8167", 853 + MTK_EINT_FUNCTION(0, 78), 854 + MTK_FUNCTION(0, "GPI78"), 855 + MTK_FUNCTION(1, "TCN") 856 + ), 857 + MTK_PIN( 858 + PINCTRL_PIN(79, "TCP"), 859 + NULL, "mt8167", 860 + MTK_EINT_FUNCTION(0, 79), 861 + MTK_FUNCTION(0, "GPI79"), 862 + MTK_FUNCTION(1, "TCP") 863 + ), 864 + MTK_PIN( 865 + PINCTRL_PIN(80, "TDN1"), 866 + NULL, "mt8167", 867 + MTK_EINT_FUNCTION(0, 80), 868 + MTK_FUNCTION(0, "GPI80"), 869 + MTK_FUNCTION(1, "TDN1") 870 + ), 871 + MTK_PIN( 872 + PINCTRL_PIN(81, "TDP1"), 873 + NULL, "mt8167", 874 + MTK_EINT_FUNCTION(0, 81), 875 + MTK_FUNCTION(0, "GPI81"), 876 + MTK_FUNCTION(1, "TDP1") 877 + ), 878 + MTK_PIN( 879 + PINCTRL_PIN(82, "TDN0"), 880 + NULL, "mt8167", 881 + MTK_EINT_FUNCTION(0, 82), 882 + MTK_FUNCTION(0, "GPI82"), 883 + MTK_FUNCTION(1, "TDN0") 884 + ), 885 + MTK_PIN( 886 + PINCTRL_PIN(83, "TDP0"), 887 + NULL, "mt8167", 888 + MTK_EINT_FUNCTION(0, 83), 889 + MTK_FUNCTION(0, "GPI83"), 890 + MTK_FUNCTION(1, "TDP0") 891 + ), 892 + MTK_PIN( 893 + PINCTRL_PIN(84, "RDN0"), 894 + NULL, "mt8167", 895 + MTK_EINT_FUNCTION(0, 84), 896 + MTK_FUNCTION(0, "GPI84"), 897 + MTK_FUNCTION(1, "RDN0") 898 + ), 899 + MTK_PIN( 900 + PINCTRL_PIN(85, "RDP0"), 901 + NULL, "mt8167", 902 + MTK_EINT_FUNCTION(0, 85), 903 + MTK_FUNCTION(0, "GPI85"), 904 + MTK_FUNCTION(1, "RDP0") 905 + ), 906 + MTK_PIN( 907 + PINCTRL_PIN(86, "RDN1"), 908 + NULL, "mt8167", 909 + MTK_EINT_FUNCTION(0, 86), 910 + MTK_FUNCTION(0, "GPI86"), 911 + MTK_FUNCTION(1, "RDN1") 912 + ), 913 + MTK_PIN( 914 + PINCTRL_PIN(87, "RDP1"), 915 + NULL, "mt8167", 916 + MTK_EINT_FUNCTION(0, 87), 917 + MTK_FUNCTION(0, "GPI87"), 918 + MTK_FUNCTION(1, "RDP1") 919 + ), 920 + MTK_PIN( 921 + PINCTRL_PIN(88, "RCN"), 922 + NULL, "mt8167", 923 + MTK_EINT_FUNCTION(0, 88), 924 + MTK_FUNCTION(0, "GPI88"), 925 + MTK_FUNCTION(1, "RCN") 926 + ), 927 + MTK_PIN( 928 + PINCTRL_PIN(89, "RCP"), 929 + NULL, "mt8167", 930 + MTK_EINT_FUNCTION(0, 89), 931 + MTK_FUNCTION(0, "GPI89"), 932 + MTK_FUNCTION(1, "RCP") 933 + ), 934 + MTK_PIN( 935 + PINCTRL_PIN(90, "RDN2"), 936 + NULL, "mt8167", 937 + MTK_EINT_FUNCTION(0, 90), 938 + MTK_FUNCTION(0, "GPI90"), 939 + MTK_FUNCTION(1, "RDN2"), 940 + MTK_FUNCTION(2, "CMDAT8") 941 + ), 942 + MTK_PIN( 943 + PINCTRL_PIN(91, "RDP2"), 944 + NULL, "mt8167", 945 + MTK_EINT_FUNCTION(0, 91), 946 + MTK_FUNCTION(0, "GPI91"), 947 + MTK_FUNCTION(1, "RDP2"), 948 + MTK_FUNCTION(2, "CMDAT9") 949 + ), 950 + MTK_PIN( 951 + PINCTRL_PIN(92, "RDN3"), 952 + NULL, "mt8167", 953 + MTK_EINT_FUNCTION(0, 92), 954 + MTK_FUNCTION(0, "GPI92"), 955 + MTK_FUNCTION(1, "RDN3"), 956 + MTK_FUNCTION(2, "CMDAT4") 957 + ), 958 + MTK_PIN( 959 + PINCTRL_PIN(93, "RDP3"), 960 + NULL, "mt8167", 961 + MTK_EINT_FUNCTION(0, 93), 962 + MTK_FUNCTION(0, "GPI93"), 963 + MTK_FUNCTION(1, "RDP3"), 964 + MTK_FUNCTION(2, "CMDAT5") 965 + ), 966 + MTK_PIN( 967 + PINCTRL_PIN(94, "RCN_A"), 968 + NULL, "mt8167", 969 + MTK_EINT_FUNCTION(0, 94), 970 + MTK_FUNCTION(0, "GPI94"), 971 + MTK_FUNCTION(1, "RCN_A"), 972 + MTK_FUNCTION(2, "CMDAT6") 973 + ), 974 + MTK_PIN( 975 + PINCTRL_PIN(95, "RCP_A"), 976 + NULL, "mt8167", 977 + MTK_EINT_FUNCTION(0, 95), 978 + MTK_FUNCTION(0, "GPI95"), 979 + MTK_FUNCTION(1, "RCP_A"), 980 + MTK_FUNCTION(2, "CMDAT7") 981 + ), 982 + MTK_PIN( 983 + PINCTRL_PIN(96, "RDN1_A"), 984 + NULL, "mt8167", 985 + MTK_EINT_FUNCTION(0, 96), 986 + MTK_FUNCTION(0, "GPI96"), 987 + MTK_FUNCTION(1, "RDN1_A"), 988 + MTK_FUNCTION(2, "CMDAT2"), 989 + MTK_FUNCTION(3, "CMCSD2") 990 + ), 991 + MTK_PIN( 992 + PINCTRL_PIN(97, "RDP1_A"), 993 + NULL, "mt8167", 994 + MTK_EINT_FUNCTION(0, 97), 995 + MTK_FUNCTION(0, "GPI97"), 996 + MTK_FUNCTION(1, "RDP1_A"), 997 + MTK_FUNCTION(2, "CMDAT3"), 998 + MTK_FUNCTION(3, "CMCSD3") 999 + ), 1000 + MTK_PIN( 1001 + PINCTRL_PIN(98, "RDN0_A"), 1002 + NULL, "mt8167", 1003 + MTK_EINT_FUNCTION(0, 98), 1004 + MTK_FUNCTION(0, "GPI98"), 1005 + MTK_FUNCTION(1, "RDN0_A"), 1006 + MTK_FUNCTION(2, "CMHSYNC") 1007 + ), 1008 + MTK_PIN( 1009 + PINCTRL_PIN(99, "RDP0_A"), 1010 + NULL, "mt8167", 1011 + MTK_EINT_FUNCTION(0, 99), 1012 + MTK_FUNCTION(0, "GPI99"), 1013 + MTK_FUNCTION(1, "RDP0_A"), 1014 + MTK_FUNCTION(2, "CMVSYNC") 1015 + ), 1016 + MTK_PIN( 1017 + PINCTRL_PIN(100, "CMDAT0"), 1018 + NULL, "mt8167", 1019 + MTK_EINT_FUNCTION(0, 100), 1020 + MTK_FUNCTION(0, "GPIO100"), 1021 + MTK_FUNCTION(1, "CMDAT0"), 1022 + MTK_FUNCTION(2, "CMCSD0"), 1023 + MTK_FUNCTION(3, "ANT_SEL2"), 1024 + MTK_FUNCTION(5, "TDM_RX_MCK"), 1025 + MTK_FUNCTION(7, "DBG_MON_B[21]") 1026 + ), 1027 + MTK_PIN( 1028 + PINCTRL_PIN(101, "CMDAT1"), 1029 + NULL, "mt8167", 1030 + MTK_EINT_FUNCTION(0, 101), 1031 + MTK_FUNCTION(0, "GPIO101"), 1032 + MTK_FUNCTION(1, "CMDAT1"), 1033 + MTK_FUNCTION(2, "CMCSD1"), 1034 + MTK_FUNCTION(3, "ANT_SEL3"), 1035 + MTK_FUNCTION(4, "CMFLASH"), 1036 + MTK_FUNCTION(5, "TDM_RX_BCK"), 1037 + MTK_FUNCTION(7, "DBG_MON_B[22]") 1038 + ), 1039 + MTK_PIN( 1040 + PINCTRL_PIN(102, "CMMCLK"), 1041 + NULL, "mt8167", 1042 + MTK_EINT_FUNCTION(0, 102), 1043 + MTK_FUNCTION(0, "GPIO102"), 1044 + MTK_FUNCTION(1, "CMMCLK"), 1045 + MTK_FUNCTION(3, "ANT_SEL4"), 1046 + MTK_FUNCTION(5, "TDM_RX_LRCK"), 1047 + MTK_FUNCTION(7, "DBG_MON_B[23]") 1048 + ), 1049 + MTK_PIN( 1050 + PINCTRL_PIN(103, "CMPCLK"), 1051 + NULL, "mt8167", 1052 + MTK_EINT_FUNCTION(0, 103), 1053 + MTK_FUNCTION(0, "GPIO103"), 1054 + MTK_FUNCTION(1, "CMPCLK"), 1055 + MTK_FUNCTION(2, "CMCSK"), 1056 + MTK_FUNCTION(3, "ANT_SEL5"), 1057 + MTK_FUNCTION(5, " TDM_RX_DI"), 1058 + MTK_FUNCTION(7, "DBG_MON_B[24]") 1059 + ), 1060 + MTK_PIN( 1061 + PINCTRL_PIN(104, "MSDC1_CMD"), 1062 + NULL, "mt8167", 1063 + MTK_EINT_FUNCTION(0, 104), 1064 + MTK_FUNCTION(0, "GPIO104"), 1065 + MTK_FUNCTION(1, "MSDC1_CMD"), 1066 + MTK_FUNCTION(4, "SQICS"), 1067 + MTK_FUNCTION(7, "DBG_MON_B[25]") 1068 + ), 1069 + MTK_PIN( 1070 + PINCTRL_PIN(105, "MSDC1_CLK"), 1071 + NULL, "mt8167", 1072 + MTK_EINT_FUNCTION(0, 105), 1073 + MTK_FUNCTION(0, "GPIO105"), 1074 + MTK_FUNCTION(1, "MSDC1_CLK"), 1075 + MTK_FUNCTION(2, "UDI_NTRST_XI"), 1076 + MTK_FUNCTION(3, "DFD_NTRST_XI"), 1077 + MTK_FUNCTION(4, "SQISO"), 1078 + MTK_FUNCTION(5, "GPUEJ_NTRST_XI"), 1079 + MTK_FUNCTION(7, "DBG_MON_B[26]") 1080 + ), 1081 + MTK_PIN( 1082 + PINCTRL_PIN(106, "MSDC1_DAT0"), 1083 + NULL, "mt8167", 1084 + MTK_EINT_FUNCTION(0, 106), 1085 + MTK_FUNCTION(0, "GPIO106"), 1086 + MTK_FUNCTION(1, "MSDC1_DAT0"), 1087 + MTK_FUNCTION(2, "UDI_TMS_XI"), 1088 + MTK_FUNCTION(3, "DFD_TMS_XI"), 1089 + MTK_FUNCTION(4, "SQISI"), 1090 + MTK_FUNCTION(5, "GPUEJ_TMS_XI"), 1091 + MTK_FUNCTION(7, "DBG_MON_B[27]") 1092 + ), 1093 + MTK_PIN( 1094 + PINCTRL_PIN(107, "MSDC1_DAT1"), 1095 + NULL, "mt8167", 1096 + MTK_EINT_FUNCTION(0, 107), 1097 + MTK_FUNCTION(0, "GPIO107"), 1098 + MTK_FUNCTION(1, "MSDC1_DAT1"), 1099 + MTK_FUNCTION(2, "UDI_TCK_XI"), 1100 + MTK_FUNCTION(3, "DFD_TCK_XI"), 1101 + MTK_FUNCTION(4, "SQIWP"), 1102 + MTK_FUNCTION(5, "GPUEJ_TCK_XI"), 1103 + MTK_FUNCTION(7, "DBG_MON_B[28]") 1104 + ), 1105 + MTK_PIN( 1106 + PINCTRL_PIN(108, "MSDC1_DAT2"), 1107 + NULL, "mt8167", 1108 + MTK_EINT_FUNCTION(0, 108), 1109 + MTK_FUNCTION(0, "GPIO108"), 1110 + MTK_FUNCTION(1, "MSDC1_DAT2"), 1111 + MTK_FUNCTION(2, "UDI_TDI_XI"), 1112 + MTK_FUNCTION(3, "DFD_TDI_XI"), 1113 + MTK_FUNCTION(4, "SQIRST"), 1114 + MTK_FUNCTION(5, "GPUEJ_TDI_XI"), 1115 + MTK_FUNCTION(7, "DBG_MON_B[29]") 1116 + ), 1117 + MTK_PIN( 1118 + PINCTRL_PIN(109, "MSDC1_DAT3"), 1119 + NULL, "mt8167", 1120 + MTK_EINT_FUNCTION(0, 109), 1121 + MTK_FUNCTION(0, "GPIO109"), 1122 + MTK_FUNCTION(1, "MSDC1_DAT3"), 1123 + MTK_FUNCTION(2, "UDI_TDO"), 1124 + MTK_FUNCTION(3, "DFD_TDO"), 1125 + MTK_FUNCTION(4, "SQICK"), 1126 + MTK_FUNCTION(5, "GPUEJ_TDO"), 1127 + MTK_FUNCTION(7, "DBG_MON_B[30]") 1128 + ), 1129 + MTK_PIN( 1130 + PINCTRL_PIN(110, "MSDC0_DAT7"), 1131 + NULL, "mt8167", 1132 + MTK_EINT_FUNCTION(0, 110), 1133 + MTK_FUNCTION(0, "GPIO110"), 1134 + MTK_FUNCTION(1, "MSDC0_DAT7"), 1135 + MTK_FUNCTION(4, "NLD7") 1136 + ), 1137 + MTK_PIN( 1138 + PINCTRL_PIN(111, "MSDC0_DAT6"), 1139 + NULL, "mt8167", 1140 + MTK_EINT_FUNCTION(0, 111), 1141 + MTK_FUNCTION(0, "GPIO111"), 1142 + MTK_FUNCTION(1, "MSDC0_DAT6"), 1143 + MTK_FUNCTION(4, "NLD6") 1144 + ), 1145 + MTK_PIN( 1146 + PINCTRL_PIN(112, "MSDC0_DAT5"), 1147 + NULL, "mt8167", 1148 + MTK_EINT_FUNCTION(0, 112), 1149 + MTK_FUNCTION(0, "GPIO112"), 1150 + MTK_FUNCTION(1, "MSDC0_DAT5"), 1151 + MTK_FUNCTION(4, "NLD4") 1152 + ), 1153 + MTK_PIN( 1154 + PINCTRL_PIN(113, "MSDC0_DAT4"), 1155 + NULL, "mt8167", 1156 + MTK_EINT_FUNCTION(0, 113), 1157 + MTK_FUNCTION(0, "GPIO113"), 1158 + MTK_FUNCTION(1, "MSDC0_DAT4"), 1159 + MTK_FUNCTION(4, "NLD3") 1160 + ), 1161 + MTK_PIN( 1162 + PINCTRL_PIN(114, "MSDC0_RSTB"), 1163 + NULL, "mt8167", 1164 + MTK_EINT_FUNCTION(0, 114), 1165 + MTK_FUNCTION(0, "GPIO114"), 1166 + MTK_FUNCTION(1, "MSDC0_RSTB"), 1167 + MTK_FUNCTION(4, "NLD0") 1168 + ), 1169 + MTK_PIN( 1170 + PINCTRL_PIN(115, "MSDC0_CMD"), 1171 + NULL, "mt8167", 1172 + MTK_EINT_FUNCTION(0, 115), 1173 + MTK_FUNCTION(0, "GPIO115"), 1174 + MTK_FUNCTION(1, "MSDC0_CMD"), 1175 + MTK_FUNCTION(4, "NALE") 1176 + ), 1177 + MTK_PIN( 1178 + PINCTRL_PIN(116, "MSDC0_CLK"), 1179 + NULL, "mt8167", 1180 + MTK_EINT_FUNCTION(0, 116), 1181 + MTK_FUNCTION(0, "GPIO116"), 1182 + MTK_FUNCTION(1, "MSDC0_CLK"), 1183 + MTK_FUNCTION(4, "NWEB") 1184 + ), 1185 + MTK_PIN( 1186 + PINCTRL_PIN(117, "MSDC0_DAT3"), 1187 + NULL, "mt8167", 1188 + MTK_EINT_FUNCTION(0, 117), 1189 + MTK_FUNCTION(0, "GPIO117"), 1190 + MTK_FUNCTION(1, "MSDC0_DAT3"), 1191 + MTK_FUNCTION(4, "NLD1") 1192 + ), 1193 + MTK_PIN( 1194 + PINCTRL_PIN(118, "MSDC0_DAT2"), 1195 + NULL, "mt8167", 1196 + MTK_EINT_FUNCTION(0, 118), 1197 + MTK_FUNCTION(0, "GPIO118"), 1198 + MTK_FUNCTION(1, "MSDC0_DAT2"), 1199 + MTK_FUNCTION(4, "NLD5") 1200 + ), 1201 + MTK_PIN( 1202 + PINCTRL_PIN(119, "MSDC0_DAT1"), 1203 + NULL, "mt8167", 1204 + MTK_EINT_FUNCTION(0, 119), 1205 + MTK_FUNCTION(0, "GPIO119"), 1206 + MTK_FUNCTION(1, "MSDC0_DAT1"), 1207 + MTK_FUNCTION(4, "NLD8") 1208 + ), 1209 + MTK_PIN( 1210 + PINCTRL_PIN(120, "MSDC0_DAT0"), 1211 + NULL, "mt8167", 1212 + MTK_EINT_FUNCTION(0, 120), 1213 + MTK_FUNCTION(0, "GPIO120"), 1214 + MTK_FUNCTION(1, "MSDC0_DAT0"), 1215 + MTK_FUNCTION(4, "WATCHDOG"), 1216 + MTK_FUNCTION(5, "NLD2") 1217 + ), 1218 + MTK_PIN( 1219 + PINCTRL_PIN(121, "CEC"), 1220 + NULL, "mt8167", 1221 + MTK_EINT_FUNCTION(0, 121), 1222 + MTK_FUNCTION(0, "GPIO121"), 1223 + MTK_FUNCTION(1, "CEC") 1224 + ), 1225 + MTK_PIN( 1226 + PINCTRL_PIN(122, "HTPLG"), 1227 + NULL, "mt8167", 1228 + MTK_EINT_FUNCTION(0, 122), 1229 + MTK_FUNCTION(0, "GPIO122"), 1230 + MTK_FUNCTION(1, "HTPLG") 1231 + ), 1232 + MTK_PIN( 1233 + PINCTRL_PIN(123, "HDMISCK"), 1234 + NULL, "mt8167", 1235 + MTK_EINT_FUNCTION(0, 123), 1236 + MTK_FUNCTION(0, "GPIO123"), 1237 + MTK_FUNCTION(1, "HDMISCK") 1238 + ), 1239 + MTK_PIN( 1240 + PINCTRL_PIN(124, "HDMISD"), 1241 + NULL, "mt8167", 1242 + MTK_EINT_FUNCTION(0, 124), 1243 + MTK_FUNCTION(0, "GPIO124"), 1244 + MTK_FUNCTION(1, "HDMISD") 1245 + ), 1246 + }; 1247 + 1248 + #endif /* __PINCTRL_MTK_MT8167_H */