1 /* 2 * Copyright (c) 2022 Microchip Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_MICROCHIP_XEC_GPIO_H_ 7 #define ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_MICROCHIP_XEC_GPIO_H_ 8 9 /** 10 * @brief Microchip XEC GPIO bank and bit position convenience defines 11 * 12 * Microchip XEC documentation uses octal GPIO pin 13 * numbering. These macros do not require the user to do octal arithmetic 14 * to derive the pin's bit postion. 15 * 16 * Example DT usage: 17 * 18 * @code{.dts} 19 * gpios = <MCHP_GPIO_DECODE_176 GPIO_ACTIVE_HIGH>; 20 * @endcode 21 * 22 * @{ 23 */ 24 25 #define XEC_GPIO_HELPER(gpio_bank, gpio_bitpos) gpio_bank gpio_bitpos 26 27 /* bank A */ 28 #define MCHP_GPIO_DECODE_000 XEC_GPIO_HELPER(&gpio_000_036, 0) 29 #define MCHP_GPIO_DECODE_001 XEC_GPIO_HELPER(&gpio_000_036, 1) 30 #define MCHP_GPIO_DECODE_002 XEC_GPIO_HELPER(&gpio_000_036, 2) 31 #define MCHP_GPIO_DECODE_003 XEC_GPIO_HELPER(&gpio_000_036, 3) 32 #define MCHP_GPIO_DECODE_004 XEC_GPIO_HELPER(&gpio_000_036, 4) 33 #define MCHP_GPIO_DECODE_005 XEC_GPIO_HELPER(&gpio_000_036, 5) 34 #define MCHP_GPIO_DECODE_006 XEC_GPIO_HELPER(&gpio_000_036, 6) 35 #define MCHP_GPIO_DECODE_007 XEC_GPIO_HELPER(&gpio_000_036, 7) 36 #define MCHP_GPIO_DECODE_010 XEC_GPIO_HELPER(&gpio_000_036, 8) 37 #define MCHP_GPIO_DECODE_011 XEC_GPIO_HELPER(&gpio_000_036, 9) 38 #define MCHP_GPIO_DECODE_012 XEC_GPIO_HELPER(&gpio_000_036, 10) 39 #define MCHP_GPIO_DECODE_013 XEC_GPIO_HELPER(&gpio_000_036, 11) 40 #define MCHP_GPIO_DECODE_014 XEC_GPIO_HELPER(&gpio_000_036, 12) 41 #define MCHP_GPIO_DECODE_015 XEC_GPIO_HELPER(&gpio_000_036, 13) 42 #define MCHP_GPIO_DECODE_016 XEC_GPIO_HELPER(&gpio_000_036, 14) 43 #define MCHP_GPIO_DECODE_017 XEC_GPIO_HELPER(&gpio_000_036, 15) 44 #define MCHP_GPIO_DECODE_020 XEC_GPIO_HELPER(&gpio_000_036, 16) 45 #define MCHP_GPIO_DECODE_021 XEC_GPIO_HELPER(&gpio_000_036, 17) 46 #define MCHP_GPIO_DECODE_022 XEC_GPIO_HELPER(&gpio_000_036, 18) 47 #define MCHP_GPIO_DECODE_023 XEC_GPIO_HELPER(&gpio_000_036, 19) 48 #define MCHP_GPIO_DECODE_024 XEC_GPIO_HELPER(&gpio_000_036, 20) 49 #define MCHP_GPIO_DECODE_025 XEC_GPIO_HELPER(&gpio_000_036, 21) 50 #define MCHP_GPIO_DECODE_026 XEC_GPIO_HELPER(&gpio_000_036, 22) 51 #define MCHP_GPIO_DECODE_027 XEC_GPIO_HELPER(&gpio_000_036, 23) 52 #define MCHP_GPIO_DECODE_030 XEC_GPIO_HELPER(&gpio_000_036, 24) 53 #define MCHP_GPIO_DECODE_031 XEC_GPIO_HELPER(&gpio_000_036, 25) 54 #define MCHP_GPIO_DECODE_032 XEC_GPIO_HELPER(&gpio_000_036, 26) 55 #define MCHP_GPIO_DECODE_033 XEC_GPIO_HELPER(&gpio_000_036, 27) 56 #define MCHP_GPIO_DECODE_034 XEC_GPIO_HELPER(&gpio_000_036, 28) 57 #define MCHP_GPIO_DECODE_035 XEC_GPIO_HELPER(&gpio_000_036, 29) 58 #define MCHP_GPIO_DECODE_036 XEC_GPIO_HELPER(&gpio_000_036, 30) 59 60 /* bank B */ 61 #define MCHP_GPIO_DECODE_040 XEC_GPIO_HELPER(&gpio_040_076, 0) 62 #define MCHP_GPIO_DECODE_041 XEC_GPIO_HELPER(&gpio_040_076, 1) 63 #define MCHP_GPIO_DECODE_042 XEC_GPIO_HELPER(&gpio_040_076, 2) 64 #define MCHP_GPIO_DECODE_043 XEC_GPIO_HELPER(&gpio_040_076, 3) 65 #define MCHP_GPIO_DECODE_044 XEC_GPIO_HELPER(&gpio_040_076, 4) 66 #define MCHP_GPIO_DECODE_045 XEC_GPIO_HELPER(&gpio_040_076, 5) 67 #define MCHP_GPIO_DECODE_046 XEC_GPIO_HELPER(&gpio_040_076, 6) 68 #define MCHP_GPIO_DECODE_047 XEC_GPIO_HELPER(&gpio_040_076, 7) 69 #define MCHP_GPIO_DECODE_050 XEC_GPIO_HELPER(&gpio_040_076, 8) 70 #define MCHP_GPIO_DECODE_051 XEC_GPIO_HELPER(&gpio_040_076, 9) 71 #define MCHP_GPIO_DECODE_052 XEC_GPIO_HELPER(&gpio_040_076, 10) 72 #define MCHP_GPIO_DECODE_053 XEC_GPIO_HELPER(&gpio_040_076, 11) 73 #define MCHP_GPIO_DECODE_054 XEC_GPIO_HELPER(&gpio_040_076, 12) 74 #define MCHP_GPIO_DECODE_055 XEC_GPIO_HELPER(&gpio_040_076, 13) 75 #define MCHP_GPIO_DECODE_056 XEC_GPIO_HELPER(&gpio_040_076, 14) 76 #define MCHP_GPIO_DECODE_057 XEC_GPIO_HELPER(&gpio_040_076, 15) 77 #define MCHP_GPIO_DECODE_060 XEC_GPIO_HELPER(&gpio_040_076, 16) 78 #define MCHP_GPIO_DECODE_061 XEC_GPIO_HELPER(&gpio_040_076, 17) 79 #define MCHP_GPIO_DECODE_062 XEC_GPIO_HELPER(&gpio_040_076, 18) 80 #define MCHP_GPIO_DECODE_063 XEC_GPIO_HELPER(&gpio_040_076, 19) 81 #define MCHP_GPIO_DECODE_064 XEC_GPIO_HELPER(&gpio_040_076, 20) 82 #define MCHP_GPIO_DECODE_065 XEC_GPIO_HELPER(&gpio_040_076, 21) 83 #define MCHP_GPIO_DECODE_066 XEC_GPIO_HELPER(&gpio_040_076, 22) 84 #define MCHP_GPIO_DECODE_067 XEC_GPIO_HELPER(&gpio_040_076, 23) 85 #define MCHP_GPIO_DECODE_070 XEC_GPIO_HELPER(&gpio_040_076, 24) 86 #define MCHP_GPIO_DECODE_071 XEC_GPIO_HELPER(&gpio_040_076, 25) 87 #define MCHP_GPIO_DECODE_072 XEC_GPIO_HELPER(&gpio_040_076, 26) 88 #define MCHP_GPIO_DECODE_073 XEC_GPIO_HELPER(&gpio_040_076, 27) 89 #define MCHP_GPIO_DECODE_074 XEC_GPIO_HELPER(&gpio_040_076, 28) 90 #define MCHP_GPIO_DECODE_075 XEC_GPIO_HELPER(&gpio_040_076, 29) 91 #define MCHP_GPIO_DECODE_076 XEC_GPIO_HELPER(&gpio_040_076, 30) 92 93 /* bank C */ 94 #define MCHP_GPIO_DECODE_100 XEC_GPIO_HELPER(&gpio_100_136, 0) 95 #define MCHP_GPIO_DECODE_101 XEC_GPIO_HELPER(&gpio_100_136, 1) 96 #define MCHP_GPIO_DECODE_102 XEC_GPIO_HELPER(&gpio_100_136, 2) 97 #define MCHP_GPIO_DECODE_103 XEC_GPIO_HELPER(&gpio_100_136, 3) 98 #define MCHP_GPIO_DECODE_104 XEC_GPIO_HELPER(&gpio_100_136, 4) 99 #define MCHP_GPIO_DECODE_105 XEC_GPIO_HELPER(&gpio_100_136, 5) 100 #define MCHP_GPIO_DECODE_106 XEC_GPIO_HELPER(&gpio_100_136, 6) 101 #define MCHP_GPIO_DECODE_107 XEC_GPIO_HELPER(&gpio_100_136, 7) 102 #define MCHP_GPIO_DECODE_110 XEC_GPIO_HELPER(&gpio_100_136, 8) 103 #define MCHP_GPIO_DECODE_111 XEC_GPIO_HELPER(&gpio_100_136, 9) 104 #define MCHP_GPIO_DECODE_112 XEC_GPIO_HELPER(&gpio_100_136, 10) 105 #define MCHP_GPIO_DECODE_113 XEC_GPIO_HELPER(&gpio_100_136, 11) 106 #define MCHP_GPIO_DECODE_114 XEC_GPIO_HELPER(&gpio_100_136, 12) 107 #define MCHP_GPIO_DECODE_115 XEC_GPIO_HELPER(&gpio_100_136, 13) 108 #define MCHP_GPIO_DECODE_116 XEC_GPIO_HELPER(&gpio_100_136, 14) 109 #define MCHP_GPIO_DECODE_117 XEC_GPIO_HELPER(&gpio_100_136, 15) 110 #define MCHP_GPIO_DECODE_120 XEC_GPIO_HELPER(&gpio_100_136, 16) 111 #define MCHP_GPIO_DECODE_121 XEC_GPIO_HELPER(&gpio_100_136, 17) 112 #define MCHP_GPIO_DECODE_122 XEC_GPIO_HELPER(&gpio_100_136, 18) 113 #define MCHP_GPIO_DECODE_123 XEC_GPIO_HELPER(&gpio_100_136, 19) 114 #define MCHP_GPIO_DECODE_124 XEC_GPIO_HELPER(&gpio_100_136, 20) 115 #define MCHP_GPIO_DECODE_125 XEC_GPIO_HELPER(&gpio_100_136, 21) 116 #define MCHP_GPIO_DECODE_126 XEC_GPIO_HELPER(&gpio_100_136, 22) 117 #define MCHP_GPIO_DECODE_127 XEC_GPIO_HELPER(&gpio_100_136, 23) 118 #define MCHP_GPIO_DECODE_130 XEC_GPIO_HELPER(&gpio_100_136, 24) 119 #define MCHP_GPIO_DECODE_131 XEC_GPIO_HELPER(&gpio_100_136, 25) 120 #define MCHP_GPIO_DECODE_132 XEC_GPIO_HELPER(&gpio_100_136, 26) 121 #define MCHP_GPIO_DECODE_133 XEC_GPIO_HELPER(&gpio_100_136, 27) 122 #define MCHP_GPIO_DECODE_134 XEC_GPIO_HELPER(&gpio_100_136, 28) 123 #define MCHP_GPIO_DECODE_135 XEC_GPIO_HELPER(&gpio_100_136, 29) 124 #define MCHP_GPIO_DECODE_136 XEC_GPIO_HELPER(&gpio_100_136, 30) 125 126 /* bank D */ 127 #define MCHP_GPIO_DECODE_140 XEC_GPIO_HELPER(&gpio_140_176, 0) 128 #define MCHP_GPIO_DECODE_141 XEC_GPIO_HELPER(&gpio_140_176, 1) 129 #define MCHP_GPIO_DECODE_142 XEC_GPIO_HELPER(&gpio_140_176, 2) 130 #define MCHP_GPIO_DECODE_143 XEC_GPIO_HELPER(&gpio_140_176, 3) 131 #define MCHP_GPIO_DECODE_144 XEC_GPIO_HELPER(&gpio_140_176, 4) 132 #define MCHP_GPIO_DECODE_145 XEC_GPIO_HELPER(&gpio_140_176, 5) 133 #define MCHP_GPIO_DECODE_146 XEC_GPIO_HELPER(&gpio_140_176, 6) 134 #define MCHP_GPIO_DECODE_147 XEC_GPIO_HELPER(&gpio_140_176, 7) 135 #define MCHP_GPIO_DECODE_150 XEC_GPIO_HELPER(&gpio_140_176, 8) 136 #define MCHP_GPIO_DECODE_151 XEC_GPIO_HELPER(&gpio_140_176, 9) 137 #define MCHP_GPIO_DECODE_152 XEC_GPIO_HELPER(&gpio_140_176, 10) 138 #define MCHP_GPIO_DECODE_153 XEC_GPIO_HELPER(&gpio_140_176, 11) 139 #define MCHP_GPIO_DECODE_154 XEC_GPIO_HELPER(&gpio_140_176, 12) 140 #define MCHP_GPIO_DECODE_155 XEC_GPIO_HELPER(&gpio_140_176, 13) 141 #define MCHP_GPIO_DECODE_156 XEC_GPIO_HELPER(&gpio_140_176, 14) 142 #define MCHP_GPIO_DECODE_157 XEC_GPIO_HELPER(&gpio_140_176, 15) 143 #define MCHP_GPIO_DECODE_160 XEC_GPIO_HELPER(&gpio_140_176, 16) 144 #define MCHP_GPIO_DECODE_161 XEC_GPIO_HELPER(&gpio_140_176, 17) 145 #define MCHP_GPIO_DECODE_162 XEC_GPIO_HELPER(&gpio_140_176, 18) 146 #define MCHP_GPIO_DECODE_163 XEC_GPIO_HELPER(&gpio_140_176, 19) 147 #define MCHP_GPIO_DECODE_164 XEC_GPIO_HELPER(&gpio_140_176, 20) 148 #define MCHP_GPIO_DECODE_165 XEC_GPIO_HELPER(&gpio_140_176, 21) 149 #define MCHP_GPIO_DECODE_166 XEC_GPIO_HELPER(&gpio_140_176, 22) 150 #define MCHP_GPIO_DECODE_167 XEC_GPIO_HELPER(&gpio_140_176, 23) 151 #define MCHP_GPIO_DECODE_170 XEC_GPIO_HELPER(&gpio_140_176, 24) 152 #define MCHP_GPIO_DECODE_171 XEC_GPIO_HELPER(&gpio_140_176, 25) 153 #define MCHP_GPIO_DECODE_172 XEC_GPIO_HELPER(&gpio_140_176, 26) 154 #define MCHP_GPIO_DECODE_173 XEC_GPIO_HELPER(&gpio_140_176, 27) 155 #define MCHP_GPIO_DECODE_174 XEC_GPIO_HELPER(&gpio_140_176, 28) 156 #define MCHP_GPIO_DECODE_175 XEC_GPIO_HELPER(&gpio_140_176, 29) 157 #define MCHP_GPIO_DECODE_176 XEC_GPIO_HELPER(&gpio_140_176, 30) 158 159 /* bank E */ 160 #define MCHP_GPIO_DECODE_200 XEC_GPIO_HELPER(&gpio_200_236, 0) 161 #define MCHP_GPIO_DECODE_201 XEC_GPIO_HELPER(&gpio_200_236, 1) 162 #define MCHP_GPIO_DECODE_202 XEC_GPIO_HELPER(&gpio_200_236, 2) 163 #define MCHP_GPIO_DECODE_203 XEC_GPIO_HELPER(&gpio_200_236, 3) 164 #define MCHP_GPIO_DECODE_204 XEC_GPIO_HELPER(&gpio_200_236, 4) 165 #define MCHP_GPIO_DECODE_205 XEC_GPIO_HELPER(&gpio_200_236, 5) 166 #define MCHP_GPIO_DECODE_206 XEC_GPIO_HELPER(&gpio_200_236, 6) 167 #define MCHP_GPIO_DECODE_207 XEC_GPIO_HELPER(&gpio_200_236, 7) 168 #define MCHP_GPIO_DECODE_210 XEC_GPIO_HELPER(&gpio_200_236, 8) 169 #define MCHP_GPIO_DECODE_211 XEC_GPIO_HELPER(&gpio_200_236, 9) 170 #define MCHP_GPIO_DECODE_212 XEC_GPIO_HELPER(&gpio_200_236, 10) 171 #define MCHP_GPIO_DECODE_213 XEC_GPIO_HELPER(&gpio_200_236, 11) 172 #define MCHP_GPIO_DECODE_214 XEC_GPIO_HELPER(&gpio_200_236, 12) 173 #define MCHP_GPIO_DECODE_215 XEC_GPIO_HELPER(&gpio_200_236, 13) 174 #define MCHP_GPIO_DECODE_216 XEC_GPIO_HELPER(&gpio_200_236, 14) 175 #define MCHP_GPIO_DECODE_217 XEC_GPIO_HELPER(&gpio_200_236, 15) 176 #define MCHP_GPIO_DECODE_220 XEC_GPIO_HELPER(&gpio_200_236, 16) 177 #define MCHP_GPIO_DECODE_221 XEC_GPIO_HELPER(&gpio_200_236, 17) 178 #define MCHP_GPIO_DECODE_222 XEC_GPIO_HELPER(&gpio_200_236, 18) 179 #define MCHP_GPIO_DECODE_223 XEC_GPIO_HELPER(&gpio_200_236, 19) 180 #define MCHP_GPIO_DECODE_224 XEC_GPIO_HELPER(&gpio_200_236, 20) 181 #define MCHP_GPIO_DECODE_225 XEC_GPIO_HELPER(&gpio_200_236, 21) 182 #define MCHP_GPIO_DECODE_226 XEC_GPIO_HELPER(&gpio_200_236, 22) 183 #define MCHP_GPIO_DECODE_227 XEC_GPIO_HELPER(&gpio_200_236, 23) 184 #define MCHP_GPIO_DECODE_230 XEC_GPIO_HELPER(&gpio_200_236, 24) 185 #define MCHP_GPIO_DECODE_231 XEC_GPIO_HELPER(&gpio_200_236, 25) 186 #define MCHP_GPIO_DECODE_232 XEC_GPIO_HELPER(&gpio_200_236, 26) 187 #define MCHP_GPIO_DECODE_233 XEC_GPIO_HELPER(&gpio_200_236, 27) 188 #define MCHP_GPIO_DECODE_234 XEC_GPIO_HELPER(&gpio_200_236, 28) 189 #define MCHP_GPIO_DECODE_235 XEC_GPIO_HELPER(&gpio_200_236, 29) 190 #define MCHP_GPIO_DECODE_236 XEC_GPIO_HELPER(&gpio_200_236, 30) 191 192 /* bank F */ 193 #define MCHP_GPIO_DECODE_240 XEC_GPIO_HELPER(&gpio_240_276, 0) 194 #define MCHP_GPIO_DECODE_241 XEC_GPIO_HELPER(&gpio_240_276, 1) 195 #define MCHP_GPIO_DECODE_242 XEC_GPIO_HELPER(&gpio_240_276, 2) 196 #define MCHP_GPIO_DECODE_243 XEC_GPIO_HELPER(&gpio_240_276, 3) 197 #define MCHP_GPIO_DECODE_244 XEC_GPIO_HELPER(&gpio_240_276, 4) 198 #define MCHP_GPIO_DECODE_245 XEC_GPIO_HELPER(&gpio_240_276, 5) 199 #define MCHP_GPIO_DECODE_246 XEC_GPIO_HELPER(&gpio_240_276, 6) 200 #define MCHP_GPIO_DECODE_247 XEC_GPIO_HELPER(&gpio_240_276, 7) 201 #define MCHP_GPIO_DECODE_250 XEC_GPIO_HELPER(&gpio_240_276, 8) 202 #define MCHP_GPIO_DECODE_251 XEC_GPIO_HELPER(&gpio_240_276, 9) 203 #define MCHP_GPIO_DECODE_252 XEC_GPIO_HELPER(&gpio_240_276, 10) 204 #define MCHP_GPIO_DECODE_253 XEC_GPIO_HELPER(&gpio_240_276, 11) 205 #define MCHP_GPIO_DECODE_254 XEC_GPIO_HELPER(&gpio_240_276, 12) 206 #define MCHP_GPIO_DECODE_255 XEC_GPIO_HELPER(&gpio_240_276, 13) 207 #define MCHP_GPIO_DECODE_256 XEC_GPIO_HELPER(&gpio_240_276, 14) 208 #define MCHP_GPIO_DECODE_257 XEC_GPIO_HELPER(&gpio_240_276, 15) 209 #define MCHP_GPIO_DECODE_260 XEC_GPIO_HELPER(&gpio_240_276, 16) 210 #define MCHP_GPIO_DECODE_261 XEC_GPIO_HELPER(&gpio_240_276, 17) 211 #define MCHP_GPIO_DECODE_262 XEC_GPIO_HELPER(&gpio_240_276, 18) 212 #define MCHP_GPIO_DECODE_263 XEC_GPIO_HELPER(&gpio_240_276, 19) 213 #define MCHP_GPIO_DECODE_264 XEC_GPIO_HELPER(&gpio_240_276, 20) 214 #define MCHP_GPIO_DECODE_265 XEC_GPIO_HELPER(&gpio_240_276, 21) 215 #define MCHP_GPIO_DECODE_266 XEC_GPIO_HELPER(&gpio_240_276, 22) 216 #define MCHP_GPIO_DECODE_267 XEC_GPIO_HELPER(&gpio_240_276, 23) 217 #define MCHP_GPIO_DECODE_270 XEC_GPIO_HELPER(&gpio_240_276, 24) 218 #define MCHP_GPIO_DECODE_271 XEC_GPIO_HELPER(&gpio_240_276, 25) 219 #define MCHP_GPIO_DECODE_272 XEC_GPIO_HELPER(&gpio_240_276, 26) 220 #define MCHP_GPIO_DECODE_273 XEC_GPIO_HELPER(&gpio_240_276, 27) 221 #define MCHP_GPIO_DECODE_274 XEC_GPIO_HELPER(&gpio_240_276, 28) 222 #define MCHP_GPIO_DECODE_275 XEC_GPIO_HELPER(&gpio_240_276, 29) 223 #define MCHP_GPIO_DECODE_276 XEC_GPIO_HELPER(&gpio_240_276, 30) 224 225 /** @} */ 226 227 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_MICROCHIP_XEC_GPIO_H_ */ 228