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