| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #ifndef _SOC_ELKHARTLAKE_GPIO_SOC_DEFS_H_ |
| #define _SOC_ELKHARTLAKE_GPIO_SOC_DEFS_H_ |
| |
| /* |
| * Most of the fixed numbers and macros are based on the GPP groups. |
| * The GPIO groups are accessed through register blocks called |
| * communities. |
| */ |
| #define GPP_B 0x0 |
| #define GPP_T 0x1 |
| #define GPP_D 0x2 |
| #define GPP_A 0x3 |
| #define GPP_R 0x4 |
| #define GPP_V 0x5 |
| #define GPD 0x6 |
| #define GPP_H 0x7 |
| #define GPP_U 0x8 |
| #define VGPIO 0x9 |
| #define GPP_F 0xA |
| #define GPP_C 0xB |
| #define GPP_E 0xC |
| #define GPP_G 0xD |
| #define GPP_S 0xE |
| |
| #define GPIO_NUM_GROUPS 15 |
| #define GPIO_MAX_NUM_PER_GROUP 32 |
| #define SD_PWR_EN_PIN GPP_H17 |
| |
| /* |
| * GPIOs are ordered monotonically increasing to match ACPI/OS driver. |
| */ |
| |
| /* Group B */ |
| #define GPP_B0 0 |
| #define GPP_B1 1 |
| #define GPP_B2 2 |
| #define GPP_B3 3 |
| #define GPP_B4 4 |
| #define GPP_B5 5 |
| #define GPP_B6 6 |
| #define GPP_B7 7 |
| #define GPP_B8 8 |
| #define GPP_B9 9 |
| #define GPP_B10 10 |
| #define GPP_B11 11 |
| #define GPP_B12 12 |
| #define GPP_B13 13 |
| #define GPP_B14 14 |
| #define GPP_B15 15 |
| #define GPP_B16 16 |
| #define GPP_B17 17 |
| #define GPP_B18 18 |
| #define GPP_B19 19 |
| #define GPP_B20 20 |
| #define GPP_B21 21 |
| #define GPP_B22 22 |
| #define GPP_B23 23 |
| #define GPIO_RSVD_0 24 |
| #define GPIO_RSVD_1 25 |
| |
| /* Group T */ |
| #define GPP_T0 26 |
| #define GPP_T1 27 |
| #define GPP_T2 28 |
| #define GPP_T3 29 |
| #define GPP_T4 30 |
| #define GPP_T5 31 |
| #define GPP_T6 32 |
| #define GPP_T7 33 |
| #define GPP_T8 34 |
| #define GPP_T9 35 |
| #define GPP_T10 36 |
| #define GPP_T11 37 |
| #define GPP_T12 38 |
| #define GPP_T13 39 |
| #define GPP_T14 40 |
| #define GPP_T15 41 |
| |
| /* Group G */ |
| #define GPP_G0 42 |
| #define GPP_G1 43 |
| #define GPP_G2 44 |
| #define GPP_G3 45 |
| #define GPP_G4 46 |
| #define GPP_G5 47 |
| #define GPP_G6 48 |
| #define GPP_G7 49 |
| #define GPP_G8 50 |
| #define GPP_G9 51 |
| #define GPP_G10 52 |
| #define GPP_G11 53 |
| #define GPP_G12 54 |
| #define GPP_G13 55 |
| #define GPP_G14 56 |
| #define GPP_G15 57 |
| #define GPP_G16 58 |
| #define GPP_G17 59 |
| #define GPP_G18 60 |
| #define GPP_G19 61 |
| #define GPP_G20 62 |
| #define GPP_G21 63 |
| #define GPP_G22 64 |
| #define GPP_G23 65 |
| #define GPIO_RSVD_2 66 |
| |
| #define GPIO_COM0_START GPP_B0 |
| #define GPIO_COM0_END GPIO_RSVD_2 |
| #define NUM_GPIO_COM0_PADS (GPIO_COM0_END - GPIO_COM0_START + 1) |
| |
| /* Group V */ |
| #define GPP_V0 67 |
| #define GPP_V1 68 |
| #define GPP_V2 69 |
| #define GPP_V3 70 |
| #define GPP_V4 71 |
| #define GPP_V5 72 |
| #define GPP_V6 73 |
| #define GPP_V7 74 |
| #define GPP_V8 75 |
| #define GPP_V9 76 |
| #define GPP_V10 77 |
| #define GPP_V11 78 |
| #define GPP_V12 79 |
| #define GPP_V13 80 |
| #define GPP_V14 81 |
| #define GPP_V15 82 |
| |
| /* Group H */ |
| #define GPP_H0 83 |
| #define GPP_H1 84 |
| #define GPP_H2 85 |
| #define GPP_H3 86 |
| #define GPP_H4 87 |
| #define GPP_H5 88 |
| #define GPP_H6 89 |
| #define GPP_H7 90 |
| #define GPP_H8 91 |
| #define GPP_H9 92 |
| #define GPP_H10 93 |
| #define GPP_H11 94 |
| #define GPP_H12 95 |
| #define GPP_H13 96 |
| #define GPP_H14 97 |
| #define GPP_H15 98 |
| #define GPP_H16 99 |
| #define GPP_H17 100 |
| #define GPP_H18 101 |
| #define GPP_H19 102 |
| #define GPP_H20 103 |
| #define GPP_H21 104 |
| #define GPP_H22 105 |
| #define GPP_H23 106 |
| |
| /* Group D */ |
| #define GPP_D0 107 |
| #define GPP_D1 108 |
| #define GPP_D2 109 |
| #define GPP_D3 110 |
| #define GPP_D4 111 |
| #define GPP_D5 112 |
| #define GPP_D6 113 |
| #define GPP_D7 114 |
| #define GPP_D8 115 |
| #define GPP_D9 116 |
| #define GPP_D10 117 |
| #define GPP_D11 118 |
| #define GPP_D12 119 |
| #define GPP_D13 120 |
| #define GPP_D14 121 |
| #define GPP_D15 122 |
| #define GPP_D16 123 |
| #define GPP_D17 124 |
| #define GPP_D18 125 |
| #define GPP_D19 126 |
| #define GPIO_RSVD_3 127 |
| |
| /* Group U */ |
| #define GPP_U0 128 |
| #define GPP_U1 129 |
| #define GPP_U2 130 |
| #define GPP_U3 131 |
| #define GPP_U4 132 |
| #define GPP_U5 133 |
| #define GPP_U6 134 |
| #define GPP_U7 135 |
| #define GPP_U8 136 |
| #define GPP_U9 137 |
| #define GPP_U10 138 |
| #define GPP_U11 139 |
| #define GPP_U12 140 |
| #define GPP_U13 141 |
| #define GPP_U14 142 |
| #define GPP_U15 143 |
| #define GPP_U16 144 |
| #define GPP_U17 145 |
| #define GPP_U18 146 |
| #define GPP_U19 147 |
| #define GPIO_RSVD_4 148 |
| #define GPIO_RSVD_5 149 |
| #define GPIO_RSVD_6 150 |
| #define GPIO_RSVD_7 151 |
| |
| /* Group VGPIO */ |
| #define VGPIO_0 152 |
| #define VGPIO_4 153 |
| #define VGPIO_5 154 |
| #define VGPIO_6 155 |
| #define VGPIO_7 156 |
| #define VGPIO_8 157 |
| #define VGPIO_9 158 |
| #define VGPIO_10 159 |
| #define VGPIO_11 160 |
| #define VGPIO_12 161 |
| #define VGPIO_13 162 |
| #define VGPIO_18 163 |
| #define VGPIO_19 164 |
| #define VGPIO_20 165 |
| #define VGPIO_21 166 |
| #define VGPIO_22 167 |
| #define VGPIO_23 168 |
| #define VGPIO_24 169 |
| #define VGPIO_25 170 |
| #define VGPIO_30 171 |
| #define VGPIO_31 172 |
| #define VGPIO_32 173 |
| #define VGPIO_33 174 |
| #define VGPIO_34 175 |
| #define VGPIO_35 176 |
| #define VGPIO_36 177 |
| #define VGPIO_37 178 |
| #define VGPIO_39 179 |
| |
| #define GPIO_COM1_START GPP_V0 |
| #define GPIO_COM1_END VGPIO_39 |
| #define NUM_GPIO_COM1_PADS (GPIO_COM1_END - GPIO_COM1_START + 1) |
| |
| /* Group GPD */ |
| #define GPD0 180 |
| #define GPD1 181 |
| #define GPD2 182 |
| #define GPD3 183 |
| #define GPD4 184 |
| #define GPD5 185 |
| #define GPD6 186 |
| #define GPD7 187 |
| #define GPD8 188 |
| #define GPD9 189 |
| #define GPD10 190 |
| #define GPD11 191 |
| #define GPIO_RSVD_8 192 |
| #define GPIO_RSVD_9 193 |
| #define GPIO_RSVD_10 194 |
| #define GPIO_RSVD_11 195 |
| #define GPIO_RSVD_12 196 |
| |
| #define GPIO_COM2_START GPD0 |
| #define GPIO_COM2_END GPIO_RSVD_12 |
| #define NUM_GPIO_COM2_PADS (GPIO_COM2_END - GPIO_COM2_START + 1) |
| |
| /* Group S */ |
| #define GPIO_RSVD_13 197 |
| #define GPIO_RSVD_14 198 |
| #define GPIO_RSVD_15 199 |
| #define GPIO_RSVD_16 200 |
| #define GPIO_RSVD_17 201 |
| #define GPIO_RSVD_18 202 |
| #define GPIO_RSVD_19 203 |
| #define GPIO_RSVD_20 204 |
| #define GPIO_RSVD_21 205 |
| #define GPIO_RSVD_22 206 |
| #define GPIO_RSVD_23 207 |
| #define GPIO_RSVD_24 208 |
| #define GPIO_RSVD_25 209 |
| #define GPIO_RSVD_26 210 |
| #define GPIO_RSVD_27 211 |
| #define GPIO_RSVD_28 212 |
| #define GPIO_RSVD_29 213 |
| #define GPP_S0 214 |
| #define GPP_S1 215 |
| |
| /* Group A */ |
| #define GPP_A0 216 |
| #define GPP_A1 217 |
| #define GPP_A2 218 |
| #define GPP_A3 219 |
| #define GPP_A4 220 |
| #define GPP_A5 221 |
| #define GPP_A6 222 |
| #define GPP_A7 223 |
| #define GPP_A8 224 |
| #define GPP_A9 225 |
| #define GPP_A10 226 |
| #define GPP_A11 227 |
| #define GPP_A12 228 |
| #define GPP_A13 229 |
| #define GPP_A14 230 |
| #define GPP_A15 231 |
| #define GPP_A16 232 |
| #define GPP_A17 233 |
| #define GPP_A18 234 |
| #define GPP_A19 235 |
| #define GPP_A20 236 |
| #define GPP_A21 237 |
| #define GPP_A22 238 |
| #define GPP_A23 239 |
| |
| /* Group VGPIO 3 */ |
| #define VGPIO_USB_0 240 |
| #define VGPIO_USB_1 241 |
| #define VGPIO_USB_2 242 |
| #define VGPIO_USB_3 243 |
| |
| #define GPIO_COM3_START GPIO_RSVD_13 |
| #define GPIO_COM3_END VGPIO_USB_3 |
| #define NUM_GPIO_COM3_PADS (GPIO_COM3_END - GPIO_COM3_START + 1) |
| |
| /* Group C */ |
| #define GPP_C0 244 |
| #define GPP_C1 245 |
| #define GPP_C2 246 |
| #define GPP_C3 247 |
| #define GPP_C4 248 |
| #define GPP_C5 249 |
| #define GPP_C6 250 |
| #define GPP_C7 251 |
| #define GPP_C8 252 |
| #define GPP_C9 253 |
| #define GPP_C10 254 |
| #define GPP_C11 255 |
| #define GPP_C12 256 |
| #define GPP_C13 257 |
| #define GPP_C14 258 |
| #define GPP_C15 259 |
| #define GPP_C16 260 |
| #define GPP_C17 261 |
| #define GPP_C18 262 |
| #define GPP_C19 263 |
| #define GPP_C20 264 |
| #define GPP_C21 265 |
| #define GPP_C22 266 |
| #define GPP_C23 267 |
| |
| /* Group F */ |
| #define GPP_F0 268 |
| #define GPP_F1 269 |
| #define GPP_F2 270 |
| #define GPP_F3 271 |
| #define GPP_F4 272 |
| #define GPP_F5 273 |
| #define GPP_F6 274 |
| #define GPP_F7 275 |
| #define GPP_F8 276 |
| #define GPP_F9 277 |
| #define GPP_F10 278 |
| #define GPP_F11 279 |
| #define GPP_F12 280 |
| #define GPP_F13 281 |
| #define GPP_F14 282 |
| #define GPP_F15 283 |
| #define GPP_F16 284 |
| #define GPP_F17 285 |
| #define GPP_F18 286 |
| #define GPP_F19 287 |
| #define GPP_F20 288 |
| #define GPP_F21 289 |
| #define GPP_F22 290 |
| #define GPP_F23 291 |
| #define GPIO_RSVD_30 292 |
| #define GPIO_RSVD_31 293 |
| #define GPIO_RSVD_32 294 |
| #define GPIO_RSVD_33 295 |
| #define GPIO_RSVD_34 296 |
| #define GPIO_RSVD_35 297 |
| #define GPIO_RSVD_36 298 |
| |
| /* Group E */ |
| #define GPP_E0 299 |
| #define GPP_E1 300 |
| #define GPP_E2 301 |
| #define GPP_E3 302 |
| #define GPP_E4 303 |
| #define GPP_E5 304 |
| #define GPP_E6 305 |
| #define GPP_E7 306 |
| #define GPP_E8 307 |
| #define GPP_E9 308 |
| #define GPP_E10 309 |
| #define GPP_E11 310 |
| #define GPP_E12 311 |
| #define GPP_E13 312 |
| #define GPP_E14 313 |
| #define GPP_E15 314 |
| #define GPP_E16 315 |
| #define GPP_E17 316 |
| #define GPP_E18 317 |
| #define GPP_E19 318 |
| #define GPP_E20 319 |
| #define GPP_E21 320 |
| #define GPP_E22 321 |
| #define GPP_E23 322 |
| |
| #define GPIO_COM4_START GPP_C0 |
| #define GPIO_COM4_END GPP_E23 |
| #define NUM_GPIO_COM4_PADS (GPIO_COM4_END - GPIO_COM4_START + 1) |
| |
| /* Group R */ |
| #define GPP_R0 323 |
| #define GPP_R1 324 |
| #define GPP_R2 325 |
| #define GPP_R3 326 |
| #define GPP_R4 327 |
| #define GPP_R5 328 |
| #define GPP_R6 329 |
| #define GPP_R7 330 |
| |
| #define GPIO_COM5_START GPP_R0 |
| #define GPIO_COM5_END GPP_R7 |
| #define NUM_GPIO_COM5_PADS (GPIO_COM5_END - GPIO_COM5_START + 1) |
| |
| #define TOTAL_PADS 331 |
| |
| #define COMM_0 0 |
| #define COMM_1 1 |
| #define COMM_2 2 |
| #define COMM_3 3 |
| #define COMM_4 4 |
| #define COMM_5 5 |
| #define TOTAL_GPIO_COMM 6 |
| |
| #endif |