summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/cannonlake/include/soc/gpio_soc_defs_cnp_h.h
blob: dde0a65a2a470f15fbb3bfb185e72936b89aa6dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef _SOC_CANNONLAKE_GPIO_SOC_DEFS_CNP_H_H_
#define _SOC_CANNONLAKE_GPIO_SOC_DEFS_CNP_H_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_A			0x0
#define GPP_B			0x1
#define GPP_C			0x2
#define GPP_D			0x3
#define GPP_G			0x4
#define GPD			0x5
#define GPP_E			0x6
#define GPP_F			0x7
#define GPP_H			0x8
#define GPP_K			0x9
#define GPP_I			0xA
#define GPP_J			0xB
#define GPIO_NUM_GROUPS		12
#define GPIO_MAX_NUM_PER_GROUP	24

/*
 * GPIOs are ordered monotonically increasing to match ACPI/OS driver.
 */

/* Group A */
#define GPP_A0			0
#define GPP_A1			1
#define GPP_A2			2
#define GPP_A3			3
#define GPP_A4			4
#define GPP_A5			5
#define GPP_A6			6
#define GPP_A7			7
#define GPP_A8			8
#define GPP_A9			9
#define GPP_A10			10
#define GPP_A11			11
#define GPP_A12			12
#define GPP_A13			13
#define GPP_A14			14
#define GPP_A15			15
#define GPP_A16			16
#define GPP_A17			17
#define GPP_A18			18
#define GPP_A19			19
#define GPP_A20			20
#define GPP_A21			21
#define GPP_A22			22
#define GPP_A23			23
#define GPIO_RSVD_0		24

/* Group B */
#define GPP_B0			25
#define GPP_B1			26
#define GPP_B2			27
#define GPP_B3			28
#define GPP_B4			29
#define GPP_B5			30
#define GPP_B6			31
#define GPP_B7			32
#define GPP_B8			33
#define GPP_B9			34
#define GPP_B10			35
#define GPP_B11			36
#define GPP_B12			37
#define GPP_B13			38
#define GPP_B14			39
#define GPP_B15			40
#define GPP_B16			41
#define GPP_B17			42
#define GPP_B18			43
#define GPP_B19			44
#define GPP_B20			45
#define GPP_B21			46
#define GPP_B22			47
#define GPP_B23			48
#define GPIO_RSVD_1		49
#define GPIO_RSVD_2		50

#define NUM_GPIO_COM0_PADS	(GPIO_RSVD_2 - GPP_A0 + 1)

/* Group C */
#define GPP_C0			51
#define GPP_C1			52
#define GPP_C2			53
#define GPP_C3			54
#define GPP_C4			55
#define GPP_C5			56
#define GPP_C6			57
#define GPP_C7			58
#define GPP_C8			59
#define GPP_C9			60
#define GPP_C10			61
#define GPP_C11			62
#define GPP_C12			63
#define GPP_C13			64
#define GPP_C14			65
#define GPP_C15			66
#define GPP_C16			67
#define GPP_C17			68
#define GPP_C18			69
#define GPP_C19			70
#define GPP_C20			71
#define GPP_C21			72
#define GPP_C22			73
#define GPP_C23			74

/* Group D */
#define GPP_D0			75
#define GPP_D1			76
#define GPP_D2			77
#define GPP_D3			78
#define GPP_D4			79
#define GPP_D5			80
#define GPP_D6			81
#define GPP_D7			82
#define GPP_D8			83
#define GPP_D9			84
#define GPP_D10			85
#define GPP_D11			86
#define GPP_D12			87
#define GPP_D13			88
#define GPP_D14			89
#define GPP_D15			90
#define GPP_D16			91
#define GPP_D17			92
#define GPP_D18			93
#define GPP_D19			94
#define GPP_D20			95
#define GPP_D21			96
#define GPP_D22			97
#define GPP_D23			98

