1054af8f2SPo Xu /* 2054af8f2SPo Xu * Copyright (c) 2020, MediaTek Inc. All rights reserved. 3054af8f2SPo Xu * 4054af8f2SPo Xu * SPDX-License-Identifier: BSD-3-Clause 5054af8f2SPo Xu */ 6054af8f2SPo Xu 7054af8f2SPo Xu #ifndef MT_GPIO_H 8054af8f2SPo Xu #define MT_GPIO_H 9054af8f2SPo Xu 10*aebd4dc8Smtk20895 #include <mtgpio_common.h> 11054af8f2SPo Xu 12054af8f2SPo Xu /* Enumeration for GPIO pin */ 13054af8f2SPo Xu typedef enum GPIO_PIN { 14054af8f2SPo Xu GPIO_UNSUPPORTED = -1, 15054af8f2SPo Xu 16054af8f2SPo Xu GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, 17054af8f2SPo Xu GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO15, 18054af8f2SPo Xu GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, GPIO21, GPIO22, GPIO23, 19054af8f2SPo Xu GPIO24, GPIO25, GPIO26, GPIO27, GPIO28, GPIO29, GPIO30, GPIO31, 20054af8f2SPo Xu GPIO32, GPIO33, GPIO34, GPIO35, GPIO36, GPIO37, GPIO38, GPIO39, 21054af8f2SPo Xu GPIO40, GPIO41, GPIO42, GPIO43, GPIO44, GPIO45, GPIO46, GPIO47, 22054af8f2SPo Xu GPIO48, GPIO49, GPIO50, GPIO51, GPIO52, GPIO53, GPIO54, GPIO55, 23054af8f2SPo Xu GPIO56, GPIO57, GPIO58, GPIO59, GPIO60, GPIO61, GPIO62, GPIO63, 24054af8f2SPo Xu GPIO64, GPIO65, GPIO66, GPIO67, GPIO68, GPIO69, GPIO70, GPIO71, 25054af8f2SPo Xu GPIO72, GPIO73, GPIO74, GPIO75, GPIO76, GPIO77, GPIO78, GPIO79, 26054af8f2SPo Xu GPIO80, GPIO81, GPIO82, GPIO83, GPIO84, GPIO85, GPIO86, GPIO87, 27054af8f2SPo Xu GPIO88, GPIO89, GPIO90, GPIO91, GPIO92, GPIO93, GPIO94, GPIO95, 28054af8f2SPo Xu GPIO96, GPIO97, GPIO98, GPIO99, GPIO100, GPIO101, GPIO102, GPIO103, 29054af8f2SPo Xu GPIO104, GPIO105, GPIO106, GPIO107, GPIO108, GPIO109, GPIO110, GPIO111, 30054af8f2SPo Xu GPIO112, GPIO113, GPIO114, GPIO115, GPIO116, GPIO117, GPIO118, GPIO119, 31054af8f2SPo Xu GPIO120, GPIO121, GPIO122, GPIO123, GPIO124, GPIO125, GPIO126, GPIO127, 32054af8f2SPo Xu GPIO128, GPIO129, GPIO130, GPIO131, GPIO132, GPIO133, GPIO134, GPIO135, 33054af8f2SPo Xu GPIO136, GPIO137, GPIO138, GPIO139, GPIO140, GPIO141, GPIO142, GPIO143, 34054af8f2SPo Xu GPIO144, GPIO145, GPIO146, GPIO147, GPIO148, GPIO149, GPIO150, GPIO151, 35054af8f2SPo Xu GPIO152, GPIO153, GPIO154, GPIO155, GPIO156, GPIO157, GPIO158, GPIO159, 36054af8f2SPo Xu GPIO160, GPIO161, GPIO162, GPIO163, GPIO164, GPIO165, GPIO166, GPIO167, 37054af8f2SPo Xu GPIO168, GPIO169, GPIO170, GPIO171, GPIO172, GPIO173, GPIO174, GPIO175, 38054af8f2SPo Xu GPIO176, GPIO177, GPIO178, GPIO179, GPIO180, GPIO181, GPIO182, GPIO183, 39054af8f2SPo Xu GPIO184, GPIO185, GPIO186, GPIO187, GPIO188, GPIO189, GPIO190, GPIO191, 40054af8f2SPo Xu GPIO192, GPIO193, GPIO194, GPIO195, GPIO196, GPIO197, GPIO198, GPIO199, 41054af8f2SPo Xu GPIO200, GPIO201, GPIO202, GPIO203, GPIO204, GPIO205, GPIO206, GPIO207, 42054af8f2SPo Xu GPIO208, GPIO209, GPIO210, GPIO211, GPIO212, GPIO213, GPIO214, GPIO215, 43054af8f2SPo Xu GPIO216, GPIO217, GPIO218, GPIO219, 44054af8f2SPo Xu MT_GPIO_BASE_MAX 45054af8f2SPo Xu } GPIO_PIN; 46054af8f2SPo Xu 47*aebd4dc8Smtk20895 static const struct mt_pin_info mt_pin_infos[] = { 48054af8f2SPo Xu PIN(0, 0, 9, 0x23, 0xb0), 49054af8f2SPo Xu PIN(1, 0, 10, 0x23, 0xb0), 50054af8f2SPo Xu PIN(2, 0, 11, 0x23, 0xb0), 51054af8f2SPo Xu PIN(3, 0, 12, 0x23, 0xb0), 52054af8f2SPo Xu PIN(4, 0, 13, 0x23, 0xb0), 53054af8f2SPo Xu PIN(5, 0, 14, 0x23, 0xb0), 54054af8f2SPo Xu PIN(6, 0, 15, 0x23, 0xb0), 55054af8f2SPo Xu PIN(7, 0, 16, 0x23, 0xb0), 56054af8f2SPo Xu PIN(8, 0, 17, 0x23, 0xb0), 57054af8f2SPo Xu PIN(9, 0, 18, 0x23, 0xb0), 58054af8f2SPo Xu PIN(10, 1, 0, 0x15, 0x20), 59054af8f2SPo Xu PIN(11, 1, 1, 0x15, 0x20), 60054af8f2SPo Xu PIN(12, 1, 2, 0x15, 0x20), 61054af8f2SPo Xu PIN(13, 1, 3, 0x15, 0x20), 62054af8f2SPo Xu PIN(14, 1, 4, 0x15, 0x20), 63054af8f2SPo Xu PIN(15, 1, 5, 0x15, 0x20), 64054af8f2SPo Xu PIN(16, 0, 2, 0x17, 0x50), 65054af8f2SPo Xu PIN(17, 0, 3, 0x17, 0x50), 66054af8f2SPo Xu PIN(18, 0, 21, 0x36, 0xa0), 67054af8f2SPo Xu PIN(19, 0, 22, 0x36, 0xa0), 68054af8f2SPo Xu PIN(20, 0, 23, 0x36, 0xa0), 69054af8f2SPo Xu PIN(21, 0, 24, 0x36, 0xa0), 70054af8f2SPo Xu PIN(22, 0, 3, 0x21, 0x90), 71054af8f2SPo Xu PIN(23, 0, 4, 0x21, 0x90), 72054af8f2SPo Xu PIN(24, 0, 5, 0x21, 0x90), 73054af8f2SPo Xu PIN(25, 0, 6, 0x21, 0x90), 74054af8f2SPo Xu PIN(26, 0, 5, 0x22, 0x80), 75054af8f2SPo Xu PIN(27, 0, 6, 0x22, 0x80), 76054af8f2SPo Xu PIN(28, 0, 7, 0x22, 0x80), 77054af8f2SPo Xu PIN(29, 0, 8, 0x22, 0x80), 78054af8f2SPo Xu PIN(30, 0, 9, 0x22, 0x80), 79054af8f2SPo Xu PIN(31, 0, 27, 0x22, 0x70), 80054af8f2SPo Xu PIN(32, 0, 24, 0x22, 0x70), 81054af8f2SPo Xu PIN(33, 0, 26, 0x22, 0x70), 82054af8f2SPo Xu PIN(34, 0, 23, 0x22, 0x70), 83054af8f2SPo Xu PIN(35, 0, 25, 0x22, 0x70), 84054af8f2SPo Xu PIN(36, 0, 20, 0x21, 0x90), 85054af8f2SPo Xu PIN(37, 0, 21, 0x21, 0x90), 86054af8f2SPo Xu PIN(38, 0, 22, 0x21, 0x90), 87054af8f2SPo Xu PIN(39, 0, 23, 0x21, 0x90), 88054af8f2SPo Xu PIN(40, 0, 0, 0x17, 0x50), 89054af8f2SPo Xu PIN(41, 0, 1, 0x17, 0x50), 90054af8f2SPo Xu PIN(42, 0, 4, 0x17, 0x50), 91054af8f2SPo Xu PIN(43, 0, 25, 0x36, 0xa0), 92054af8f2SPo Xu PIN(44, 0, 26, 0x36, 0xa0), 93054af8f2SPo Xu PIN(45, 1, 9, 0x20, 0x60), 94054af8f2SPo Xu PIN(46, 1, 11, 0x20, 0x60), 95054af8f2SPo Xu PIN(47, 1, 10, 0x20, 0x60), 96054af8f2SPo Xu PIN(48, 1, 7, 0x20, 0x60), 97054af8f2SPo Xu PIN(49, 1, 8, 0x20, 0x60), 98054af8f2SPo Xu PIN(50, 1, 6, 0x20, 0x60), 99054af8f2SPo Xu PIN(51, 1, 0, 0x20, 0x60), 100054af8f2SPo Xu PIN(52, 1, 1, 0x20, 0x60), 101054af8f2SPo Xu PIN(53, 1, 5, 0x20, 0x60), 102054af8f2SPo Xu PIN(54, 1, 2, 0x20, 0x60), 103054af8f2SPo Xu PIN(55, 1, 4, 0x20, 0x60), 104054af8f2SPo Xu PIN(56, 1, 3, 0x20, 0x60), 105054af8f2SPo Xu PIN(57, 0, 1, 0x22, 0x80), 106054af8f2SPo Xu PIN(58, 0, 2, 0x22, 0x80), 107054af8f2SPo Xu PIN(59, 0, 3, 0x22, 0x80), 108054af8f2SPo Xu PIN(60, 0, 4, 0x22, 0x80), 109054af8f2SPo Xu PIN(61, 0, 28, 0x22, 0x70), 110054af8f2SPo Xu PIN(62, 0, 22, 0x22, 0x70), 111054af8f2SPo Xu PIN(63, 0, 0, 0x22, 0x70), 112054af8f2SPo Xu PIN(64, 0, 1, 0x22, 0x70), 113054af8f2SPo Xu PIN(65, 0, 12, 0x22, 0x70), 114054af8f2SPo Xu PIN(66, 0, 15, 0x22, 0x70), 115054af8f2SPo Xu PIN(67, 0, 16, 0x22, 0x70), 116054af8f2SPo Xu PIN(68, 0, 17, 0x22, 0x70), 117054af8f2SPo Xu PIN(69, 0, 18, 0x22, 0x70), 118054af8f2SPo Xu PIN(70, 0, 19, 0x22, 0x70), 119054af8f2SPo Xu PIN(71, 0, 20, 0x22, 0x70), 120054af8f2SPo Xu PIN(72, 0, 21, 0x22, 0x70), 121054af8f2SPo Xu PIN(73, 0, 2, 0x22, 0x70), 122054af8f2SPo Xu PIN(74, 0, 3, 0x22, 0x70), 123054af8f2SPo Xu PIN(75, 0, 4, 0x22, 0x70), 124054af8f2SPo Xu PIN(76, 0, 5, 0x22, 0x70), 125054af8f2SPo Xu PIN(77, 0, 6, 0x22, 0x70), 126054af8f2SPo Xu PIN(78, 0, 7, 0x22, 0x70), 127054af8f2SPo Xu PIN(79, 0, 8, 0x22, 0x70), 128054af8f2SPo Xu PIN(80, 0, 9, 0x22, 0x70), 129054af8f2SPo Xu PIN(81, 0, 10, 0x22, 0x70), 130054af8f2SPo Xu PIN(82, 0, 11, 0x22, 0x70), 131054af8f2SPo Xu PIN(83, 0, 13, 0x22, 0x70), 132054af8f2SPo Xu PIN(84, 0, 14, 0x22, 0x70), 133054af8f2SPo Xu PIN(85, 0, 31, 0x22, 0x70), 134054af8f2SPo Xu PIN(86, 0, 0, 0x22, 0x80), 135054af8f2SPo Xu PIN(87, 0, 29, 0x22, 0x70), 136054af8f2SPo Xu PIN(88, 0, 30, 0x22, 0x70), 137054af8f2SPo Xu PIN(89, 0, 24, 0x21, 0x90), 138054af8f2SPo Xu PIN(90, 0, 25, 0x21, 0x90), 139054af8f2SPo Xu PIN(91, 0, 0, 0x21, 0x90), 140054af8f2SPo Xu PIN(92, 0, 2, 0x21, 0xa0), 141054af8f2SPo Xu PIN(93, 0, 4, 0x21, 0xa0), 142054af8f2SPo Xu PIN(94, 0, 3, 0x21, 0xa0), 143054af8f2SPo Xu PIN(95, 0, 5, 0x21, 0xa0), 144054af8f2SPo Xu PIN(96, 0, 31, 0x21, 0x90), 145054af8f2SPo Xu PIN(97, 0, 26, 0x21, 0x90), 146054af8f2SPo Xu PIN(98, 0, 0, 0x21, 0xa0), 147054af8f2SPo Xu PIN(99, 0, 27, 0x21, 0x90), 148054af8f2SPo Xu PIN(100, 0, 28, 0x21, 0x90), 149054af8f2SPo Xu PIN(101, 0, 29, 0x21, 0x90), 150054af8f2SPo Xu PIN(102, 0, 30, 0x21, 0x90), 151054af8f2SPo Xu PIN(103, 0, 18, 0x21, 0x90), 152054af8f2SPo Xu PIN(104, 0, 17, 0x21, 0x90), 153054af8f2SPo Xu PIN(105, 0, 19, 0x21, 0x90), 154054af8f2SPo Xu PIN(106, 0, 16, 0x21, 0x90), 155054af8f2SPo Xu PIN(107, 0, 1, 0x21, 0x90), 156054af8f2SPo Xu PIN(108, 0, 2, 0x21, 0x90), 157054af8f2SPo Xu PIN(109, 0, 10, 0x21, 0x90), 158054af8f2SPo Xu PIN(110, 0, 7, 0x21, 0x90), 159054af8f2SPo Xu PIN(111, 0, 9, 0x21, 0x90), 160054af8f2SPo Xu PIN(112, 0, 11, 0x21, 0x90), 161054af8f2SPo Xu PIN(113, 0, 8, 0x21, 0x90), 162054af8f2SPo Xu PIN(114, 0, 14, 0x21, 0x90), 163054af8f2SPo Xu PIN(115, 0, 13, 0x21, 0x90), 164054af8f2SPo Xu PIN(116, 0, 15, 0x21, 0x90), 165054af8f2SPo Xu PIN(117, 0, 12, 0x21, 0x90), 166054af8f2SPo Xu PIN(118, 0, 23, 0x23, 0xb0), 167054af8f2SPo Xu PIN(119, 0, 29, 0x23, 0xb0), 168054af8f2SPo Xu PIN(120, 0, 28, 0x23, 0xb0), 169054af8f2SPo Xu PIN(121, 0, 2, 0x23, 0xc0), 170054af8f2SPo Xu PIN(122, 0, 27, 0x23, 0xb0), 171054af8f2SPo Xu PIN(123, 0, 1, 0x23, 0xc0), 172054af8f2SPo Xu PIN(124, 0, 26, 0x23, 0xb0), 173054af8f2SPo Xu PIN(125, 0, 0, 0x23, 0xc0), 174054af8f2SPo Xu PIN(126, 0, 19, 0x23, 0xb0), 175054af8f2SPo Xu PIN(127, 0, 20, 0x23, 0xb0), 176054af8f2SPo Xu PIN(128, 0, 21, 0x23, 0xb0), 177054af8f2SPo Xu PIN(129, 0, 22, 0x23, 0xb0), 178054af8f2SPo Xu PIN(130, 0, 6, 0x23, 0xb0), 179054af8f2SPo Xu PIN(131, 0, 7, 0x23, 0xb0), 180054af8f2SPo Xu PIN(132, 0, 8, 0x23, 0xb0), 181054af8f2SPo Xu PIN(133, 0, 3, 0x23, 0xb0), 182054af8f2SPo Xu PIN(134, 0, 4, 0x23, 0xb0), 183054af8f2SPo Xu PIN(135, 0, 5, 0x23, 0xb0), 184054af8f2SPo Xu PIN(136, 0, 0, 0x23, 0xb0), 185054af8f2SPo Xu PIN(137, 0, 1, 0x23, 0xb0), 186054af8f2SPo Xu PIN(138, 0, 2, 0x23, 0xb0), 187054af8f2SPo Xu PIN(139, 0, 25, 0x23, 0xb0), 188054af8f2SPo Xu PIN(140, 0, 31, 0x23, 0xb0), 189054af8f2SPo Xu PIN(141, 0, 24, 0x23, 0xb0), 190054af8f2SPo Xu PIN(142, 0, 30, 0x23, 0xb0), 191054af8f2SPo Xu PIN(143, 0, 6, 0x20, 0x70), 192054af8f2SPo Xu PIN(144, 0, 7, 0x20, 0x70), 193054af8f2SPo Xu PIN(145, 0, 8, 0x20, 0x70), 194054af8f2SPo Xu PIN(146, 0, 3, 0x20, 0x70), 195054af8f2SPo Xu PIN(147, 0, 4, 0x20, 0x70), 196054af8f2SPo Xu PIN(148, 0, 5, 0x20, 0x70), 197054af8f2SPo Xu PIN(149, 0, 0, 0x20, 0x70), 198054af8f2SPo Xu PIN(150, 0, 1, 0x20, 0x70), 199054af8f2SPo Xu PIN(151, 0, 2, 0x20, 0x70), 200054af8f2SPo Xu PIN(152, 1, 3, 0x36, 0x90), 201054af8f2SPo Xu PIN(153, 1, 2, 0x36, 0x90), 202054af8f2SPo Xu PIN(154, 1, 0, 0x36, 0x906), 203054af8f2SPo Xu PIN(155, 1, 1, 0x36, 0x90), 204054af8f2SPo Xu PIN(156, 0, 29, 0x36, 0xa0), 205054af8f2SPo Xu PIN(157, 0, 30, 0x36, 0xa0), 206054af8f2SPo Xu PIN(158, 0, 31, 0x36, 0xa0), 207054af8f2SPo Xu PIN(159, 0, 0, 0x36, 0xb0), 208054af8f2SPo Xu PIN(160, 0, 27, 0x36, 0xa04), 209054af8f2SPo Xu PIN(161, 0, 28, 0x36, 0xa0), 210054af8f2SPo Xu PIN(162, 0, 0, 0x36, 0xa0), 211054af8f2SPo Xu PIN(163, 0, 1, 0x36, 0xa0), 212054af8f2SPo Xu PIN(164, 0, 2, 0x36, 0xa0), 213054af8f2SPo Xu PIN(165, 0, 3, 0x36, 0xa0), 214054af8f2SPo Xu PIN(166, 0, 4, 0x36, 0xa0), 215054af8f2SPo Xu PIN(167, 0, 5, 0x36, 0xa0), 216054af8f2SPo Xu PIN(168, 0, 6, 0x36, 0xa0), 217054af8f2SPo Xu PIN(169, 0, 7, 0x36, 0xa0), 218054af8f2SPo Xu PIN(170, 0, 8, 0x36, 0xa0), 219054af8f2SPo Xu PIN(171, 0, 9, 0x36, 0xa0), 220054af8f2SPo Xu PIN(172, 0, 13, 0x36, 0xa0), 221054af8f2SPo Xu PIN(173, 0, 14, 0x36, 0xa0), 222054af8f2SPo Xu PIN(174, 0, 12, 0x36, 0xa0), 223054af8f2SPo Xu PIN(175, 0, 15, 0x36, 0xa0), 224054af8f2SPo Xu PIN(176, 0, 10, 0x36, 0xa0), 225054af8f2SPo Xu PIN(177, 0, 11, 0x36, 0xa0), 226054af8f2SPo Xu PIN(178, 0, 16, 0x36, 0xa0), 227054af8f2SPo Xu PIN(179, 0, 17, 0x36, 0xa0), 228054af8f2SPo Xu PIN(180, 0, 18, 0x36, 0xa0), 229054af8f2SPo Xu PIN(181, 0, 19, 0x36, 0xa0), 230054af8f2SPo Xu PIN(182, 0, 20, 0x36, 0xa0), 231054af8f2SPo Xu PIN(183, 1, 1, 0x18, 0x30), 232054af8f2SPo Xu PIN(184, 1, 2, 0x18, 0x30), 233054af8f2SPo Xu PIN(185, 1, 4, 0x18, 0x30), 234054af8f2SPo Xu PIN(186, 1, 6, 0x18, 0x30), 235054af8f2SPo Xu PIN(187, 1, 8, 0x18, 0x30), 236054af8f2SPo Xu PIN(188, 1, 3, 0x18, 0x30), 237054af8f2SPo Xu PIN(189, 1, 7, 0x18, 0x30), 238054af8f2SPo Xu PIN(190, 1, 9, 0x18, 0x30), 239054af8f2SPo Xu PIN(191, 1, 10, 0x18, 0x30), 240054af8f2SPo Xu PIN(192, 1, 0, 0x18, 0x30), 241054af8f2SPo Xu PIN(193, 1, 5, 0x18, 0x30), 242054af8f2SPo Xu PIN(194, 1, 11, 0x18, 0x30), 243054af8f2SPo Xu PIN(195, 0, 16, 0x14, 0x50), 244054af8f2SPo Xu PIN(196, 0, 6, 0x14, 0x50), 245054af8f2SPo Xu PIN(197, 0, 8, 0x14, 0x50), 246054af8f2SPo Xu PIN(198, 0, 7, 0x14, 0x50), 247054af8f2SPo Xu PIN(199, 0, 3, 0x14, 0x50), 248054af8f2SPo Xu PIN(200, 0, 6, 0x17, 0x50), 249054af8f2SPo Xu PIN(201, 0, 8, 0x17, 0x50), 250054af8f2SPo Xu PIN(202, 0, 15, 0x14, 0x50), 251054af8f2SPo Xu PIN(203, 0, 17, 0x14, 0x50), 252054af8f2SPo Xu PIN(204, 0, 5, 0x17, 0x50), 253054af8f2SPo Xu PIN(205, 0, 7, 0x17, 0x50), 254054af8f2SPo Xu PIN(206, 0, 18, 0x14, 0x50), 255054af8f2SPo Xu PIN(207, 0, 19, 0x14, 0x50), 256054af8f2SPo Xu PIN(208, 0, 20, 0x14, 0x50), 257054af8f2SPo Xu PIN(209, 0, 12, 0x14, 0x50), 258054af8f2SPo Xu PIN(210, 0, 11, 0x14, 0x50), 259054af8f2SPo Xu PIN(211, 0, 13, 0x14, 0x50), 260054af8f2SPo Xu PIN(212, 0, 10, 0x14, 0x50), 261054af8f2SPo Xu PIN(213, 0, 14, 0x14, 0x50), 262054af8f2SPo Xu PIN(214, 0, 0, 0x14, 0x50), 263054af8f2SPo Xu PIN(215, 0, 9, 0x14, 0x50), 264054af8f2SPo Xu PIN(216, 0, 4, 0x14, 0x50), 265054af8f2SPo Xu PIN(217, 0, 5, 0x14, 0x50), 266054af8f2SPo Xu PIN(218, 0, 1, 0x14, 0x50), 267054af8f2SPo Xu PIN(219, 0, 2, 0x14, 0x50), 268054af8f2SPo Xu }; 269054af8f2SPo Xu #endif /* MT_GPIO_H */ 270