Merge branches 'acpi-scan', 'acpi-resource', 'acpi-apei', 'acpi-extlog' and 'acpi...
[sfrench/cifs-2.6.git] / include / dt-bindings / pinctrl / pinctrl-starfive-jh7100.h
1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
2 /*
3  * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
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__ */