/* Group G */
#define GPP_G0			99
#define GPP_G1			100
#define GPP_G2			101
#define GPP_G3			102
#define GPP_G4			103
#define GPP_G5			104
#define GPP_G6			105
#define GPP_G7			106

/* AZA */
#define GPIO_RSVD_3		107
#define GPIO_RSVD_4		108
#define GPIO_RSVD_5		109
#define GPIO_RSVD_6		110
#define GPIO_RSVD_7		111
#define GPIO_RSVD_8		112
#define GPIO_RSVD_9		113
#define GPIO_RSVD_10		114

/* VGPIO_0 */
#define CNV_BTEN		115
#define CNV_GNEN		116
#define CNV_WFEN		117
#define CNV_WCEN		118
#define CNV_BT_HOST_WAKEB	119
#define vCNV_GNSS_HOST_WAKEB	120
#define vSD3_CD_B		121
#define CNV_BT_IF_SELECT	122
#define vCNV_BT_UART_TXD	123
#define vCNV_BT_UART_RXD	124
#define vCNV_BT_UART_CTS_B	125
#define vCNV_BT_UART_RTS_B	126
#define vCNV_MFUART1_TXD	127
#define vCNV_MFUART1_RXD	128
#define vCNV_MFUART1_CTS_B	129
#define vCNV_MFUART1_RTS_B	130
#define vCNV_GNSS_UART_TXD	131
#define vCNV_GNSS_UART_RXD	132
#define vCNV_GNSS_UART_CTS_B	133
#define vCNV_GNSS_UART_RTS_B	134
#define vUART0_TXD		135
#define vUART0_RXD		136
#define vUART0_CTS_B		137
#define vUART0_RTSB		138
#define vISH_UART0_TXD		139
#define vISH_UART0_RXD		140
#define vISH_UART0_CTS_B	141
#define vISH_UART0_RTSB		142
#define vISH_UART1_TXD		143
#define vISH_UART1_RXD		144
#define vISH_UART1_CTS_B	145
#define vISH_UART1_RTS_B	146
/* VGPIO_1 */
#define vCNV_BT_I2S_BCLK	147
#define vCNV_BT_I2S_WS_SYNC	148
#define vCNV_BT_I2S_SDO		149
#define vCNV_BT_I2S_SDI		150
#define vSSP2_SCLK		151
#define vSSP2_SFRM		152
#define vSSP2_TXD		153
#define vSSP2_RXD		154

#define NUM_GPIO_COM1_PADS	(vSSP2_RXD - GPP_C0 + 1)

/* Group K */
#define GPP_K0			155
#define GPP_K1			156
#define GPP_K2			157
#define GPP_K3			158
#define GPP_K4			159
#define GPP_K5			160
#define GPP_K6			161
#define GPP_K7			162
#define GPP_K8			163
#define GPP_K9			164
#define GPP_K10			165
#define GPP_K11			166
#define GPP_K12			167
#define GPP_K13			168
#define GPP_K14			169
#define GPP_K15			170
#define GPP_K16			171
#define GPP_K17			172
#define GPP_K18			173
#define GPP_K19			174
#define GPP_K20			175
#define GPP_K21			176
#define GPP_K22			177
#define GPP_K23			178

/* Group H */
#define GPP_H0			179
#define GPP_H1			180
#define GPP_H2			181
#define GPP_H3			182
#define GPP_H4			183
#define GPP_H5			184
#define GPP_H6			185
#define GPP_H7			186
#define GPP_H8			187
#define GPP_H9			188
#define GPP_H10			189
#define GPP_H11			190
#define GPP_H12			191
#define GPP_H13			192
#define GPP_H14			193
#define GPP_H15			194
#define GPP_H16			195
#define GPP_H17			196
#define GPP_H18			197
#define GPP_H19			198
#define GPP_H20			199
#define GPP_H21			200
#define GPP_H22			201
#define GPP_H23			202

