Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0 OR MIT */
2
/*
3
* Copyright (C) 2021 Emil Renner Berthing <[email protected]>
4
*/
5
6
#ifndef __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__
7
#define __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__
8
9
#define PAD_GPIO_OFFSET 0
10
#define PAD_FUNC_SHARE_OFFSET 64
11
#define PAD_GPIO(x) (PAD_GPIO_OFFSET + (x))
12
#define PAD_FUNC_SHARE(x) (PAD_FUNC_SHARE_OFFSET + (x))
13
14
/*
15
* GPIOMUX bits:
16
* | 31 - 24 | 23 - 16 | 15 - 8 | 7 | 6 | 5 - 0 |
17
* | dout | doen | din | dout rev | doen rev | gpio nr |
18
*
19
* dout: output signal
20
* doen: output enable signal
21
* din: optional input signal, 0xff = none
22
* dout rev: output signal reverse bit
23
* doen rev: output enable signal reverse bit
24
* gpio nr: gpio number, 0 - 63
25
*/
26
#define GPIOMUX(n, dout, doen, din) ( \
27
(((dout) & 0x80000000) >> (31 - 7)) | (((dout) & 0xff) << 24) | \
28
(((doen) & 0x80000000) >> (31 - 6)) | (((doen) & 0xff) << 16) | \
29
(((din) & 0xff) << 8) | \
30
((n) & 0x3f))
31
32
#define GPO_REVERSE 0x80000000
33
34
#define GPO_LOW 0
35
#define GPO_HIGH 1
36
#define GPO_ENABLE 0
37
#define GPO_DISABLE 1
38
#define GPO_CLK_GMAC_PAPHYREF 2
39
#define GPO_JTAG_TDO 3
40
#define GPO_JTAG_TDO_OEN 4
41
#define GPO_DMIC_CLK_OUT 5
42
#define GPO_DSP_JTDOEN_PAD 6
43
#define GPO_DSP_JTDO_PAD 7
44
#define GPO_I2C0_PAD_SCK_OE 8
45
#define GPO_I2C0_PAD_SCK_OEN (GPO_I2C0_PAD_SCK_OE | GPO_REVERSE)
46
#define GPO_I2C0_PAD_SDA_OE 9
47
#define GPO_I2C0_PAD_SDA_OEN (GPO_I2C0_PAD_SDA_OE | GPO_REVERSE)
48
#define GPO_I2C1_PAD_SCK_OE 10
49
#define GPO_I2C1_PAD_SCK_OEN (GPO_I2C1_PAD_SCK_OE | GPO_REVERSE)
50
#define GPO_I2C1_PAD_SDA_OE 11
51
#define GPO_I2C1_PAD_SDA_OEN (GPO_I2C1_PAD_SDA_OE | GPO_REVERSE)
52
#define GPO_I2C2_PAD_SCK_OE 12
53
#define GPO_I2C2_PAD_SCK_OEN (GPO_I2C2_PAD_SCK_OE | GPO_REVERSE)
54
#define GPO_I2C2_PAD_SDA_OE 13
55
#define GPO_I2C2_PAD_SDA_OEN (GPO_I2C2_PAD_SDA_OE | GPO_REVERSE)
56
#define GPO_I2C3_PAD_SCK_OE 14
57
#define GPO_I2C3_PAD_SCK_OEN (GPO_I2C3_PAD_SCK_OE | GPO_REVERSE)
58
#define GPO_I2C3_PAD_SDA_OE 15
59
#define GPO_I2C3_PAD_SDA_OEN (GPO_I2C3_PAD_SDA_OE | GPO_REVERSE)
60
#define GPO_I2SRX_BCLK_OUT 16
61
#define GPO_I2SRX_BCLK_OUT_OEN 17
62
#define GPO_I2SRX_LRCK_OUT 18
63
#define GPO_I2SRX_LRCK_OUT_OEN 19
64
#define GPO_I2SRX_MCLK_OUT 20
65
#define GPO_I2STX_BCLK_OUT 21
66
#define GPO_I2STX_BCLK_OUT_OEN 22
67
#define GPO_I2STX_LRCK_OUT 23
68
#define GPO_I2STX_LRCK_OUT_OEN 24
69
#define GPO_I2STX_MCLK_OUT 25
70
#define GPO_I2STX_SDOUT0 26
71
#define GPO_I2STX_SDOUT1 27
72
#define GPO_LCD_PAD_CSM_N 28
73
#define GPO_PWM_PAD_OE_N_BIT0 29
74
#define GPO_PWM_PAD_OE_N_BIT1 30
75
#define GPO_PWM_PAD_OE_N_BIT2 31
76
#define GPO_PWM_PAD_OE_N_BIT3 32
77
#define GPO_PWM_PAD_OE_N_BIT4 33
78
#define GPO_PWM_PAD_OE_N_BIT5 34
79
#define GPO_PWM_PAD_OE_N_BIT6 35
80
#define GPO_PWM_PAD_OE_N_BIT7 36
81
#define GPO_PWM_PAD_OUT_BIT0 37
82
#define GPO_PWM_PAD_OUT_BIT1 38
83
#define GPO_PWM_PAD_OUT_BIT2 39
84
#define GPO_PWM_PAD_OUT_BIT3 40
85
#define GPO_PWM_PAD_OUT_BIT4 41
86
#define GPO_PWM_PAD_OUT_BIT5 42
87
#define GPO_PWM_PAD_OUT_BIT6 43
88
#define GPO_PWM_PAD_OUT_BIT7 44
89
#define GPO_PWMDAC_LEFT_OUT 45
90
#define GPO_PWMDAC_RIGHT_OUT 46
91
#define GPO_QSPI_CSN1_OUT 47
92
#define GPO_QSPI_CSN2_OUT 48
93
#define GPO_QSPI_CSN3_OUT 49
94
#define GPO_REGISTER23_SCFG_CMSENSOR_RST0 50
95
#define GPO_REGISTER23_SCFG_CMSENSOR_RST1 51
96
#define GPO_REGISTER32_SCFG_GMAC_PHY_RSTN 52
97
#define GPO_SDIO0_PAD_CARD_POWER_EN 53
98
#define GPO_SDIO0_PAD_CCLK_OUT 54
99
#define GPO_SDIO0_PAD_CCMD_OE 55
100
#define GPO_SDIO0_PAD_CCMD_OEN (GPO_SDIO0_PAD_CCMD_OE | GPO_REVERSE)
101
#define GPO_SDIO0_PAD_CCMD_OUT 56
102
#define GPO_SDIO0_PAD_CDATA_OE_BIT0 57
103
#define GPO_SDIO0_PAD_CDATA_OEN_BIT0 (GPO_SDIO0_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
104
#define GPO_SDIO0_PAD_CDATA_OE_BIT1 58
105
#define GPO_SDIO0_PAD_CDATA_OEN_BIT1 (GPO_SDIO0_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
106
#define GPO_SDIO0_PAD_CDATA_OE_BIT2 59
107
#define GPO_SDIO0_PAD_CDATA_OEN_BIT2 (GPO_SDIO0_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
108
#define GPO_SDIO0_PAD_CDATA_OE_BIT3 60
109
#define GPO_SDIO0_PAD_CDATA_OEN_BIT3 (GPO_SDIO0_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
110
#define GPO_SDIO0_PAD_CDATA_OE_BIT4 61
111
#define GPO_SDIO0_PAD_CDATA_OEN_BIT4 (GPO_SDIO0_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
112
#define GPO_SDIO0_PAD_CDATA_OE_BIT5 62
113
#define GPO_SDIO0_PAD_CDATA_OEN_BIT5 (GPO_SDIO0_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
114
#define GPO_SDIO0_PAD_CDATA_OE_BIT6 63
115
#define GPO_SDIO0_PAD_CDATA_OEN_BIT6 (GPO_SDIO0_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
116
#define GPO_SDIO0_PAD_CDATA_OE_BIT7 64
117
#define GPO_SDIO0_PAD_CDATA_OEN_BIT7 (GPO_SDIO0_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
118
#define GPO_SDIO0_PAD_CDATA_OUT_BIT0 65
119
#define GPO_SDIO0_PAD_CDATA_OUT_BIT1 66
120
#define GPO_SDIO0_PAD_CDATA_OUT_BIT2 67
121
#define GPO_SDIO0_PAD_CDATA_OUT_BIT3 68
122
#define GPO_SDIO0_PAD_CDATA_OUT_BIT4 69
123
#define GPO_SDIO0_PAD_CDATA_OUT_BIT5 70
124
#define GPO_SDIO0_PAD_CDATA_OUT_BIT6 71
125
#define GPO_SDIO0_PAD_CDATA_OUT_BIT7 72
126
#define GPO_SDIO0_PAD_RST_N 73
127
#define GPO_SDIO1_PAD_CARD_POWER_EN 74
128
#define GPO_SDIO1_PAD_CCLK_OUT 75
129
#define GPO_SDIO1_PAD_CCMD_OE 76
130
#define GPO_SDIO1_PAD_CCMD_OEN (GPO_SDIO1_PAD_CCMD_OE | GPO_REVERSE)
131
#define GPO_SDIO1_PAD_CCMD_OUT 77
132
#define GPO_SDIO1_PAD_CDATA_OE_BIT0 78
133
#define GPO_SDIO1_PAD_CDATA_OEN_BIT0 (GPO_SDIO1_PAD_CDATA_OE_BIT0 | GPO_REVERSE)
134
#define GPO_SDIO1_PAD_CDATA_OE_BIT1 79
135
#define GPO_SDIO1_PAD_CDATA_OEN_BIT1 (GPO_SDIO1_PAD_CDATA_OE_BIT1 | GPO_REVERSE)
136
#define GPO_SDIO1_PAD_CDATA_OE_BIT2 80
137
#define GPO_SDIO1_PAD_CDATA_OEN_BIT2 (GPO_SDIO1_PAD_CDATA_OE_BIT2 | GPO_REVERSE)
138
#define GPO_SDIO1_PAD_CDATA_OE_BIT3 81
139
#define GPO_SDIO1_PAD_CDATA_OEN_BIT3 (GPO_SDIO1_PAD_CDATA_OE_BIT3 | GPO_REVERSE)
140
#define GPO_SDIO1_PAD_CDATA_OE_BIT4 82
141
#define GPO_SDIO1_PAD_CDATA_OEN_BIT4 (GPO_SDIO1_PAD_CDATA_OE_BIT4 | GPO_REVERSE)
142
#define GPO_SDIO1_PAD_CDATA_OE_BIT5 83
143
#define GPO_SDIO1_PAD_CDATA_OEN_BIT5 (GPO_SDIO1_PAD_CDATA_OE_BIT5 | GPO_REVERSE)
144
#define GPO_SDIO1_PAD_CDATA_OE_BIT6 84
145
#define GPO_SDIO1_PAD_CDATA_OEN_BIT6 (GPO_SDIO1_PAD_CDATA_OE_BIT6 | GPO_REVERSE)
146
#define GPO_SDIO1_PAD_CDATA_OE_BIT7 85
147
#define GPO_SDIO1_PAD_CDATA_OEN_BIT7 (GPO_SDIO1_PAD_CDATA_OE_BIT7 | GPO_REVERSE)
148
#define GPO_SDIO1_PAD_CDATA_OUT_BIT0 86
149
#define GPO_SDIO1_PAD_CDATA_OUT_BIT1 87
150
#define GPO_SDIO1_PAD_CDATA_OUT_BIT2 88
151
#define GPO_SDIO1_PAD_CDATA_OUT_BIT3 89
152
#define GPO_SDIO1_PAD_CDATA_OUT_BIT4 90
153
#define GPO_SDIO1_PAD_CDATA_OUT_BIT5 91
154
#define GPO_SDIO1_PAD_CDATA_OUT_BIT6 92
155
#define GPO_SDIO1_PAD_CDATA_OUT_BIT7 93
156
#define GPO_SDIO1_PAD_RST_N 94
157
#define GPO_SPDIF_TX_SDOUT 95
158
#define GPO_SPDIF_TX_SDOUT_OEN 96
159
#define GPO_SPI0_PAD_OE_N 97
160
#define GPO_SPI0_PAD_SCK_OUT 98
161
#define GPO_SPI0_PAD_SS_0_N 99
162
#define GPO_SPI0_PAD_SS_1_N 100
163
#define GPO_SPI0_PAD_TXD 101
164
#define GPO_SPI1_PAD_OE_N 102
165
#define GPO_SPI1_PAD_SCK_OUT 103
166
#define GPO_SPI1_PAD_SS_0_N 104
167
#define GPO_SPI1_PAD_SS_1_N 105
168
#define GPO_SPI1_PAD_TXD 106
169
#define GPO_SPI2_PAD_OE_N 107
170
#define GPO_SPI2_PAD_SCK_OUT 108
171
#define GPO_SPI2_PAD_SS_0_N 109
172
#define GPO_SPI2_PAD_SS_1_N 110
173
#define GPO_SPI2_PAD_TXD 111
174
#define GPO_SPI2AHB_PAD_OE_N_BIT0 112
175
#define GPO_SPI2AHB_PAD_OE_N_BIT1 113
176
#define GPO_SPI2AHB_PAD_OE_N_BIT2 114
177
#define GPO_SPI2AHB_PAD_OE_N_BIT3 115
178
#define GPO_SPI2AHB_PAD_TXD_BIT0 116
179
#define GPO_SPI2AHB_PAD_TXD_BIT1 117
180
#define GPO_SPI2AHB_PAD_TXD_BIT2 118
181
#define GPO_SPI2AHB_PAD_TXD_BIT3 119
182
#define GPO_SPI3_PAD_OE_N 120
183
#define GPO_SPI3_PAD_SCK_OUT 121
184
#define GPO_SPI3_PAD_SS_0_N 122
185
#define GPO_SPI3_PAD_SS_1_N 123
186
#define GPO_SPI3_PAD_TXD 124
187
#define GPO_UART0_PAD_DTRN 125
188
#define GPO_UART0_PAD_RTSN 126
189
#define GPO_UART0_PAD_SOUT 127
190
#define GPO_UART1_PAD_SOUT 128
191
#define GPO_UART2_PAD_DTR_N 129
192
#define GPO_UART2_PAD_RTS_N 130
193
#define GPO_UART2_PAD_SOUT 131
194
#define GPO_UART3_PAD_SOUT 132
195
#define GPO_USB_DRV_BUS 133
196
197
#define GPI_CPU_JTAG_TCK 0
198
#define GPI_CPU_JTAG_TDI 1
199
#define GPI_CPU_JTAG_TMS 2
200
#define GPI_CPU_JTAG_TRST 3
201
#define GPI_DMIC_SDIN_BIT0 4
202
#define GPI_DMIC_SDIN_BIT1 5
203
#define GPI_DSP_JTCK_PAD 6
204
#define GPI_DSP_JTDI_PAD 7
205
#define GPI_DSP_JTMS_PAD 8
206
#define GPI_DSP_TRST_PAD 9
207
#define GPI_I2C0_PAD_SCK_IN 10
208
#define GPI_I2C0_PAD_SDA_IN 11
209
#define GPI_I2C1_PAD_SCK_IN 12
210
#define GPI_I2C1_PAD_SDA_IN 13
211
#define GPI_I2C2_PAD_SCK_IN 14
212
#define GPI_I2C2_PAD_SDA_IN 15
213
#define GPI_I2C3_PAD_SCK_IN 16
214
#define GPI_I2C3_PAD_SDA_IN 17
215
#define GPI_I2SRX_BCLK_IN 18
216
#define GPI_I2SRX_LRCK_IN 19
217
#define GPI_I2SRX_SDIN_BIT0 20
218
#define GPI_I2SRX_SDIN_BIT1 21
219
#define GPI_I2SRX_SDIN_BIT2 22
220
#define GPI_I2STX_BCLK_IN 23
221
#define GPI_I2STX_LRCK_IN 24
222
#define GPI_SDIO0_PAD_CARD_DETECT_N 25
223
#define GPI_SDIO0_PAD_CARD_WRITE_PRT 26
224
#define GPI_SDIO0_PAD_CCMD_IN 27
225
#define GPI_SDIO0_PAD_CDATA_IN_BIT0 28
226
#define GPI_SDIO0_PAD_CDATA_IN_BIT1 29
227
#define GPI_SDIO0_PAD_CDATA_IN_BIT2 30
228
#define GPI_SDIO0_PAD_CDATA_IN_BIT3 31
229
#define GPI_SDIO0_PAD_CDATA_IN_BIT4 32
230
#define GPI_SDIO0_PAD_CDATA_IN_BIT5 33
231
#define GPI_SDIO0_PAD_CDATA_IN_BIT6 34
232
#define GPI_SDIO0_PAD_CDATA_IN_BIT7 35
233
#define GPI_SDIO1_PAD_CARD_DETECT_N 36
234
#define GPI_SDIO1_PAD_CARD_WRITE_PRT 37
235
#define GPI_SDIO1_PAD_CCMD_IN 38
236
#define GPI_SDIO1_PAD_CDATA_IN_BIT0 39
237
#define GPI_SDIO1_PAD_CDATA_IN_BIT1 40
238
#define GPI_SDIO1_PAD_CDATA_IN_BIT2 41
239
#define GPI_SDIO1_PAD_CDATA_IN_BIT3 42
240
#define GPI_SDIO1_PAD_CDATA_IN_BIT4 43
241
#define GPI_SDIO1_PAD_CDATA_IN_BIT5 44
242
#define GPI_SDIO1_PAD_CDATA_IN_BIT6 45
243
#define GPI_SDIO1_PAD_CDATA_IN_BIT7 46
244
#define GPI_SPDIF_RX_SDIN 47
245
#define GPI_SPI0_PAD_RXD 48
246
#define GPI_SPI0_PAD_SS_IN_N 49
247
#define GPI_SPI1_PAD_RXD 50
248
#define GPI_SPI1_PAD_SS_IN_N 51
249
#define GPI_SPI2_PAD_RXD 52
250
#define GPI_SPI2_PAD_SS_IN_N 53
251
#define GPI_SPI2AHB_PAD_RXD_BIT0 54
252
#define GPI_SPI2AHB_PAD_RXD_BIT1 55
253
#define GPI_SPI2AHB_PAD_RXD_BIT2 56
254
#define GPI_SPI2AHB_PAD_RXD_BIT3 57
255
#define GPI_SPI2AHB_PAD_SS_N 58
256
#define GPI_SPI2AHB_SLV_SCLKIN 59
257
#define GPI_SPI3_PAD_RXD 60
258
#define GPI_SPI3_PAD_SS_IN_N 61
259
#define GPI_UART0_PAD_CTSN 62
260
#define GPI_UART0_PAD_DCDN 63
261
#define GPI_UART0_PAD_DSRN 64
262
#define GPI_UART0_PAD_RIN 65
263
#define GPI_UART0_PAD_SIN 66
264
#define GPI_UART1_PAD_SIN 67
265
#define GPI_UART2_PAD_CTS_N 68
266
#define GPI_UART2_PAD_DCD_N 69
267
#define GPI_UART2_PAD_DSR_N 70
268
#define GPI_UART2_PAD_RI_N 71
269
#define GPI_UART2_PAD_SIN 72
270
#define GPI_UART3_PAD_SIN 73
271
#define GPI_USB_OVER_CURRENT 74
272
273
#define GPI_NONE 0xff
274
275
#endif /* __DT_BINDINGS_PINCTRL_STARFIVE_JH7100_H__ */
276
277