summaryrefslogtreecommitdiffstats
path: root/src/soc/amd/picasso/include/soc/gpio.h
blob: 01a997daa8a118bf5e297b120c33c72331809f52 (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
/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef AMD_PICASSO_GPIO_H
#define AMD_PICASSO_GPIO_H

#define GPIO_DEVICE_NAME	"AMD0030"
#define GPIO_DEVICE_DESC	"GPIO Controller"

#ifndef __ACPI__
#include <soc/iomap.h>
#include <amdblocks/gpio.h>
#endif /* !__ACPI__ */

#include <amdblocks/gpio_defs.h>

/* The following sections describe only the GPIOs defined for this SOC */

#define SOC_GPIO_TOTAL_PINS		145

/* Bank 0: GPIO_0 - GPIO_63 */
#define GPIO_0				0
#define GPIO_1				1
#define GPIO_2				2
#define GPIO_3				3
#define GPIO_4				4
#define GPIO_5				5
#define GPIO_6				6
#define GPIO_7				7
#define GPIO_8				8
#define GPIO_9				9
#define GPIO_10				10
#define GPIO_11				11
#define GPIO_12				12
#define GPIO_13				13
#define GPIO_14				14
#define GPIO_16				16
#define GPIO_17				17
#define GPIO_18				18
#define GPIO_19				19
#define GPIO_20				20
#define GPIO_21				21
#define GPIO_22				22
#define GPIO_23				23
#define GPIO_24				24
#define GPIO_26				26
#define GPIO_27				27
#define GPIO_29				29
#define GPIO_30				30
#define GPIO_31				31
#define GPIO_32				32
#define GPIO_40				40
#define GPIO_42				42

/* Bank 1: GPIO_64 - GPIO_127 */
#define GPIO_67				67
#define GPIO_68				68
#define GPIO_69				69
#define GPIO_70				70
#define GPIO_74				74
#define GPIO_75				75
#define GPIO_76				76
#define GPIO_84				84
#define GPIO_85				85
#define GPIO_86				86
#define GPIO_87				87
#define GPIO_88				88
#define GPIO_89				89
#define GPIO_90				90
#define GPIO_91				91
#define GPIO_92				92
#define GPIO_103			103
#define GPIO_104			104
#define GPIO_105			105
#define GPIO_106			106
#define GPIO_107			107
#define GPIO_108			108
#define GPIO_109			109
#define GPIO_113			113
#define GPIO_114			114
#define GPIO_115			115
#define GPIO_116			116
#define GPIO_120			120
#define GPIO_121			121

/* Bank 2: GPIO_128 - GPIO_191 */
#define GPIO_129			129
#define GPIO_130			130
#define GPIO_131			131
#define GPIO_132			132
#define GPIO_135			135
#define GPIO_136			136
#define GPIO_137			137
#define GPIO_138			138
#define GPIO_139			139
#define GPIO_140			140
#define GPIO_141			141
#define GPIO_142			142
#define GPIO_143			143
#define GPIO_144			144

#define GPIO_SCL_HIGH			0
#define GPIO_SCL_LOW			GPIO_OUTPUT_ENABLE

/* IOMUX function names and values generated from PPR. */
#define GPIO_0_IOMUX_PWR_BTN_L 0
#define GPIO_0_IOMUX_GPIOxx 1
#define GPIO_1_IOMUX_SYS_RESET_L 0
#define GPIO_1_IOMUX_GPIOxx 1
#define GPIO_2_IOMUX_WAKE_L 0
#define GPIO_2_IOMUX_GPIOxx 1
#define GPIO_3_IOMUX_GPIOxx 0
#define GPIO_4_IOMUX_GPIOxx 0
#define GPIO_5_IOMUX_GPIOxx 0
#define GPIO_5_IOMUX_DEVSLP0 1
#define GPIO_6_IOMUX_GPIOxx 0
#define GPIO_6_IOMUX_DEVSLP1 1
#define GPIO_7_IOMUX_GPIOxx 0
#define GPIO_7_IOMUX_ACP_I2S_SDIN 1
#define GPIO_8_IOMUX_GPIOxx 0
#define GPIO_8_IOMUX_ACP_I2S_LRCLK 1
#define GPIO_9_IOMUX_GPIOxx 0
#define GPIO_9_IOMUX_SGPIO_DATAOUT 1
#define GPIO_9_IOMUX_MDIO1_SCL 2
#define GPIO_10_IOMUX_GPIOxx 0
#define GPIO_10_IOMUX_S0A3_GPIO 1
#define GPIO_10_IOMUX_SGPIO_CLK 2
#define GPIO_10_IOMUX_MDIO0_SCL 3
#define GPIO_11_IOMUX_GPIOxx 0
#define GPIO_11_IOMUX_BLINK 1
#define GPIO_12_IOMUX_LLB_L 0
#define GPIO_12_IOMUX_GPIOxx 1
#define GPIO_13_IOMUX_USB_OC5_L 0
#define GPIO_13_IOMUX_GPIOxx 1
#define GPIO_14_IOMUX_USB_OC4_L 0
#define GPIO_14_IOMUX_GPIOxx 1
#define GPIO_16_IOMUX_USB_OC0_L 0
#define GPIO_16_IOMUX_GPIOxx 1
#define GPIO_17_IOMUX_USB_OC1_L 0
#define GPIO_17_IOMUX_GPIOxx 1
#define GPIO_18_IOMUX_USB_OC2_L 0
#define GPIO_18_IOMUX_GPIOxx 1
#define GPIO_19_IOMUX_SCL1 0
#define GPIO_19_IOMUX_I2C3_SCL 1
#define GPIO_19_IOMUX_GPIOxx 2
#define GPIO_20_IOMUX_SDA1 0
#define GPIO_20_IOMUX_I2C3_SDA 1
#define GPIO_20_IOMUX_GPIOxx 2
#define GPIO_21_IOMUX_LPC_PD_L 0
#define GPIO_21_IOMUX_EMMC_CMD 1
#define GPIO_21_IOMUX_GPIOxx 2
#define GPIO_22_IOMUX_LPC_PME_L 0
#define GPIO_22_IOMUX_EMMC_PWR_CTRL 1
#define GPIO_22_IOMUX_GPIOxx 2
#define GPIO_23_IOMUX_AC_PRES 0
#define GPIO_23_IOMUX_SGPIO_LOAD 1
#define GPIO_23_IOMUX_MDIO1_SDA 2
#define GPIO_23_IOMUX_GPIOxx 3
#define GPIO_24_IOMUX_USB_OC3_L 0
#define GPIO_24_IOMUX_GPIOxx 1
#define GPIO_26_IOMUX_PCIE_RST_L 0
#define GPIO_26_IOMUX_GPIOxx 1
#define GPIO_27_IOMUX_GPIOxx 0
#define GPIO_27_IOMUX_PCIE_RST1_L 1
#define GPIO_29_IOMUX_SPI_TPM_CS_L 0
#define GPIO_29_IOMUX_GPIOxx 1
#define GPIO_29_IOMUX_USB_OC6_L 2
#define GPIO_30_IOMUX_SPI_CS2_L 0
#define GPIO_30_IOMUX_ESPI_CS_L 1
#define GPIO_30_IOMUX_GPIOxx 2
#define GPIO_31_IOMUX_SPI_CS3_L 0
#define GPIO_31_IOMUX_ESPI_CS_L 1
#define GPIO_31_IOMUX_GPIOxx 2
#define GPIO_32_IOMUX_LPC_RST_L 0
#define GPIO_32_IOMUX_SD_WP_L 1
#define GPIO_32_IOMUX_GPIOxx 2
#define GPIO_40_IOMUX_GPIOxx 0
#define GPIO_40_IOMUX_SGPIO_DATAIN 1
#define GPIO_40_IOMUX_MDIO0_SDA 2
#define GPIO_42_IOMUX_GPIOxx 0
#define GPIO_67_IOMUX_SPI_ROM_REQ 0
#define GPIO_67_IOMUX_GPIOxx 1
#define GPIO_68_IOMUX_GPIOxx 0
#define GPIO_68_IOMUX_EMMC_CD 1
#define GPIO_69_IOMUX_GPIOxx 0
#define GPIO_70_IOMUX_GPIOxx 0
#define GPIO_70_IOMUX_EMMC_CLK 1
#define GPIO_70_IOMUX_SD_CLK 2
#define GPIO_74_IOMUX_LPCCLK0 0
#define GPIO_74_IOMUX_EMMC_DATA4 1
#define GPIO_74_IOMUX_GPIOxx 2
#define GPIO_75_IOMUX_LPCCLK1 0
#define GPIO_75_IOMUX_EMMC_DATA6 1
#define GPIO_75_IOMUX_GPIOxx 2
#define GPIO_76_IOMUX_SPI_ROM_GNT 0
#define GPIO_76_IOMUX_GPIOxx 1
#define GPIO_84_IOMUX_FANIN0 0
#define GPIO_84_IOMUX_GPIOxx 1
#define GPIO_85_IOMUX_FANOUT0 0
#define GPIO_85_IOMUX_GPIOxx 1
#define GPIO_86_IOMUX_LPC_SMI_L 0
#define GPIO_86_IOMUX_GPIOxx 1
#define GPIO_87_IOMUX_SERIRQ 0
#define GPIO_87_IOMUX_EMMC_DATA7 1
#define GPIO_87_IOMUX_GPIOxx 2
#define GPIO_88_IOMUX_LPC_CLKRUN_L 0
#define GPIO_88_IOMUX_EMMC_DATA5 1
#define GPIO_88_IOMUX_GPIOxx 2
#define GPIO_89_IOMUX_GENINT1_L 0
#define GPIO_89_IOMUX_PSP_INTR0 1
#define GPIO_89_IOMUX_GPIOxx 2
#define GPIO_90_IOMUX_GENINT2_L 0
#define GPIO_90_IOMUX_PSP_INTR1 1
#define GPIO_90_IOMUX_GPIOxx 2
#define GPIO_91_IOMUX_SPKR 0
#define GPIO_91_IOMUX_GPIOxx 1
#define GPIO_92_IOMUX_CLK_REQ0_L 0
#define GPIO_92_IOMUX_SATA_IS0_L 1
#define GPIO_92_IOMUX_SATA_ZP0_L 2
#define GPIO_92_IOMUX_GPIOxx 3
#define GPIO_95_IOMUX_GPIOxx 0
#define GPIO_95_IOMUX_SD0_CLK 1
#define GPIO_96_IOMUX_GPIOxx 0
#define GPIO_96_IOMUX_SD0_CMD 1
#define GPIO_97_IOMUX_GPIOxx 0
#define GPIO_97_IOMUX_SD0_DATA0 1
#define GPIO_98_IOMUX_GPIOxx 0
#define GPIO_98_IOMUX_SD0_DATA1 1
#define GPIO_99_IOMUX_GPIOxx 0
#define GPIO_99_IOMUX_SD0_DATA2 1
#define GPIO_100_IOMUX_GPIOxx 0
#define GPIO_100_IOMUX_SD0_DATA3 1
#define GPIO_104_IOMUX_LAD0 0
#define GPIO_104_IOMUX_EMMC_DATA0 1
#define GPIO_104_IOMUX_GPIOxx 3
#define GPIO_105_IOMUX_LAD1 0
#define GPIO_105_IOMUX_EMMC_DATA1 1
#define GPIO_105_IOMUX_GPIOxx 3
#define GPIO_106_IOMUX_LAD2 0
#define GPIO_106_IOMUX_EMMC_DATA2 1
#define GPIO_106_IOMUX_GPIOxx 3
#define GPIO_107_IOMUX_LAD3 0
#define GPIO_107_IOMUX_EMMC_DATA3 1
#define GPIO_107_IOMUX_GPIOxx 3
#define GPIO_108_IOMUX_LDRQ0_L 0
#define GPIO_108_IOMUX_ESPI_ALERT_L 1
#define GPIO_108_IOMUX_GPIOxx 2
#define GPIO_109_IOMUX_LFRAME_L 0
#define GPIO_109_IOMUX_EMMC_DS 1
#define GPIO_109_IOMUX_GPIOxx 2
#define GPIO_113_IOMUX_SCL0 0
#define GPIO_113_IOMUX_I2C2_SCL 1
#define GPIO_113_IOMUX_GPIOxx 2
#define GPIO_114_IOMUX_SDA0 0
#define GPIO_114_IOMUX_I2C2_SDA 1
#define GPIO_114_IOMUX_GPIOxx 2
#define GPIO_115_IOMUX_CLK_REQ1_L 0
#define GPIO_115_IOMUX_GPIOxx 1
#define GPIO_116_IOMUX_CLK_REQ2_L 0
#define GPIO_116_IOMUX_GPIOxx 1
#define GPIO_120_IOMUX_CLK_REQ5_L 0
#define GPIO_120_IOMUX_GPIOxx 1
#define GPIO_121_IOMUX_CLK_REQ6_L 0
#define GPIO_121_IOMUX_GPIOxx 1
#define GPIO_129_IOMUX_KBRST_L 0
#define GPIO_129_IOMUX_GPIOxx 1
#define GPIO_130_IOMUX_SATA_ACT_L 0
#define GPIO_130_IOMUX_GPIOxx 1
#define GPIO_131_IOMUX_CLK_REQ3_L 0
#define GPIO_131_IOMUX_SATA_IS1_L 1
#define GPIO_131_IOMUX_SATA_ZP1_L 2
#define GPIO_131_IOMUX_GPIOxx 3
#define GPIO_132_IOMUX_CLK_REQ4_L 0
#define GPIO_132_IOMUX_OSCIN 1
#define GPIO_132_IOMUX_GPIOxx 2
#define GPIO_135_IOMUX_UART0_CTS_L 0
#define GPIO_135_IOMUX_UART2_RXD 1
#define GPIO_135_IOMUX_GPIOxx 2
#define GPIO_136_IOMUX_UART0_RXD 0
#define GPIO_136_IOMUX_GPIOxx 1
#define GPIO_137_IOMUX_UART0_RTS_L 0
#define GPIO_137_IOMUX_UART2_TXD 1
#define GPIO_137_IOMUX_GPIOxx 2
#define GPIO_138_IOMUX_UART0_TXD 0
#define GPIO_138_IOMUX_GPIOxx 1
#define GPIO_139_IOMUX_UART0_INTR 0
#define GPIO_139_IOMUX_GPIOxx 1
#define GPIO_140_IOMUX_UART1_CTS_L 0
#define GPIO_140_IOMUX_UART3_TXD 1
#define GPIO_140_IOMUX_GPIOxx 2
#define GPIO_141_IOMUX_UART1_RXD 0
#define GPIO_141_IOMUX_GPIOxx 1
#define GPIO_142_IOMUX_UART1_RTS_L 0
#define GPIO_142_IOMUX_UART3_RXD 1
#define GPIO_142_IOMUX_GPIOxx 2
#define GPIO_143_IOMUX_UART1_TXD 0
#define GPIO_143_IOMUX_GPIOxx 1
#define GPIO_144_IOMUX_UART1_INTR 0
#define GPIO_144_IOMUX_GPIOxx 1

#endif /* AMD_PICASSO_GPIO_H */