/* Group E */
#define GPP_E0			203
#define GPP_E1			204
#define GPP_E2			205
#define GPP_E3			206
#define GPP_E4			207
#define GPP_E5			208
#define GPP_E6			209
#define GPP_E7			210
#define GPP_E8			211
#define GPP_E9			212
#define GPP_E10			213
#define GPP_E11			214
#define GPP_E12			215

/* Group F */
#define GPP_F0			216
#define GPP_F1			217
#define GPP_F2			218
#define GPP_F3			219
#define GPP_F4			220
#define GPP_F5			221
#define GPP_F6			222
#define GPP_F7			223
#define GPP_F8			224
#define GPP_F9			225
#define GPP_F10			226
#define GPP_F11			227
#define GPP_F12			228
#define GPP_F13			229
#define GPP_F14			230
#define GPP_F15			231
#define GPP_F16			232
#define GPP_F17			233
#define GPP_F18			234
#define GPP_F19			235
#define GPP_F20			236
#define GPP_F21			237
#define GPP_F22			238
#define GPP_F23			239

/* SPI */
#define GPIO_RSVD_11		240
#define GPIO_RSVD_12		241
#define GPIO_RSVD_13		242
#define GPIO_RSVD_14		243
#define GPIO_RSVD_15		244
#define GPIO_RSVD_16		245
#define GPIO_RSVD_17		246
#define GPIO_RSVD_18		247
#define GPIO_RSVD_19		248

#define NUM_GPIO_COM3_PADS	(GPIO_RSVD_19 - GPP_K0 + 1)

/* CPU */
#define GPIO_RSVD_20		249
#define GPIO_RSVD_21		250
#define GPIO_RSVD_22		251
#define GPIO_RSVD_23		252
#define GPIO_RSVD_24		253
#define GPIO_RSVD_25		254
#define GPIO_RSVD_26		255
#define GPIO_RSVD_27		256
#define GPIO_RSVD_28		257
#define GPIO_RSVD_29		258
#define GPIO_RSVD_30		259

/* JTAG */
#define GPIO_RSVD_31		260
#define GPIO_RSVD_32		261
#define GPIO_RSVD_33		262
#define GPIO_RSVD_34		263
#define GPIO_RSVD_35		264
#define GPIO_RSVD_36		265
#define GPIO_RSVD_37		266
#define GPIO_RSVD_38		267
#define GPIO_RSVD_39		268

/* Group I */
#define GPP_I0			269
#define GPP_I1			270
#define GPP_I2			271
#define GPP_I3			272
#define GPP_I4			273
#define GPP_I5			274
#define GPP_I6			275
#define GPP_I7			276
#define GPP_I8			277
#define GPP_I9			278
#define GPP_I10			279
#define GPP_I11			280
#define GPP_I12			281
#define GPP_I13			282
#define GPP_I14			283
#define GPIO_RSVD_40		284
#define GPIO_RSVD_41		285
#define GPIO_RSVD_42		286

/* Group J */
#define GPP_J0			287
#define GPP_J1			288
#define GPP_J2			289
#define GPP_J3			290
#define GPP_J4			291
#define GPP_J5			292
#define GPP_J6			293
#define GPP_J7			294
#define GPP_J8			295
#define GPP_J9			296
#define GPP_J10			297
#define GPP_J11			298

#define NUM_GPIO_COM4_PADS	(GPP_J11 - GPP_I0 + 1)

/* Group GPD  */
#define GPD0			299
#define GPD1			300
#define GPD2			301
#define GPD3			302
#define GPD4			303
#define GPD5			304
#define GPD6			305
#define GPD7			306
#define GPD8			307
#define GPD9			308
#define GPD10			309
#define GPD11			310

#define NUM_GPIO_COM2_PADS	(GPD11 - GPD0 + 1)

#define TOTAL_PADS		(GPD11 + 1)

#define COMM_0		0
#define COMM_1		1
#define COMM_2		2
#define COMM_3		3
#define COMM_4		4
#define TOTAL_GPIO_COMM	5

#endif