1*aebd4dc8Smtk20895 /* 2*aebd4dc8Smtk20895 * Copyright (c) 2020, MediaTek Inc. All rights reserved. 3*aebd4dc8Smtk20895 * 4*aebd4dc8Smtk20895 * SPDX-License-Identifier: BSD-3-Clause 5*aebd4dc8Smtk20895 */ 6*aebd4dc8Smtk20895 7*aebd4dc8Smtk20895 #ifndef MT_GPIO_H 8*aebd4dc8Smtk20895 #define MT_GPIO_H 9*aebd4dc8Smtk20895 10*aebd4dc8Smtk20895 #include <mtgpio_common.h> 11*aebd4dc8Smtk20895 12*aebd4dc8Smtk20895 /* Enumeration for GPIO pin */ 13*aebd4dc8Smtk20895 typedef enum GPIO_PIN { 14*aebd4dc8Smtk20895 GPIO_UNSUPPORTED = -1, 15*aebd4dc8Smtk20895 16*aebd4dc8Smtk20895 GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, 17*aebd4dc8Smtk20895 GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO15, 18*aebd4dc8Smtk20895 GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, GPIO21, GPIO22, GPIO23, 19*aebd4dc8Smtk20895 GPIO24, GPIO25, GPIO26, GPIO27, GPIO28, GPIO29, GPIO30, GPIO31, 20*aebd4dc8Smtk20895 GPIO32, GPIO33, GPIO34, GPIO35, GPIO36, GPIO37, GPIO38, GPIO39, 21*aebd4dc8Smtk20895 GPIO40, GPIO41, GPIO42, GPIO43, GPIO44, GPIO45, GPIO46, GPIO47, 22*aebd4dc8Smtk20895 GPIO48, GPIO49, GPIO50, GPIO51, GPIO52, GPIO53, GPIO54, GPIO55, 23*aebd4dc8Smtk20895 GPIO56, GPIO57, GPIO58, GPIO59, GPIO60, GPIO61, GPIO62, GPIO63, 24*aebd4dc8Smtk20895 GPIO64, GPIO65, GPIO66, GPIO67, GPIO68, GPIO69, GPIO70, GPIO71, 25*aebd4dc8Smtk20895 GPIO72, GPIO73, GPIO74, GPIO75, GPIO76, GPIO77, GPIO78, GPIO79, 26*aebd4dc8Smtk20895 GPIO80, GPIO81, GPIO82, GPIO83, GPIO84, GPIO85, GPIO86, GPIO87, 27*aebd4dc8Smtk20895 GPIO88, GPIO89, GPIO90, GPIO91, GPIO92, GPIO93, GPIO94, GPIO95, 28*aebd4dc8Smtk20895 GPIO96, GPIO97, GPIO98, GPIO99, GPIO100, GPIO101, GPIO102, GPIO103, 29*aebd4dc8Smtk20895 GPIO104, GPIO105, GPIO106, GPIO107, GPIO108, GPIO109, GPIO110, GPIO111, 30*aebd4dc8Smtk20895 GPIO112, GPIO113, GPIO114, GPIO115, GPIO116, GPIO117, GPIO118, GPIO119, 31*aebd4dc8Smtk20895 GPIO120, GPIO121, GPIO122, GPIO123, GPIO124, GPIO125, GPIO126, GPIO127, 32*aebd4dc8Smtk20895 GPIO128, GPIO129, GPIO130, GPIO131, GPIO132, GPIO133, GPIO134, GPIO135, 33*aebd4dc8Smtk20895 GPIO136, GPIO137, GPIO138, GPIO139, GPIO140, GPIO141, GPIO142, GPIO143, 34*aebd4dc8Smtk20895 MT_GPIO_BASE_MAX 35*aebd4dc8Smtk20895 } GPIO_PIN; 36*aebd4dc8Smtk20895 37*aebd4dc8Smtk20895 static const struct mt_pin_info mt_pin_infos[] = { 38*aebd4dc8Smtk20895 PIN(0, 1, 0, 0x23, 0x60), 39*aebd4dc8Smtk20895 PIN(1, 1, 1, 0x23, 0x60), 40*aebd4dc8Smtk20895 PIN(2, 1, 2, 0x23, 0x60), 41*aebd4dc8Smtk20895 PIN(3, 1, 3, 0x23, 0x60), 42*aebd4dc8Smtk20895 PIN(4, 1, 4, 0x23, 0x60), 43*aebd4dc8Smtk20895 PIN(5, 1, 5, 0x23, 0x60), 44*aebd4dc8Smtk20895 PIN(6, 0, 6, 0x23, 0x70), 45*aebd4dc8Smtk20895 PIN(7, 0, 7, 0x23, 0x70), 46*aebd4dc8Smtk20895 PIN(8, 0, 13, 0x23, 0x70), 47*aebd4dc8Smtk20895 PIN(9, 0, 8, 0x23, 0x70), 48*aebd4dc8Smtk20895 PIN(10, 0, 14, 0x23, 0x70), 49*aebd4dc8Smtk20895 PIN(11, 0, 9, 0x23, 0x70), 50*aebd4dc8Smtk20895 PIN(12, 0, 15, 0x23, 0x70), 51*aebd4dc8Smtk20895 PIN(13, 0, 10, 0x23, 0x70), 52*aebd4dc8Smtk20895 PIN(14, 0, 16, 0x23, 0x70), 53*aebd4dc8Smtk20895 PIN(15, 0, 11, 0x23, 0x70), 54*aebd4dc8Smtk20895 PIN(16, 0, 17, 0x23, 0x70), 55*aebd4dc8Smtk20895 PIN(17, 0, 12, 0x23, 0x70), 56*aebd4dc8Smtk20895 PIN(18, 0, 5, 0x10, 0x60), 57*aebd4dc8Smtk20895 PIN(19, 0, 12, 0x10, 0x60), 58*aebd4dc8Smtk20895 PIN(20, 0, 11, 0x10, 0x60), 59*aebd4dc8Smtk20895 PIN(21, 0, 10, 0x10, 0x60), 60*aebd4dc8Smtk20895 PIN(22, 0, 0, 0x10, 0x60), 61*aebd4dc8Smtk20895 PIN(23, 0, 1, 0x10, 0x60), 62*aebd4dc8Smtk20895 PIN(24, 0, 2, 0x10, 0x60), 63*aebd4dc8Smtk20895 PIN(25, 0, 4, 0x10, 0x60), 64*aebd4dc8Smtk20895 PIN(26, 0, 3, 0x10, 0x60), 65*aebd4dc8Smtk20895 PIN(27, 0, 6, 0x10, 0x60), 66*aebd4dc8Smtk20895 PIN(28, 0, 7, 0x10, 0x60), 67*aebd4dc8Smtk20895 PIN(29, 0, 8, 0x10, 0x60), 68*aebd4dc8Smtk20895 PIN(30, 0, 9, 0x10, 0x60), 69*aebd4dc8Smtk20895 PIN(31, 0, 13, 0x21, 0xa0), 70*aebd4dc8Smtk20895 PIN(32, 0, 12, 0x21, 0xa0), 71*aebd4dc8Smtk20895 PIN(33, 0, 11, 0x21, 0xa0), 72*aebd4dc8Smtk20895 PIN(34, 0, 14, 0x21, 0xa0), 73*aebd4dc8Smtk20895 PIN(35, 0, 15, 0x21, 0xa0), 74*aebd4dc8Smtk20895 PIN(36, 0, 3, 0x21, 0xb0), 75*aebd4dc8Smtk20895 PIN(37, 0, 6, 0x21, 0xb0), 76*aebd4dc8Smtk20895 PIN(38, 0, 4, 0x21, 0xb0), 77*aebd4dc8Smtk20895 PIN(39, 0, 5, 0x21, 0xb0), 78*aebd4dc8Smtk20895 PIN(40, 0, 8, 0x21, 0xb0), 79*aebd4dc8Smtk20895 PIN(41, 0, 7, 0x21, 0xb0), 80*aebd4dc8Smtk20895 PIN(42, 0, 10, 0x21, 0xb0), 81*aebd4dc8Smtk20895 PIN(43, 0, 9, 0x21, 0xb0), 82*aebd4dc8Smtk20895 PIN(44, 0, 20, 0x21, 0xb0), 83*aebd4dc8Smtk20895 PIN(45, 0, 21, 0x21, 0xb0), 84*aebd4dc8Smtk20895 PIN(46, 0, 18, 0x21, 0xa0), 85*aebd4dc8Smtk20895 PIN(47, 0, 16, 0x21, 0xa0), 86*aebd4dc8Smtk20895 PIN(48, 0, 19, 0x21, 0xa0), 87*aebd4dc8Smtk20895 PIN(49, 0, 17, 0x21, 0xa0), 88*aebd4dc8Smtk20895 PIN(50, 0, 25, 0x21, 0xa0), 89*aebd4dc8Smtk20895 PIN(51, 0, 20, 0x21, 0xa0), 90*aebd4dc8Smtk20895 PIN(52, 0, 26, 0x21, 0xa0), 91*aebd4dc8Smtk20895 PIN(53, 0, 21, 0x21, 0xa0), 92*aebd4dc8Smtk20895 PIN(54, 0, 22, 0x21, 0xa0), 93*aebd4dc8Smtk20895 PIN(55, 0, 23, 0x21, 0xa0), 94*aebd4dc8Smtk20895 PIN(56, 0, 24, 0x21, 0xa0), 95*aebd4dc8Smtk20895 PIN(57, 0, 29, 0x21, 0xa0), 96*aebd4dc8Smtk20895 PIN(58, 0, 27, 0x21, 0xa0), 97*aebd4dc8Smtk20895 PIN(59, 0, 30, 0x21, 0xa0), 98*aebd4dc8Smtk20895 PIN(60, 0, 28, 0x21, 0xa0), 99*aebd4dc8Smtk20895 PIN(61, 0, 8, 0x21, 0xa0), 100*aebd4dc8Smtk20895 PIN(62, 0, 7, 0x21, 0xa0), 101*aebd4dc8Smtk20895 PIN(63, 0, 10, 0x21, 0xa0), 102*aebd4dc8Smtk20895 PIN(64, 0, 9, 0x21, 0xa0), 103*aebd4dc8Smtk20895 PIN(65, 0, 1, 0x21, 0xb0), 104*aebd4dc8Smtk20895 PIN(66, 0, 31, 0x21, 0xa0), 105*aebd4dc8Smtk20895 PIN(67, 0, 0, 0x21, 0xb0), 106*aebd4dc8Smtk20895 PIN(68, 0, 2, 0x21, 0xb0), 107*aebd4dc8Smtk20895 PIN(69, 0, 0, 0x21, 0xa0), 108*aebd4dc8Smtk20895 PIN(70, 0, 6, 0x21, 0xa0), 109*aebd4dc8Smtk20895 PIN(71, 0, 4, 0x21, 0xa0), 110*aebd4dc8Smtk20895 PIN(72, 0, 5, 0x21, 0xa0), 111*aebd4dc8Smtk20895 PIN(73, 0, 1, 0x21, 0xa0), 112*aebd4dc8Smtk20895 PIN(74, 0, 2, 0x21, 0xa0), 113*aebd4dc8Smtk20895 PIN(75, 0, 3, 0x21, 0xa0), 114*aebd4dc8Smtk20895 PIN(76, 0, 11, 0x21, 0xb0), 115*aebd4dc8Smtk20895 PIN(77, 1, 1, 0x22, 0x60), 116*aebd4dc8Smtk20895 PIN(78, 1, 2, 0x22, 0x60), 117*aebd4dc8Smtk20895 PIN(79, 1, 9, 0x22, 0x60), 118*aebd4dc8Smtk20895 PIN(80, 1, 10, 0x22, 0x60), 119*aebd4dc8Smtk20895 PIN(81, 1, 11, 0x22, 0x60), 120*aebd4dc8Smtk20895 PIN(82, 1, 12, 0x22, 0x60), 121*aebd4dc8Smtk20895 PIN(83, 1, 13, 0x22, 0x60), 122*aebd4dc8Smtk20895 PIN(84, 1, 14, 0x22, 0x60), 123*aebd4dc8Smtk20895 PIN(85, 1, 15, 0x22, 0x60), 124*aebd4dc8Smtk20895 PIN(86, 1, 16, 0x22, 0x60), 125*aebd4dc8Smtk20895 PIN(87, 1, 3, 0x22, 0x60), 126*aebd4dc8Smtk20895 PIN(88, 1, 4, 0x22, 0x60), 127*aebd4dc8Smtk20895 PIN(89, 1, 5, 0x22, 0x60), 128*aebd4dc8Smtk20895 PIN(90, 1, 6, 0x22, 0x60), 129*aebd4dc8Smtk20895 PIN(91, 1, 7, 0x22, 0x60), 130*aebd4dc8Smtk20895 PIN(92, 1, 8, 0x22, 0x60), 131*aebd4dc8Smtk20895 PIN(93, 1, 18, 0x22, 0x60), 132*aebd4dc8Smtk20895 PIN(94, 1, 19, 0x22, 0x60), 133*aebd4dc8Smtk20895 PIN(95, 1, 17, 0x22, 0x60), 134*aebd4dc8Smtk20895 PIN(96, 1, 0, 0x22, 0x60), 135*aebd4dc8Smtk20895 PIN(97, 0, 20, 0x22, 0x70), 136*aebd4dc8Smtk20895 PIN(98, 0, 28, 0x22, 0x70), 137*aebd4dc8Smtk20895 PIN(99, 0, 27, 0x22, 0x70), 138*aebd4dc8Smtk20895 PIN(100, 0, 30, 0x22, 0x70), 139*aebd4dc8Smtk20895 PIN(101, 0, 29, 0x22, 0x70), 140*aebd4dc8Smtk20895 PIN(102, 0, 0, 0x22, 0x70), 141*aebd4dc8Smtk20895 PIN(103, 0, 31, 0x22, 0x70), 142*aebd4dc8Smtk20895 PIN(104, 1, 25, 0x22, 0x60), 143*aebd4dc8Smtk20895 PIN(105, 1, 26, 0x22, 0x60), 144*aebd4dc8Smtk20895 PIN(106, 1, 23, 0x22, 0x60), 145*aebd4dc8Smtk20895 PIN(107, 1, 24, 0x22, 0x60), 146*aebd4dc8Smtk20895 PIN(108, 0, 22, 0x22, 0x70), 147*aebd4dc8Smtk20895 PIN(109, 0, 21, 0x22, 0x70), 148*aebd4dc8Smtk20895 PIN(110, 1, 1, 0x14, 0x20), 149*aebd4dc8Smtk20895 PIN(111, 1, 0, 0x14, 0x20), 150*aebd4dc8Smtk20895 PIN(112, 1, 2, 0x14, 0x20), 151*aebd4dc8Smtk20895 PIN(113, 1, 3, 0x14, 0x20), 152*aebd4dc8Smtk20895 PIN(114, 1, 4, 0x14, 0x20), 153*aebd4dc8Smtk20895 PIN(115, 1, 5, 0x14, 0x20), 154*aebd4dc8Smtk20895 PIN(116, 1, 9, 0x25, 0x50), 155*aebd4dc8Smtk20895 PIN(117, 1, 8, 0x25, 0x50), 156*aebd4dc8Smtk20895 PIN(118, 1, 7, 0x25, 0x50), 157*aebd4dc8Smtk20895 PIN(119, 1, 6, 0x25, 0x50), 158*aebd4dc8Smtk20895 PIN(120, 1, 11, 0x25, 0x50), 159*aebd4dc8Smtk20895 PIN(121, 1, 1, 0x25, 0x50), 160*aebd4dc8Smtk20895 PIN(122, 1, 0, 0x25, 0x50), 161*aebd4dc8Smtk20895 PIN(123, 1, 5, 0x25, 0x50), 162*aebd4dc8Smtk20895 PIN(124, 1, 4, 0x25, 0x50), 163*aebd4dc8Smtk20895 PIN(125, 1, 3, 0x25, 0x50), 164*aebd4dc8Smtk20895 PIN(126, 1, 2, 0x25, 0x50), 165*aebd4dc8Smtk20895 PIN(127, 1, 10, 0x25, 0x50), 166*aebd4dc8Smtk20895 PIN(128, 0, 3, 0x22, 0x70), 167*aebd4dc8Smtk20895 PIN(129, 0, 1, 0x22, 0x70), 168*aebd4dc8Smtk20895 PIN(130, 0, 4, 0x22, 0x70), 169*aebd4dc8Smtk20895 PIN(131, 0, 2, 0x22, 0x70), 170*aebd4dc8Smtk20895 PIN(132, 0, 13, 0x25, 0x60), 171*aebd4dc8Smtk20895 PIN(133, 0, 12, 0x25, 0x60), 172*aebd4dc8Smtk20895 PIN(134, 0, 15, 0x25, 0x60), 173*aebd4dc8Smtk20895 PIN(135, 0, 14, 0x25, 0x60), 174*aebd4dc8Smtk20895 PIN(136, 0, 13, 0x21, 0xb0), 175*aebd4dc8Smtk20895 PIN(137, 0, 12, 0x21, 0xb0), 176*aebd4dc8Smtk20895 PIN(138, 0, 15, 0x21, 0xb0), 177*aebd4dc8Smtk20895 PIN(139, 0, 14, 0x21, 0xb0), 178*aebd4dc8Smtk20895 PIN(140, 0, 17, 0x21, 0xb0), 179*aebd4dc8Smtk20895 PIN(141, 0, 16, 0x21, 0xb0), 180*aebd4dc8Smtk20895 PIN(142, 0, 19, 0x21, 0xb0), 181*aebd4dc8Smtk20895 PIN(143, 0, 18, 0x21, 0xb0), 182*aebd4dc8Smtk20895 }; 183*aebd4dc8Smtk20895 #endif /* MT_GPIO_H */ 184