brintos

brintos / linux-shallow public Read only

0
0
Text · 44.6 KiB · 83345c5 Raw
981 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * Copyright (C) 2020 MediaTek Inc.4 *5 * Author: Zhiyong Tao <zhiyong.tao@mediatek.com>6 *7 */8 9#include "pinctrl-mtk-mt8195.h"10#include "pinctrl-paris.h"11 12/* MT8195 have multiple bases to program pin configuration listed as the below:13 * iocfg[0]:0x10005000, iocfg[1]:0x11d10000, iocfg[2]:0x11d30000,14 * iocfg[3]:0x11d40000, iocfg[4]:0x11e20000, iocfg[5]:0x11eb0000,15 * iocfg[6]:0x11f40000.16 * _i_based could be used to indicate what base the pin should be mapped into.17 */18 19#define PIN_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \20	PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits, \21		       32, 0)22 23#define PINS_FIELD_BASE(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits) \24	PIN_FIELD_CALC(s_pin, e_pin, i_base, s_addr, x_addrs, s_bit, x_bits,  \25		       32, 1)26 27static const struct mtk_pin_field_calc mt8195_pin_mode_range[] = {28	PIN_FIELD(0, 144, 0x300, 0x10, 0, 4),29};30 31static const struct mtk_pin_field_calc mt8195_pin_dir_range[] = {32	PIN_FIELD(0, 144, 0x0, 0x10, 0, 1),33};34 35static const struct mtk_pin_field_calc mt8195_pin_di_range[] = {36	PIN_FIELD(0, 144, 0x200, 0x10, 0, 1),37};38 39static const struct mtk_pin_field_calc mt8195_pin_do_range[] = {40	PIN_FIELD(0, 144, 0x100, 0x10, 0, 1),41};42 43static const struct mtk_pin_field_calc mt8195_pin_ies_range[] = {44	PIN_FIELD_BASE(0, 0, 4, 0x040, 0x10, 0, 1),45	PIN_FIELD_BASE(1, 1, 4, 0x040, 0x10, 1, 1),46	PIN_FIELD_BASE(2, 2, 4, 0x040, 0x10, 2, 1),47	PIN_FIELD_BASE(3, 3, 4, 0x040, 0x10, 3, 1),48	PIN_FIELD_BASE(4, 4, 4, 0x040, 0x10, 4, 1),49	PIN_FIELD_BASE(5, 5, 4, 0x040, 0x10, 5, 1),50	PIN_FIELD_BASE(6, 6, 4, 0x040, 0x10, 6, 1),51	PIN_FIELD_BASE(7, 7, 4, 0x040, 0x10, 7, 1),52	PIN_FIELD_BASE(8, 8, 4, 0x040, 0x10, 13, 1),53	PIN_FIELD_BASE(9, 9, 4, 0x040, 0x10, 8, 1),54	PIN_FIELD_BASE(10, 10, 4, 0x040, 0x10, 14, 1),55	PIN_FIELD_BASE(11, 11, 4, 0x040, 0x10, 9, 1),56	PIN_FIELD_BASE(12, 12, 4, 0x040, 0x10, 15, 1),57	PIN_FIELD_BASE(13, 13, 4, 0x040, 0x10, 10, 1),58	PIN_FIELD_BASE(14, 14, 4, 0x040, 0x10, 16, 1),59	PIN_FIELD_BASE(15, 15, 4, 0x040, 0x10, 11, 1),60	PIN_FIELD_BASE(16, 16, 4, 0x040, 0x10, 17, 1),61	PIN_FIELD_BASE(17, 17, 4, 0x040, 0x10, 12, 1),62	PIN_FIELD_BASE(18, 18, 2, 0x040, 0x10, 5, 1),63	PIN_FIELD_BASE(19, 19, 2, 0x040, 0x10, 12, 1),64	PIN_FIELD_BASE(20, 20, 2, 0x040, 0x10, 11, 1),65	PIN_FIELD_BASE(21, 21, 2, 0x040, 0x10, 10, 1),66	PIN_FIELD_BASE(22, 22, 2, 0x040, 0x10, 0, 1),67	PIN_FIELD_BASE(23, 23, 2, 0x040, 0x10, 1, 1),68	PIN_FIELD_BASE(24, 24, 2, 0x040, 0x10, 2, 1),69	PIN_FIELD_BASE(25, 25, 2, 0x040, 0x10, 4, 1),70	PIN_FIELD_BASE(26, 26, 2, 0x040, 0x10, 3, 1),71	PIN_FIELD_BASE(27, 27, 2, 0x040, 0x10, 6, 1),72	PIN_FIELD_BASE(28, 28, 2, 0x040, 0x10, 7, 1),73	PIN_FIELD_BASE(29, 29, 2, 0x040, 0x10, 8, 1),74	PIN_FIELD_BASE(30, 30, 2, 0x040, 0x10, 9, 1),75	PIN_FIELD_BASE(31, 31, 1, 0x060, 0x10, 13, 1),76	PIN_FIELD_BASE(32, 32, 1, 0x060, 0x10, 12, 1),77	PIN_FIELD_BASE(33, 33, 1, 0x060, 0x10, 11, 1),78	PIN_FIELD_BASE(34, 34, 1, 0x060, 0x10, 14, 1),79	PIN_FIELD_BASE(35, 35, 1, 0x060, 0x10, 15, 1),80	PIN_FIELD_BASE(36, 36, 1, 0x070, 0x10, 3, 1),81	PIN_FIELD_BASE(37, 37, 1, 0x070, 0x10, 6, 1),82	PIN_FIELD_BASE(38, 38, 1, 0x070, 0x10, 4, 1),83	PIN_FIELD_BASE(39, 39, 1, 0x070, 0x10, 5, 1),84	PIN_FIELD_BASE(40, 40, 1, 0x070, 0x10, 8, 1),85	PIN_FIELD_BASE(41, 41, 1, 0x070, 0x10, 7, 1),86	PIN_FIELD_BASE(42, 42, 1, 0x070, 0x10, 10, 1),87	PIN_FIELD_BASE(43, 43, 1, 0x070, 0x10, 9, 1),88	PIN_FIELD_BASE(44, 44, 1, 0x070, 0x10, 20, 1),89	PIN_FIELD_BASE(45, 45, 1, 0x070, 0x10, 21, 1),90	PIN_FIELD_BASE(46, 46, 1, 0x060, 0x10, 18, 1),91	PIN_FIELD_BASE(47, 47, 1, 0x060, 0x10, 16, 1),92	PIN_FIELD_BASE(48, 48, 1, 0x060, 0x10, 19, 1),93	PIN_FIELD_BASE(49, 49, 1, 0x060, 0x10, 17, 1),94	PIN_FIELD_BASE(50, 50, 1, 0x060, 0x10, 25, 1),95	PIN_FIELD_BASE(51, 51, 1, 0x060, 0x10, 20, 1),96	PIN_FIELD_BASE(52, 52, 1, 0x060, 0x10, 26, 1),97	PIN_FIELD_BASE(53, 53, 1, 0x060, 0x10, 21, 1),98	PIN_FIELD_BASE(54, 54, 1, 0x060, 0x10, 22, 1),99	PIN_FIELD_BASE(55, 55, 1, 0x060, 0x10, 23, 1),100	PIN_FIELD_BASE(56, 56, 1, 0x060, 0x10, 24, 1),101	PIN_FIELD_BASE(57, 57, 1, 0x060, 0x10, 29, 1),102	PIN_FIELD_BASE(58, 58, 1, 0x060, 0x10, 27, 1),103	PIN_FIELD_BASE(59, 59, 1, 0x060, 0x10, 30, 1),104	PIN_FIELD_BASE(60, 60, 1, 0x060, 0x10, 28, 1),105	PIN_FIELD_BASE(61, 61, 1, 0x060, 0x10, 8, 1),106	PIN_FIELD_BASE(62, 62, 1, 0x060, 0x10, 7, 1),107	PIN_FIELD_BASE(63, 63, 1, 0x060, 0x10, 10, 1),108	PIN_FIELD_BASE(64, 64, 1, 0x060, 0x10, 9, 1),109	PIN_FIELD_BASE(65, 65, 1, 0x070, 0x10, 1, 1),110	PIN_FIELD_BASE(66, 66, 1, 0x060, 0x10, 31, 1),111	PIN_FIELD_BASE(67, 67, 1, 0x070, 0x10, 0, 1),112	PIN_FIELD_BASE(68, 68, 1, 0x070, 0x10, 2, 1),113	PIN_FIELD_BASE(69, 69, 1, 0x060, 0x10, 0, 1),114	PIN_FIELD_BASE(70, 70, 1, 0x060, 0x10, 6, 1),115	PIN_FIELD_BASE(71, 71, 1, 0x060, 0x10, 4, 1),116	PIN_FIELD_BASE(72, 72, 1, 0x060, 0x10, 5, 1),117	PIN_FIELD_BASE(73, 73, 1, 0x060, 0x10, 1, 1),118	PIN_FIELD_BASE(74, 74, 1, 0x060, 0x10, 2, 1),119	PIN_FIELD_BASE(75, 75, 1, 0x060, 0x10, 3, 1),120	PIN_FIELD_BASE(76, 76, 1, 0x070, 0x10, 11, 1),121	PIN_FIELD_BASE(77, 77, 3, 0x030, 0x10, 1, 1),122	PIN_FIELD_BASE(78, 78, 3, 0x030, 0x10, 2, 1),123	PIN_FIELD_BASE(79, 79, 3, 0x030, 0x10, 9, 1),124	PIN_FIELD_BASE(80, 80, 3, 0x030, 0x10, 10, 1),125	PIN_FIELD_BASE(81, 81, 3, 0x030, 0x10, 11, 1),126	PIN_FIELD_BASE(82, 82, 3, 0x030, 0x10, 12, 1),127	PIN_FIELD_BASE(83, 83, 3, 0x030, 0x10, 13, 1),128	PIN_FIELD_BASE(84, 84, 3, 0x030, 0x10, 14, 1),129	PIN_FIELD_BASE(85, 85, 3, 0x030, 0x10, 15, 1),130	PIN_FIELD_BASE(86, 86, 3, 0x030, 0x10, 16, 1),131	PIN_FIELD_BASE(87, 87, 3, 0x030, 0x10, 3, 1),132	PIN_FIELD_BASE(88, 88, 3, 0x030, 0x10, 4, 1),133	PIN_FIELD_BASE(89, 89, 3, 0x030, 0x10, 5, 1),134	PIN_FIELD_BASE(90, 90, 3, 0x030, 0x10, 6, 1),135	PIN_FIELD_BASE(91, 91, 3, 0x030, 0x10, 7, 1),136	PIN_FIELD_BASE(92, 92, 3, 0x030, 0x10, 8, 1),137	PIN_FIELD_BASE(93, 93, 3, 0x030, 0x10, 18, 1),138	PIN_FIELD_BASE(94, 94, 3, 0x030, 0x10, 19, 1),139	PIN_FIELD_BASE(95, 95, 3, 0x030, 0x10, 17, 1),140	PIN_FIELD_BASE(96, 96, 3, 0x030, 0x10, 0, 1),141	PIN_FIELD_BASE(97, 97, 3, 0x030, 0x10, 20, 1),142	PIN_FIELD_BASE(98, 98, 3, 0x030, 0x10, 28, 1),143	PIN_FIELD_BASE(99, 99, 3, 0x030, 0x10, 27, 1),144	PIN_FIELD_BASE(100, 100, 3, 0x030, 0x10, 30, 1),145	PIN_FIELD_BASE(101, 101, 3, 0x030, 0x10, 29, 1),146	PIN_FIELD_BASE(102, 102, 3, 0x040, 0x10, 0, 1),147	PIN_FIELD_BASE(103, 103, 3, 0x030, 0x10, 31, 1),148	PIN_FIELD_BASE(104, 104, 3, 0x030, 0x10, 25, 1),149	PIN_FIELD_BASE(105, 105, 3, 0x030, 0x10, 26, 1),150	PIN_FIELD_BASE(106, 106, 3, 0x030, 0x10, 23, 1),151	PIN_FIELD_BASE(107, 107, 3, 0x030, 0x10, 24, 1),152	PIN_FIELD_BASE(108, 108, 3, 0x030, 0x10, 22, 1),153	PIN_FIELD_BASE(109, 109, 3, 0x030, 0x10, 21, 1),154	PIN_FIELD_BASE(110, 110, 5, 0x010, 0x10, 1, 1),155	PIN_FIELD_BASE(111, 111, 5, 0x010, 0x10, 0, 1),156	PIN_FIELD_BASE(112, 112, 5, 0x010, 0x10, 2, 1),157	PIN_FIELD_BASE(113, 113, 5, 0x010, 0x10, 3, 1),158	PIN_FIELD_BASE(114, 114, 5, 0x010, 0x10, 4, 1),159	PIN_FIELD_BASE(115, 115, 5, 0x010, 0x10, 5, 1),160	PIN_FIELD_BASE(116, 116, 6, 0x030, 0x10, 9, 1),161	PIN_FIELD_BASE(117, 117, 6, 0x030, 0x10, 8, 1),162	PIN_FIELD_BASE(118, 118, 6, 0x030, 0x10, 7, 1),163	PIN_FIELD_BASE(119, 119, 6, 0x030, 0x10, 6, 1),164	PIN_FIELD_BASE(120, 120, 6, 0x030, 0x10, 11, 1),165	PIN_FIELD_BASE(121, 121, 6, 0x030, 0x10, 1, 1),166	PIN_FIELD_BASE(122, 122, 6, 0x030, 0x10, 0, 1),167	PIN_FIELD_BASE(123, 123, 6, 0x030, 0x10, 5, 1),168	PIN_FIELD_BASE(124, 124, 6, 0x030, 0x10, 4, 1),169	PIN_FIELD_BASE(125, 125, 6, 0x030, 0x10, 3, 1),170	PIN_FIELD_BASE(126, 126, 6, 0x030, 0x10, 2, 1),171	PIN_FIELD_BASE(127, 127, 6, 0x030, 0x10, 10, 1),172	PIN_FIELD_BASE(128, 128, 3, 0x040, 0x10, 3, 1),173	PIN_FIELD_BASE(129, 129, 3, 0x040, 0x10, 1, 1),174	PIN_FIELD_BASE(130, 130, 3, 0x040, 0x10, 4, 1),175	PIN_FIELD_BASE(131, 131, 3, 0x040, 0x10, 2, 1),176	PIN_FIELD_BASE(132, 132, 6, 0x030, 0x10, 13, 1),177	PIN_FIELD_BASE(133, 133, 6, 0x030, 0x10, 12, 1),178	PIN_FIELD_BASE(134, 134, 6, 0x030, 0x10, 15, 1),179	PIN_FIELD_BASE(135, 135, 6, 0x030, 0x10, 14, 1),180	PIN_FIELD_BASE(136, 136, 1, 0x070, 0x10, 13, 1),181	PIN_FIELD_BASE(137, 137, 1, 0x070, 0x10, 12, 1),182	PIN_FIELD_BASE(138, 138, 1, 0x070, 0x10, 15, 1),183	PIN_FIELD_BASE(139, 139, 1, 0x070, 0x10, 14, 1),184	PIN_FIELD_BASE(140, 140, 1, 0x070, 0x10, 17, 1),185	PIN_FIELD_BASE(141, 141, 1, 0x070, 0x10, 16, 1),186	PIN_FIELD_BASE(142, 142, 1, 0x070, 0x10, 19, 1),187	PIN_FIELD_BASE(143, 143, 1, 0x070, 0x10, 18, 1),188};189 190static const struct mtk_pin_field_calc mt8195_pin_smt_range[] = {191	PIN_FIELD_BASE(0, 0, 4, 0x0d0, 0x10, 0, 1),192	PIN_FIELD_BASE(1, 1, 4, 0x0d0, 0x10, 1, 1),193	PIN_FIELD_BASE(2, 2, 4, 0x0d0, 0x10, 2, 1),194	PIN_FIELD_BASE(3, 3, 4, 0x0d0, 0x10, 3, 1),195	PIN_FIELD_BASE(4, 4, 4, 0x0d0, 0x10, 4, 1),196	PIN_FIELD_BASE(5, 5, 4, 0x0d0, 0x10, 5, 1),197	PINS_FIELD_BASE(6, 7, 4, 0x0d0, 0x10, 6, 1),198	PIN_FIELD_BASE(8, 8, 4, 0x0d0, 0x10, 12, 1),199	PIN_FIELD_BASE(9, 9, 4, 0x0d0, 0x10, 7, 1),200	PIN_FIELD_BASE(10, 10, 4, 0x0d0, 0x10, 13, 1),201	PIN_FIELD_BASE(11, 11, 4, 0x0d0, 0x10, 8, 1),202	PIN_FIELD_BASE(12, 12, 4, 0x0d0, 0x10, 14, 1),203	PIN_FIELD_BASE(13, 13, 4, 0x0d0, 0x10, 9, 1),204	PIN_FIELD_BASE(14, 14, 4, 0x0d0, 0x10, 15, 1),205	PIN_FIELD_BASE(15, 15, 4, 0x0d0, 0x10, 10, 1),206	PIN_FIELD_BASE(16, 16, 4, 0x0d0, 0x10, 16, 1),207	PIN_FIELD_BASE(17, 17, 4, 0x0d0, 0x10, 11, 1),208	PIN_FIELD_BASE(18, 18, 2, 0x090, 0x10, 11, 1),209	PIN_FIELD_BASE(19, 19, 2, 0x090, 0x10, 10, 1),210	PIN_FIELD_BASE(20, 20, 2, 0x090, 0x10, 9, 1),211	PIN_FIELD_BASE(21, 21, 2, 0x090, 0x10, 11, 1),212	PIN_FIELD_BASE(22, 22, 2, 0x090, 0x10, 0, 1),213	PIN_FIELD_BASE(23, 23, 2, 0x090, 0x10, 1, 1),214	PIN_FIELD_BASE(24, 24, 2, 0x090, 0x10, 2, 1),215	PIN_FIELD_BASE(25, 25, 2, 0x090, 0x10, 4, 1),216	PIN_FIELD_BASE(26, 26, 2, 0x090, 0x10, 3, 1),217	PIN_FIELD_BASE(27, 27, 2, 0x090, 0x10, 5, 1),218	PIN_FIELD_BASE(28, 28, 2, 0x090, 0x10, 6, 1),219	PIN_FIELD_BASE(29, 29, 2, 0x090, 0x10, 7, 1),220	PIN_FIELD_BASE(30, 30, 2, 0x090, 0x10, 8, 1),221	PINS_FIELD_BASE(31, 33, 1, 0x0f0, 0x10, 4, 1),222	PIN_FIELD_BASE(34, 34, 1, 0x0f0, 0x10, 0, 1),223	PIN_FIELD_BASE(35, 35, 1, 0x0f0, 0x10, 1, 1),224	PIN_FIELD_BASE(36, 36, 1, 0x0f0, 0x10, 4, 1),225	PIN_FIELD_BASE(37, 37, 1, 0x0f0, 0x10, 2, 1),226	PINS_FIELD_BASE(38, 39, 1, 0x0f0, 0x10, 5, 1),227	PIN_FIELD_BASE(40, 40, 1, 0x0f0, 0x10, 14, 1),228	PIN_FIELD_BASE(41, 41, 1, 0x0f0, 0x10, 13, 1),229	PIN_FIELD_BASE(42, 42, 1, 0x0f0, 0x10, 16, 1),230	PIN_FIELD_BASE(43, 43, 1, 0x0f0, 0x10, 15, 1),231	PIN_FIELD_BASE(44, 44, 1, 0x0f0, 0x10, 25, 1),232	PIN_FIELD_BASE(45, 45, 1, 0x0f0, 0x10, 26, 1),233	PINS_FIELD_BASE(46, 47, 1, 0x0f0, 0x10, 5, 1),234	PINS_FIELD_BASE(48, 51, 1, 0x0f0, 0x10, 6, 1),235	PINS_FIELD_BASE(52, 55, 1, 0x0f0, 0x10, 7, 1),236	PINS_FIELD_BASE(56, 59, 1, 0x0f0, 0x10, 8, 1),237	PINS_FIELD_BASE(60, 63, 1, 0x0f0, 0x10, 9, 1),238	PIN_FIELD_BASE(64, 64, 1, 0x0f0, 0x10, 10, 1),239	PINS_FIELD_BASE(65, 68, 1, 0x0f0, 0x10, 3, 1),240	PINS_FIELD_BASE(69, 71, 1, 0x0f0, 0x10, 10, 1),241	PINS_FIELD_BASE(72, 75, 1, 0x0f0, 0x10, 11, 1),242	PIN_FIELD_BASE(76, 76, 1, 0x0f0, 0x10, 12, 1),243	PIN_FIELD_BASE(77, 77, 3, 0x0e0, 0x10, 0, 1),244	PIN_FIELD_BASE(78, 78, 3, 0x0e0, 0x10, 1, 1),245	PIN_FIELD_BASE(79, 79, 3, 0x0e0, 0x10, 6, 1),246	PIN_FIELD_BASE(80, 80, 3, 0x0e0, 0x10, 7, 1),247	PIN_FIELD_BASE(81, 81, 3, 0x0e0, 0x10, 8, 1),248	PIN_FIELD_BASE(82, 82, 3, 0x0e0, 0x10, 9, 1),249	PIN_FIELD_BASE(83, 83, 3, 0x0e0, 0x10, 10, 1),250	PIN_FIELD_BASE(84, 84, 3, 0x0e0, 0x10, 11, 1),251	PINS_FIELD_BASE(85, 88, 3, 0x0e0, 0x10, 14, 1),252	PIN_FIELD_BASE(89, 89, 3, 0x0e0, 0x10, 2, 1),253	PIN_FIELD_BASE(90, 90, 3, 0x0e0, 0x10, 3, 1),254	PIN_FIELD_BASE(91, 91, 3, 0x0e0, 0x10, 4, 1),255	PIN_FIELD_BASE(92, 92, 3, 0x0e0, 0x10, 5, 1),256	PIN_FIELD_BASE(93, 93, 3, 0x0e0, 0x10, 12, 1),257	PIN_FIELD_BASE(94, 94, 3, 0x0e0, 0x10, 13, 1),258	PINS_FIELD_BASE(95, 98, 3, 0x0e0, 0x10, 15, 1),259	PINS_FIELD_BASE(99, 102, 3, 0x0e0, 0x10, 16, 1),260	PINS_FIELD_BASE(103, 104, 3, 0x0e0, 0x10, 17, 1),261	PIN_FIELD_BASE(105, 105, 3, 0x0e0, 0x10, 18, 1),262	PINS_FIELD_BASE(106, 107, 3, 0x0e0, 0x10, 17, 1),263	PINS_FIELD_BASE(108, 109, 3, 0x0e0, 0x10, 18, 1),264	PIN_FIELD_BASE(110, 110, 5, 0x070, 0x10, 1, 1),265	PIN_FIELD_BASE(111, 111, 5, 0x070, 0x10, 0, 1),266	PIN_FIELD_BASE(112, 112, 5, 0x070, 0x10, 2, 1),267	PIN_FIELD_BASE(113, 113, 5, 0x070, 0x10, 3, 1),268	PIN_FIELD_BASE(114, 114, 5, 0x070, 0x10, 4, 1),269	PIN_FIELD_BASE(115, 115, 5, 0x070, 0x10, 5, 1),270	PIN_FIELD_BASE(116, 116, 6, 0x0c0, 0x10, 9, 1),271	PIN_FIELD_BASE(117, 117, 6, 0x0c0, 0x10, 8, 1),272	PIN_FIELD_BASE(118, 118, 6, 0x0c0, 0x10, 7, 1),273	PIN_FIELD_BASE(119, 119, 6, 0x0c0, 0x10, 6, 1),274	PIN_FIELD_BASE(120, 120, 6, 0x0c0, 0x10, 11, 1),275	PIN_FIELD_BASE(121, 121, 6, 0x0c0, 0x10, 1, 1),276	PIN_FIELD_BASE(122, 122, 6, 0x0c0, 0x10, 0, 1),277	PIN_FIELD_BASE(123, 123, 6, 0x0c0, 0x10, 5, 1),278	PIN_FIELD_BASE(124, 124, 6, 0x0c0, 0x10, 4, 1),279	PIN_FIELD_BASE(125, 125, 6, 0x0c0, 0x10, 3, 1),280	PIN_FIELD_BASE(126, 126, 6, 0x0c0, 0x10, 2, 1),281	PIN_FIELD_BASE(127, 127, 6, 0x0c0, 0x10, 10, 1),282	PIN_FIELD_BASE(128, 128, 3, 0x0e0, 0x10, 18, 1),283	PINS_FIELD_BASE(129, 131, 3, 0x0e0, 0x10, 19, 1),284	PIN_FIELD_BASE(132, 132, 6, 0x0c0, 0x10, 13, 1),285	PIN_FIELD_BASE(133, 133, 6, 0x0c0, 0x10, 12, 1),286	PIN_FIELD_BASE(134, 134, 6, 0x0c0, 0x10, 15, 1),287	PIN_FIELD_BASE(135, 135, 6, 0x0c0, 0x10, 14, 1),288	PIN_FIELD_BASE(136, 136, 1, 0x0f0, 0x10, 18, 1),289	PIN_FIELD_BASE(137, 137, 1, 0x0f0, 0x10, 17, 1),290	PIN_FIELD_BASE(138, 138, 1, 0x0f0, 0x10, 20, 1),291	PIN_FIELD_BASE(139, 139, 1, 0x0f0, 0x10, 19, 1),292	PIN_FIELD_BASE(140, 140, 1, 0x0f0, 0x10, 22, 1),293	PIN_FIELD_BASE(141, 141, 1, 0x0f0, 0x10, 21, 1),294	PIN_FIELD_BASE(142, 142, 1, 0x0f0, 0x10, 24, 1),295	PIN_FIELD_BASE(143, 143, 1, 0x0f0, 0x10, 23, 1),296};297 298static const struct mtk_pin_field_calc mt8195_pin_pu_range[] = {299	PIN_FIELD_BASE(6, 6, 4, 0x0070, 0x10, 0, 1),300	PIN_FIELD_BASE(7, 7, 4, 0x0070, 0x10, 1, 1),301	PIN_FIELD_BASE(8, 8, 4, 0x0070, 0x10, 7, 1),302	PIN_FIELD_BASE(9, 9, 4, 0x0070, 0x10, 2, 1),303	PIN_FIELD_BASE(10, 10, 4, 0x0070, 0x10, 8, 1),304	PIN_FIELD_BASE(11, 11, 4, 0x0070, 0x10, 3, 1),305	PIN_FIELD_BASE(12, 12, 4, 0x0070, 0x10, 9, 1),306	PIN_FIELD_BASE(13, 13, 4, 0x0070, 0x10, 4, 1),307	PIN_FIELD_BASE(14, 14, 4, 0x0070, 0x10, 10, 1),308	PIN_FIELD_BASE(15, 15, 4, 0x0070, 0x10, 5, 1),309	PIN_FIELD_BASE(16, 16, 4, 0x0070, 0x10, 11, 1),310	PIN_FIELD_BASE(17, 17, 4, 0x0070, 0x10, 6, 1),311	PIN_FIELD_BASE(18, 18, 2, 0x0060, 0x10, 5, 1),312	PIN_FIELD_BASE(19, 19, 2, 0x0060, 0x10, 12, 1),313	PIN_FIELD_BASE(20, 20, 2, 0x0060, 0x10, 11, 1),314	PIN_FIELD_BASE(21, 21, 2, 0x0060, 0x10, 10, 1),315	PIN_FIELD_BASE(22, 22, 2, 0x0060, 0x10, 0, 1),316	PIN_FIELD_BASE(23, 23, 2, 0x0060, 0x10, 1, 1),317	PIN_FIELD_BASE(24, 24, 2, 0x0060, 0x10, 2, 1),318	PIN_FIELD_BASE(25, 25, 2, 0x0060, 0x10, 4, 1),319	PIN_FIELD_BASE(26, 26, 2, 0x0060, 0x10, 3, 1),320	PIN_FIELD_BASE(27, 27, 2, 0x0060, 0x10, 6, 1),321	PIN_FIELD_BASE(28, 28, 2, 0x0060, 0x10, 7, 1),322	PIN_FIELD_BASE(29, 29, 2, 0x0060, 0x10, 8, 1),323	PIN_FIELD_BASE(30, 30, 2, 0x0060, 0x10, 9, 1),324	PIN_FIELD_BASE(31, 31, 1, 0x00a0, 0x10, 13, 1),325	PIN_FIELD_BASE(32, 32, 1, 0x00a0, 0x10, 12, 1),326	PIN_FIELD_BASE(33, 33, 1, 0x00a0, 0x10, 11, 1),327	PIN_FIELD_BASE(34, 34, 1, 0x00a0, 0x10, 14, 1),328	PIN_FIELD_BASE(35, 35, 1, 0x00a0, 0x10, 15, 1),329	PIN_FIELD_BASE(36, 36, 1, 0x00b0, 0x10, 3, 1),330	PIN_FIELD_BASE(37, 37, 1, 0x00b0, 0x10, 6, 1),331	PIN_FIELD_BASE(38, 38, 1, 0x00b0, 0x10, 4, 1),332	PIN_FIELD_BASE(39, 39, 1, 0x00b0, 0x10, 5, 1),333	PIN_FIELD_BASE(40, 40, 1, 0x00b0, 0x10, 8, 1),334	PIN_FIELD_BASE(41, 41, 1, 0x00b0, 0x10, 7, 1),335	PIN_FIELD_BASE(42, 42, 1, 0x00b0, 0x10, 10, 1),336	PIN_FIELD_BASE(43, 43, 1, 0x00b0, 0x10, 9, 1),337	PIN_FIELD_BASE(44, 44, 1, 0x00b0, 0x10, 21, 1),338	PIN_FIELD_BASE(45, 45, 1, 0x00b0, 0x10, 22, 1),339	PIN_FIELD_BASE(46, 46, 1, 0x00a0, 0x10, 18, 1),340	PIN_FIELD_BASE(47, 47, 1, 0x00a0, 0x10, 16, 1),341	PIN_FIELD_BASE(48, 48, 1, 0x00a0, 0x10, 19, 1),342	PIN_FIELD_BASE(49, 49, 1, 0x00a0, 0x10, 17, 1),343	PIN_FIELD_BASE(50, 50, 1, 0x00a0, 0x10, 25, 1),344	PIN_FIELD_BASE(51, 51, 1, 0x00a0, 0x10, 20, 1),345	PIN_FIELD_BASE(52, 52, 1, 0x00a0, 0x10, 26, 1),346	PIN_FIELD_BASE(53, 53, 1, 0x00a0, 0x10, 21, 1),347	PIN_FIELD_BASE(54, 54, 1, 0x00a0, 0x10, 22, 1),348	PIN_FIELD_BASE(55, 55, 1, 0x00a0, 0x10, 23, 1),349	PIN_FIELD_BASE(56, 56, 1, 0x00a0, 0x10, 24, 1),350	PIN_FIELD_BASE(57, 57, 1, 0x00a0, 0x10, 29, 1),351	PIN_FIELD_BASE(58, 58, 1, 0x00a0, 0x10, 27, 1),352	PIN_FIELD_BASE(59, 59, 1, 0x00a0, 0x10, 30, 1),353	PIN_FIELD_BASE(60, 60, 1, 0x00a0, 0x10, 28, 1),354	PIN_FIELD_BASE(61, 61, 1, 0x00a0, 0x10, 8, 1),355	PIN_FIELD_BASE(62, 62, 1, 0x00a0, 0x10, 7, 1),356	PIN_FIELD_BASE(63, 63, 1, 0x00a0, 0x10, 10, 1),357	PIN_FIELD_BASE(64, 64, 1, 0x00a0, 0x10, 9, 1),358	PIN_FIELD_BASE(65, 65, 1, 0x00b0, 0x10, 1, 1),359	PIN_FIELD_BASE(66, 66, 1, 0x00a0, 0x10, 31, 1),360	PIN_FIELD_BASE(67, 67, 1, 0x00b0, 0x10, 0, 1),361	PIN_FIELD_BASE(68, 68, 1, 0x00b0, 0x10, 2, 1),362	PIN_FIELD_BASE(69, 69, 1, 0x00a0, 0x10, 0, 1),363	PIN_FIELD_BASE(70, 70, 1, 0x00a0, 0x10, 6, 1),364	PIN_FIELD_BASE(71, 71, 1, 0x00a0, 0x10, 4, 1),365	PIN_FIELD_BASE(72, 72, 1, 0x00a0, 0x10, 5, 1),366	PIN_FIELD_BASE(73, 73, 1, 0x00a0, 0x10, 1, 1),367	PIN_FIELD_BASE(74, 74, 1, 0x00a0, 0x10, 2, 1),368	PIN_FIELD_BASE(75, 75, 1, 0x00a0, 0x10, 3, 1),369	PIN_FIELD_BASE(76, 76, 1, 0x00b0, 0x10, 11, 1),370	PIN_FIELD_BASE(97, 97, 3, 0x0070, 0x10, 0, 1),371	PIN_FIELD_BASE(98, 98, 3, 0x0070, 0x10, 4, 1),372	PIN_FIELD_BASE(99, 99, 3, 0x0070, 0x10, 3, 1),373	PIN_FIELD_BASE(100, 100, 3, 0x0070, 0x10, 6, 1),374	PIN_FIELD_BASE(101, 101, 3, 0x0070, 0x10, 5, 1),375	PIN_FIELD_BASE(102, 102, 3, 0x0070, 0x10, 8, 1),376	PIN_FIELD_BASE(103, 103, 3, 0x0070, 0x10, 7, 1),377	PIN_FIELD_BASE(108, 108, 3, 0x0070, 0x10, 2, 1),378	PIN_FIELD_BASE(109, 109, 3, 0x0070, 0x10, 1, 1),379	PIN_FIELD_BASE(128, 128, 3, 0x0070, 0x10, 11, 1),380	PIN_FIELD_BASE(129, 129, 3, 0x0070, 0x10, 9, 1),381	PIN_FIELD_BASE(130, 130, 3, 0x0070, 0x10, 12, 1),382	PIN_FIELD_BASE(131, 131, 3, 0x0070, 0x10, 10, 1),383	PIN_FIELD_BASE(132, 132, 6, 0x0060, 0x10, 1, 1),384	PIN_FIELD_BASE(133, 133, 6, 0x0060, 0x10, 0, 1),385	PIN_FIELD_BASE(134, 134, 6, 0x0060, 0x10, 3, 1),386	PIN_FIELD_BASE(135, 135, 6, 0x0060, 0x10, 2, 1),387	PIN_FIELD_BASE(136, 136, 1, 0x00b0, 0x10, 14, 1),388	PIN_FIELD_BASE(137, 137, 1, 0x00b0, 0x10, 13, 1),389	PIN_FIELD_BASE(138, 138, 1, 0x00b0, 0x10, 16, 1),390	PIN_FIELD_BASE(139, 139, 1, 0x00b0, 0x10, 15, 1),391	PIN_FIELD_BASE(140, 140, 1, 0x00b0, 0x10, 18, 1),392	PIN_FIELD_BASE(141, 141, 1, 0x00b0, 0x10, 17, 1),393	PIN_FIELD_BASE(142, 142, 1, 0x00b0, 0x10, 20, 1),394	PIN_FIELD_BASE(143, 143, 1, 0x00b0, 0x10, 19, 1),395};396 397static const struct mtk_pin_field_calc mt8195_pin_pd_range[] = {398	PIN_FIELD_BASE(6, 6, 4, 0x0050, 0x10, 0, 1),399	PIN_FIELD_BASE(7, 7, 4, 0x0050, 0x10, 1, 1),400	PIN_FIELD_BASE(8, 8, 4, 0x0050, 0x10, 7, 1),401	PIN_FIELD_BASE(9, 9, 4, 0x0050, 0x10, 2, 1),402	PIN_FIELD_BASE(10, 10, 4, 0x0050, 0x10, 8, 1),403	PIN_FIELD_BASE(11, 11, 4, 0x0050, 0x10, 3, 1),404	PIN_FIELD_BASE(12, 12, 4, 0x0050, 0x10, 9, 1),405	PIN_FIELD_BASE(13, 13, 4, 0x0050, 0x10, 4, 1),406	PIN_FIELD_BASE(14, 14, 4, 0x0050, 0x10, 10, 1),407	PIN_FIELD_BASE(15, 15, 4, 0x0050, 0x10, 5, 1),408	PIN_FIELD_BASE(16, 16, 4, 0x0050, 0x10, 11, 1),409	PIN_FIELD_BASE(17, 17, 4, 0x0050, 0x10, 6, 1),410	PIN_FIELD_BASE(18, 18, 2, 0x0050, 0x10, 5, 1),411	PIN_FIELD_BASE(19, 19, 2, 0x0050, 0x10, 12, 1),412	PIN_FIELD_BASE(20, 20, 2, 0x0050, 0x10, 11, 1),413	PIN_FIELD_BASE(21, 21, 2, 0x0050, 0x10, 10, 1),414	PIN_FIELD_BASE(22, 22, 2, 0x0050, 0x10, 0, 1),415	PIN_FIELD_BASE(23, 23, 2, 0x0050, 0x10, 1, 1),416	PIN_FIELD_BASE(24, 24, 2, 0x0050, 0x10, 2, 1),417	PIN_FIELD_BASE(25, 25, 2, 0x0050, 0x10, 4, 1),418	PIN_FIELD_BASE(26, 26, 2, 0x0050, 0x10, 3, 1),419	PIN_FIELD_BASE(27, 27, 2, 0x0050, 0x10, 6, 1),420	PIN_FIELD_BASE(28, 28, 2, 0x0050, 0x10, 7, 1),421	PIN_FIELD_BASE(29, 29, 2, 0x0050, 0x10, 8, 1),422	PIN_FIELD_BASE(30, 30, 2, 0x0050, 0x10, 9, 1),423	PIN_FIELD_BASE(31, 31, 1, 0x0080, 0x10, 13, 1),424	PIN_FIELD_BASE(32, 32, 1, 0x0080, 0x10, 12, 1),425	PIN_FIELD_BASE(33, 33, 1, 0x0080, 0x10, 11, 1),426	PIN_FIELD_BASE(34, 34, 1, 0x0080, 0x10, 14, 1),427	PIN_FIELD_BASE(35, 35, 1, 0x0080, 0x10, 15, 1),428	PIN_FIELD_BASE(36, 36, 1, 0x0090, 0x10, 3, 1),429	PIN_FIELD_BASE(37, 37, 1, 0x0090, 0x10, 6, 1),430	PIN_FIELD_BASE(38, 38, 1, 0x0090, 0x10, 4, 1),431	PIN_FIELD_BASE(39, 39, 1, 0x0090, 0x10, 5, 1),432	PIN_FIELD_BASE(40, 40, 1, 0x0090, 0x10, 8, 1),433	PIN_FIELD_BASE(41, 41, 1, 0x0090, 0x10, 7, 1),434	PIN_FIELD_BASE(42, 42, 1, 0x0090, 0x10, 10, 1),435	PIN_FIELD_BASE(43, 43, 1, 0x0090, 0x10, 9, 1),436	PIN_FIELD_BASE(44, 44, 1, 0x0090, 0x10, 21, 1),437	PIN_FIELD_BASE(45, 45, 1, 0x0090, 0x10, 22, 1),438	PIN_FIELD_BASE(46, 46, 1, 0x0080, 0x10, 18, 1),439	PIN_FIELD_BASE(47, 47, 1, 0x0080, 0x10, 16, 1),440	PIN_FIELD_BASE(48, 48, 1, 0x0080, 0x10, 19, 1),441	PIN_FIELD_BASE(49, 49, 1, 0x0080, 0x10, 17, 1),442	PIN_FIELD_BASE(50, 50, 1, 0x0080, 0x10, 25, 1),443	PIN_FIELD_BASE(51, 51, 1, 0x0080, 0x10, 20, 1),444	PIN_FIELD_BASE(52, 52, 1, 0x0080, 0x10, 26, 1),445	PIN_FIELD_BASE(53, 53, 1, 0x0080, 0x10, 21, 1),446	PIN_FIELD_BASE(54, 54, 1, 0x0080, 0x10, 22, 1),447	PIN_FIELD_BASE(55, 55, 1, 0x0080, 0x10, 23, 1),448	PIN_FIELD_BASE(56, 56, 1, 0x0080, 0x10, 24, 1),449	PIN_FIELD_BASE(57, 57, 1, 0x0080, 0x10, 29, 1),450	PIN_FIELD_BASE(58, 58, 1, 0x0080, 0x10, 27, 1),451	PIN_FIELD_BASE(59, 59, 1, 0x0080, 0x10, 30, 1),452	PIN_FIELD_BASE(60, 60, 1, 0x0080, 0x10, 28, 1),453	PIN_FIELD_BASE(61, 61, 1, 0x0080, 0x10, 8, 1),454	PIN_FIELD_BASE(62, 62, 1, 0x0080, 0x10, 7, 1),455	PIN_FIELD_BASE(63, 63, 1, 0x0080, 0x10, 10, 1),456	PIN_FIELD_BASE(64, 64, 1, 0x0080, 0x10, 9, 1),457	PIN_FIELD_BASE(65, 65, 1, 0x0090, 0x10, 1, 1),458	PIN_FIELD_BASE(66, 66, 1, 0x0080, 0x10, 31, 1),459	PIN_FIELD_BASE(67, 67, 1, 0x0090, 0x10, 0, 1),460	PIN_FIELD_BASE(68, 68, 1, 0x0090, 0x10, 2, 1),461	PIN_FIELD_BASE(69, 69, 1, 0x0080, 0x10, 0, 1),462	PIN_FIELD_BASE(70, 70, 1, 0x0080, 0x10, 6, 1),463	PIN_FIELD_BASE(71, 71, 1, 0x0080, 0x10, 4, 1),464	PIN_FIELD_BASE(72, 72, 1, 0x0080, 0x10, 5, 1),465	PIN_FIELD_BASE(73, 73, 1, 0x0080, 0x10, 1, 1),466	PIN_FIELD_BASE(74, 74, 1, 0x0080, 0x10, 2, 1),467	PIN_FIELD_BASE(75, 75, 1, 0x0080, 0x10, 3, 1),468	PIN_FIELD_BASE(76, 76, 1, 0x0090, 0x10, 11, 1),469	PIN_FIELD_BASE(97, 97, 3, 0x0050, 0x10, 0, 1),470	PIN_FIELD_BASE(98, 98, 3, 0x0050, 0x10, 4, 1),471	PIN_FIELD_BASE(99, 99, 3, 0x0050, 0x10, 3, 1),472	PIN_FIELD_BASE(100, 100, 3, 0x0050, 0x10, 6, 1),473	PIN_FIELD_BASE(101, 101, 3, 0x0050, 0x10, 5, 1),474	PIN_FIELD_BASE(102, 102, 3, 0x0050, 0x10, 8, 1),475	PIN_FIELD_BASE(103, 103, 3, 0x0050, 0x10, 7, 1),476	PIN_FIELD_BASE(108, 108, 3, 0x0050, 0x10, 2, 1),477	PIN_FIELD_BASE(109, 109, 3, 0x0050, 0x10, 1, 1),478	PIN_FIELD_BASE(128, 128, 3, 0x0050, 0x10, 11, 1),479	PIN_FIELD_BASE(129, 129, 3, 0x0050, 0x10, 9, 1),480	PIN_FIELD_BASE(130, 130, 3, 0x0050, 0x10, 12, 1),481	PIN_FIELD_BASE(131, 131, 3, 0x0050, 0x10, 10, 1),482	PIN_FIELD_BASE(132, 132, 6, 0x0040, 0x10, 1, 1),483	PIN_FIELD_BASE(133, 133, 6, 0x0040, 0x10, 0, 1),484	PIN_FIELD_BASE(134, 134, 6, 0x0040, 0x10, 3, 1),485	PIN_FIELD_BASE(135, 135, 6, 0x0040, 0x10, 2, 1),486	PIN_FIELD_BASE(136, 136, 1, 0x0090, 0x10, 14, 1),487	PIN_FIELD_BASE(137, 137, 1, 0x0090, 0x10, 13, 1),488	PIN_FIELD_BASE(138, 138, 1, 0x0090, 0x10, 16, 1),489	PIN_FIELD_BASE(139, 139, 1, 0x0090, 0x10, 15, 1),490	PIN_FIELD_BASE(140, 140, 1, 0x0090, 0x10, 18, 1),491	PIN_FIELD_BASE(141, 141, 1, 0x0090, 0x10, 17, 1),492	PIN_FIELD_BASE(142, 142, 1, 0x0090, 0x10, 20, 1),493	PIN_FIELD_BASE(143, 143, 1, 0x0090, 0x10, 19, 1),494};495 496static const struct mtk_pin_field_calc mt8195_pin_pupd_range[] = {497	PIN_FIELD_BASE(0, 0, 4, 0x0060, 0x10, 0, 1),498	PIN_FIELD_BASE(1, 1, 4, 0x0060, 0x10, 1, 1),499	PIN_FIELD_BASE(2, 2, 4, 0x0060, 0x10, 2, 1),500	PIN_FIELD_BASE(3, 3, 4, 0x0060, 0x10, 3, 1),501	PIN_FIELD_BASE(4, 4, 4, 0x0060, 0x10, 4, 1),502	PIN_FIELD_BASE(5, 5, 4, 0x0060, 0x10, 5, 1),503	PIN_FIELD_BASE(77, 77, 3, 0x0060, 0x10, 1, 1),504	PIN_FIELD_BASE(78, 78, 3, 0x0060, 0x10, 2, 1),505	PIN_FIELD_BASE(79, 79, 3, 0x0060, 0x10, 9, 1),506	PIN_FIELD_BASE(80, 80, 3, 0x0060, 0x10, 10, 1),507	PIN_FIELD_BASE(81, 81, 3, 0x0060, 0x10, 11, 1),508	PIN_FIELD_BASE(82, 82, 3, 0x0060, 0x10, 12, 1),509	PIN_FIELD_BASE(83, 83, 3, 0x0060, 0x10, 13, 1),510	PIN_FIELD_BASE(84, 84, 3, 0x0060, 0x10, 14, 1),511	PIN_FIELD_BASE(85, 85, 3, 0x0060, 0x10, 15, 1),512	PIN_FIELD_BASE(86, 86, 3, 0x0060, 0x10, 16, 1),513	PIN_FIELD_BASE(87, 87, 3, 0x0060, 0x10, 3, 1),514	PIN_FIELD_BASE(88, 88, 3, 0x0060, 0x10, 4, 1),515	PIN_FIELD_BASE(89, 89, 3, 0x0060, 0x10, 5, 1),516	PIN_FIELD_BASE(90, 90, 3, 0x0060, 0x10, 6, 1),517	PIN_FIELD_BASE(91, 91, 3, 0x0060, 0x10, 7, 1),518	PIN_FIELD_BASE(92, 92, 3, 0x0060, 0x10, 8, 1),519	PIN_FIELD_BASE(93, 93, 3, 0x0060, 0x10, 18, 1),520	PIN_FIELD_BASE(94, 94, 3, 0x0060, 0x10, 19, 1),521	PIN_FIELD_BASE(95, 95, 3, 0x0060, 0x10, 17, 1),522	PIN_FIELD_BASE(96, 96, 3, 0x0060, 0x10, 0, 1),523	PIN_FIELD_BASE(104, 104, 3, 0x0060, 0x10, 22, 1),524	PIN_FIELD_BASE(105, 105, 3, 0x0060, 0x10, 23, 1),525	PIN_FIELD_BASE(106, 106, 3, 0x0060, 0x10, 20, 1),526	PIN_FIELD_BASE(107, 107, 3, 0x0060, 0x10, 21, 1),527	PIN_FIELD_BASE(110, 110, 5, 0x0020, 0x10, 1, 1),528	PIN_FIELD_BASE(111, 111, 5, 0x0020, 0x10, 0, 1),529	PIN_FIELD_BASE(112, 112, 5, 0x0020, 0x10, 2, 1),530	PIN_FIELD_BASE(113, 113, 5, 0x0020, 0x10, 3, 1),531	PIN_FIELD_BASE(114, 114, 5, 0x0020, 0x10, 4, 1),532	PIN_FIELD_BASE(115, 115, 5, 0x0020, 0x10, 5, 1),533	PIN_FIELD_BASE(116, 116, 6, 0x0050, 0x10, 9, 1),534	PIN_FIELD_BASE(117, 117, 6, 0x0050, 0x10, 8, 1),535	PIN_FIELD_BASE(118, 118, 6, 0x0050, 0x10, 7, 1),536	PIN_FIELD_BASE(119, 119, 6, 0x0050, 0x10, 6, 1),537	PIN_FIELD_BASE(120, 120, 6, 0x0050, 0x10, 11, 1),538	PIN_FIELD_BASE(121, 121, 6, 0x0050, 0x10, 1, 1),539	PIN_FIELD_BASE(122, 122, 6, 0x0050, 0x10, 0, 1),540	PIN_FIELD_BASE(123, 123, 6, 0x0050, 0x10, 5, 1),541	PIN_FIELD_BASE(124, 124, 6, 0x0050, 0x10, 4, 1),542	PIN_FIELD_BASE(125, 125, 6, 0x0050, 0x10, 3, 1),543	PIN_FIELD_BASE(126, 126, 6, 0x0050, 0x10, 2, 1),544	PIN_FIELD_BASE(127, 127, 6, 0x0050, 0x10, 10, 1),545};546 547static const struct mtk_pin_field_calc mt8195_pin_r0_range[] = {548	PIN_FIELD_BASE(0, 0, 4, 0x0080, 0x10, 0, 1),549	PIN_FIELD_BASE(1, 1, 4, 0x0080, 0x10, 1, 1),550	PIN_FIELD_BASE(2, 2, 4, 0x0080, 0x10, 2, 1),551	PIN_FIELD_BASE(3, 3, 4, 0x0080, 0x10, 3, 1),552	PIN_FIELD_BASE(4, 4, 4, 0x0080, 0x10, 4, 1),553	PIN_FIELD_BASE(5, 5, 4, 0x0080, 0x10, 5, 1),554	PIN_FIELD_BASE(77, 77, 3, 0x0080, 0x10, 1, 1),555	PIN_FIELD_BASE(78, 78, 3, 0x0080, 0x10, 2, 1),556	PIN_FIELD_BASE(79, 79, 3, 0x0080, 0x10, 9, 1),557	PIN_FIELD_BASE(80, 80, 3, 0x0080, 0x10, 10, 1),558	PIN_FIELD_BASE(81, 81, 3, 0x0080, 0x10, 11, 1),559	PIN_FIELD_BASE(82, 82, 3, 0x0080, 0x10, 12, 1),560	PIN_FIELD_BASE(83, 83, 3, 0x0080, 0x10, 13, 1),561	PIN_FIELD_BASE(84, 84, 3, 0x0080, 0x10, 14, 1),562	PIN_FIELD_BASE(85, 85, 3, 0x0080, 0x10, 15, 1),563	PIN_FIELD_BASE(86, 86, 3, 0x0080, 0x10, 16, 1),564	PIN_FIELD_BASE(87, 87, 3, 0x0080, 0x10, 3, 1),565	PIN_FIELD_BASE(88, 88, 3, 0x0080, 0x10, 4, 1),566	PIN_FIELD_BASE(89, 89, 3, 0x0080, 0x10, 5, 1),567	PIN_FIELD_BASE(90, 90, 3, 0x0080, 0x10, 6, 1),568	PIN_FIELD_BASE(91, 91, 3, 0x0080, 0x10, 7, 1),569	PIN_FIELD_BASE(92, 92, 3, 0x0080, 0x10, 8, 1),570	PIN_FIELD_BASE(93, 93, 3, 0x0080, 0x10, 18, 1),571	PIN_FIELD_BASE(94, 94, 3, 0x0080, 0x10, 19, 1),572	PIN_FIELD_BASE(95, 95, 3, 0x0080, 0x10, 17, 1),573	PIN_FIELD_BASE(96, 96, 3, 0x0080, 0x10, 0, 1),574	PIN_FIELD_BASE(104, 104, 3, 0x0080, 0x10, 22, 1),575	PIN_FIELD_BASE(105, 105, 3, 0x0080, 0x10, 23, 1),576	PIN_FIELD_BASE(106, 106, 3, 0x0080, 0x10, 20, 1),577	PIN_FIELD_BASE(107, 107, 3, 0x0080, 0x10, 21, 1),578	PIN_FIELD_BASE(110, 110, 5, 0x0030, 0x10, 1, 1),579	PIN_FIELD_BASE(111, 111, 5, 0x0030, 0x10, 0, 1),580	PIN_FIELD_BASE(112, 112, 5, 0x0030, 0x10, 2, 1),581	PIN_FIELD_BASE(113, 113, 5, 0x0030, 0x10, 3, 1),582	PIN_FIELD_BASE(114, 114, 5, 0x0030, 0x10, 4, 1),583	PIN_FIELD_BASE(115, 115, 5, 0x0030, 0x10, 5, 1),584	PIN_FIELD_BASE(116, 116, 6, 0x0070, 0x10, 9, 1),585	PIN_FIELD_BASE(117, 117, 6, 0x0070, 0x10, 8, 1),586	PIN_FIELD_BASE(118, 118, 6, 0x0070, 0x10, 7, 1),587	PIN_FIELD_BASE(119, 119, 6, 0x0070, 0x10, 6, 1),588	PIN_FIELD_BASE(120, 120, 6, 0x0070, 0x10, 11, 1),589	PIN_FIELD_BASE(121, 121, 6, 0x0070, 0x10, 1, 1),590	PIN_FIELD_BASE(122, 122, 6, 0x0070, 0x10, 0, 1),591	PIN_FIELD_BASE(123, 123, 6, 0x0070, 0x10, 5, 1),592	PIN_FIELD_BASE(124, 124, 6, 0x0070, 0x10, 4, 1),593	PIN_FIELD_BASE(125, 125, 6, 0x0070, 0x10, 3, 1),594	PIN_FIELD_BASE(126, 126, 6, 0x0070, 0x10, 2, 1),595	PIN_FIELD_BASE(127, 127, 6, 0x0070, 0x10, 10, 1),596};597 598static const struct mtk_pin_field_calc mt8195_pin_r1_range[] = {599	PIN_FIELD_BASE(0, 0, 4, 0x0090, 0x10, 0, 1),600	PIN_FIELD_BASE(1, 1, 4, 0x0090, 0x10, 1, 1),601	PIN_FIELD_BASE(2, 2, 4, 0x0090, 0x10, 2, 1),602	PIN_FIELD_BASE(3, 3, 4, 0x0090, 0x10, 3, 1),603	PIN_FIELD_BASE(4, 4, 4, 0x0090, 0x10, 4, 1),604	PIN_FIELD_BASE(5, 5, 4, 0x0090, 0x10, 5, 1),605	PIN_FIELD_BASE(77, 77, 3, 0x0090, 0x10, 1, 1),606	PIN_FIELD_BASE(78, 78, 3, 0x0090, 0x10, 2, 1),607	PIN_FIELD_BASE(79, 79, 3, 0x0090, 0x10, 9, 1),608	PIN_FIELD_BASE(80, 80, 3, 0x0090, 0x10, 10, 1),609	PIN_FIELD_BASE(81, 81, 3, 0x0090, 0x10, 11, 1),610	PIN_FIELD_BASE(82, 82, 3, 0x0090, 0x10, 12, 1),611	PIN_FIELD_BASE(83, 83, 3, 0x0090, 0x10, 13, 1),612	PIN_FIELD_BASE(84, 84, 3, 0x0090, 0x10, 14, 1),613	PIN_FIELD_BASE(85, 85, 3, 0x0090, 0x10, 15, 1),614	PIN_FIELD_BASE(86, 86, 3, 0x0090, 0x10, 16, 1),615	PIN_FIELD_BASE(87, 87, 3, 0x0090, 0x10, 3, 1),616	PIN_FIELD_BASE(88, 88, 3, 0x0090, 0x10, 4, 1),617	PIN_FIELD_BASE(89, 89, 3, 0x0090, 0x10, 5, 1),618	PIN_FIELD_BASE(90, 90, 3, 0x0090, 0x10, 6, 1),619	PIN_FIELD_BASE(91, 91, 3, 0x0090, 0x10, 7, 1),620	PIN_FIELD_BASE(92, 92, 3, 0x0090, 0x10, 8, 1),621	PIN_FIELD_BASE(93, 93, 3, 0x0090, 0x10, 18, 1),622	PIN_FIELD_BASE(94, 94, 3, 0x0090, 0x10, 19, 1),623	PIN_FIELD_BASE(95, 95, 3, 0x0090, 0x10, 17, 1),624	PIN_FIELD_BASE(96, 96, 3, 0x0090, 0x10, 0, 1),625	PIN_FIELD_BASE(104, 104, 3, 0x0090, 0x10, 22, 1),626	PIN_FIELD_BASE(105, 105, 3, 0x0090, 0x10, 23, 1),627	PIN_FIELD_BASE(106, 106, 3, 0x0090, 0x10, 20, 1),628	PIN_FIELD_BASE(107, 107, 3, 0x0090, 0x10, 21, 1),629	PIN_FIELD_BASE(110, 110, 5, 0x0040, 0x10, 1, 1),630	PIN_FIELD_BASE(111, 111, 5, 0x0040, 0x10, 0, 1),631	PIN_FIELD_BASE(112, 112, 5, 0x0040, 0x10, 2, 1),632	PIN_FIELD_BASE(113, 113, 5, 0x0040, 0x10, 3, 1),633	PIN_FIELD_BASE(114, 114, 5, 0x0040, 0x10, 4, 1),634	PIN_FIELD_BASE(115, 115, 5, 0x0040, 0x10, 5, 1),635	PIN_FIELD_BASE(116, 116, 6, 0x0080, 0x10, 9, 1),636	PIN_FIELD_BASE(117, 117, 6, 0x0080, 0x10, 8, 1),637	PIN_FIELD_BASE(118, 118, 6, 0x0080, 0x10, 7, 1),638	PIN_FIELD_BASE(119, 119, 6, 0x0080, 0x10, 6, 1),639	PIN_FIELD_BASE(120, 120, 6, 0x0080, 0x10, 11, 1),640	PIN_FIELD_BASE(121, 121, 6, 0x0080, 0x10, 1, 1),641	PIN_FIELD_BASE(122, 122, 6, 0x0080, 0x10, 0, 1),642	PIN_FIELD_BASE(123, 123, 6, 0x0080, 0x10, 5, 1),643	PIN_FIELD_BASE(124, 124, 6, 0x0080, 0x10, 4, 1),644	PIN_FIELD_BASE(125, 125, 6, 0x0080, 0x10, 3, 1),645	PIN_FIELD_BASE(126, 126, 6, 0x0080, 0x10, 2, 1),646	PIN_FIELD_BASE(127, 127, 6, 0x0080, 0x10, 10, 1),647};648 649static const struct mtk_pin_field_calc mt8195_pin_drv_range[] = {650	PIN_FIELD_BASE(0, 0, 4, 0x000, 0x10, 0, 3),651	PIN_FIELD_BASE(1, 1, 4, 0x000, 0x10, 3, 3),652	PIN_FIELD_BASE(2, 2, 4, 0x000, 0x10, 6, 3),653	PIN_FIELD_BASE(3, 3, 4, 0x000, 0x10, 9, 3),654	PIN_FIELD_BASE(4, 4, 4, 0x000, 0x10, 12, 3),655	PIN_FIELD_BASE(5, 5, 4, 0x000, 0x10, 15, 3),656	PINS_FIELD_BASE(6, 7, 4, 0x000, 0x10, 18, 3),657	PIN_FIELD_BASE(8, 8, 4, 0x010, 0x10, 6, 3),658	PIN_FIELD_BASE(9, 9, 4, 0x000, 0x10, 21, 3),659	PIN_FIELD_BASE(10, 10, 4, 0x010, 0x10, 9, 3),660	PIN_FIELD_BASE(11, 11, 4, 0x000, 0x10, 24, 3),661	PIN_FIELD_BASE(12, 12, 4, 0x010, 0x10, 12, 3),662	PIN_FIELD_BASE(13, 13, 4, 0x000, 0x10, 27, 3),663	PIN_FIELD_BASE(14, 14, 4, 0x010, 0x10, 15, 3),664	PIN_FIELD_BASE(15, 15, 4, 0x010, 0x10, 0, 3),665	PIN_FIELD_BASE(16, 16, 4, 0x010, 0x10, 18, 3),666	PIN_FIELD_BASE(17, 17, 4, 0x010, 0x10, 3, 3),667	PIN_FIELD_BASE(18, 18, 2, 0x010, 0x10, 6, 3),668	PIN_FIELD_BASE(19, 19, 2, 0x010, 0x10, 3, 3),669	PIN_FIELD_BASE(20, 20, 2, 0x010, 0x10, 0, 3),670	PIN_FIELD_BASE(21, 21, 2, 0x000, 0x10, 27, 3),671	PIN_FIELD_BASE(22, 22, 2, 0x000, 0x10, 0, 3),672	PIN_FIELD_BASE(23, 23, 2, 0x000, 0x10, 3, 3),673	PIN_FIELD_BASE(24, 24, 2, 0x000, 0x10, 6, 3),674	PIN_FIELD_BASE(25, 25, 2, 0x000, 0x10, 12, 3),675	PIN_FIELD_BASE(26, 26, 2, 0x000, 0x10, 9, 3),676	PIN_FIELD_BASE(27, 27, 2, 0x000, 0x10, 15, 3),677	PIN_FIELD_BASE(28, 28, 2, 0x000, 0x10, 18, 3),678	PIN_FIELD_BASE(29, 29, 2, 0x000, 0x10, 21, 3),679	PIN_FIELD_BASE(30, 30, 2, 0x000, 0x10, 24, 3),680	PINS_FIELD_BASE(31, 33, 1, 0x010, 0x10, 0, 3),681	PIN_FIELD_BASE(34, 34, 1, 0x000, 0x10, 21, 3),682	PIN_FIELD_BASE(35, 35, 1, 0x000, 0x10, 24, 3),683	PIN_FIELD_BASE(36, 36, 1, 0x010, 0x10, 0, 3),684	PIN_FIELD_BASE(37, 37, 1, 0x010, 0x10, 21, 3),685	PINS_FIELD_BASE(38, 39, 1, 0x010, 0x10, 3, 3),686	PIN_FIELD_BASE(40, 40, 1, 0x010, 0x10, 27, 3),687	PIN_FIELD_BASE(41, 41, 1, 0x010, 0x10, 24, 3),688	PIN_FIELD_BASE(42, 42, 1, 0x020, 0x10, 3, 3),689	PIN_FIELD_BASE(43, 43, 1, 0x020, 0x10, 0, 3),690	PIN_FIELD_BASE(44, 44, 1, 0x030, 0x10, 0, 3),691	PIN_FIELD_BASE(45, 45, 1, 0x030, 0x10, 3, 3),692	PINS_FIELD_BASE(46, 47, 1, 0x010, 0x10, 3, 3),693	PINS_FIELD_BASE(48, 51, 1, 0x010, 0x10, 6, 3),694	PINS_FIELD_BASE(52, 55, 1, 0x010, 0x10, 9, 3),695	PINS_FIELD_BASE(56, 59, 1, 0x010, 0x10, 12, 3),696	PINS_FIELD_BASE(60, 63, 1, 0x010, 0x10, 15, 3),697	PIN_FIELD_BASE(64, 64, 1, 0x010, 0x10, 18, 3),698	PINS_FIELD_BASE(65, 68, 1, 0x000, 0x10, 27, 3),699	PIN_FIELD_BASE(69, 69, 1, 0x000, 0x10, 0, 3),700	PIN_FIELD_BASE(70, 70, 1, 0x000, 0x10, 18, 3),701	PIN_FIELD_BASE(71, 71, 1, 0x000, 0x10, 12, 3),702	PIN_FIELD_BASE(72, 72, 1, 0x000, 0x10, 15, 3),703	PIN_FIELD_BASE(73, 73, 1, 0x000, 0x10, 3, 3),704	PIN_FIELD_BASE(74, 74, 1, 0x000, 0x10, 6, 3),705	PIN_FIELD_BASE(75, 75, 1, 0x000, 0x10, 9, 3),706	PIN_FIELD_BASE(76, 76, 1, 0x010, 0x10, 18, 3),707	PIN_FIELD_BASE(77, 77, 3, 0x000, 0x10, 0, 3),708	PIN_FIELD_BASE(78, 78, 3, 0x000, 0x10, 15, 3),709	PIN_FIELD_BASE(79, 79, 3, 0x000, 0x10, 18, 3),710	PIN_FIELD_BASE(80, 80, 3, 0x000, 0x10, 21, 3),711	PIN_FIELD_BASE(81, 81, 3, 0x000, 0x10, 24, 3),712	PIN_FIELD_BASE(82, 82, 3, 0x000, 0x10, 27, 3),713	PIN_FIELD_BASE(83, 83, 3, 0x010, 0x10, 0, 3),714	PIN_FIELD_BASE(84, 84, 3, 0x010, 0x10, 3, 3),715	PINS_FIELD_BASE(85, 88, 3, 0x010, 0x10, 15, 3),716	PIN_FIELD_BASE(89, 89, 3, 0x000, 0x10, 3, 3),717	PIN_FIELD_BASE(90, 90, 3, 0x000, 0x10, 6, 3),718	PIN_FIELD_BASE(91, 91, 3, 0x000, 0x10, 9, 3),719	PIN_FIELD_BASE(92, 92, 3, 0x000, 0x10, 12, 3),720	PIN_FIELD_BASE(93, 93, 3, 0x010, 0x10, 6, 3),721	PIN_FIELD_BASE(94, 94, 3, 0x010, 0x10, 9, 3),722	PINS_FIELD_BASE(95, 98, 3, 0x010, 0x10, 18, 3),723	PINS_FIELD_BASE(99, 102, 3, 0x010, 0x10, 21, 3),724	PINS_FIELD_BASE(103, 104, 3, 0x010, 0x10, 24, 3),725	PIN_FIELD_BASE(105, 105, 3, 0x010, 0x10, 27, 3),726	PINS_FIELD_BASE(106, 107, 3, 0x010, 0x10, 24, 3),727	PINS_FIELD_BASE(108, 109, 3, 0x010, 0x10, 27, 3),728	PIN_FIELD_BASE(110, 110, 5, 0x000, 0x10, 3, 3),729	PIN_FIELD_BASE(111, 111, 5, 0x000, 0x10, 0, 3),730	PIN_FIELD_BASE(112, 112, 5, 0x000, 0x10, 6, 3),731	PIN_FIELD_BASE(113, 113, 5, 0x000, 0x10, 9, 3),732	PIN_FIELD_BASE(114, 114, 5, 0x000, 0x10, 12, 3),733	PIN_FIELD_BASE(115, 115, 5, 0x000, 0x10, 15, 3),734	PIN_FIELD_BASE(116, 116, 6, 0x000, 0x10, 27, 3),735	PIN_FIELD_BASE(117, 117, 6, 0x000, 0x10, 24, 3),736	PIN_FIELD_BASE(118, 118, 6, 0x000, 0x10, 21, 3),737	PIN_FIELD_BASE(119, 119, 6, 0x000, 0x10, 18, 3),738	PIN_FIELD_BASE(120, 120, 6, 0x010, 0x10, 3, 3),739	PIN_FIELD_BASE(121, 121, 6, 0x000, 0x10, 3, 3),740	PIN_FIELD_BASE(122, 122, 6, 0x000, 0x10, 0, 3),741	PIN_FIELD_BASE(123, 123, 6, 0x000, 0x10, 15, 3),742	PIN_FIELD_BASE(124, 124, 6, 0x000, 0x10, 12, 3),743	PIN_FIELD_BASE(125, 125, 6, 0x000, 0x10, 9, 3),744	PIN_FIELD_BASE(126, 126, 6, 0x000, 0x10, 6, 3),745	PIN_FIELD_BASE(127, 127, 6, 0x010, 0x10, 0, 3),746	PIN_FIELD_BASE(128, 128, 3, 0x010, 0x10, 27, 3),747	PINS_FIELD_BASE(129, 130, 3, 0x020, 0x10, 0, 3),748	PINS_FIELD_BASE(131, 131, 3, 0x010, 0x10, 12, 3),749	PIN_FIELD_BASE(132, 132, 6, 0x010, 0x10, 9, 3),750	PIN_FIELD_BASE(133, 133, 6, 0x010, 0x10, 6, 3),751	PIN_FIELD_BASE(134, 134, 6, 0x010, 0x10, 15, 3),752	PIN_FIELD_BASE(135, 135, 6, 0x010, 0x10, 12, 3),753	PIN_FIELD_BASE(136, 136, 1, 0x020, 0x10, 9, 3),754	PIN_FIELD_BASE(137, 137, 1, 0x020, 0x10, 6, 3),755	PIN_FIELD_BASE(138, 138, 1, 0x020, 0x10, 15, 3),756	PIN_FIELD_BASE(139, 139, 1, 0x020, 0x10, 12, 3),757	PIN_FIELD_BASE(140, 140, 1, 0x020, 0x10, 21, 3),758	PIN_FIELD_BASE(141, 141, 1, 0x020, 0x10, 18, 3),759	PIN_FIELD_BASE(142, 142, 1, 0x020, 0x10, 27, 3),760	PIN_FIELD_BASE(143, 143, 1, 0x020, 0x10, 24, 3),761};762 763static const struct mtk_pin_field_calc mt8195_pin_drv_adv_range[] = {764	PIN_FIELD_BASE(8, 8, 4, 0x020, 0x10, 15, 3),765	PIN_FIELD_BASE(9, 9, 4, 0x020, 0x10, 0, 3),766	PIN_FIELD_BASE(10, 10, 4, 0x020, 0x10, 18, 3),767	PIN_FIELD_BASE(11, 11, 4, 0x020, 0x10, 3, 3),768	PIN_FIELD_BASE(12, 12, 4, 0x020, 0x10, 21, 3),769	PIN_FIELD_BASE(13, 13, 4, 0x020, 0x10, 6, 3),770	PIN_FIELD_BASE(14, 14, 4, 0x020, 0x10, 24, 3),771	PIN_FIELD_BASE(15, 15, 4, 0x020, 0x10, 9, 3),772	PIN_FIELD_BASE(16, 16, 4, 0x020, 0x10, 27, 3),773	PIN_FIELD_BASE(17, 17, 4, 0x020, 0x10, 12, 3),774	PIN_FIELD_BASE(29, 29, 2, 0x020, 0x10, 0, 3),775	PIN_FIELD_BASE(30, 30, 2, 0x020, 0x10, 3, 3),776	PIN_FIELD_BASE(34, 34, 1, 0x040, 0x10, 0, 3),777	PIN_FIELD_BASE(35, 35, 1, 0x040, 0x10, 3, 3),778	PIN_FIELD_BASE(44, 44, 1, 0x040, 0x10, 6, 3),779	PIN_FIELD_BASE(45, 45, 1, 0x040, 0x10, 9, 3),780};781 782static const struct mtk_pin_field_calc mt8195_pin_rsel_range[] = {783	PIN_FIELD_BASE(8, 8, 4, 0x0c0, 0x10, 15, 3),784	PIN_FIELD_BASE(9, 9, 4, 0x0c0, 0x10, 0, 3),785	PIN_FIELD_BASE(10, 10, 4, 0x0c0, 0x10, 18, 3),786	PIN_FIELD_BASE(11, 11, 4, 0x0c0, 0x10, 3, 3),787	PIN_FIELD_BASE(12, 12, 4, 0x0c0, 0x10, 21, 3),788	PIN_FIELD_BASE(13, 13, 4, 0x0c0, 0x10, 6, 3),789	PIN_FIELD_BASE(14, 14, 4, 0x0c0, 0x10, 24, 3),790	PIN_FIELD_BASE(15, 15, 4, 0x0c0, 0x10, 9, 3),791	PIN_FIELD_BASE(16, 16, 4, 0x0c0, 0x10, 27, 3),792	PIN_FIELD_BASE(17, 17, 4, 0x0c0, 0x10, 12, 3),793	PIN_FIELD_BASE(29, 29, 2, 0x080, 0x10, 0, 3),794	PIN_FIELD_BASE(30, 30, 2, 0x080, 0x10, 3, 3),795	PIN_FIELD_BASE(34, 34, 1, 0x0e0, 0x10, 0, 3),796	PIN_FIELD_BASE(35, 35, 1, 0x0e0, 0x10, 3, 3),797	PIN_FIELD_BASE(44, 44, 1, 0x0e0, 0x10, 6, 3),798	PIN_FIELD_BASE(45, 45, 1, 0x0e0, 0x10, 9, 3),799};800 801static const struct mtk_pin_rsel mt8195_pin_rsel_val_range[] = {802	PIN_RSEL(8, 17, 0x0, 75000, 75000),803	PIN_RSEL(8, 17, 0x1, 10000, 5000),804	PIN_RSEL(8, 17, 0x2, 5000, 75000),805	PIN_RSEL(8, 17, 0x3, 4000, 5000),806	PIN_RSEL(8, 17, 0x4, 3000, 75000),807	PIN_RSEL(8, 17, 0x5, 2000, 5000),808	PIN_RSEL(8, 17, 0x6, 1500, 75000),809	PIN_RSEL(8, 17, 0x7, 1000, 5000),810	PIN_RSEL(29, 30, 0x0, 75000, 75000),811	PIN_RSEL(29, 30, 0x1, 10000, 5000),812	PIN_RSEL(29, 30, 0x2, 5000, 75000),813	PIN_RSEL(29, 30, 0x3, 4000, 5000),814	PIN_RSEL(29, 30, 0x4, 3000, 75000),815	PIN_RSEL(29, 30, 0x5, 2000, 5000),816	PIN_RSEL(29, 30, 0x6, 1500, 75000),817	PIN_RSEL(29, 30, 0x7, 1000, 5000),818	PIN_RSEL(34, 35, 0x0, 75000, 75000),819	PIN_RSEL(34, 35, 0x1, 10000, 5000),820	PIN_RSEL(34, 35, 0x2, 5000, 75000),821	PIN_RSEL(34, 35, 0x3, 4000, 5000),822	PIN_RSEL(34, 35, 0x4, 3000, 75000),823	PIN_RSEL(34, 35, 0x5, 2000, 5000),824	PIN_RSEL(34, 35, 0x6, 1500, 75000),825	PIN_RSEL(34, 35, 0x7, 1000, 5000),826	PIN_RSEL(44, 45, 0x0, 75000, 75000),827	PIN_RSEL(44, 45, 0x1, 10000, 5000),828	PIN_RSEL(44, 45, 0x2, 5000, 75000),829	PIN_RSEL(44, 45, 0x3, 4000, 5000),830	PIN_RSEL(44, 45, 0x4, 3000, 75000),831	PIN_RSEL(44, 45, 0x5, 2000, 5000),832	PIN_RSEL(44, 45, 0x6, 1500, 75000),833	PIN_RSEL(44, 45, 0x7, 1000, 5000),834};835 836static const unsigned int mt8195_pull_type[] = {837	MTK_PULL_PUPD_R1R0_TYPE /* 0 */, MTK_PULL_PUPD_R1R0_TYPE /* 1 */,838	MTK_PULL_PUPD_R1R0_TYPE /* 2 */, MTK_PULL_PUPD_R1R0_TYPE /* 3 */,839	MTK_PULL_PUPD_R1R0_TYPE /* 4 */, MTK_PULL_PUPD_R1R0_TYPE /* 5 */,840	MTK_PULL_PU_PD_TYPE /* 6 */, MTK_PULL_PU_PD_TYPE /* 7 */,841	MTK_PULL_PU_PD_RSEL_TYPE /* 8 */, MTK_PULL_PU_PD_RSEL_TYPE /* 9 */,842	MTK_PULL_PU_PD_RSEL_TYPE /* 10 */, MTK_PULL_PU_PD_RSEL_TYPE /* 11 */,843	MTK_PULL_PU_PD_RSEL_TYPE /* 12 */, MTK_PULL_PU_PD_RSEL_TYPE /* 13 */,844	MTK_PULL_PU_PD_RSEL_TYPE /* 14 */, MTK_PULL_PU_PD_RSEL_TYPE /* 15 */,845	MTK_PULL_PU_PD_RSEL_TYPE /* 16 */, MTK_PULL_PU_PD_RSEL_TYPE /* 17 */,846	MTK_PULL_PU_PD_TYPE /* 18 */, MTK_PULL_PU_PD_TYPE /* 19 */,847	MTK_PULL_PU_PD_TYPE /* 20 */, MTK_PULL_PU_PD_TYPE /* 21 */,848	MTK_PULL_PU_PD_TYPE /* 22 */, MTK_PULL_PU_PD_TYPE /* 23 */,849	MTK_PULL_PU_PD_TYPE /* 24 */, MTK_PULL_PU_PD_TYPE /* 25 */,850	MTK_PULL_PU_PD_TYPE /* 26 */, MTK_PULL_PU_PD_TYPE /* 27 */,851	MTK_PULL_PU_PD_TYPE /* 28 */, MTK_PULL_PU_PD_RSEL_TYPE /* 29 */,852	MTK_PULL_PU_PD_RSEL_TYPE /* 30 */, MTK_PULL_PU_PD_TYPE /* 31 */,853	MTK_PULL_PU_PD_TYPE /* 32 */, MTK_PULL_PU_PD_TYPE /* 33 */,854	MTK_PULL_PU_PD_RSEL_TYPE /* 34 */, MTK_PULL_PU_PD_RSEL_TYPE /* 35 */,855	MTK_PULL_PU_PD_TYPE /* 36 */, MTK_PULL_PU_PD_TYPE /* 37 */,856	MTK_PULL_PU_PD_TYPE /* 38 */, MTK_PULL_PU_PD_TYPE /* 39 */,857	MTK_PULL_PU_PD_TYPE /* 40 */, MTK_PULL_PU_PD_TYPE /* 41 */,858	MTK_PULL_PU_PD_TYPE /* 42 */, MTK_PULL_PU_PD_TYPE /* 43 */,859	MTK_PULL_PU_PD_RSEL_TYPE /* 44 */, MTK_PULL_PU_PD_RSEL_TYPE /* 45 */,860	MTK_PULL_PU_PD_TYPE /* 46 */, MTK_PULL_PU_PD_TYPE /* 47 */,861	MTK_PULL_PU_PD_TYPE /* 48 */, MTK_PULL_PU_PD_TYPE /* 49 */,862	MTK_PULL_PU_PD_TYPE /* 50 */, MTK_PULL_PU_PD_TYPE /* 51 */,863	MTK_PULL_PU_PD_TYPE /* 52 */, MTK_PULL_PU_PD_TYPE /* 53 */,864	MTK_PULL_PU_PD_TYPE /* 54 */, MTK_PULL_PU_PD_TYPE /* 55 */,865	MTK_PULL_PU_PD_TYPE /* 56 */, MTK_PULL_PU_PD_TYPE /* 57 */,866	MTK_PULL_PU_PD_TYPE /* 58 */, MTK_PULL_PU_PD_TYPE /* 59 */,867	MTK_PULL_PU_PD_TYPE /* 60 */, MTK_PULL_PU_PD_TYPE /* 61 */,868	MTK_PULL_PU_PD_TYPE /* 62 */, MTK_PULL_PU_PD_TYPE /* 63 */,869	MTK_PULL_PU_PD_TYPE /* 64 */, MTK_PULL_PU_PD_TYPE /* 65 */,870	MTK_PULL_PU_PD_TYPE /* 66 */, MTK_PULL_PU_PD_TYPE /* 67 */,871	MTK_PULL_PU_PD_TYPE /* 68 */, MTK_PULL_PU_PD_TYPE /* 69 */,872	MTK_PULL_PU_PD_TYPE /* 70 */, MTK_PULL_PU_PD_TYPE /* 71 */,873	MTK_PULL_PU_PD_TYPE /* 72 */, MTK_PULL_PU_PD_TYPE /* 73 */,874	MTK_PULL_PU_PD_TYPE /* 74 */, MTK_PULL_PU_PD_TYPE /* 75 */,875	MTK_PULL_PU_PD_TYPE /* 76 */, MTK_PULL_PUPD_R1R0_TYPE /* 77 */,876	MTK_PULL_PUPD_R1R0_TYPE /* 78 */, MTK_PULL_PUPD_R1R0_TYPE /* 79 */,877	MTK_PULL_PUPD_R1R0_TYPE /* 80 */, MTK_PULL_PUPD_R1R0_TYPE /* 81 */,878	MTK_PULL_PUPD_R1R0_TYPE /* 82 */, MTK_PULL_PUPD_R1R0_TYPE /* 83 */,879	MTK_PULL_PUPD_R1R0_TYPE /* 84 */, MTK_PULL_PUPD_R1R0_TYPE /* 85 */,880	MTK_PULL_PUPD_R1R0_TYPE /* 86 */, MTK_PULL_PUPD_R1R0_TYPE /* 87 */,881	MTK_PULL_PUPD_R1R0_TYPE /* 88 */, MTK_PULL_PUPD_R1R0_TYPE /* 89 */,882	MTK_PULL_PUPD_R1R0_TYPE /* 90 */, MTK_PULL_PUPD_R1R0_TYPE /* 91 */,883	MTK_PULL_PUPD_R1R0_TYPE /* 92 */, MTK_PULL_PUPD_R1R0_TYPE /* 93 */,884	MTK_PULL_PUPD_R1R0_TYPE /* 94 */, MTK_PULL_PUPD_R1R0_TYPE /* 95 */,885	MTK_PULL_PUPD_R1R0_TYPE /* 96 */, MTK_PULL_PU_PD_TYPE /* 97 */,886	MTK_PULL_PU_PD_TYPE /* 98 */, MTK_PULL_PU_PD_TYPE /* 99 */,887	MTK_PULL_PU_PD_TYPE /* 100 */, MTK_PULL_PU_PD_TYPE /* 101 */,888	MTK_PULL_PU_PD_TYPE /* 102 */, MTK_PULL_PU_PD_TYPE /* 103 */,889	MTK_PULL_PUPD_R1R0_TYPE /* 104 */, MTK_PULL_PUPD_R1R0_TYPE /* 105 */,890	MTK_PULL_PUPD_R1R0_TYPE /* 106 */, MTK_PULL_PUPD_R1R0_TYPE /* 107 */,891	MTK_PULL_PU_PD_TYPE /* 108 */, MTK_PULL_PU_PD_TYPE /* 109 */,892	MTK_PULL_PUPD_R1R0_TYPE /* 110 */, MTK_PULL_PUPD_R1R0_TYPE /* 111 */,893	MTK_PULL_PUPD_R1R0_TYPE /* 112 */, MTK_PULL_PUPD_R1R0_TYPE /* 113 */,894	MTK_PULL_PUPD_R1R0_TYPE /* 114 */, MTK_PULL_PUPD_R1R0_TYPE /* 115 */,895	MTK_PULL_PUPD_R1R0_TYPE /* 116 */, MTK_PULL_PUPD_R1R0_TYPE /* 117 */,896	MTK_PULL_PUPD_R1R0_TYPE /* 118 */, MTK_PULL_PUPD_R1R0_TYPE /* 119 */,897	MTK_PULL_PUPD_R1R0_TYPE /* 120 */, MTK_PULL_PUPD_R1R0_TYPE /* 121 */,898	MTK_PULL_PUPD_R1R0_TYPE /* 122 */, MTK_PULL_PUPD_R1R0_TYPE /* 123 */,899	MTK_PULL_PUPD_R1R0_TYPE /* 124 */, MTK_PULL_PUPD_R1R0_TYPE /* 125 */,900	MTK_PULL_PUPD_R1R0_TYPE /* 126 */, MTK_PULL_PUPD_R1R0_TYPE /* 127 */,901	MTK_PULL_PU_PD_TYPE /* 128 */, MTK_PULL_PU_PD_TYPE /* 129 */,902	MTK_PULL_PU_PD_TYPE /* 130 */, MTK_PULL_PU_PD_TYPE /* 131 */,903	MTK_PULL_PU_PD_TYPE /* 132 */, MTK_PULL_PU_PD_TYPE /* 133 */,904	MTK_PULL_PU_PD_TYPE /* 134 */, MTK_PULL_PU_PD_TYPE /* 135 */,905	MTK_PULL_PU_PD_TYPE /* 136 */, MTK_PULL_PU_PD_TYPE /* 137 */,906	MTK_PULL_PU_PD_TYPE /* 138 */, MTK_PULL_PU_PD_TYPE /* 139 */,907	MTK_PULL_PU_PD_TYPE /* 140 */, MTK_PULL_PU_PD_TYPE /* 141 */,908	MTK_PULL_PU_PD_TYPE /* 142 */, MTK_PULL_PU_PD_TYPE /* 143 */,909};910 911static const struct mtk_pin_reg_calc mt8195_reg_cals[PINCTRL_PIN_REG_MAX] = {912	[PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8195_pin_mode_range),913	[PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8195_pin_dir_range),914	[PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8195_pin_di_range),915	[PINCTRL_PIN_REG_DO] = MTK_RANGE(mt8195_pin_do_range),916	[PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt8195_pin_smt_range),917	[PINCTRL_PIN_REG_IES] = MTK_RANGE(mt8195_pin_ies_range),918	[PINCTRL_PIN_REG_PU] = MTK_RANGE(mt8195_pin_pu_range),919	[PINCTRL_PIN_REG_PD] = MTK_RANGE(mt8195_pin_pd_range),920	[PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt8195_pin_drv_range),921	[PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt8195_pin_pupd_range),922	[PINCTRL_PIN_REG_R0] = MTK_RANGE(mt8195_pin_r0_range),923	[PINCTRL_PIN_REG_R1] = MTK_RANGE(mt8195_pin_r1_range),924	[PINCTRL_PIN_REG_DRV_ADV] = MTK_RANGE(mt8195_pin_drv_adv_range),925	[PINCTRL_PIN_REG_RSEL] = MTK_RANGE(mt8195_pin_rsel_range),926};927 928static const char * const mt8195_pinctrl_register_base_names[] = {929	"iocfg0", "iocfg_bm", "iocfg_bl", "iocfg_br", "iocfg_lm",930	"iocfg_rb", "iocfg_tl",931};932 933static const struct mtk_eint_hw mt8195_eint_hw = {934	.port_mask = 0xf,935	.ports     = 7,936	.ap_num    = 225,937	.db_cnt    = 32,938	.db_time   = debounce_time_mt6765,939};940 941static const struct mtk_pin_soc mt8195_data = {942	.reg_cal = mt8195_reg_cals,943	.pins = mtk_pins_mt8195,944	.npins = ARRAY_SIZE(mtk_pins_mt8195),945	.ngrps = ARRAY_SIZE(mtk_pins_mt8195),946	.eint_hw = &mt8195_eint_hw,947	.nfuncs = 8,948	.gpio_m = 0,949	.base_names = mt8195_pinctrl_register_base_names,950	.nbase_names = ARRAY_SIZE(mt8195_pinctrl_register_base_names),951	.pull_type = mt8195_pull_type,952	.pin_rsel = mt8195_pin_rsel_val_range,953	.npin_rsel = ARRAY_SIZE(mt8195_pin_rsel_val_range),954	.bias_set_combo = mtk_pinconf_bias_set_combo,955	.bias_get_combo = mtk_pinconf_bias_get_combo,956	.drive_set = mtk_pinconf_drive_set_rev1,957	.drive_get = mtk_pinconf_drive_get_rev1,958	.adv_drive_get = mtk_pinconf_adv_drive_get_raw,959	.adv_drive_set = mtk_pinconf_adv_drive_set_raw,960};961 962static const struct of_device_id mt8195_pinctrl_of_match[] = {963	{ .compatible = "mediatek,mt8195-pinctrl", .data = &mt8195_data },964	{ }965};966 967static struct platform_driver mt8195_pinctrl_driver = {968	.driver = {969		.name = "mt8195-pinctrl",970		.of_match_table = mt8195_pinctrl_of_match,971		.pm = pm_sleep_ptr(&mtk_paris_pinctrl_pm_ops),972	},973	.probe = mtk_paris_pinctrl_probe,974};975 976static int __init mt8195_pinctrl_init(void)977{978	return platform_driver_register(&mt8195_pinctrl_driver);979}980arch_initcall(mt8195_pinctrl_init);981