0001
0002
0003
0004
0005
0006
0007 #include "pinctrl-mtk-mt6795.h"
0008 #include "pinctrl-paris.h"
0009
0010 #define PIN_FIELD15(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits) \
0011 PIN_FIELD_CALC(_s_pin, _e_pin, 0, _s_addr, _x_addrs, _s_bit, \
0012 _x_bits, 15, 0)
0013
0014 #define PIN_FIELD16(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits) \
0015 PIN_FIELD_CALC(_s_pin, _e_pin, 0, _s_addr, _x_addrs, _s_bit, \
0016 _x_bits, 16, 0)
0017
0018 #define PINS_FIELD16(_s_pin, _e_pin, _s_addr, _x_addrs, _s_bit, _x_bits)\
0019 PIN_FIELD_CALC(_s_pin, _e_pin, 0, _s_addr, _x_addrs, _s_bit, \
0020 _x_bits, 16, 1)
0021
0022 static const struct mtk_pin_field_calc mt6795_pin_dir_range[] = {
0023 PIN_FIELD16(0, 196, 0x0, 0x10, 0, 1),
0024 };
0025
0026 static const struct mtk_pin_field_calc mt6795_pin_pullen_range[] = {
0027 PIN_FIELD16(0, 196, 0x100, 0x10, 0, 1),
0028 };
0029
0030 static const struct mtk_pin_field_calc mt6795_pin_pullsel_range[] = {
0031 PIN_FIELD16(0, 196, 0x200, 0x10, 0, 1),
0032 };
0033
0034 static const struct mtk_pin_field_calc mt6795_pin_do_range[] = {
0035 PIN_FIELD16(0, 196, 0x400, 0x10, 0, 1),
0036 };
0037
0038 static const struct mtk_pin_field_calc mt6795_pin_di_range[] = {
0039 PIN_FIELD16(0, 196, 0x500, 0x10, 0, 1),
0040 };
0041
0042 static const struct mtk_pin_field_calc mt6795_pin_mode_range[] = {
0043 PIN_FIELD15(0, 196, 0x600, 0x10, 0, 3),
0044 };
0045
0046 static const struct mtk_pin_field_calc mt6795_pin_ies_range[] = {
0047 PINS_FIELD16(0, 4, 0x900, 0x10, 1, 1),
0048 PINS_FIELD16(5, 9, 0x900, 0x10, 2, 1),
0049 PINS_FIELD16(10, 15, 0x900, 0x10, 10, 1),
0050 PINS_FIELD16(16, 16, 0x900, 0x10, 2, 1),
0051 PINS_FIELD16(17, 19, 0x910, 0x10, 3, 1),
0052 PINS_FIELD16(20, 22, 0x910, 0x10, 4, 1),
0053 PINS_FIELD16(23, 26, 0xce0, 0x10, 14, 1),
0054 PINS_FIELD16(27, 27, 0xcc0, 0x10, 14, 1),
0055 PINS_FIELD16(28, 28, 0xcd0, 0x10, 14, 1),
0056 PINS_FIELD16(29, 32, 0x900, 0x10, 3, 1),
0057 PINS_FIELD16(33, 33, 0x900, 0x10, 4, 1),
0058 PINS_FIELD16(34, 36, 0x900, 0x10, 5, 1),
0059 PINS_FIELD16(37, 38, 0x900, 0x10, 6, 1),
0060 PINS_FIELD16(39, 39, 0x900, 0x10, 7, 1),
0061 PINS_FIELD16(40, 40, 0x900, 0x10, 8, 1),
0062 PINS_FIELD16(41, 42, 0x900, 0x10, 9, 1),
0063 PINS_FIELD16(43, 46, 0x900, 0x10, 11, 1),
0064 PINS_FIELD16(47, 61, 0x920, 0x10, 3, 1),
0065 PINS_FIELD16(62, 66, 0x920, 0x10, 4, 1),
0066 PINS_FIELD16(67, 67, 0x920, 0x10, 3, 1),
0067 PINS_FIELD16(68, 72, 0x920, 0x10, 5, 1),
0068 PINS_FIELD16(73, 77, 0x920, 0x10, 6, 1),
0069 PINS_FIELD16(78, 91, 0x920, 0x10, 7, 1),
0070 PINS_FIELD16(92, 92, 0x900, 0x10, 13, 1),
0071 PINS_FIELD16(93, 95, 0x900, 0x10, 14, 1),
0072 PINS_FIELD16(96, 99, 0x900, 0x10, 15, 1),
0073 PINS_FIELD16(100, 103, 0xca0, 0x10, 14, 1),
0074 PINS_FIELD16(104, 104, 0xc80, 0x10, 14, 1),
0075 PINS_FIELD16(105, 105, 0xc90, 0x10, 14, 1),
0076 PINS_FIELD16(106, 107, 0x910, 0x10, 0, 1),
0077 PINS_FIELD16(108, 112, 0x910, 0x10, 1, 1),
0078 PINS_FIELD16(113, 116, 0x910, 0x10, 2, 1),
0079 PINS_FIELD16(117, 118, 0x910, 0x10, 5, 1),
0080 PINS_FIELD16(119, 124, 0x910, 0x10, 6, 1),
0081 PINS_FIELD16(125, 126, 0x910, 0x10, 7, 1),
0082 PINS_FIELD16(129, 129, 0x910, 0x10, 8, 1),
0083 PINS_FIELD16(130, 131, 0x910, 0x10, 9, 1),
0084 PINS_FIELD16(132, 135, 0x910, 0x10, 8, 1),
0085 PINS_FIELD16(136, 137, 0x910, 0x10, 7, 1),
0086 PINS_FIELD16(154, 161, 0xc20, 0x10, 14, 1),
0087 PINS_FIELD16(162, 162, 0xc10, 0x10, 14, 1),
0088 PINS_FIELD16(163, 163, 0xc00, 0x10, 14, 1),
0089 PINS_FIELD16(164, 164, 0xd10, 0x10, 14, 1),
0090 PINS_FIELD16(165, 165, 0xd00, 0x10, 14, 1),
0091 PINS_FIELD16(166, 169, 0x910, 0x10, 14, 1),
0092 PINS_FIELD16(176, 179, 0x910, 0x10, 15, 1),
0093 PINS_FIELD16(180, 180, 0x920, 0x10, 0, 1),
0094 PINS_FIELD16(181, 184, 0x920, 0x10, 1, 1),
0095 PINS_FIELD16(185, 191, 0x920, 0x10, 2, 1),
0096 PINS_FIELD16(192, 192, 0x920, 0x10, 8, 1),
0097 PINS_FIELD16(193, 194, 0x920, 0x10, 9, 1),
0098 PINS_FIELD16(195, 196, 0x920, 0x10, 8, 1),
0099 };
0100
0101 static const struct mtk_pin_field_calc mt6795_pin_smt_range[] = {
0102 PINS_FIELD16(0, 4, 0x930, 0x10, 1, 1),
0103 PINS_FIELD16(5, 9, 0x930, 0x10, 2, 1),
0104 PINS_FIELD16(10, 15, 0x930, 0x10, 10, 1),
0105 PINS_FIELD16(16, 16, 0x930, 0x10, 2, 1),
0106 PINS_FIELD16(17, 19, 0x940, 0x10, 3, 1),
0107 PINS_FIELD16(20, 22, 0x940, 0x10, 4, 1),
0108 PINS_FIELD16(23, 26, 0xce0, 0x10, 13, 1),
0109 PINS_FIELD16(27, 27, 0xcc0, 0x10, 13, 1),
0110 PINS_FIELD16(28, 28, 0xcd0, 0x10, 13, 1),
0111 PINS_FIELD16(29, 32, 0x930, 0x10, 3, 1),
0112 PINS_FIELD16(33, 33, 0x930, 0x10, 4, 1),
0113 PINS_FIELD16(34, 36, 0x930, 0x10, 5, 1),
0114 PINS_FIELD16(37, 38, 0x930, 0x10, 6, 1),
0115 PINS_FIELD16(39, 39, 0x930, 0x10, 7, 1),
0116 PINS_FIELD16(40, 40, 0x930, 0x10, 8, 1),
0117 PINS_FIELD16(41, 42, 0x930, 0x10, 9, 1),
0118 PINS_FIELD16(43, 46, 0x930, 0x10, 11, 1),
0119 PINS_FIELD16(47, 61, 0x950, 0x10, 3, 1),
0120 PINS_FIELD16(62, 66, 0x950, 0x10, 4, 1),
0121 PINS_FIELD16(67, 67, 0x950, 0x10, 3, 1),
0122 PINS_FIELD16(68, 72, 0x950, 0x10, 5, 1),
0123 PINS_FIELD16(73, 77, 0x950, 0x10, 6, 1),
0124 PINS_FIELD16(78, 91, 0x950, 0x10, 7, 1),
0125 PINS_FIELD16(92, 92, 0x930, 0x10, 13, 1),
0126 PINS_FIELD16(93, 95, 0x930, 0x10, 14, 1),
0127 PINS_FIELD16(96, 99, 0x930, 0x10, 15, 1),
0128 PINS_FIELD16(100, 103, 0xca0, 0x10, 13, 1),
0129 PINS_FIELD16(104, 104, 0xc80, 0x10, 13, 1),
0130 PINS_FIELD16(105, 105, 0xc90, 0x10, 13, 1),
0131 PINS_FIELD16(106, 107, 0x940, 0x10, 0, 1),
0132 PINS_FIELD16(108, 112, 0x940, 0x10, 1, 1),
0133 PINS_FIELD16(113, 116, 0x940, 0x10, 2, 1),
0134 PINS_FIELD16(117, 118, 0x940, 0x10, 5, 1),
0135 PINS_FIELD16(119, 124, 0x940, 0x10, 6, 1),
0136 PINS_FIELD16(125, 126, 0x940, 0x10, 7, 1),
0137 PINS_FIELD16(129, 129, 0x940, 0x10, 8, 1),
0138 PINS_FIELD16(130, 131, 0x940, 0x10, 9, 1),
0139 PINS_FIELD16(132, 135, 0x940, 0x10, 8, 1),
0140 PINS_FIELD16(136, 137, 0x940, 0x10, 7, 1),
0141 PINS_FIELD16(154, 161, 0xc20, 0x10, 13, 1),
0142 PINS_FIELD16(162, 162, 0xc10, 0x10, 13, 1),
0143 PINS_FIELD16(163, 163, 0xc00, 0x10, 13, 1),
0144 PINS_FIELD16(164, 164, 0xd10, 0x10, 13, 1),
0145 PINS_FIELD16(165, 165, 0xd00, 0x10, 13, 1),
0146 PINS_FIELD16(166, 169, 0x940, 0x10, 14, 1),
0147 PINS_FIELD16(176, 179, 0x940, 0x10, 15, 1),
0148 PINS_FIELD16(180, 180, 0x950, 0x10, 0, 1),
0149 PINS_FIELD16(181, 184, 0x950, 0x10, 1, 1),
0150 PINS_FIELD16(185, 191, 0x950, 0x10, 2, 1),
0151 PINS_FIELD16(192, 192, 0x950, 0x10, 8, 1),
0152 PINS_FIELD16(193, 194, 0x950, 0x10, 9, 1),
0153 PINS_FIELD16(195, 196, 0x950, 0x10, 8, 1),
0154 };
0155
0156
0157 static const struct mtk_pin_field_calc mt6795_pin_pupd_range[] = {
0158
0159 PIN_FIELD16(119, 119, 0xe00, 0x10, 2, 1),
0160 PIN_FIELD16(120, 120, 0xe00, 0x10, 6, 1),
0161 PIN_FIELD16(121, 121, 0xe00, 0x10, 10, 1),
0162 PIN_FIELD16(122, 122, 0xe10, 0x10, 2, 1),
0163 PIN_FIELD16(123, 123, 0xe10, 0x10, 6, 1),
0164 PIN_FIELD16(124, 124, 0xe10, 0x10, 10, 1),
0165
0166
0167 PIN_FIELD16(138, 138, 0xd50, 0x10, 2, 1),
0168 PIN_FIELD16(139, 139, 0xd60, 0x10, 1, 1),
0169 PIN_FIELD16(140, 140, 0xd70, 0x10, 1, 1),
0170 PIN_FIELD16(141, 141, 0xd70, 0x10, 3, 1),
0171 PIN_FIELD16(142, 142, 0xd70, 0x10, 5, 1),
0172 PIN_FIELD16(143, 143, 0xd70, 0x10, 7, 1),
0173 PIN_FIELD16(144, 144, 0xd50, 0x10, 5, 1),
0174 PIN_FIELD16(145, 145, 0xd50, 0x10, 7, 1),
0175 PIN_FIELD16(146, 146, 0xd60, 0x10, 7, 1),
0176 PIN_FIELD16(147, 147, 0xed0, 0x10, 6, 1),
0177 PIN_FIELD16(148, 148, 0xed0, 0x10, 8, 1),
0178 PIN_FIELD16(149, 149, 0xed0, 0x10, 10, 1),
0179 PIN_FIELD16(150, 150, 0xed0, 0x10, 12, 1),
0180 PIN_FIELD16(151, 151, 0xed0, 0x10, 14, 1),
0181 PIN_FIELD16(152, 152, 0xd60, 0x10, 3, 1),
0182 PIN_FIELD16(153, 153, 0xd60, 0x10, 5, 1),
0183
0184
0185 PIN_FIELD16(154, 154, 0xc20, 0x10, 2, 1),
0186 PIN_FIELD16(155, 155, 0xc20, 0x10, 2, 1),
0187 PIN_FIELD16(156, 156, 0xc20, 0x10, 2, 1),
0188 PIN_FIELD16(157, 157, 0xc20, 0x10, 2, 1),
0189 PIN_FIELD16(158, 158, 0xc20, 0x10, 2, 1),
0190 PIN_FIELD16(159, 159, 0xc20, 0x10, 2, 1),
0191 PIN_FIELD16(160, 160, 0xc20, 0x10, 2, 1),
0192 PIN_FIELD16(161, 161, 0xc20, 0x10, 2, 1),
0193 PIN_FIELD16(162, 162, 0xc10, 0x10, 2, 1),
0194 PIN_FIELD16(163, 163, 0xc00, 0x10, 2, 1),
0195 PIN_FIELD16(164, 164, 0xd10, 0x10, 2, 1),
0196 PIN_FIELD16(165, 165, 0xd00, 0x10, 2, 1),
0197
0198
0199 PIN_FIELD16(170, 170, 0xc50, 0x10, 2, 1),
0200 PIN_FIELD16(171, 171, 0xd20, 0x10, 2, 1),
0201 PIN_FIELD16(172, 172, 0xd20, 0x10, 6, 1),
0202 PIN_FIELD16(173, 173, 0xd20, 0x10, 10, 1),
0203 PIN_FIELD16(174, 174, 0xd20, 0x10, 14, 1),
0204 PIN_FIELD16(175, 175, 0xc40, 0x10, 2, 1),
0205
0206
0207 PIN_FIELD16(100, 100, 0xd30, 0x10, 2, 1),
0208 PIN_FIELD16(101, 101, 0xd30, 0x10, 6, 1),
0209 PIN_FIELD16(102, 102, 0xd30, 0x10, 10, 1),
0210 PIN_FIELD16(103, 103, 0xd30, 0x10, 14, 1),
0211 PIN_FIELD16(104, 104, 0xc80, 0x10, 2, 1),
0212 PIN_FIELD16(105, 105, 0xc90, 0x10, 2, 1),
0213
0214
0215 PIN_FIELD16(23, 23, 0xd40, 0x10, 2, 1),
0216 PIN_FIELD16(24, 24, 0xd40, 0x10, 6, 5),
0217 PIN_FIELD16(25, 25, 0xd40, 0x10, 10, 9),
0218 PIN_FIELD16(26, 26, 0xd40, 0x10, 14, 13),
0219 PIN_FIELD16(27, 27, 0xcc0, 0x10, 2, 1),
0220 PIN_FIELD16(28, 28, 0xcd0, 0x10, 2, 1)
0221 };
0222
0223 static const struct mtk_pin_field_calc mt6795_pin_r0_range[] = {
0224 PIN_FIELD16(23, 23, 0xd40, 0x10, 0, 1),
0225 PIN_FIELD16(24, 24, 0xd40, 0x10, 4, 1),
0226 PIN_FIELD16(25, 25, 0xd40, 0x10, 8, 1),
0227 PIN_FIELD16(26, 26, 0xd40, 0x10, 12, 1),
0228 PIN_FIELD16(27, 27, 0xcc0, 0x10, 0, 1),
0229 PIN_FIELD16(28, 28, 0xcd0, 0x10, 0, 1),
0230 PIN_FIELD16(100, 100, 0xd30, 0x10, 0, 1),
0231 PIN_FIELD16(101, 101, 0xd30, 0x10, 4, 1),
0232 PIN_FIELD16(102, 102, 0xd30, 0x10, 8, 1),
0233 PIN_FIELD16(103, 103, 0xd30, 0x10, 12, 1),
0234 PIN_FIELD16(104, 104, 0xc80, 0x10, 0, 1),
0235 PIN_FIELD16(105, 105, 0xc90, 0x10, 0, 1),
0236 PIN_FIELD16(119, 119, 0xe00, 0x10, 0, 1),
0237 PIN_FIELD16(120, 120, 0xe00, 0x10, 4, 1),
0238 PIN_FIELD16(121, 121, 0xe00, 0x10, 8, 1),
0239 PIN_FIELD16(122, 122, 0xe10, 0x10, 0, 1),
0240 PIN_FIELD16(123, 123, 0xe10, 0x10, 4, 1),
0241 PIN_FIELD16(124, 124, 0xe10, 0x10, 8, 1),
0242 PIN_FIELD16(138, 138, 0xd50, 0x10, 0, 1),
0243 PIN_FIELD16(139, 139, 0xd60, 0x10, 0, 1),
0244 PIN_FIELD16(140, 140, 0xd70, 0x10, 0, 1),
0245 PIN_FIELD16(141, 141, 0xd70, 0x10, 1, 1),
0246 PIN_FIELD16(142, 142, 0xd70, 0x10, 3, 1),
0247 PIN_FIELD16(143, 143, 0xd70, 0x10, 5, 1),
0248 PIN_FIELD16(144, 144, 0xd50, 0x10, 3, 1),
0249 PIN_FIELD16(145, 145, 0xd50, 0x10, 5, 1),
0250 PIN_FIELD16(146, 146, 0xd60, 0x10, 5, 1),
0251 PIN_FIELD16(147, 147, 0xed0, 0x10, 4, 1),
0252 PIN_FIELD16(148, 148, 0xed0, 0x10, 6, 1),
0253 PIN_FIELD16(149, 149, 0xed0, 0x10, 8, 1),
0254 PIN_FIELD16(150, 150, 0xed0, 0x10, 10, 1),
0255 PIN_FIELD16(151, 151, 0xed0, 0x10, 12, 1),
0256 PIN_FIELD16(152, 152, 0xd60, 0x10, 1, 1),
0257 PIN_FIELD16(153, 153, 0xd60, 0x10, 3, 1),
0258 PIN_FIELD16(154, 155, 0xc20, 0x10, 0, 1),
0259 PIN_FIELD16(155, 156, 0xc20, 0x10, 0, 1),
0260 PIN_FIELD16(156, 157, 0xc20, 0x10, 0, 1),
0261 PIN_FIELD16(157, 158, 0xc20, 0x10, 0, 1),
0262 PIN_FIELD16(158, 159, 0xc20, 0x10, 0, 1),
0263 PIN_FIELD16(159, 160, 0xc20, 0x10, 0, 1),
0264 PIN_FIELD16(160, 161, 0xc20, 0x10, 0, 1),
0265 PIN_FIELD16(161, 161, 0xc20, 0x10, 0, 1),
0266 PIN_FIELD16(162, 162, 0xc10, 0x10, 0, 1),
0267 PIN_FIELD16(163, 163, 0xc00, 0x10, 0, 1),
0268 PIN_FIELD16(164, 164, 0xd10, 0x10, 0, 1),
0269 PIN_FIELD16(165, 165, 0xd00, 0x10, 0, 1),
0270 PIN_FIELD16(170, 170, 0xc50, 0x10, 0, 1),
0271 PIN_FIELD16(171, 171, 0xd20, 0x10, 0, 1),
0272 PIN_FIELD16(172, 172, 0xd20, 0x10, 4, 1),
0273 PIN_FIELD16(173, 173, 0xd20, 0x10, 8, 1),
0274 PIN_FIELD16(174, 174, 0xd20, 0x10, 12, 1),
0275 PIN_FIELD16(175, 175, 0xc40, 0x10, 0, 1),
0276 };
0277
0278 static const struct mtk_pin_field_calc mt6795_pin_r1_range[] = {
0279 PIN_FIELD16(23, 23, 0xd40, 0x10, 1, 1),
0280 PIN_FIELD16(24, 24, 0xd40, 0x10, 5, 1),
0281 PIN_FIELD16(25, 25, 0xd40, 0x10, 9, 1),
0282 PIN_FIELD16(26, 26, 0xd40, 0x10, 13, 1),
0283 PIN_FIELD16(27, 27, 0xcc0, 0x10, 1, 1),
0284 PIN_FIELD16(28, 28, 0xcd0, 0x10, 1, 1),
0285 PIN_FIELD16(100, 100, 0xd30, 0x10, 1, 1),
0286 PIN_FIELD16(101, 101, 0xd30, 0x10, 5, 1),
0287 PIN_FIELD16(102, 102, 0xd30, 0x10, 9, 1),
0288 PIN_FIELD16(103, 103, 0xd30, 0x10, 13, 1),
0289 PIN_FIELD16(104, 104, 0xc80, 0x10, 1, 1),
0290 PIN_FIELD16(105, 105, 0xc90, 0x10, 1, 1),
0291 PIN_FIELD16(119, 119, 0xe00, 0x10, 1, 1),
0292 PIN_FIELD16(120, 120, 0xe00, 0x10, 5, 1),
0293 PIN_FIELD16(121, 121, 0xe00, 0x10, 9, 1),
0294 PIN_FIELD16(122, 122, 0xe10, 0x10, 1, 1),
0295 PIN_FIELD16(123, 123, 0xe10, 0x10, 5, 1),
0296 PIN_FIELD16(124, 124, 0xe10, 0x10, 9, 1),
0297 PIN_FIELD16(138, 138, 0xd50, 0x10, 1, 1),
0298 PIN_FIELD16(139, 139, 0xd60, 0x10, 0, 1),
0299 PIN_FIELD16(140, 140, 0xd70, 0x10, 0, 1),
0300 PIN_FIELD16(141, 141, 0xd70, 0x10, 2, 1),
0301 PIN_FIELD16(142, 142, 0xd70, 0x10, 4, 1),
0302 PIN_FIELD16(143, 143, 0xd70, 0x10, 6, 1),
0303 PIN_FIELD16(144, 144, 0xd50, 0x10, 4, 1),
0304 PIN_FIELD16(145, 145, 0xd50, 0x10, 6, 1),
0305 PIN_FIELD16(146, 146, 0xd60, 0x10, 6, 1),
0306 PIN_FIELD16(147, 147, 0xed0, 0x10, 5, 1),
0307 PIN_FIELD16(148, 148, 0xed0, 0x10, 7, 1),
0308 PIN_FIELD16(149, 149, 0xed0, 0x10, 9, 1),
0309 PIN_FIELD16(150, 150, 0xed0, 0x10, 11, 1),
0310 PIN_FIELD16(151, 151, 0xed0, 0x10, 13, 1),
0311 PIN_FIELD16(152, 152, 0xd60, 0x10, 2, 1),
0312 PIN_FIELD16(153, 153, 0xd60, 0x10, 4, 1),
0313 PIN_FIELD16(154, 155, 0xc20, 0x10, 1, 1),
0314 PIN_FIELD16(155, 156, 0xc20, 0x10, 1, 1),
0315 PIN_FIELD16(156, 157, 0xc20, 0x10, 1, 1),
0316 PIN_FIELD16(157, 158, 0xc20, 0x10, 1, 1),
0317 PIN_FIELD16(158, 159, 0xc20, 0x10, 1, 1),
0318 PIN_FIELD16(159, 160, 0xc20, 0x10, 1, 1),
0319 PIN_FIELD16(160, 161, 0xc20, 0x10, 1, 1),
0320 PIN_FIELD16(161, 161, 0xc20, 0x10, 1, 1),
0321 PIN_FIELD16(162, 162, 0xc10, 0x10, 1, 1),
0322 PIN_FIELD16(163, 163, 0xc00, 0x10, 1, 1),
0323 PIN_FIELD16(164, 164, 0xd10, 0x10, 1, 1),
0324 PIN_FIELD16(165, 165, 0xd00, 0x10, 1, 1),
0325 PIN_FIELD16(170, 170, 0xc50, 0x10, 1, 1),
0326 PIN_FIELD16(171, 171, 0xd20, 0x10, 1, 1),
0327 PIN_FIELD16(172, 172, 0xd20, 0x10, 5, 1),
0328 PIN_FIELD16(173, 173, 0xd20, 0x10, 9, 1),
0329 PIN_FIELD16(174, 174, 0xd20, 0x10, 13, 1),
0330 PIN_FIELD16(175, 175, 0xc40, 0x10, 1, 1),
0331 };
0332
0333 static const struct mtk_pin_field_calc mt6795_pin_drv_range[] = {
0334 PINS_FIELD16(0, 4, 0xb30, 0x10, 13, 2),
0335 PINS_FIELD16(5, 9, 0xb30, 0x10, 1, 2),
0336 PINS_FIELD16(10, 15, 0xb30, 0x10, 5, 2),
0337 PIN_FIELD16(16, 16, 0xb30, 0x10, 1, 2),
0338 PINS_FIELD16(17, 19, 0xb70, 0x10, 5, 2),
0339 PINS_FIELD16(20, 22, 0xb70, 0x10, 9, 2),
0340 PINS_FIELD16(23, 26, 0xce0, 0x10, 8, 2),
0341 PIN_FIELD16(27, 27, 0xcc0, 0x10, 8, 2),
0342 PIN_FIELD16(28, 28, 0xcd0, 0x10, 8, 2),
0343 PINS_FIELD16(29, 32, 0xb80, 0x10, 13, 2),
0344 PIN_FIELD16(33, 33, 0xb10, 0x10, 13, 2),
0345 PINS_FIELD16(34, 36, 0xb10, 0x10, 9, 2),
0346 PINS_FIELD16(37, 38, 0xb10, 0x10, 5, 2),
0347 PIN_FIELD16(39, 39, 0xb20, 0x10, 1, 2),
0348 PIN_FIELD16(40, 40, 0xb20, 0x10, 5, 2),
0349 PINS_FIELD16(41, 42, 0xb20, 0x10, 9, 2),
0350 PINS_FIELD16(47, 61, 0xb00, 0x10, 9, 2),
0351 PINS_FIELD16(62, 66, 0xb70, 0x10, 1, 2),
0352 PINS_FIELD16(67, 67, 0xb00, 0x10, 9, 2),
0353 PINS_FIELD16(68, 72, 0xb60, 0x10, 13, 2),
0354 PINS_FIELD16(73, 77, 0xb40, 0x10, 13, 2),
0355 PIN_FIELD16(78, 78, 0xb00, 0x10, 12, 3),
0356 PINS_FIELD16(79, 91, 0xb00, 0x10, 13, 2),
0357 PIN_FIELD16(92, 92, 0xb60, 0x10, 5, 2),
0358 PINS_FIELD16(93, 95, 0xb60, 0x10, 1, 2),
0359 PINS_FIELD16(96, 99, 0xb80, 0x10, 9, 2),
0360 PINS_FIELD16(100, 103, 0xca0, 0x10, 8, 2),
0361 PIN_FIELD16(104, 104, 0xc80, 0x10, 8, 2),
0362 PIN_FIELD16(105, 105, 0xc90, 0x10, 8, 2),
0363 PINS_FIELD16(106, 107, 0xb50, 0x10, 9, 2),
0364 PINS_FIELD16(108, 112, 0xb50, 0x10, 1, 2),
0365 PINS_FIELD16(113, 116, 0xb80, 0x10, 5, 2),
0366 PINS_FIELD16(117, 118, 0xb90, 0x10, 1, 2),
0367 PINS_FIELD16(119, 124, 0xb50, 0x10, 5, 2),
0368 PIN_FIELD16(127, 127, 0xb70, 0x10, 5, 2),
0369 PIN_FIELD16(128, 128, 0xb70, 0x10, 9, 2),
0370 PIN_FIELD16(129, 129, 0xb40, 0x10, 9, 2),
0371 PINS_FIELD16(130, 131, 0xb40, 0x10, 13, 2),
0372 PINS_FIELD16(132, 135, 0xb40, 0x10, 9, 2),
0373 PIN_FIELD16(138, 138, 0xb50, 0x10, 8, 2),
0374 PIN_FIELD16(139, 139, 0xb60, 0x10, 8, 2),
0375 PINS_FIELD16(140, 151, 0xb70, 0x10, 8, 2),
0376 PINS_FIELD16(152, 153, 0xb60, 0x10, 8, 2),
0377 PINS_FIELD16(153, 153, 0xb60, 0x10, 8, 2),
0378 PINS_FIELD16(154, 161, 0xc20, 0x10, 8, 2),
0379 PIN_FIELD16(162, 162, 0xc10, 0x10, 8, 2),
0380 PIN_FIELD16(163, 163, 0xc00, 0x10, 8, 2),
0381 PIN_FIELD16(164, 164, 0xd10, 0x10, 8, 2),
0382 PIN_FIELD16(165, 165, 0xd00, 0x10, 8, 2),
0383 PINS_FIELD16(166, 169, 0xb80, 0x10, 1, 2),
0384 PINS_FIELD16(170, 173, 0xc60, 0x10, 8, 2),
0385 PIN_FIELD16(174, 174, 0xc40, 0x10, 8, 2),
0386 PIN_FIELD16(175, 175, 0xc50, 0x10, 8, 2),
0387 PINS_FIELD16(176, 179, 0xb70, 0x10, 13, 2),
0388 PIN_FIELD16(180, 180, 0xb00, 0x10, 5, 2),
0389 PINS_FIELD16(181, 184, 0xb00, 0x10, 1, 2),
0390 PINS_FIELD16(185, 191, 0xb60, 0x10, 9, 2),
0391 PIN_FIELD16(192, 192, 0xb40, 0x10, 1, 2),
0392 PINS_FIELD16(193, 194, 0xb40, 0x10, 5, 2),
0393 PINS_FIELD16(195, 196, 0xb40, 0x10, 1, 2),
0394 };
0395
0396 static const struct mtk_pin_field_calc mt6795_pin_sr_range[] = {
0397 PINS_FIELD16(0, 4, 0xb30, 0x10, 15, 1),
0398 PINS_FIELD16(5, 9, 0xb30, 0x10, 3, 1),
0399 PINS_FIELD16(10, 15, 0xb30, 0x10, 7, 1),
0400 PIN_FIELD16(16, 16, 0xb30, 0x10, 5, 1),
0401 PINS_FIELD16(23, 26, 0xce0, 0x10, 12, 1),
0402 PIN_FIELD16(27, 27, 0xcc0, 0x10, 12, 1),
0403 PIN_FIELD16(28, 28, 0xcd0, 0x10, 12, 1),
0404 PINS_FIELD16(29, 32, 0xb80, 0x10, 15, 1),
0405 PIN_FIELD16(33, 33, 0xb10, 0x10, 15, 1),
0406 PINS_FIELD16(34, 36, 0xb10, 0x10, 11, 1),
0407 PINS_FIELD16(37, 38, 0xb10, 0x10, 7, 1),
0408 PIN_FIELD16(39, 39, 0xb20, 0x10, 3, 1),
0409 PIN_FIELD16(40, 40, 0xb20, 0x10, 7, 1),
0410 PINS_FIELD16(41, 42, 0xb20, 0x10, 11, 1),
0411 PINS_FIELD16(47, 61, 0xb00, 0x10, 11, 1),
0412 PINS_FIELD16(62, 66, 0xb70, 0x10, 3, 1),
0413 PINS_FIELD16(67, 67, 0xb00, 0x10, 11, 1),
0414 PINS_FIELD16(68, 72, 0xb60, 0x10, 15, 1),
0415 PINS_FIELD16(73, 77, 0xb40, 0x10, 15, 1),
0416 PIN_FIELD16(78, 78, 0xb00, 0x10, 15, 3),
0417 PINS_FIELD16(79, 91, 0xb00, 0x10, 15, 1),
0418 PIN_FIELD16(92, 92, 0xb60, 0x10, 7, 1),
0419 PINS_FIELD16(93, 95, 0xb60, 0x10, 3, 1),
0420 PINS_FIELD16(96, 99, 0xb80, 0x10, 11, 1),
0421 PINS_FIELD16(100, 103, 0xca0, 0x10, 12, 1),
0422 PIN_FIELD16(104, 104, 0xc80, 0x10, 12, 1),
0423 PIN_FIELD16(105, 105, 0xc90, 0x10, 12, 1),
0424 PINS_FIELD16(106, 107, 0xb50, 0x10, 11, 1),
0425 PINS_FIELD16(108, 112, 0xb50, 0x10, 3, 1),
0426 PINS_FIELD16(113, 116, 0xb80, 0x10, 7, 1),
0427 PINS_FIELD16(117, 118, 0xb90, 0x10, 3, 1),
0428 PINS_FIELD16(119, 124, 0xb50, 0x10, 7, 1),
0429 PIN_FIELD16(127, 127, 0xb70, 0x10, 7, 1),
0430 PIN_FIELD16(128, 128, 0xb70, 0x10, 11, 1),
0431 PIN_FIELD16(129, 129, 0xb40, 0x10, 11, 1),
0432 PINS_FIELD16(130, 131, 0xb40, 0x10, 15, 1),
0433 PINS_FIELD16(132, 135, 0xb40, 0x10, 11, 1),
0434 PIN_FIELD16(138, 138, 0xb50, 0x10, 12, 1),
0435 PIN_FIELD16(139, 139, 0xb60, 0x10, 12, 1),
0436 PINS_FIELD16(140, 151, 0xb70, 0x10, 12, 1),
0437 PINS_FIELD16(152, 153, 0xb60, 0x10, 12, 1),
0438 PINS_FIELD16(153, 153, 0xb60, 0x10, 12, 1),
0439 PINS_FIELD16(154, 161, 0xc20, 0x10, 12, 1),
0440 PIN_FIELD16(162, 162, 0xc10, 0x10, 12, 1),
0441 PIN_FIELD16(163, 163, 0xc00, 0x10, 12, 1),
0442 PIN_FIELD16(164, 164, 0xd10, 0x10, 12, 1),
0443 PIN_FIELD16(165, 165, 0xd00, 0x10, 12, 1),
0444 PINS_FIELD16(166, 169, 0xb80, 0x10, 3, 1),
0445 PINS_FIELD16(170, 173, 0xc60, 0x10, 12, 1),
0446 PIN_FIELD16(174, 174, 0xc40, 0x10, 12, 1),
0447 PIN_FIELD16(175, 175, 0xc50, 0x10, 12, 1),
0448 PINS_FIELD16(176, 179, 0xb70, 0x10, 15, 1),
0449 PIN_FIELD16(180, 180, 0xb00, 0x10, 7, 1),
0450 PINS_FIELD16(181, 184, 0xb00, 0x10, 3, 1),
0451 PINS_FIELD16(185, 191, 0xb60, 0x10, 11, 1),
0452 PIN_FIELD16(192, 192, 0xb40, 0x10, 3, 1),
0453 PINS_FIELD16(193, 194, 0xb40, 0x10, 7, 1),
0454 PINS_FIELD16(195, 196, 0xb40, 0x10, 3, 1),
0455 };
0456
0457 static const struct mtk_pin_reg_calc mt6795_reg_cals[PINCTRL_PIN_REG_MAX] = {
0458 [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt6795_pin_mode_range),
0459 [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt6795_pin_dir_range),
0460 [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt6795_pin_di_range),
0461 [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt6795_pin_do_range),
0462 [PINCTRL_PIN_REG_SR] = MTK_RANGE(mt6795_pin_sr_range),
0463 [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt6795_pin_smt_range),
0464 [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt6795_pin_drv_range),
0465 [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt6795_pin_pupd_range),
0466 [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt6795_pin_r0_range),
0467 [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt6795_pin_r1_range),
0468 [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt6795_pin_ies_range),
0469 [PINCTRL_PIN_REG_PULLEN] = MTK_RANGE(mt6795_pin_pullen_range),
0470 [PINCTRL_PIN_REG_PULLSEL] = MTK_RANGE(mt6795_pin_pullsel_range),
0471 };
0472
0473 static const struct mtk_eint_hw mt6795_eint_hw = {
0474 .port_mask = 7,
0475 .ports = 7,
0476 .ap_num = 224,
0477 .db_cnt = 32,
0478 };
0479
0480 static const unsigned int mt6795_pull_type[] = {
0481 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0482 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0483 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0484 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0485 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0486 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0487 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0488 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0489 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0490 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0491 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0492 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0493 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0494 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0495 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PULLSEL_TYPE,
0496 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0497 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0498 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0499 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0500 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0501 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0502 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0503 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0504 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0505 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0506 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0507 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0508 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0509 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0510 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0511 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0512 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0513 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0514 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0515 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0516 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0517 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0518 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0519 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0520 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0521 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0522 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PULLSEL_TYPE,
0523 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0524 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0525 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0526 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0527 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0528 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0529 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0530 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0531 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0532 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0533 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0534 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0535 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0536 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0537 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0538 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0539 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0540 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0541 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0542 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0543 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PULLSEL_TYPE,
0544 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0545 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0546 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0547 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0548 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0549 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0550 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0551 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0552 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0553 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0554 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0555 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0556 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0557 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0558 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0559 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0560 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0561 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0562 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0563 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0564 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0565 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0566 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0567 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0568 MTK_PULL_PUPD_R1R0_TYPE, MTK_PULL_PUPD_R1R0_TYPE,
0569 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0570 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0571 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0572 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0573 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0574 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0575 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0576 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0577 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0578 MTK_PULL_PULLSEL_TYPE, MTK_PULL_PULLSEL_TYPE,
0579 MTK_PULL_PULLSEL_TYPE,
0580 };
0581
0582 static const struct mtk_pin_soc mt6795_data = {
0583 .reg_cal = mt6795_reg_cals,
0584 .pins = mtk_pins_mt6795,
0585 .npins = ARRAY_SIZE(mtk_pins_mt6795),
0586 .ngrps = ARRAY_SIZE(mtk_pins_mt6795),
0587 .nfuncs = 8,
0588 .eint_hw = &mt6795_eint_hw,
0589 .gpio_m = 0,
0590 .base_names = mtk_default_register_base_names,
0591 .nbase_names = ARRAY_SIZE(mtk_default_register_base_names),
0592 .pull_type = mt6795_pull_type,
0593 .bias_disable_set = mtk_pinconf_bias_disable_set_rev1,
0594 .bias_disable_get = mtk_pinconf_bias_disable_get_rev1,
0595 .bias_set = mtk_pinconf_bias_set_rev1,
0596 .bias_get = mtk_pinconf_bias_get_rev1,
0597 .bias_set_combo = mtk_pinconf_bias_set_combo,
0598 .bias_get_combo = mtk_pinconf_bias_get_combo,
0599 .drive_set = mtk_pinconf_drive_set_rev1,
0600 .drive_get = mtk_pinconf_drive_get_rev1,
0601 .adv_pull_get = mtk_pinconf_adv_pull_get,
0602 .adv_pull_set = mtk_pinconf_adv_pull_set,
0603 };
0604
0605 static const struct of_device_id mt6795_pctrl_match[] = {
0606 { .compatible = "mediatek,mt6795-pinctrl", .data = &mt6795_data },
0607 { }
0608 };
0609
0610 static struct platform_driver mt6795_pinctrl_driver = {
0611 .driver = {
0612 .name = "mt6795-pinctrl",
0613 .of_match_table = mt6795_pctrl_match,
0614 .pm = &mtk_paris_pinctrl_pm_ops,
0615 },
0616 .probe = mtk_paris_pinctrl_probe,
0617 };
0618
0619 static int __init mtk_pinctrl_init(void)
0620 {
0621 return platform_driver_register(&mt6795_pinctrl_driver);
0622 }
0623 arch_initcall(mtk_pinctrl_init);