2 * Copyright (C) 2016 IBM Corp.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 #include <linux/bitops.h>
10 #include <linux/init.h>
12 #include <linux/kernel.h>
13 #include <linux/mutex.h>
15 #include <linux/platform_device.h>
16 #include <linux/pinctrl/pinctrl.h>
17 #include <linux/pinctrl/pinmux.h>
18 #include <linux/pinctrl/pinconf.h>
19 #include <linux/pinctrl/pinconf-generic.h>
20 #include <linux/string.h>
21 #include <linux/types.h>
24 #include "../pinctrl-utils.h"
25 #include "pinctrl-aspeed.h"
28 * Uses undefined macros for symbol naming and references, eg GPIOA0, MAC1LINK,
31 * Pins are defined in GPIO bank order:
43 * Not all pins have their signals defined (yet).
47 SSSF_PIN_DECL(D6
, GPIOA0
, MAC1LINK
, SIG_DESC_SET(SCU80
, 0));
50 SSSF_PIN_DECL(B5
, GPIOA1
, MAC2LINK
, SIG_DESC_SET(SCU80
, 1));
53 SSSF_PIN_DECL(A4
, GPIOA2
, TIMER3
, SIG_DESC_SET(SCU80
, 2));
56 SSSF_PIN_DECL(E6
, GPIOA3
, TIMER4
, SIG_DESC_SET(SCU80
, 3));
58 #define I2C9_DESC SIG_DESC_SET(SCU90, 22)
61 SIG_EXPR_LIST_DECL_SINGLE(SCL9
, I2C9
, I2C9_DESC
);
62 SIG_EXPR_LIST_DECL_SINGLE(TIMER5
, TIMER5
, SIG_DESC_SET(SCU80
, 4));
63 MS_PIN_DECL(C5
, GPIOA4
, SCL9
, TIMER5
);
65 FUNC_GROUP_DECL(TIMER5
, C5
);
68 SIG_EXPR_LIST_DECL_SINGLE(SDA9
, I2C9
, I2C9_DESC
);
69 SIG_EXPR_LIST_DECL_SINGLE(TIMER6
, TIMER6
, SIG_DESC_SET(SCU80
, 5));
70 MS_PIN_DECL(B4
, GPIOA5
, SDA9
, TIMER6
);
72 FUNC_GROUP_DECL(TIMER6
, B4
);
73 FUNC_GROUP_DECL(I2C9
, C5
, B4
);
75 #define MDIO2_DESC SIG_DESC_SET(SCU90, 2)
78 SIG_EXPR_LIST_DECL_SINGLE(MDC2
, MDIO2
, MDIO2_DESC
);
79 SIG_EXPR_LIST_DECL_SINGLE(TIMER7
, TIMER7
, SIG_DESC_SET(SCU80
, 6));
80 MS_PIN_DECL(A3
, GPIOA6
, MDC2
, TIMER7
);
82 FUNC_GROUP_DECL(TIMER7
, A3
);
85 SIG_EXPR_LIST_DECL_SINGLE(MDIO2
, MDIO2
, MDIO2_DESC
);
86 SIG_EXPR_LIST_DECL_SINGLE(TIMER8
, TIMER8
, SIG_DESC_SET(SCU80
, 7));
87 MS_PIN_DECL(D5
, GPIOA7
, MDIO2
, TIMER8
);
89 FUNC_GROUP_DECL(TIMER8
, D5
);
90 FUNC_GROUP_DECL(MDIO2
, A3
, D5
);
93 SSSF_PIN_DECL(J21
, GPIOB0
, SALT1
, SIG_DESC_SET(SCU80
, 8));
96 SSSF_PIN_DECL(J20
, GPIOB1
, SALT2
, SIG_DESC_SET(SCU80
, 9));
99 SSSF_PIN_DECL(H18
, GPIOB2
, SALT3
, SIG_DESC_SET(SCU80
, 10));
102 SSSF_PIN_DECL(F18
, GPIOB3
, SALT4
, SIG_DESC_SET(SCU80
, 11));
105 SIG_EXPR_DECL(LPCRST
, LPCRST
, SIG_DESC_SET(SCU80
, 12));
106 SIG_EXPR_DECL(LPCRST
, LPCRSTS
, SIG_DESC_SET(HW_STRAP1
, 14));
107 SIG_EXPR_LIST_DECL_DUAL(LPCRST
, LPCRST
, LPCRSTS
);
108 SS_PIN_DECL(E19
, GPIOB4
, LPCRST
);
110 FUNC_GROUP_DECL(LPCRST
, E19
);
113 #define H19_DESC SIG_DESC_SET(SCU80, 13)
114 SIG_EXPR_LIST_DECL_SINGLE(LPCPD
, LPCPD
, H19_DESC
);
115 SIG_EXPR_LIST_DECL_SINGLE(LPCSMI
, LPCSMI
, H19_DESC
);
116 MS_PIN_DECL(H19
, GPIOB5
, LPCPD
, LPCSMI
);
118 FUNC_GROUP_DECL(LPCPD
, H19
);
119 FUNC_GROUP_DECL(LPCSMI
, H19
);
122 SSSF_PIN_DECL(H20
, GPIOB6
, LPCPME
, SIG_DESC_SET(SCU80
, 14));
125 SIG_EXPR_LIST_DECL_SINGLE(EXTRST
, EXTRST
,
126 SIG_DESC_SET(SCU80
, 15),
127 SIG_DESC_BIT(SCU90
, 31, 0),
128 SIG_DESC_SET(SCU3C
, 3));
129 SIG_EXPR_LIST_DECL_SINGLE(SPICS1
, SPICS1
,
130 SIG_DESC_SET(SCU80
, 15),
131 SIG_DESC_SET(SCU90
, 31));
132 MS_PIN_DECL(E18
, GPIOB7
, EXTRST
, SPICS1
);
134 FUNC_GROUP_DECL(EXTRST
, E18
);
135 FUNC_GROUP_DECL(SPICS1
, E18
);
137 #define SD1_DESC SIG_DESC_SET(SCU90, 0)
138 #define I2C10_DESC SIG_DESC_SET(SCU90, 23)
141 SIG_EXPR_LIST_DECL_SINGLE(SD1CLK
, SD1
, SD1_DESC
);
142 SIG_EXPR_LIST_DECL_SINGLE(SCL10
, I2C10
, I2C10_DESC
);
143 MS_PIN_DECL(C4
, GPIOC0
, SD1CLK
, SCL10
);
146 SIG_EXPR_LIST_DECL_SINGLE(SD1CMD
, SD1
, SD1_DESC
);
147 SIG_EXPR_LIST_DECL_SINGLE(SDA10
, I2C10
, I2C10_DESC
);
148 MS_PIN_DECL(B3
, GPIOC1
, SD1CMD
, SDA10
);
150 FUNC_GROUP_DECL(I2C10
, C4
, B3
);
152 #define I2C11_DESC SIG_DESC_SET(SCU90, 24)
155 SIG_EXPR_LIST_DECL_SINGLE(SD1DAT0
, SD1
, SD1_DESC
);
156 SIG_EXPR_LIST_DECL_SINGLE(SCL11
, I2C11
, I2C11_DESC
);
157 MS_PIN_DECL(A2
, GPIOC2
, SD1DAT0
, SCL11
);
160 SIG_EXPR_LIST_DECL_SINGLE(SD1DAT1
, SD1
, SD1_DESC
);
161 SIG_EXPR_LIST_DECL_SINGLE(SDA11
, I2C11
, I2C11_DESC
);
162 MS_PIN_DECL(E5
, GPIOC3
, SD1DAT1
, SDA11
);
164 FUNC_GROUP_DECL(I2C11
, A2
, E5
);
166 #define I2C12_DESC SIG_DESC_SET(SCU90, 25)
169 SIG_EXPR_LIST_DECL_SINGLE(SD1DAT2
, SD1
, SD1_DESC
);
170 SIG_EXPR_LIST_DECL_SINGLE(SCL12
, I2C12
, I2C12_DESC
);
171 MS_PIN_DECL(D4
, GPIOC4
, SD1DAT2
, SCL12
);
174 SIG_EXPR_LIST_DECL_SINGLE(SD1DAT3
, SD1
, SD1_DESC
);
175 SIG_EXPR_LIST_DECL_SINGLE(SDA12
, I2C12
, I2C12_DESC
);
176 MS_PIN_DECL(C3
, GPIOC5
, SD1DAT3
, SDA12
);
178 FUNC_GROUP_DECL(I2C12
, D4
, C3
);
180 #define I2C13_DESC SIG_DESC_SET(SCU90, 26)
183 SIG_EXPR_LIST_DECL_SINGLE(SD1CD
, SD1
, SD1_DESC
);
184 SIG_EXPR_LIST_DECL_SINGLE(SCL13
, I2C13
, I2C13_DESC
);
185 MS_PIN_DECL(B2
, GPIOC6
, SD1CD
, SCL13
);
188 SIG_EXPR_LIST_DECL_SINGLE(SD1WP
, SD1
, SD1_DESC
);
189 SIG_EXPR_LIST_DECL_SINGLE(SDA13
, I2C13
, I2C13_DESC
);
190 MS_PIN_DECL(A1
, GPIOC7
, SD1WP
, SDA13
);
192 FUNC_GROUP_DECL(I2C13
, B2
, A1
);
193 FUNC_GROUP_DECL(SD1
, C4
, B3
, A2
, E5
, D4
, C3
, B2
, A1
);
195 #define SD2_DESC SIG_DESC_SET(SCU90, 1)
196 #define GPID_DESC SIG_DESC_SET(HW_STRAP1, 21)
197 #define GPID0_DESC SIG_DESC_SET(SCU8C, 8)
200 SIG_EXPR_LIST_DECL_SINGLE(SD2CLK
, SD2
, SD2_DESC
);
201 SIG_EXPR_DECL(GPID0IN
, GPID0
, GPID0_DESC
);
202 SIG_EXPR_DECL(GPID0IN
, GPID
, GPID_DESC
);
203 SIG_EXPR_LIST_DECL_DUAL(GPID0IN
, GPID0
, GPID
);
204 MS_PIN_DECL(A18
, GPIOD0
, SD2CLK
, GPID0IN
);
207 SIG_EXPR_LIST_DECL_SINGLE(SD2CMD
, SD2
, SD2_DESC
);
208 SIG_EXPR_DECL(GPID0OUT
, GPID0
, GPID0_DESC
);
209 SIG_EXPR_DECL(GPID0OUT
, GPID
, GPID_DESC
);
210 SIG_EXPR_LIST_DECL_DUAL(GPID0OUT
, GPID0
, GPID
);
211 MS_PIN_DECL(D16
, GPIOD1
, SD2CMD
, GPID0OUT
);
213 FUNC_GROUP_DECL(GPID0
, A18
, D16
);
215 #define GPID2_DESC SIG_DESC_SET(SCU8C, 9)
218 SIG_EXPR_LIST_DECL_SINGLE(SD2DAT0
, SD2
, SD2_DESC
);
219 SIG_EXPR_DECL(GPID2IN
, GPID2
, GPID2_DESC
);
220 SIG_EXPR_DECL(GPID2IN
, GPID
, GPID_DESC
);
221 SIG_EXPR_LIST_DECL_DUAL(GPID2IN
, GPID2
, GPID
);
222 MS_PIN_DECL(B17
, GPIOD2
, SD2DAT0
, GPID2IN
);
225 SIG_EXPR_LIST_DECL_SINGLE(SD2DAT1
, SD2
, SD2_DESC
);
226 SIG_EXPR_DECL(GPID2OUT
, GPID2
, GPID2_DESC
);
227 SIG_EXPR_DECL(GPID2OUT
, GPID
, GPID_DESC
);
228 SIG_EXPR_LIST_DECL_DUAL(GPID2OUT
, GPID2
, GPID
);
229 MS_PIN_DECL(A17
, GPIOD3
, SD2DAT1
, GPID2OUT
);
231 FUNC_GROUP_DECL(GPID2
, B17
, A17
);
233 #define GPID4_DESC SIG_DESC_SET(SCU8C, 10)
236 SIG_EXPR_LIST_DECL_SINGLE(SD2DAT2
, SD2
, SD2_DESC
);
237 SIG_EXPR_DECL(GPID4IN
, GPID4
, GPID4_DESC
);
238 SIG_EXPR_DECL(GPID4IN
, GPID
, GPID_DESC
);
239 SIG_EXPR_LIST_DECL_DUAL(GPID4IN
, GPID4
, GPID
);
240 MS_PIN_DECL(C16
, GPIOD4
, SD2DAT2
, GPID4IN
);
243 SIG_EXPR_LIST_DECL_SINGLE(SD2DAT3
, SD2
, SD2_DESC
);
244 SIG_EXPR_DECL(GPID4OUT
, GPID4
, GPID4_DESC
);
245 SIG_EXPR_DECL(GPID4OUT
, GPID
, GPID_DESC
);
246 SIG_EXPR_LIST_DECL_DUAL(GPID4OUT
, GPID4
, GPID
);
247 MS_PIN_DECL(B16
, GPIOD5
, SD2DAT3
, GPID4OUT
);
249 FUNC_GROUP_DECL(GPID4
, C16
, B16
);
251 #define GPID6_DESC SIG_DESC_SET(SCU8C, 11)
254 SIG_EXPR_LIST_DECL_SINGLE(SD2CD
, SD2
, SD2_DESC
);
255 SIG_EXPR_DECL(GPID6IN
, GPID6
, GPID6_DESC
);
256 SIG_EXPR_DECL(GPID6IN
, GPID
, GPID_DESC
);
257 SIG_EXPR_LIST_DECL_DUAL(GPID6IN
, GPID6
, GPID
);
258 MS_PIN_DECL(A16
, GPIOD6
, SD2CD
, GPID6IN
);
261 SIG_EXPR_LIST_DECL_SINGLE(SD2WP
, SD2
, SD2_DESC
);
262 SIG_EXPR_DECL(GPID6OUT
, GPID6
, GPID6_DESC
);
263 SIG_EXPR_DECL(GPID6OUT
, GPID
, GPID_DESC
);
264 SIG_EXPR_LIST_DECL_DUAL(GPID6OUT
, GPID6
, GPID
);
265 MS_PIN_DECL(E15
, GPIOD7
, SD2WP
, GPID6OUT
);
267 FUNC_GROUP_DECL(GPID6
, A16
, E15
);
268 FUNC_GROUP_DECL(SD2
, A18
, D16
, B17
, A17
, C16
, B16
, A16
, E15
);
269 FUNC_GROUP_DECL(GPID
, A18
, D16
, B17
, A17
, C16
, B16
, A16
, E15
);
271 #define GPIE_DESC SIG_DESC_SET(HW_STRAP1, 22)
272 #define GPIE0_DESC SIG_DESC_SET(SCU8C, 12)
273 #define GPIE2_DESC SIG_DESC_SET(SCU8C, 13)
274 #define GPIE4_DESC SIG_DESC_SET(SCU8C, 14)
275 #define GPIE6_DESC SIG_DESC_SET(SCU8C, 15)
278 SIG_EXPR_LIST_DECL_SINGLE(NCTS3
, NCTS3
, SIG_DESC_SET(SCU80
, 16));
279 SIG_EXPR_DECL(GPIE0IN
, GPIE0
, GPIE0_DESC
);
280 SIG_EXPR_DECL(GPIE0IN
, GPIE
, GPIE_DESC
);
281 SIG_EXPR_LIST_DECL_DUAL(GPIE0IN
, GPIE0
, GPIE
);
282 MS_PIN_DECL(D15
, GPIOE0
, NCTS3
, GPIE0IN
);
284 FUNC_GROUP_DECL(NCTS3
, D15
);
287 SIG_EXPR_LIST_DECL_SINGLE(NDCD3
, NDCD3
, SIG_DESC_SET(SCU80
, 17));
288 SIG_EXPR_DECL(GPIE0OUT
, GPIE0
, GPIE0_DESC
);
289 SIG_EXPR_DECL(GPIE0OUT
, GPIE
, GPIE_DESC
);
290 SIG_EXPR_LIST_DECL_DUAL(GPIE0OUT
, GPIE0
, GPIE
);
291 MS_PIN_DECL(C15
, GPIOE1
, NDCD3
, GPIE0OUT
);
293 FUNC_GROUP_DECL(NDCD3
, C15
);
294 FUNC_GROUP_DECL(GPIE0
, D15
, C15
);
297 SIG_EXPR_LIST_DECL_SINGLE(NDSR3
, NDSR3
, SIG_DESC_SET(SCU80
, 18));
298 SIG_EXPR_DECL(GPIE2IN
, GPIE2
, GPIE2_DESC
);
299 SIG_EXPR_DECL(GPIE2IN
, GPIE
, GPIE_DESC
);
300 SIG_EXPR_LIST_DECL_DUAL(GPIE2IN
, GPIE2
, GPIE
);
301 MS_PIN_DECL(B15
, GPIOE2
, NDSR3
, GPIE2IN
);
303 FUNC_GROUP_DECL(NDSR3
, B15
);
306 SIG_EXPR_LIST_DECL_SINGLE(NRI3
, NRI3
, SIG_DESC_SET(SCU80
, 19));
307 SIG_EXPR_DECL(GPIE2OUT
, GPIE2
, GPIE2_DESC
);
308 SIG_EXPR_DECL(GPIE2OUT
, GPIE
, GPIE_DESC
);
309 SIG_EXPR_LIST_DECL_DUAL(GPIE2OUT
, GPIE2
, GPIE
);
310 MS_PIN_DECL(A15
, GPIOE3
, NRI3
, GPIE2OUT
);
312 FUNC_GROUP_DECL(NRI3
, A15
);
313 FUNC_GROUP_DECL(GPIE2
, B15
, A15
);
316 SIG_EXPR_LIST_DECL_SINGLE(NDTR3
, NDTR3
, SIG_DESC_SET(SCU80
, 20));
317 SIG_EXPR_DECL(GPIE4IN
, GPIE4
, GPIE4_DESC
);
318 SIG_EXPR_DECL(GPIE4IN
, GPIE
, GPIE_DESC
);
319 SIG_EXPR_LIST_DECL_DUAL(GPIE4IN
, GPIE4
, GPIE
);
320 MS_PIN_DECL(E14
, GPIOE4
, NDTR3
, GPIE4IN
);
322 FUNC_GROUP_DECL(NDTR3
, E14
);
325 SIG_EXPR_LIST_DECL_SINGLE(NRTS3
, NRTS3
, SIG_DESC_SET(SCU80
, 21));
326 SIG_EXPR_DECL(GPIE4OUT
, GPIE4
, GPIE4_DESC
);
327 SIG_EXPR_DECL(GPIE4OUT
, GPIE
, GPIE_DESC
);
328 SIG_EXPR_LIST_DECL_DUAL(GPIE4OUT
, GPIE4
, GPIE
);
329 MS_PIN_DECL(D14
, GPIOE5
, NRTS3
, GPIE4OUT
);
331 FUNC_GROUP_DECL(NRTS3
, D14
);
332 FUNC_GROUP_DECL(GPIE4
, E14
, D14
);
335 SIG_EXPR_LIST_DECL_SINGLE(TXD3
, TXD3
, SIG_DESC_SET(SCU80
, 22));
336 SIG_EXPR_DECL(GPIE6IN
, GPIE6
, GPIE6_DESC
);
337 SIG_EXPR_DECL(GPIE6IN
, GPIE
, GPIE_DESC
);
338 SIG_EXPR_LIST_DECL_DUAL(GPIE6IN
, GPIE6
, GPIE
);
339 MS_PIN_DECL(C14
, GPIOE6
, TXD3
, GPIE6IN
);
341 FUNC_GROUP_DECL(TXD3
, C14
);
344 SIG_EXPR_LIST_DECL_SINGLE(RXD3
, RXD3
, SIG_DESC_SET(SCU80
, 23));
345 SIG_EXPR_DECL(GPIE6OUT
, GPIE6
, GPIE6_DESC
);
346 SIG_EXPR_DECL(GPIE6OUT
, GPIE
, GPIE_DESC
);
347 SIG_EXPR_LIST_DECL_DUAL(GPIE6OUT
, GPIE6
, GPIE
);
348 MS_PIN_DECL(B14
, GPIOE7
, RXD3
, GPIE6OUT
);
350 FUNC_GROUP_DECL(RXD3
, B14
);
351 FUNC_GROUP_DECL(GPIE6
, C14
, B14
);
354 SSSF_PIN_DECL(D18
, GPIOF0
, NCTS4
, SIG_DESC_SET(SCU80
, 24));
356 #define ACPI_DESC SIG_DESC_BIT(HW_STRAP1, 19, 0)
359 SIG_EXPR_LIST_DECL_SINGLE(NDCD4
, NDCD4
, SIG_DESC_SET(SCU80
, 25));
360 SIG_EXPR_DECL(SIOPBI
, SIOPBI
, SIG_DESC_SET(SCUA4
, 12));
361 SIG_EXPR_DECL(SIOPBI
, ACPI
, ACPI_DESC
);
362 SIG_EXPR_LIST_DECL_DUAL(SIOPBI
, SIOPBI
, ACPI
);
363 MS_PIN_DECL(B19
, GPIOF1
, NDCD4
, SIOPBI
);
364 FUNC_GROUP_DECL(NDCD4
, B19
);
365 FUNC_GROUP_DECL(SIOPBI
, B19
);
368 SIG_EXPR_LIST_DECL_SINGLE(NDSR4
, NDSR4
, SIG_DESC_SET(SCU80
, 26));
369 SIG_EXPR_DECL(SIOPWRGD
, SIOPWRGD
, SIG_DESC_SET(SCUA4
, 12));
370 SIG_EXPR_DECL(SIOPWRGD
, ACPI
, ACPI_DESC
);
371 SIG_EXPR_LIST_DECL_DUAL(SIOPWRGD
, SIOPWRGD
, ACPI
);
372 MS_PIN_DECL(A20
, GPIOF2
, NDSR4
, SIOPWRGD
);
373 FUNC_GROUP_DECL(NDSR4
, A20
);
374 FUNC_GROUP_DECL(SIOPWRGD
, A20
);
377 SIG_EXPR_LIST_DECL_SINGLE(NRI4
, NRI4
, SIG_DESC_SET(SCU80
, 27));
378 SIG_EXPR_DECL(SIOPBO
, SIOPBO
, SIG_DESC_SET(SCUA4
, 14));
379 SIG_EXPR_DECL(SIOPBO
, ACPI
, ACPI_DESC
);
380 SIG_EXPR_LIST_DECL_DUAL(SIOPBO
, SIOPBO
, ACPI
);
381 MS_PIN_DECL(D17
, GPIOF3
, NRI4
, SIOPBO
);
382 FUNC_GROUP_DECL(NRI4
, D17
);
383 FUNC_GROUP_DECL(SIOPBO
, D17
);
386 SSSF_PIN_DECL(B18
, GPIOF4
, NDTR4
, SIG_DESC_SET(SCU80
, 28));
389 SIG_EXPR_LIST_DECL_SINGLE(NDTS4
, NDTS4
, SIG_DESC_SET(SCU80
, 29));
390 SIG_EXPR_DECL(SIOSCI
, SIOSCI
, SIG_DESC_SET(SCUA4
, 15));
391 SIG_EXPR_DECL(SIOSCI
, ACPI
, ACPI_DESC
);
392 SIG_EXPR_LIST_DECL_DUAL(SIOSCI
, SIOSCI
, ACPI
);
393 MS_PIN_DECL(A19
, GPIOF5
, NDTS4
, SIOSCI
);
394 FUNC_GROUP_DECL(NDTS4
, A19
);
395 FUNC_GROUP_DECL(SIOSCI
, A19
);
398 SSSF_PIN_DECL(E16
, GPIOF6
, TXD4
, SIG_DESC_SET(SCU80
, 30));
401 SSSF_PIN_DECL(C17
, GPIOF7
, RXD4
, SIG_DESC_SET(SCU80
, 31));
404 SSSF_PIN_DECL(A14
, GPIOG0
, SGPSCK
, SIG_DESC_SET(SCU84
, 0));
407 SSSF_PIN_DECL(E13
, GPIOG1
, SGPSLD
, SIG_DESC_SET(SCU84
, 1));
410 SSSF_PIN_DECL(D13
, GPIOG2
, SGPSI0
, SIG_DESC_SET(SCU84
, 2));
413 SSSF_PIN_DECL(C13
, GPIOG3
, SGPSI1
, SIG_DESC_SET(SCU84
, 3));
416 SIG_EXPR_LIST_DECL_SINGLE(OSCCLK
, OSCCLK
, SIG_DESC_SET(SCU2C
, 1));
417 SIG_EXPR_LIST_DECL_SINGLE(WDTRST1
, WDTRST1
, SIG_DESC_SET(SCU84
, 4));
418 MS_PIN_DECL(B13
, GPIOG4
, OSCCLK
, WDTRST1
);
420 FUNC_GROUP_DECL(OSCCLK
, B13
);
421 FUNC_GROUP_DECL(WDTRST1
, B13
);
424 SIG_EXPR_LIST_DECL_SINGLE(USBCKI
, USBCKI
, SIG_DESC_SET(HW_STRAP1
, 23));
425 SIG_EXPR_LIST_DECL_SINGLE(WDTRST2
, WDTRST2
, SIG_DESC_SET(SCU84
, 5));
426 MS_PIN_DECL(Y21
, GPIOG5
, USBCKI
, WDTRST2
);
428 FUNC_GROUP_DECL(USBCKI
, Y21
);
429 FUNC_GROUP_DECL(WDTRST2
, Y21
);
432 SSSF_PIN_DECL(AA22
, GPIOG6
, FLBUSY
, SIG_DESC_SET(SCU84
, 6));
435 SSSF_PIN_DECL(U18
, GPIOG7
, FLWP
, SIG_DESC_SET(SCU84
, 7));
437 #define UART6_DESC SIG_DESC_SET(SCU90, 7)
438 #define ROM16_DESC SIG_DESC_SET(SCU90, 6)
439 #define FLASH_WIDE SIG_DESC_SET(HW_STRAP1, 4)
440 #define BOOT_SRC_NOR { ASPEED_IP_SCU, HW_STRAP1, GENMASK(1, 0), 0, 0 }
443 SIG_EXPR_DECL(ROMD8
, ROM16
, ROM16_DESC
);
444 SIG_EXPR_DECL(ROMD8
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
445 SIG_EXPR_LIST_DECL_DUAL(ROMD8
, ROM16
, ROM16S
);
446 SIG_EXPR_LIST_DECL_SINGLE(NCTS6
, NCTS6
, UART6_DESC
);
447 MS_PIN_DECL(A8
, GPIOH0
, ROMD8
, NCTS6
);
450 SIG_EXPR_DECL(ROMD9
, ROM16
, ROM16_DESC
);
451 SIG_EXPR_DECL(ROMD9
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
452 SIG_EXPR_LIST_DECL_DUAL(ROMD9
, ROM16
, ROM16S
);
453 SIG_EXPR_LIST_DECL_SINGLE(NDCD6
, NDCD6
, UART6_DESC
);
454 MS_PIN_DECL(C7
, GPIOH1
, ROMD9
, NDCD6
);
457 SIG_EXPR_DECL(ROMD10
, ROM16
, ROM16_DESC
);
458 SIG_EXPR_DECL(ROMD10
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
459 SIG_EXPR_LIST_DECL_DUAL(ROMD10
, ROM16
, ROM16S
);
460 SIG_EXPR_LIST_DECL_SINGLE(NDSR6
, NDSR6
, UART6_DESC
);
461 MS_PIN_DECL(B7
, GPIOH2
, ROMD10
, NDSR6
);
464 SIG_EXPR_DECL(ROMD11
, ROM16
, ROM16_DESC
);
465 SIG_EXPR_DECL(ROMD11
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
466 SIG_EXPR_LIST_DECL_DUAL(ROMD11
, ROM16
, ROM16S
);
467 SIG_EXPR_LIST_DECL_SINGLE(NRI6
, NRI6
, UART6_DESC
);
468 MS_PIN_DECL(A7
, GPIOH3
, ROMD11
, NRI6
);
471 SIG_EXPR_DECL(ROMD12
, ROM16
, ROM16_DESC
);
472 SIG_EXPR_DECL(ROMD12
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
473 SIG_EXPR_LIST_DECL_DUAL(ROMD12
, ROM16
, ROM16S
);
474 SIG_EXPR_LIST_DECL_SINGLE(NDTR6
, NDTR6
, UART6_DESC
);
475 MS_PIN_DECL(D7
, GPIOH4
, ROMD12
, NDTR6
);
478 SIG_EXPR_DECL(ROMD13
, ROM16
, ROM16_DESC
);
479 SIG_EXPR_DECL(ROMD13
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
480 SIG_EXPR_LIST_DECL_DUAL(ROMD13
, ROM16
, ROM16S
);
481 SIG_EXPR_LIST_DECL_SINGLE(NRTS6
, NRTS6
, UART6_DESC
);
482 MS_PIN_DECL(B6
, GPIOH5
, ROMD13
, NRTS6
);
485 SIG_EXPR_DECL(ROMD14
, ROM16
, ROM16_DESC
);
486 SIG_EXPR_DECL(ROMD14
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
487 SIG_EXPR_LIST_DECL_DUAL(ROMD14
, ROM16
, ROM16S
);
488 SIG_EXPR_LIST_DECL_SINGLE(TXD6
, TXD6
, UART6_DESC
);
489 MS_PIN_DECL(A6
, GPIOH6
, ROMD14
, TXD6
);
492 SIG_EXPR_DECL(ROMD15
, ROM16
, ROM16_DESC
);
493 SIG_EXPR_DECL(ROMD15
, ROM16S
, FLASH_WIDE
, BOOT_SRC_NOR
);
494 SIG_EXPR_LIST_DECL_DUAL(ROMD15
, ROM16
, ROM16S
);
495 SIG_EXPR_LIST_DECL_SINGLE(RXD6
, RXD6
, UART6_DESC
);
496 MS_PIN_DECL(E7
, GPIOH7
, ROMD15
, RXD6
);
498 FUNC_GROUP_DECL(UART6
, A8
, C7
, B7
, A7
, D7
, B6
, A6
, E7
);
501 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 1, 0 }
502 #define SPI1DEBUG_DESC \
503 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 2, 0 }
504 #define SPI1PASSTHRU_DESC \
505 { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 }
508 SIG_EXPR_DECL(SYSCS
, SPI1DEBUG
, SPI1DEBUG_DESC
);
509 SIG_EXPR_DECL(SYSCS
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
510 SIG_EXPR_LIST_DECL_DUAL(SYSCS
, SPI1DEBUG
, SPI1PASSTHRU
);
511 SS_PIN_DECL(C22
, GPIOI0
, SYSCS
);
514 SIG_EXPR_DECL(SYSCK
, SPI1DEBUG
, SPI1DEBUG_DESC
);
515 SIG_EXPR_DECL(SYSCK
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
516 SIG_EXPR_LIST_DECL_DUAL(SYSCK
, SPI1DEBUG
, SPI1PASSTHRU
);
517 SS_PIN_DECL(G18
, GPIOI1
, SYSCK
);
520 SIG_EXPR_DECL(SYSDO
, SPI1DEBUG
, SPI1DEBUG_DESC
);
521 SIG_EXPR_DECL(SYSDO
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
522 SIG_EXPR_LIST_DECL_DUAL(SYSDO
, SPI1DEBUG
, SPI1PASSTHRU
);
523 SS_PIN_DECL(D19
, GPIOI2
, SYSDO
);
526 SIG_EXPR_DECL(SYSDI
, SPI1DEBUG
, SPI1DEBUG_DESC
);
527 SIG_EXPR_DECL(SYSDI
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
528 SIG_EXPR_LIST_DECL_DUAL(SYSDI
, SPI1DEBUG
, SPI1PASSTHRU
);
529 SS_PIN_DECL(C20
, GPIOI3
, SYSDI
);
531 #define VB_DESC SIG_DESC_SET(HW_STRAP1, 5)
534 SIG_EXPR_DECL(SPI1CS0
, SPI1
, SPI1_DESC
);
535 SIG_EXPR_DECL(SPI1CS0
, SPI1DEBUG
, SPI1DEBUG_DESC
);
536 SIG_EXPR_DECL(SPI1CS0
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
537 SIG_EXPR_LIST_DECL(SPI1CS0
, SIG_EXPR_PTR(SPI1CS0
, SPI1
),
538 SIG_EXPR_PTR(SPI1CS0
, SPI1DEBUG
),
539 SIG_EXPR_PTR(SPI1CS0
, SPI1PASSTHRU
));
540 SIG_EXPR_LIST_DECL_SINGLE(VBCS
, VGABIOS_ROM
, VB_DESC
);
541 MS_PIN_DECL(B22
, GPIOI4
, SPI1CS0
, VBCS
);
544 SIG_EXPR_DECL(SPI1CK
, SPI1
, SPI1_DESC
);
545 SIG_EXPR_DECL(SPI1CK
, SPI1DEBUG
, SPI1DEBUG_DESC
);
546 SIG_EXPR_DECL(SPI1CK
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
547 SIG_EXPR_LIST_DECL(SPI1CK
, SIG_EXPR_PTR(SPI1CK
, SPI1
),
548 SIG_EXPR_PTR(SPI1CK
, SPI1DEBUG
),
549 SIG_EXPR_PTR(SPI1CK
, SPI1PASSTHRU
));
550 SIG_EXPR_LIST_DECL_SINGLE(VBCK
, VGABIOS_ROM
, VB_DESC
);
551 MS_PIN_DECL(G19
, GPIOI5
, SPI1CK
, VBCK
);
554 SIG_EXPR_DECL(SPI1DO
, SPI1
, SPI1_DESC
);
555 SIG_EXPR_DECL(SPI1DO
, SPI1DEBUG
, SPI1DEBUG_DESC
);
556 SIG_EXPR_DECL(SPI1DO
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
557 SIG_EXPR_LIST_DECL(SPI1DO
, SIG_EXPR_PTR(SPI1DO
, SPI1
),
558 SIG_EXPR_PTR(SPI1DO
, SPI1DEBUG
),
559 SIG_EXPR_PTR(SPI1DO
, SPI1PASSTHRU
));
560 SIG_EXPR_LIST_DECL_SINGLE(VBDO
, VGABIOS_ROM
, VB_DESC
);
561 MS_PIN_DECL(C18
, GPIOI6
, SPI1DO
, VBDO
);
564 SIG_EXPR_DECL(SPI1DI
, SPI1
, SPI1_DESC
);
565 SIG_EXPR_DECL(SPI1DI
, SPI1DEBUG
, SPI1DEBUG_DESC
);
566 SIG_EXPR_DECL(SPI1DI
, SPI1PASSTHRU
, SPI1PASSTHRU_DESC
);
567 SIG_EXPR_LIST_DECL(SPI1DI
, SIG_EXPR_PTR(SPI1DI
, SPI1
),
568 SIG_EXPR_PTR(SPI1DI
, SPI1DEBUG
),
569 SIG_EXPR_PTR(SPI1DI
, SPI1PASSTHRU
));
570 SIG_EXPR_LIST_DECL_SINGLE(VBDI
, VGABIOS_ROM
, VB_DESC
);
571 MS_PIN_DECL(E20
, GPIOI7
, SPI1DI
, VBDI
);
573 FUNC_GROUP_DECL(SPI1
, B22
, G19
, C18
, E20
);
574 FUNC_GROUP_DECL(SPI1DEBUG
, C22
, G18
, D19
, C20
, B22
, G19
, C18
, E20
);
575 FUNC_GROUP_DECL(SPI1PASSTHRU
, C22
, G18
, D19
, C20
, B22
, G19
, C18
, E20
);
576 FUNC_GROUP_DECL(VGABIOS_ROM
, B22
, G19
, C18
, E20
);
579 SSSF_PIN_DECL(J5
, GPIOJ0
, SGPMCK
, SIG_DESC_SET(SCU84
, 8));
582 SSSF_PIN_DECL(J4
, GPIOJ1
, SGPMLD
, SIG_DESC_SET(SCU84
, 9));
585 SSSF_PIN_DECL(K5
, GPIOJ2
, SGPMO
, SIG_DESC_SET(SCU84
, 10));
588 SSSF_PIN_DECL(J3
, GPIOJ3
, SGPMI
, SIG_DESC_SET(SCU84
, 11));
591 SSSF_PIN_DECL(T4
, GPIOJ4
, VGAHS
, SIG_DESC_SET(SCU84
, 12));
594 SSSF_PIN_DECL(U2
, GPIOJ5
, VGAVS
, SIG_DESC_SET(SCU84
, 13));
597 SSSF_PIN_DECL(T2
, GPIOJ6
, DDCCLK
, SIG_DESC_SET(SCU84
, 14));
600 SSSF_PIN_DECL(T1
, GPIOJ7
, DDCDAT
, SIG_DESC_SET(SCU84
, 15));
602 #define I2C5_DESC SIG_DESC_SET(SCU90, 18)
605 SIG_EXPR_LIST_DECL_SINGLE(SCL5
, I2C5
, I2C5_DESC
);
606 SS_PIN_DECL(E3
, GPIOK0
, SCL5
);
609 SIG_EXPR_LIST_DECL_SINGLE(SDA5
, I2C5
, I2C5_DESC
);
610 SS_PIN_DECL(D2
, GPIOK1
, SDA5
);
612 FUNC_GROUP_DECL(I2C5
, E3
, D2
);
614 #define I2C6_DESC SIG_DESC_SET(SCU90, 19)
617 SIG_EXPR_LIST_DECL_SINGLE(SCL6
, I2C6
, I2C6_DESC
);
618 SS_PIN_DECL(C1
, GPIOK2
, SCL6
);
621 SIG_EXPR_LIST_DECL_SINGLE(SDA6
, I2C6
, I2C6_DESC
);
622 SS_PIN_DECL(F4
, GPIOK3
, SDA6
);
624 FUNC_GROUP_DECL(I2C6
, C1
, F4
);
626 #define I2C7_DESC SIG_DESC_SET(SCU90, 20)
629 SIG_EXPR_LIST_DECL_SINGLE(SCL7
, I2C7
, I2C7_DESC
);
630 SS_PIN_DECL(E2
, GPIOK4
, SCL7
);
633 SIG_EXPR_LIST_DECL_SINGLE(SDA7
, I2C7
, I2C7_DESC
);
634 SS_PIN_DECL(D1
, GPIOK5
, SDA7
);
636 FUNC_GROUP_DECL(I2C7
, E2
, D1
);
638 #define I2C8_DESC SIG_DESC_SET(SCU90, 21)
641 SIG_EXPR_LIST_DECL_SINGLE(SCL8
, I2C8
, I2C8_DESC
);
642 SS_PIN_DECL(G5
, GPIOK6
, SCL8
);
645 SIG_EXPR_LIST_DECL_SINGLE(SDA8
, I2C8
, I2C8_DESC
);
646 SS_PIN_DECL(F3
, GPIOK7
, SDA8
);
648 FUNC_GROUP_DECL(I2C8
, G5
, F3
);
651 SSSF_PIN_DECL(U1
, GPIOL0
, NCTS1
, SIG_DESC_SET(SCU84
, 16));
653 #define VPI18_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 1, 0 }
654 #define VPI24_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 2, 0 }
655 #define VPI30_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 3, 0 }
658 #define T5_DESC SIG_DESC_SET(SCU84, 17)
659 SIG_EXPR_DECL(VPIDE
, VPI18
, VPI18_DESC
, T5_DESC
);
660 SIG_EXPR_DECL(VPIDE
, VPI24
, VPI24_DESC
, T5_DESC
);
661 SIG_EXPR_DECL(VPIDE
, VPI30
, VPI30_DESC
, T5_DESC
);
662 SIG_EXPR_LIST_DECL(VPIDE
, SIG_EXPR_PTR(VPIDE
, VPI18
),
663 SIG_EXPR_PTR(VPIDE
, VPI24
),
664 SIG_EXPR_PTR(VPIDE
, VPI30
));
665 SIG_EXPR_LIST_DECL_SINGLE(NDCD1
, NDCD1
, T5_DESC
);
666 MS_PIN_DECL(T5
, GPIOL1
, VPIDE
, NDCD1
);
667 FUNC_GROUP_DECL(NDCD1
, T5
);
670 #define U3_DESC SIG_DESC_SET(SCU84, 18)
671 SIG_EXPR_DECL(VPIODD
, VPI18
, VPI18_DESC
, U3_DESC
);
672 SIG_EXPR_DECL(VPIODD
, VPI24
, VPI24_DESC
, U3_DESC
);
673 SIG_EXPR_DECL(VPIODD
, VPI30
, VPI30_DESC
, U3_DESC
);
674 SIG_EXPR_LIST_DECL(VPIODD
, SIG_EXPR_PTR(VPIODD
, VPI18
),
675 SIG_EXPR_PTR(VPIODD
, VPI24
),
676 SIG_EXPR_PTR(VPIODD
, VPI30
));
677 SIG_EXPR_LIST_DECL_SINGLE(NDSR1
, NDSR1
, U3_DESC
);
678 MS_PIN_DECL(U3
, GPIOL2
, VPIODD
, NDSR1
);
679 FUNC_GROUP_DECL(NDSR1
, U3
);
682 #define V1_DESC SIG_DESC_SET(SCU84, 19)
683 SIG_EXPR_DECL(VPIHS
, VPI18
, VPI18_DESC
, V1_DESC
);
684 SIG_EXPR_DECL(VPIHS
, VPI24
, VPI24_DESC
, V1_DESC
);
685 SIG_EXPR_DECL(VPIHS
, VPI30
, VPI30_DESC
, V1_DESC
);
686 SIG_EXPR_LIST_DECL(VPIHS
, SIG_EXPR_PTR(VPIHS
, VPI18
),
687 SIG_EXPR_PTR(VPIHS
, VPI24
),
688 SIG_EXPR_PTR(VPIHS
, VPI30
));
689 SIG_EXPR_LIST_DECL_SINGLE(NRI1
, NRI1
, V1_DESC
);
690 MS_PIN_DECL(V1
, GPIOL3
, VPIHS
, NRI1
);
691 FUNC_GROUP_DECL(NRI1
, V1
);
694 #define U4_DESC SIG_DESC_SET(SCU84, 20)
695 SIG_EXPR_DECL(VPIVS
, VPI18
, VPI18_DESC
, U4_DESC
);
696 SIG_EXPR_DECL(VPIVS
, VPI24
, VPI24_DESC
, U4_DESC
);
697 SIG_EXPR_DECL(VPIVS
, VPI30
, VPI30_DESC
, U4_DESC
);
698 SIG_EXPR_LIST_DECL(VPIVS
, SIG_EXPR_PTR(VPIVS
, VPI18
),
699 SIG_EXPR_PTR(VPIVS
, VPI24
),
700 SIG_EXPR_PTR(VPIVS
, VPI30
));
701 SIG_EXPR_LIST_DECL_SINGLE(NDTR1
, NDTR1
, U4_DESC
);
702 MS_PIN_DECL(U4
, GPIOL4
, VPIVS
, NDTR1
);
703 FUNC_GROUP_DECL(NDTR1
, U4
);
706 #define V2_DESC SIG_DESC_SET(SCU84, 21)
707 SIG_EXPR_DECL(VPICLK
, VPI18
, VPI18_DESC
, V2_DESC
);
708 SIG_EXPR_DECL(VPICLK
, VPI24
, VPI24_DESC
, V2_DESC
);
709 SIG_EXPR_DECL(VPICLK
, VPI30
, VPI30_DESC
, V2_DESC
);
710 SIG_EXPR_LIST_DECL(VPICLK
, SIG_EXPR_PTR(VPICLK
, VPI18
),
711 SIG_EXPR_PTR(VPICLK
, VPI24
),
712 SIG_EXPR_PTR(VPICLK
, VPI30
));
713 SIG_EXPR_LIST_DECL_SINGLE(NRTS1
, NRTS1
, V2_DESC
);
714 MS_PIN_DECL(V2
, GPIOL5
, VPICLK
, NRTS1
);
715 FUNC_GROUP_DECL(NRTS1
, V2
);
718 #define W1_DESC SIG_DESC_SET(SCU84, 22)
719 SIG_EXPR_LIST_DECL_SINGLE(VPIB0
, VPI30
, VPI30_DESC
, W1_DESC
);
720 SIG_EXPR_LIST_DECL_SINGLE(TXD1
, TXD1
, W1_DESC
);
721 MS_PIN_DECL(W1
, GPIOL6
, VPIB0
, TXD1
);
722 FUNC_GROUP_DECL(TXD1
, W1
);
725 #define U5_DESC SIG_DESC_SET(SCU84, 23)
726 SIG_EXPR_LIST_DECL_SINGLE(VPIB1
, VPI30
, VPI30_DESC
, U5_DESC
);
727 SIG_EXPR_LIST_DECL_SINGLE(RXD1
, RXD1
, U5_DESC
);
728 MS_PIN_DECL(U5
, GPIOL7
, VPIB1
, RXD1
);
729 FUNC_GROUP_DECL(RXD1
, U5
);
732 #define V3_DESC SIG_DESC_SET(SCU84, 24)
733 SIG_EXPR_DECL(VPIOB2
, VPI18
, VPI18_DESC
, V3_DESC
);
734 SIG_EXPR_DECL(VPIOB2
, VPI24
, VPI24_DESC
, V3_DESC
);
735 SIG_EXPR_DECL(VPIOB2
, VPI30
, VPI30_DESC
, V3_DESC
);
736 SIG_EXPR_LIST_DECL(VPIOB2
, SIG_EXPR_PTR(VPIOB2
, VPI18
),
737 SIG_EXPR_PTR(VPIOB2
, VPI24
),
738 SIG_EXPR_PTR(VPIOB2
, VPI30
));
739 SIG_EXPR_LIST_DECL_SINGLE(NCTS2
, NCTS2
, V3_DESC
);
740 MS_PIN_DECL(V3
, GPIOM0
, VPIOB2
, NCTS2
);
741 FUNC_GROUP_DECL(NCTS2
, V3
);
744 #define W2_DESC SIG_DESC_SET(SCU84, 25)
745 SIG_EXPR_DECL(VPIOB3
, VPI18
, VPI18_DESC
, W2_DESC
);
746 SIG_EXPR_DECL(VPIOB3
, VPI24
, VPI24_DESC
, W2_DESC
);
747 SIG_EXPR_DECL(VPIOB3
, VPI30
, VPI30_DESC
, W2_DESC
);
748 SIG_EXPR_LIST_DECL(VPIOB3
, SIG_EXPR_PTR(VPIOB3
, VPI18
),
749 SIG_EXPR_PTR(VPIOB3
, VPI24
),
750 SIG_EXPR_PTR(VPIOB3
, VPI30
));
751 SIG_EXPR_LIST_DECL_SINGLE(NDCD2
, NDCD2
, W2_DESC
);
752 MS_PIN_DECL(W2
, GPIOM1
, VPIOB3
, NDCD2
);
753 FUNC_GROUP_DECL(NDCD2
, W2
);
756 #define Y1_DESC SIG_DESC_SET(SCU84, 26)
757 SIG_EXPR_DECL(VPIOB4
, VPI18
, VPI18_DESC
, Y1_DESC
);
758 SIG_EXPR_DECL(VPIOB4
, VPI24
, VPI24_DESC
, Y1_DESC
);
759 SIG_EXPR_DECL(VPIOB4
, VPI30
, VPI30_DESC
, Y1_DESC
);
760 SIG_EXPR_LIST_DECL(VPIOB4
, SIG_EXPR_PTR(VPIOB4
, VPI18
),
761 SIG_EXPR_PTR(VPIOB4
, VPI24
),
762 SIG_EXPR_PTR(VPIOB4
, VPI30
));
763 SIG_EXPR_LIST_DECL_SINGLE(NDSR2
, NDSR2
, Y1_DESC
);
764 MS_PIN_DECL(Y1
, GPIOM2
, VPIOB4
, NDSR2
);
765 FUNC_GROUP_DECL(NDSR2
, Y1
);
768 #define V4_DESC SIG_DESC_SET(SCU84, 27)
769 SIG_EXPR_DECL(VPIOB5
, VPI18
, VPI18_DESC
, V4_DESC
);
770 SIG_EXPR_DECL(VPIOB5
, VPI24
, VPI24_DESC
, V4_DESC
);
771 SIG_EXPR_DECL(VPIOB5
, VPI30
, VPI30_DESC
, V4_DESC
);
772 SIG_EXPR_LIST_DECL(VPIOB5
, SIG_EXPR_PTR(VPIOB5
, VPI18
),
773 SIG_EXPR_PTR(VPIOB5
, VPI24
),
774 SIG_EXPR_PTR(VPIOB5
, VPI30
));
775 SIG_EXPR_LIST_DECL_SINGLE(NRI2
, NRI2
, V4_DESC
);
776 MS_PIN_DECL(V4
, GPIOM3
, VPIOB5
, NRI2
);
777 FUNC_GROUP_DECL(NRI2
, V4
);
780 #define W3_DESC SIG_DESC_SET(SCU84, 28)
781 SIG_EXPR_DECL(VPIOB6
, VPI18
, VPI18_DESC
, W3_DESC
);
782 SIG_EXPR_DECL(VPIOB6
, VPI24
, VPI24_DESC
, W3_DESC
);
783 SIG_EXPR_DECL(VPIOB6
, VPI30
, VPI30_DESC
, W3_DESC
);
784 SIG_EXPR_LIST_DECL(VPIOB6
, SIG_EXPR_PTR(VPIOB6
, VPI18
),
785 SIG_EXPR_PTR(VPIOB6
, VPI24
),
786 SIG_EXPR_PTR(VPIOB6
, VPI30
));
787 SIG_EXPR_LIST_DECL_SINGLE(NDTR2
, NDTR2
, W3_DESC
);
788 MS_PIN_DECL(W3
, GPIOM4
, VPIOB6
, NDTR2
);
789 FUNC_GROUP_DECL(NDTR2
, W3
);
792 #define Y2_DESC SIG_DESC_SET(SCU84, 29)
793 SIG_EXPR_DECL(VPIOB7
, VPI18
, VPI18_DESC
, Y2_DESC
);
794 SIG_EXPR_DECL(VPIOB7
, VPI24
, VPI24_DESC
, Y2_DESC
);
795 SIG_EXPR_DECL(VPIOB7
, VPI30
, VPI30_DESC
, Y2_DESC
);
796 SIG_EXPR_LIST_DECL(VPIOB7
, SIG_EXPR_PTR(VPIOB7
, VPI18
),
797 SIG_EXPR_PTR(VPIOB7
, VPI24
),
798 SIG_EXPR_PTR(VPIOB7
, VPI30
));
799 SIG_EXPR_LIST_DECL_SINGLE(NRTS2
, NRTS2
, Y2_DESC
);
800 MS_PIN_DECL(Y2
, GPIOM5
, VPIOB7
, NRTS2
);
801 FUNC_GROUP_DECL(NRTS2
, Y2
);
804 #define AA1_DESC SIG_DESC_SET(SCU84, 30)
805 SIG_EXPR_DECL(VPIOB8
, VPI18
, VPI18_DESC
, AA1_DESC
);
806 SIG_EXPR_DECL(VPIOB8
, VPI24
, VPI24_DESC
, AA1_DESC
);
807 SIG_EXPR_DECL(VPIOB8
, VPI30
, VPI30_DESC
, AA1_DESC
);
808 SIG_EXPR_LIST_DECL(VPIOB8
, SIG_EXPR_PTR(VPIOB8
, VPI18
),
809 SIG_EXPR_PTR(VPIOB8
, VPI24
),
810 SIG_EXPR_PTR(VPIOB8
, VPI30
));
811 SIG_EXPR_LIST_DECL_SINGLE(TXD2
, TXD2
, AA1_DESC
);
812 MS_PIN_DECL(AA1
, GPIOM6
, VPIOB8
, TXD2
);
813 FUNC_GROUP_DECL(TXD2
, AA1
);
816 #define V5_DESC SIG_DESC_SET(SCU84, 31)
817 SIG_EXPR_DECL(VPIOB9
, VPI18
, VPI18_DESC
, V5_DESC
);
818 SIG_EXPR_DECL(VPIOB9
, VPI24
, VPI24_DESC
, V5_DESC
);
819 SIG_EXPR_DECL(VPIOB9
, VPI30
, VPI30_DESC
, V5_DESC
);
820 SIG_EXPR_LIST_DECL(VPIOB9
, SIG_EXPR_PTR(VPIOB9
, VPI18
),
821 SIG_EXPR_PTR(VPIOB9
, VPI24
),
822 SIG_EXPR_PTR(VPIOB9
, VPI30
));
823 SIG_EXPR_LIST_DECL_SINGLE(RXD2
, RXD2
, V5_DESC
);
824 MS_PIN_DECL(V5
, GPIOM7
, VPIOB9
, RXD2
);
825 FUNC_GROUP_DECL(RXD2
, V5
);
828 #define W4_DESC SIG_DESC_SET(SCU88, 0)
829 SIG_EXPR_LIST_DECL_SINGLE(VPIG0
, VPI30
, VPI30_DESC
, W4_DESC
);
830 SIG_EXPR_LIST_DECL_SINGLE(PWM0
, PWM0
, W4_DESC
);
831 MS_PIN_DECL(W4
, GPION0
, VPIG0
, PWM0
);
832 FUNC_GROUP_DECL(PWM0
, W4
);
835 #define Y3_DESC SIG_DESC_SET(SCU88, 1)
836 SIG_EXPR_LIST_DECL_SINGLE(VPIG1
, VPI30
, VPI30_DESC
, Y3_DESC
);
837 SIG_EXPR_LIST_DECL_SINGLE(PWM1
, PWM1
, Y3_DESC
);
838 MS_PIN_DECL(Y3
, GPION1
, VPIG1
, PWM1
);
839 FUNC_GROUP_DECL(PWM1
, Y3
);
842 #define AA2_DESC SIG_DESC_SET(SCU88, 2)
843 SIG_EXPR_DECL(VPIG2
, VPI18
, VPI18_DESC
, AA2_DESC
);
844 SIG_EXPR_DECL(VPIG2
, VPI24
, VPI24_DESC
, AA2_DESC
);
845 SIG_EXPR_DECL(VPIG2
, VPI30
, VPI30_DESC
, AA2_DESC
);
846 SIG_EXPR_LIST_DECL(VPIG2
, SIG_EXPR_PTR(VPIG2
, VPI18
),
847 SIG_EXPR_PTR(VPIG2
, VPI24
),
848 SIG_EXPR_PTR(VPIG2
, VPI30
));
849 SIG_EXPR_LIST_DECL_SINGLE(PWM2
, PWM2
, AA2_DESC
);
850 MS_PIN_DECL(AA2
, GPION2
, VPIG2
, PWM2
);
851 FUNC_GROUP_DECL(PWM2
, AA2
);
854 #define AB1_DESC SIG_DESC_SET(SCU88, 3)
855 SIG_EXPR_DECL(VPIG3
, VPI18
, VPI18_DESC
, AB1_DESC
);
856 SIG_EXPR_DECL(VPIG3
, VPI24
, VPI24_DESC
, AB1_DESC
);
857 SIG_EXPR_DECL(VPIG3
, VPI30
, VPI30_DESC
, AB1_DESC
);
858 SIG_EXPR_LIST_DECL(VPIG3
, SIG_EXPR_PTR(VPIG3
, VPI18
),
859 SIG_EXPR_PTR(VPIG3
, VPI24
),
860 SIG_EXPR_PTR(VPIG3
, VPI30
));
861 SIG_EXPR_LIST_DECL_SINGLE(PWM3
, PWM3
, AB1_DESC
);
862 MS_PIN_DECL(AB1
, GPION3
, VPIG3
, PWM3
);
863 FUNC_GROUP_DECL(PWM3
, AB1
);
866 #define W5_DESC SIG_DESC_SET(SCU88, 4)
867 SIG_EXPR_DECL(VPIG4
, VPI18
, VPI18_DESC
, W5_DESC
);
868 SIG_EXPR_DECL(VPIG4
, VPI24
, VPI24_DESC
, W5_DESC
);
869 SIG_EXPR_DECL(VPIG4
, VPI30
, VPI30_DESC
, W5_DESC
);
870 SIG_EXPR_LIST_DECL(VPIG4
, SIG_EXPR_PTR(VPIG4
, VPI18
),
871 SIG_EXPR_PTR(VPIG4
, VPI24
),
872 SIG_EXPR_PTR(VPIG4
, VPI30
));
873 SIG_EXPR_LIST_DECL_SINGLE(PWM4
, PWM4
, W5_DESC
);
874 MS_PIN_DECL(W5
, GPION4
, VPIG4
, PWM4
);
875 FUNC_GROUP_DECL(PWM4
, W5
);
878 #define Y4_DESC SIG_DESC_SET(SCU88, 5)
879 SIG_EXPR_DECL(VPIG5
, VPI18
, VPI18_DESC
, Y4_DESC
);
880 SIG_EXPR_DECL(VPIG5
, VPI24
, VPI24_DESC
, Y4_DESC
);
881 SIG_EXPR_DECL(VPIG5
, VPI30
, VPI30_DESC
, Y4_DESC
);
882 SIG_EXPR_LIST_DECL(VPIG5
, SIG_EXPR_PTR(VPIG5
, VPI18
),
883 SIG_EXPR_PTR(VPIG5
, VPI24
),
884 SIG_EXPR_PTR(VPIG5
, VPI30
));
885 SIG_EXPR_LIST_DECL_SINGLE(PWM5
, PWM5
, Y4_DESC
);
886 MS_PIN_DECL(Y4
, GPION5
, VPIG5
, PWM5
);
887 FUNC_GROUP_DECL(PWM5
, Y4
);
890 #define AA3_DESC SIG_DESC_SET(SCU88, 6)
891 SIG_EXPR_LIST_DECL_SINGLE(VPIG6
, VPI30
, VPI30_DESC
, AA3_DESC
);
892 SIG_EXPR_LIST_DECL_SINGLE(PWM6
, PWM6
, AA3_DESC
);
893 MS_PIN_DECL(AA3
, GPION6
, VPIG6
, PWM6
);
894 FUNC_GROUP_DECL(PWM6
, AA3
);
897 #define AB2_DESC SIG_DESC_SET(SCU88, 7)
898 SIG_EXPR_LIST_DECL_SINGLE(VPIG7
, VPI30
, VPI30_DESC
, AB2_DESC
);
899 SIG_EXPR_LIST_DECL_SINGLE(PWM7
, PWM7
, AB2_DESC
);
900 MS_PIN_DECL(AB2
, GPION7
, VPIG7
, PWM7
);
901 FUNC_GROUP_DECL(PWM7
, AB2
);
904 SIG_EXPR_LIST_DECL_SINGLE(VPIG8
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 8));
905 SS_PIN_DECL(V6
, GPIOO0
, VPIG8
);
908 SIG_EXPR_LIST_DECL_SINGLE(VPIG9
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 9));
909 SS_PIN_DECL(Y5
, GPIOO1
, VPIG9
);
912 SIG_EXPR_LIST_DECL_SINGLE(VPIR0
, VPI30
, VPI30_DESC
, SIG_DESC_SET(SCU88
, 10));
913 SS_PIN_DECL(AA4
, GPIOO2
, VPIR0
);
916 SIG_EXPR_LIST_DECL_SINGLE(VPIR1
, VPI30
, VPI30_DESC
, SIG_DESC_SET(SCU88
, 11));
917 SS_PIN_DECL(AB3
, GPIOO3
, VPIR1
);
920 SIG_EXPR_LIST_DECL_SINGLE(VPIR2
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 12));
921 SS_PIN_DECL(W6
, GPIOO4
, VPIR2
);
924 SIG_EXPR_LIST_DECL_SINGLE(VPIR3
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 13));
925 SS_PIN_DECL(AA5
, GPIOO5
, VPIR3
);
928 SIG_EXPR_LIST_DECL_SINGLE(VPIR4
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 14));
929 SS_PIN_DECL(AB4
, GPIOO6
, VPIR4
);
932 SIG_EXPR_LIST_DECL_SINGLE(VPIR5
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 15));
933 SS_PIN_DECL(V7
, GPIOO7
, VPIR5
);
936 SIG_EXPR_LIST_DECL_SINGLE(VPIR6
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 16));
937 SS_PIN_DECL(Y6
, GPIOP0
, VPIR6
);
940 SIG_EXPR_LIST_DECL_SINGLE(VPIR7
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 17));
941 SS_PIN_DECL(AB5
, GPIOP1
, VPIR7
);
944 SIG_EXPR_LIST_DECL_SINGLE(VPIR8
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 18));
945 SS_PIN_DECL(W7
, GPIOP2
, VPIR8
);
948 SIG_EXPR_LIST_DECL_SINGLE(VPIR9
, VPI24
, VPI24_DESC
, SIG_DESC_SET(SCU88
, 19));
949 SS_PIN_DECL(AA6
, GPIOP3
, VPIR9
);
951 FUNC_GROUP_DECL(VPI18
, T5
, U3
, V1
, U4
, V2
, V3
, W2
, Y1
, V4
, W3
, Y2
, AA1
, V5
,
952 AA22
, W5
, Y4
, AA3
, AB2
);
953 FUNC_GROUP_DECL(VPI24
, T5
, U3
, V1
, U4
, V2
, V3
, W2
, Y1
, V4
, W3
, Y2
, AA1
, V5
,
954 AA22
, W5
, Y4
, AA3
, AB2
, V6
, Y5
, W6
, AA5
, AB4
, V7
, Y6
, AB5
, W7
,
956 FUNC_GROUP_DECL(VPI30
, T5
, U3
, V1
, U4
, V2
, W1
, U5
, V3
, W2
, Y1
, V4
, W3
, Y2
, AA1
,
957 V5
, W4
, Y3
, AA22
, W5
, Y4
, AA3
, AB2
, AA4
, AB3
);
960 SIG_EXPR_LIST_DECL_SINGLE(GPIOP4
, GPIOP4
);
961 MS_PIN_DECL_(AB6
, SIG_EXPR_LIST_PTR(GPIOP4
));
964 SIG_EXPR_LIST_DECL_SINGLE(GPIOP5
, GPIOP5
);
965 MS_PIN_DECL_(Y7
, SIG_EXPR_LIST_PTR(GPIOP5
));
968 SSSF_PIN_DECL(AA7
, GPIOP6
, BMCINT
, SIG_DESC_SET(SCU88
, 22));
971 SSSF_PIN_DECL(AB7
, GPIOP7
, FLACK
, SIG_DESC_SET(SCU88
, 23));
973 #define I2C3_DESC SIG_DESC_SET(SCU90, 16)
976 SIG_EXPR_LIST_DECL_SINGLE(SCL3
, I2C3
, I2C3_DESC
);
977 SS_PIN_DECL(D3
, GPIOQ0
, SCL3
);
980 SIG_EXPR_LIST_DECL_SINGLE(SDA3
, I2C3
, I2C3_DESC
);
981 SS_PIN_DECL(C2
, GPIOQ1
, SDA3
);
983 FUNC_GROUP_DECL(I2C3
, D3
, C2
);
985 #define I2C4_DESC SIG_DESC_SET(SCU90, 17)
988 SIG_EXPR_LIST_DECL_SINGLE(SCL4
, I2C4
, I2C4_DESC
);
989 SS_PIN_DECL(B1
, GPIOQ2
, SCL4
);
992 SIG_EXPR_LIST_DECL_SINGLE(SDA4
, I2C4
, I2C4_DESC
);
993 SS_PIN_DECL(F5
, GPIOQ3
, SDA4
);
995 FUNC_GROUP_DECL(I2C4
, B1
, F5
);
997 #define I2C14_DESC SIG_DESC_SET(SCU90, 27)
1000 SIG_EXPR_LIST_DECL_SINGLE(SCL14
, I2C14
, I2C14_DESC
);
1001 SS_PIN_DECL(H4
, GPIOQ4
, SCL14
);
1004 SIG_EXPR_LIST_DECL_SINGLE(SDA14
, I2C14
, I2C14_DESC
);
1005 SS_PIN_DECL(H3
, GPIOQ5
, SDA14
);
1007 FUNC_GROUP_DECL(I2C14
, H4
, H3
);
1010 * There are several opportunities to document USB port 4 in the datasheet, but
1011 * it is only mentioned in one location. Particularly, the Multi-function Pins
1012 * Mapping and Control table in the datasheet elides the signal names,
1013 * suggesting that port 4 may not actually be functional. As such we define the
1014 * signal names and control bit, but don't export the capability's function or
1017 #define USB11H3_DESC SIG_DESC_SET(SCU90, 28)
1020 SIG_EXPR_LIST_DECL_SINGLE(USB11HDP3
, USB11H3
, USB11H3_DESC
);
1021 SS_PIN_DECL(H2
, GPIOQ6
, USB11HDP3
);
1024 SIG_EXPR_LIST_DECL_SINGLE(USB11HDN3
, USB11H3
, USB11H3_DESC
);
1025 SS_PIN_DECL(H1
, GPIOQ7
, USB11HDN3
);
1028 SSSF_PIN_DECL(V20
, GPIOR0
, ROMCS1
, SIG_DESC_SET(SCU88
, 24));
1031 SSSF_PIN_DECL(W21
, GPIOR1
, ROMCS2
, SIG_DESC_SET(SCU88
, 25));
1034 SSSF_PIN_DECL(Y22
, GPIOR2
, ROMCS3
, SIG_DESC_SET(SCU88
, 26));
1037 SSSF_PIN_DECL(U19
, GPIOR3
, ROMCS4
, SIG_DESC_SET(SCU88
, 27));
1039 #define VPOOFF0_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 }
1040 #define VPO12_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 1, 0 }
1041 #define VPO24_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 2, 0 }
1042 #define VPOOFF1_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 3, 0 }
1043 #define VPO_OFF_12 { ASPEED_IP_SCU, SCU94, 0x2, 0, 0 }
1044 #define VPO_24_OFF SIG_DESC_SET(SCU94, 1)
1047 #define V21_DESC SIG_DESC_SET(SCU88, 28)
1048 SIG_EXPR_DECL(ROMA24
, ROM8
, V21_DESC
, VPO_OFF_12
);
1049 SIG_EXPR_DECL(ROMA24
, ROM16
, V21_DESC
, VPO_OFF_12
);
1050 SIG_EXPR_DECL(ROMA24
, ROM16S
, V21_DESC
, VPO_OFF_12
);
1051 SIG_EXPR_LIST_DECL(ROMA24
, SIG_EXPR_PTR(ROMA24
, ROM8
),
1052 SIG_EXPR_PTR(ROMA24
, ROM16
),
1053 SIG_EXPR_PTR(ROMA24
, ROM16S
));
1054 SIG_EXPR_LIST_DECL_SINGLE(VPOR6
, VPO24
, V21_DESC
, VPO_24_OFF
);
1055 MS_PIN_DECL(V21
, GPIOR4
, ROMA24
, VPOR6
);
1058 #define W22_DESC SIG_DESC_SET(SCU88, 29)
1059 SIG_EXPR_DECL(ROMA25
, ROM8
, W22_DESC
, VPO_OFF_12
);
1060 SIG_EXPR_DECL(ROMA25
, ROM16
, W22_DESC
, VPO_OFF_12
);
1061 SIG_EXPR_DECL(ROMA25
, ROM16S
, W22_DESC
, VPO_OFF_12
);
1062 SIG_EXPR_LIST_DECL(ROMA25
, SIG_EXPR_PTR(ROMA25
, ROM8
),
1063 SIG_EXPR_PTR(ROMA25
, ROM16
),
1064 SIG_EXPR_PTR(ROMA25
, ROM16S
));
1065 SIG_EXPR_LIST_DECL_SINGLE(VPOR7
, VPO24
, W22_DESC
, VPO_24_OFF
);
1066 MS_PIN_DECL(W22
, GPIOR5
, ROMA25
, VPOR7
);
1069 SIG_EXPR_LIST_DECL_SINGLE(MDC1
, MDIO1
, SIG_DESC_SET(SCU88
, 30));
1070 SS_PIN_DECL(C6
, GPIOR6
, MDC1
);
1073 SIG_EXPR_LIST_DECL_SINGLE(MDIO1
, MDIO1
, SIG_DESC_SET(SCU88
, 31));
1074 SS_PIN_DECL(A5
, GPIOR7
, MDIO1
);
1076 FUNC_GROUP_DECL(MDIO1
, C6
, A5
);
1079 #define U21_DESC SIG_DESC_SET(SCU8C, 0)
1080 SIG_EXPR_DECL(ROMD4
, ROM8
, U21_DESC
, VPOOFF0_DESC
);
1081 SIG_EXPR_DECL(ROMD4
, ROM16
, U21_DESC
, VPOOFF0_DESC
);
1082 SIG_EXPR_DECL(ROMD4
, ROM16S
, U21_DESC
, VPOOFF0_DESC
);
1083 SIG_EXPR_LIST_DECL(ROMD4
, SIG_EXPR_PTR(ROMD4
, ROM8
),
1084 SIG_EXPR_PTR(ROMD4
, ROM16
),
1085 SIG_EXPR_PTR(ROMD4
, ROM16S
));
1086 SIG_EXPR_DECL(VPODE
, VPO12
, U21_DESC
, VPO12_DESC
);
1087 SIG_EXPR_DECL(VPODE
, VPO24
, U21_DESC
, VPO12_DESC
);
1088 SIG_EXPR_LIST_DECL_DUAL(VPODE
, VPO12
, VPO24
);
1089 MS_PIN_DECL(U21
, GPIOS0
, ROMD4
, VPODE
);
1092 #define T19_DESC SIG_DESC_SET(SCU8C, 1)
1093 SIG_EXPR_DECL(ROMD5
, ROM8
, T19_DESC
, VPOOFF0_DESC
);
1094 SIG_EXPR_DECL(ROMD5
, ROM16
, T19_DESC
, VPOOFF0_DESC
);
1095 SIG_EXPR_DECL(ROMD5
, ROM16S
, T19_DESC
, VPOOFF0_DESC
);
1096 SIG_EXPR_LIST_DECL(ROMD5
, SIG_EXPR_PTR(ROMD5
, ROM8
),
1097 SIG_EXPR_PTR(ROMD5
, ROM16
),
1098 SIG_EXPR_PTR(ROMD5
, ROM16S
));
1099 SIG_EXPR_DECL(VPOHS
, VPO12
, T19_DESC
, VPO12_DESC
);
1100 SIG_EXPR_DECL(VPOHS
, VPO24
, T19_DESC
, VPO24_DESC
);
1101 SIG_EXPR_LIST_DECL_DUAL(VPOHS
, VPO12
, VPO24
);
1102 MS_PIN_DECL(T19
, GPIOS1
, ROMD5
, VPOHS
);
1105 #define V22_DESC SIG_DESC_SET(SCU8C, 2)
1106 SIG_EXPR_DECL(ROMD6
, ROM8
, V22_DESC
, VPOOFF0_DESC
);
1107 SIG_EXPR_DECL(ROMD6
, ROM16
, V22_DESC
, VPOOFF0_DESC
);
1108 SIG_EXPR_DECL(ROMD6
, ROM16S
, V22_DESC
, VPOOFF0_DESC
);
1109 SIG_EXPR_LIST_DECL(ROMD6
, SIG_EXPR_PTR(ROMD6
, ROM8
),
1110 SIG_EXPR_PTR(ROMD6
, ROM16
),
1111 SIG_EXPR_PTR(ROMD6
, ROM16S
));
1112 SIG_EXPR_DECL(VPOVS
, VPO12
, V22_DESC
, VPO12_DESC
);
1113 SIG_EXPR_DECL(VPOVS
, VPO24
, V22_DESC
, VPO24_DESC
);
1114 SIG_EXPR_LIST_DECL_DUAL(VPOVS
, VPO12
, VPO24
);
1115 MS_PIN_DECL(V22
, GPIOS2
, ROMD6
, VPOVS
);
1118 #define U20_DESC SIG_DESC_SET(SCU8C, 3)
1119 SIG_EXPR_DECL(ROMD7
, ROM8
, U20_DESC
, VPOOFF0_DESC
);
1120 SIG_EXPR_DECL(ROMD7
, ROM16
, U20_DESC
, VPOOFF0_DESC
);
1121 SIG_EXPR_DECL(ROMD7
, ROM16S
, U20_DESC
, VPOOFF0_DESC
);
1122 SIG_EXPR_LIST_DECL(ROMD7
, SIG_EXPR_PTR(ROMD7
, ROM8
),
1123 SIG_EXPR_PTR(ROMD7
, ROM16
),
1124 SIG_EXPR_PTR(ROMD7
, ROM16S
));
1125 SIG_EXPR_DECL(VPOCLK
, VPO12
, U20_DESC
, VPO12_DESC
);
1126 SIG_EXPR_DECL(VPOCLK
, VPO24
, U20_DESC
, VPO24_DESC
);
1127 SIG_EXPR_LIST_DECL_DUAL(VPOCLK
, VPO12
, VPO24
);
1128 MS_PIN_DECL(U20
, GPIOS3
, ROMD7
, VPOCLK
);
1131 #define ROMOE_DESC SIG_DESC_SET(SCU8C, 4)
1132 SIG_EXPR_LIST_DECL_SINGLE(GPIOS4
, GPIOS4
);
1133 SIG_EXPR_DECL(ROMOE
, ROM8
, ROMOE_DESC
);
1134 SIG_EXPR_DECL(ROMOE
, ROM16
, ROMOE_DESC
);
1135 SIG_EXPR_DECL(ROMOE
, ROM16S
, ROMOE_DESC
);
1136 SIG_EXPR_LIST_DECL(ROMOE
, SIG_EXPR_PTR(ROMOE
, ROM8
),
1137 SIG_EXPR_PTR(ROMOE
, ROM16
),
1138 SIG_EXPR_PTR(ROMOE
, ROM16S
));
1139 MS_PIN_DECL_(R18
, SIG_EXPR_LIST_PTR(ROMOE
), SIG_EXPR_LIST_PTR(GPIOS4
));
1142 #define ROMWE_DESC SIG_DESC_SET(SCU8C, 5)
1143 SIG_EXPR_LIST_DECL_SINGLE(GPIOS5
, GPIOS5
);
1144 SIG_EXPR_DECL(ROMWE
, ROM8
, ROMWE_DESC
);
1145 SIG_EXPR_DECL(ROMWE
, ROM16
, ROMWE_DESC
);
1146 SIG_EXPR_DECL(ROMWE
, ROM16S
, ROMWE_DESC
);
1147 SIG_EXPR_LIST_DECL(ROMWE
, SIG_EXPR_PTR(ROMWE
, ROM8
),
1148 SIG_EXPR_PTR(ROMWE
, ROM16
),
1149 SIG_EXPR_PTR(ROMWE
, ROM16S
));
1150 MS_PIN_DECL_(N21
, SIG_EXPR_LIST_PTR(ROMWE
), SIG_EXPR_LIST_PTR(GPIOS5
));
1153 #define L22_DESC SIG_DESC_SET(SCU8C, 6)
1154 SIG_EXPR_DECL(ROMA22
, ROM8
, L22_DESC
, VPO_OFF_12
);
1155 SIG_EXPR_DECL(ROMA22
, ROM16
, L22_DESC
, VPO_OFF_12
);
1156 SIG_EXPR_DECL(ROMA22
, ROM16S
, L22_DESC
, VPO_OFF_12
);
1157 SIG_EXPR_LIST_DECL(ROMA22
, SIG_EXPR_PTR(ROMA22
, ROM8
),
1158 SIG_EXPR_PTR(ROMA22
, ROM16
),
1159 SIG_EXPR_PTR(ROMA22
, ROM16S
));
1160 SIG_EXPR_LIST_DECL_SINGLE(VPOR4
, VPO24
, L22_DESC
, VPO_24_OFF
);
1161 MS_PIN_DECL(L22
, GPIOS6
, ROMA22
, VPOR4
);
1164 #define K18_DESC SIG_DESC_SET(SCU8C, 7)
1165 SIG_EXPR_DECL(ROMA23
, ROM8
, K18_DESC
, VPO_OFF_12
);
1166 SIG_EXPR_DECL(ROMA23
, ROM16
, K18_DESC
, VPO_OFF_12
);
1167 SIG_EXPR_DECL(ROMA23
, ROM16S
, K18_DESC
, VPO_OFF_12
);
1168 SIG_EXPR_LIST_DECL(ROMA23
, SIG_EXPR_PTR(ROMA23
, ROM8
),
1169 SIG_EXPR_PTR(ROMA23
, ROM16
),
1170 SIG_EXPR_PTR(ROMA23
, ROM16S
));
1171 SIG_EXPR_LIST_DECL_SINGLE(VPOR5
, VPO24
, K18_DESC
, VPO_24_OFF
);
1172 MS_PIN_DECL(K18
, GPIOS7
, ROMA23
, VPOR5
);
1174 #define RMII1_DESC SIG_DESC_BIT(HW_STRAP1, 6, 0)
1177 SIG_EXPR_LIST_DECL_SINGLE(GPIOT0
, GPIOT0
, SIG_DESC_SET(SCUA0
, 0));
1178 SIG_EXPR_LIST_DECL_SINGLE(RMII1TXEN
, RMII1
, RMII1_DESC
);
1179 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCK
, RGMII1
);
1180 MS_PIN_DECL_(A12
, SIG_EXPR_LIST_PTR(GPIOT0
), SIG_EXPR_LIST_PTR(RMII1TXEN
),
1181 SIG_EXPR_LIST_PTR(RGMII1TXCK
));
1184 SIG_EXPR_LIST_DECL_SINGLE(GPIOT1
, GPIOT1
, SIG_DESC_SET(SCUA0
, 1));
1185 SIG_EXPR_LIST_DECL_SINGLE(DASHB12
, RMII1
, RMII1_DESC
);
1186 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCTL
, RGMII1
);
1187 MS_PIN_DECL_(B12
, SIG_EXPR_LIST_PTR(GPIOT1
), SIG_EXPR_LIST_PTR(DASHB12
),
1188 SIG_EXPR_LIST_PTR(RGMII1TXCTL
));
1191 SIG_EXPR_LIST_DECL_SINGLE(GPIOT2
, GPIOT2
, SIG_DESC_SET(SCUA0
, 2));
1192 SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD0
, RMII1
, RMII1_DESC
);
1193 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD0
, RGMII1
);
1194 MS_PIN_DECL_(C12
, SIG_EXPR_LIST_PTR(GPIOT2
), SIG_EXPR_LIST_PTR(RMII1TXD0
),
1195 SIG_EXPR_LIST_PTR(RGMII1TXD0
));
1198 SIG_EXPR_LIST_DECL_SINGLE(GPIOT3
, GPIOT3
, SIG_DESC_SET(SCUA0
, 3));
1199 SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD1
, RMII1
, RMII1_DESC
);
1200 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD1
, RGMII1
);
1201 MS_PIN_DECL_(D12
, SIG_EXPR_LIST_PTR(GPIOT3
), SIG_EXPR_LIST_PTR(RMII1TXD1
),
1202 SIG_EXPR_LIST_PTR(RGMII1TXD1
));
1205 SIG_EXPR_LIST_DECL_SINGLE(GPIOT4
, GPIOT4
, SIG_DESC_SET(SCUA0
, 4));
1206 SIG_EXPR_LIST_DECL_SINGLE(DASHE12
, RMII1
, RMII1_DESC
);
1207 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD2
, RGMII1
);
1208 MS_PIN_DECL_(E12
, SIG_EXPR_LIST_PTR(GPIOT4
), SIG_EXPR_LIST_PTR(DASHE12
),
1209 SIG_EXPR_LIST_PTR(RGMII1TXD2
));
1212 SIG_EXPR_LIST_DECL_SINGLE(GPIOT5
, GPIOT5
, SIG_DESC_SET(SCUA0
, 5));
1213 SIG_EXPR_LIST_DECL_SINGLE(DASHA13
, RMII1
, RMII1_DESC
);
1214 SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD3
, RGMII1
);
1215 MS_PIN_DECL_(A13
, SIG_EXPR_LIST_PTR(GPIOT5
), SIG_EXPR_LIST_PTR(DASHA13
),
1216 SIG_EXPR_LIST_PTR(RGMII1TXD3
));
1218 #define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0)
1221 SIG_EXPR_LIST_DECL_SINGLE(GPIOT6
, GPIOT6
, SIG_DESC_SET(SCUA0
, 6));
1222 SIG_EXPR_LIST_DECL_SINGLE(RMII2TXEN
, RMII2
, RMII2_DESC
);
1223 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCK
, RGMII2
);
1224 MS_PIN_DECL_(D9
, SIG_EXPR_LIST_PTR(GPIOT6
), SIG_EXPR_LIST_PTR(RMII2TXEN
),
1225 SIG_EXPR_LIST_PTR(RGMII2TXCK
));
1228 SIG_EXPR_LIST_DECL_SINGLE(GPIOT7
, GPIOT7
, SIG_DESC_SET(SCUA0
, 7));
1229 SIG_EXPR_LIST_DECL_SINGLE(DASHE9
, RMII2
, RMII2_DESC
);
1230 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCTL
, RGMII2
);
1231 MS_PIN_DECL_(E9
, SIG_EXPR_LIST_PTR(GPIOT7
), SIG_EXPR_LIST_PTR(DASHE9
),
1232 SIG_EXPR_LIST_PTR(RGMII2TXCTL
));
1235 SIG_EXPR_LIST_DECL_SINGLE(GPIOU0
, GPIOU0
, SIG_DESC_SET(SCUA0
, 8));
1236 SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD0
, RMII2
, RMII2_DESC
);
1237 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD0
, RGMII2
);
1238 MS_PIN_DECL_(A10
, SIG_EXPR_LIST_PTR(GPIOU0
), SIG_EXPR_LIST_PTR(RMII2TXD0
),
1239 SIG_EXPR_LIST_PTR(RGMII2TXD0
));
1242 SIG_EXPR_LIST_DECL_SINGLE(GPIOU1
, GPIOU1
, SIG_DESC_SET(SCUA0
, 9));
1243 SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD1
, RMII2
, RMII2_DESC
);
1244 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD1
, RGMII2
);
1245 MS_PIN_DECL_(B10
, SIG_EXPR_LIST_PTR(GPIOU1
), SIG_EXPR_LIST_PTR(RMII2TXD1
),
1246 SIG_EXPR_LIST_PTR(RGMII2TXD1
));
1249 SIG_EXPR_LIST_DECL_SINGLE(GPIOU2
, GPIOU2
, SIG_DESC_SET(SCUA0
, 10));
1250 SIG_EXPR_LIST_DECL_SINGLE(DASHC10
, RMII2
, RMII2_DESC
);
1251 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD2
, RGMII2
);
1252 MS_PIN_DECL_(C10
, SIG_EXPR_LIST_PTR(GPIOU2
), SIG_EXPR_LIST_PTR(DASHC10
),
1253 SIG_EXPR_LIST_PTR(RGMII2TXD2
));
1256 SIG_EXPR_LIST_DECL_SINGLE(GPIOU3
, GPIOU3
, SIG_DESC_SET(SCUA0
, 11));
1257 SIG_EXPR_LIST_DECL_SINGLE(DASHD10
, RMII2
, RMII2_DESC
);
1258 SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD3
, RGMII2
);
1259 MS_PIN_DECL_(D10
, SIG_EXPR_LIST_PTR(GPIOU3
), SIG_EXPR_LIST_PTR(DASHD10
),
1260 SIG_EXPR_LIST_PTR(RGMII2TXD3
));
1263 SIG_EXPR_LIST_DECL_SINGLE(GPIOU4
, GPIOU4
, SIG_DESC_SET(SCUA0
, 12));
1264 SIG_EXPR_LIST_DECL_SINGLE(RMII1RCLK
, RMII1
, RMII1_DESC
);
1265 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCK
, RGMII1
);
1266 MS_PIN_DECL_(E11
, SIG_EXPR_LIST_PTR(GPIOU4
), SIG_EXPR_LIST_PTR(RMII1RCLK
),
1267 SIG_EXPR_LIST_PTR(RGMII1RXCK
));
1270 SIG_EXPR_LIST_DECL_SINGLE(GPIOU5
, GPIOU5
, SIG_DESC_SET(SCUA0
, 13));
1271 SIG_EXPR_LIST_DECL_SINGLE(DASHD11
, RMII1
, RMII1_DESC
);
1272 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCTL
, RGMII1
);
1273 MS_PIN_DECL_(D11
, SIG_EXPR_LIST_PTR(GPIOU5
), SIG_EXPR_LIST_PTR(DASHD11
),
1274 SIG_EXPR_LIST_PTR(RGMII1RXCTL
));
1277 SIG_EXPR_LIST_DECL_SINGLE(GPIOU6
, GPIOU6
, SIG_DESC_SET(SCUA0
, 14));
1278 SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD0
, RMII1
, RMII1_DESC
);
1279 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD0
, RGMII1
);
1280 MS_PIN_DECL_(C11
, SIG_EXPR_LIST_PTR(GPIOU6
), SIG_EXPR_LIST_PTR(RMII1RXD0
),
1281 SIG_EXPR_LIST_PTR(RGMII1RXD0
));
1284 SIG_EXPR_LIST_DECL_SINGLE(GPIOU7
, GPIOU7
, SIG_DESC_SET(SCUA0
, 15));
1285 SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD1
, RMII1
, RMII1_DESC
);
1286 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD1
, RGMII1
);
1287 MS_PIN_DECL_(B11
, SIG_EXPR_LIST_PTR(GPIOU7
), SIG_EXPR_LIST_PTR(RMII1RXD1
),
1288 SIG_EXPR_LIST_PTR(RGMII1RXD1
));
1291 SIG_EXPR_LIST_DECL_SINGLE(GPIOV0
, GPIOV0
, SIG_DESC_SET(SCUA0
, 16));
1292 SIG_EXPR_LIST_DECL_SINGLE(RMII1CRSDV
, RMII1
, RMII1_DESC
);
1293 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD2
, RGMII1
);
1294 MS_PIN_DECL_(A11
, SIG_EXPR_LIST_PTR(GPIOV0
), SIG_EXPR_LIST_PTR(RMII1CRSDV
),
1295 SIG_EXPR_LIST_PTR(RGMII1RXD2
));
1298 SIG_EXPR_LIST_DECL_SINGLE(GPIOV1
, GPIOV1
, SIG_DESC_SET(SCUA0
, 17));
1299 SIG_EXPR_LIST_DECL_SINGLE(RMII1RXER
, RMII1
, RMII1_DESC
);
1300 SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD3
, RGMII1
);
1301 MS_PIN_DECL_(E10
, SIG_EXPR_LIST_PTR(GPIOV1
), SIG_EXPR_LIST_PTR(RMII1RXER
),
1302 SIG_EXPR_LIST_PTR(RGMII1RXD3
));
1305 SIG_EXPR_LIST_DECL_SINGLE(GPIOV2
, GPIOV2
, SIG_DESC_SET(SCUA0
, 18));
1306 SIG_EXPR_LIST_DECL_SINGLE(RMII2RCLK
, RMII2
, RMII2_DESC
);
1307 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCK
, RGMII2
);
1308 MS_PIN_DECL_(C9
, SIG_EXPR_LIST_PTR(GPIOV2
), SIG_EXPR_LIST_PTR(RMII2RCLK
),
1309 SIG_EXPR_LIST_PTR(RGMII2RXCK
));
1312 SIG_EXPR_LIST_DECL_SINGLE(GPIOV3
, GPIOV3
, SIG_DESC_SET(SCUA0
, 19));
1313 SIG_EXPR_LIST_DECL_SINGLE(DASHB9
, RMII2
, RMII2_DESC
);
1314 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCTL
, RGMII2
);
1315 MS_PIN_DECL_(B9
, SIG_EXPR_LIST_PTR(GPIOV3
), SIG_EXPR_LIST_PTR(DASHB9
),
1316 SIG_EXPR_LIST_PTR(RGMII2RXCTL
));
1319 SIG_EXPR_LIST_DECL_SINGLE(GPIOV4
, GPIOV4
, SIG_DESC_SET(SCUA0
, 20));
1320 SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD0
, RMII2
, RMII2_DESC
);
1321 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD0
, RGMII2
);
1322 MS_PIN_DECL_(A9
, SIG_EXPR_LIST_PTR(GPIOV4
), SIG_EXPR_LIST_PTR(RMII2RXD0
),
1323 SIG_EXPR_LIST_PTR(RGMII2RXD0
));
1326 SIG_EXPR_LIST_DECL_SINGLE(GPIOV5
, GPIOV5
, SIG_DESC_SET(SCUA0
, 21));
1327 SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD1
, RMII2
, RMII2_DESC
);
1328 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD1
, RGMII2
);
1329 MS_PIN_DECL_(E8
, SIG_EXPR_LIST_PTR(GPIOV5
), SIG_EXPR_LIST_PTR(RMII2RXD1
),
1330 SIG_EXPR_LIST_PTR(RGMII2RXD1
));
1333 SIG_EXPR_LIST_DECL_SINGLE(GPIOV6
, GPIOV6
, SIG_DESC_SET(SCUA0
, 22));
1334 SIG_EXPR_LIST_DECL_SINGLE(RMII2CRSDV
, RMII2
, RMII2_DESC
);
1335 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD2
, RGMII2
);
1336 MS_PIN_DECL_(D8
, SIG_EXPR_LIST_PTR(GPIOV6
), SIG_EXPR_LIST_PTR(RMII2CRSDV
),
1337 SIG_EXPR_LIST_PTR(RGMII2RXD2
));
1340 SIG_EXPR_LIST_DECL_SINGLE(GPIOV7
, GPIOV7
, SIG_DESC_SET(SCUA0
, 23));
1341 SIG_EXPR_LIST_DECL_SINGLE(RMII2RXER
, RMII2
, RMII2_DESC
);
1342 SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD3
, RGMII2
);
1343 MS_PIN_DECL_(C8
, SIG_EXPR_LIST_PTR(GPIOV7
), SIG_EXPR_LIST_PTR(RMII2RXER
),
1344 SIG_EXPR_LIST_PTR(RGMII2RXD3
));
1346 FUNC_GROUP_DECL(RMII1
, A12
, B12
, C12
, D12
, E12
, A13
, E11
, D11
, C11
, B11
, A11
,
1348 FUNC_GROUP_DECL(RGMII1
, A12
, B12
, C12
, D12
, E12
, A13
, E11
, D11
, C11
, B11
, A11
,
1351 FUNC_GROUP_DECL(RMII2
, D9
, E9
, A10
, B10
, C10
, D10
, C9
, B9
, A9
, E8
, D8
, C8
);
1352 FUNC_GROUP_DECL(RGMII2
, D9
, E9
, A10
, B10
, C10
, D10
, C9
, B9
, A9
, E8
, D8
, C8
);
1355 SIG_EXPR_LIST_DECL_SINGLE(GPIOW0
, GPIOW0
, SIG_DESC_SET(SCUA0
, 24));
1356 SIG_EXPR_LIST_DECL_SINGLE(ADC0
, ADC0
);
1357 MS_PIN_DECL_(L5
, SIG_EXPR_LIST_PTR(GPIOW0
), SIG_EXPR_LIST_PTR(ADC0
));
1358 FUNC_GROUP_DECL(ADC0
, L5
);
1361 SIG_EXPR_LIST_DECL_SINGLE(GPIOW1
, GPIOW1
, SIG_DESC_SET(SCUA0
, 25));
1362 SIG_EXPR_LIST_DECL_SINGLE(ADC1
, ADC1
);
1363 MS_PIN_DECL_(L4
, SIG_EXPR_LIST_PTR(GPIOW1
), SIG_EXPR_LIST_PTR(ADC1
));
1364 FUNC_GROUP_DECL(ADC1
, L4
);
1367 SIG_EXPR_LIST_DECL_SINGLE(GPIOW2
, GPIOW2
, SIG_DESC_SET(SCUA0
, 26));
1368 SIG_EXPR_LIST_DECL_SINGLE(ADC2
, ADC2
);
1369 MS_PIN_DECL_(L3
, SIG_EXPR_LIST_PTR(GPIOW2
), SIG_EXPR_LIST_PTR(ADC2
));
1370 FUNC_GROUP_DECL(ADC2
, L3
);
1373 SIG_EXPR_LIST_DECL_SINGLE(GPIOW3
, GPIOW3
, SIG_DESC_SET(SCUA0
, 27));
1374 SIG_EXPR_LIST_DECL_SINGLE(ADC3
, ADC3
);
1375 MS_PIN_DECL_(L2
, SIG_EXPR_LIST_PTR(GPIOW3
), SIG_EXPR_LIST_PTR(ADC3
));
1376 FUNC_GROUP_DECL(ADC3
, L2
);
1379 SIG_EXPR_LIST_DECL_SINGLE(GPIOW4
, GPIOW4
, SIG_DESC_SET(SCUA0
, 28));
1380 SIG_EXPR_LIST_DECL_SINGLE(ADC4
, ADC4
);
1381 MS_PIN_DECL_(L1
, SIG_EXPR_LIST_PTR(GPIOW4
), SIG_EXPR_LIST_PTR(ADC4
));
1382 FUNC_GROUP_DECL(ADC4
, L1
);
1385 SIG_EXPR_LIST_DECL_SINGLE(GPIOW5
, GPIOW5
, SIG_DESC_SET(SCUA0
, 29));
1386 SIG_EXPR_LIST_DECL_SINGLE(ADC5
, ADC5
);
1387 MS_PIN_DECL_(M5
, SIG_EXPR_LIST_PTR(GPIOW5
), SIG_EXPR_LIST_PTR(ADC5
));
1388 FUNC_GROUP_DECL(ADC5
, M5
);
1391 SIG_EXPR_LIST_DECL_SINGLE(GPIOW6
, GPIOW6
, SIG_DESC_SET(SCUA0
, 30));
1392 SIG_EXPR_LIST_DECL_SINGLE(ADC6
, ADC6
);
1393 MS_PIN_DECL_(M4
, SIG_EXPR_LIST_PTR(GPIOW6
), SIG_EXPR_LIST_PTR(ADC6
));
1394 FUNC_GROUP_DECL(ADC6
, M4
);
1397 SIG_EXPR_LIST_DECL_SINGLE(GPIOW7
, GPIOW7
, SIG_DESC_SET(SCUA0
, 31));
1398 SIG_EXPR_LIST_DECL_SINGLE(ADC7
, ADC7
);
1399 MS_PIN_DECL_(M3
, SIG_EXPR_LIST_PTR(GPIOW7
), SIG_EXPR_LIST_PTR(ADC7
));
1400 FUNC_GROUP_DECL(ADC7
, M3
);
1403 SIG_EXPR_LIST_DECL_SINGLE(GPIOX0
, GPIOX0
, SIG_DESC_SET(SCUA4
, 0));
1404 SIG_EXPR_LIST_DECL_SINGLE(ADC8
, ADC8
);
1405 MS_PIN_DECL_(M2
, SIG_EXPR_LIST_PTR(GPIOX0
), SIG_EXPR_LIST_PTR(ADC8
));
1406 FUNC_GROUP_DECL(ADC8
, M2
);
1409 SIG_EXPR_LIST_DECL_SINGLE(GPIOX1
, GPIOX1
, SIG_DESC_SET(SCUA4
, 1));
1410 SIG_EXPR_LIST_DECL_SINGLE(ADC9
, ADC9
);
1411 MS_PIN_DECL_(M1
, SIG_EXPR_LIST_PTR(GPIOX1
), SIG_EXPR_LIST_PTR(ADC9
));
1412 FUNC_GROUP_DECL(ADC9
, M1
);
1415 SIG_EXPR_LIST_DECL_SINGLE(GPIOX2
, GPIOX2
, SIG_DESC_SET(SCUA4
, 2));
1416 SIG_EXPR_LIST_DECL_SINGLE(ADC10
, ADC10
);
1417 MS_PIN_DECL_(N5
, SIG_EXPR_LIST_PTR(GPIOX2
), SIG_EXPR_LIST_PTR(ADC10
));
1418 FUNC_GROUP_DECL(ADC10
, N5
);
1421 SIG_EXPR_LIST_DECL_SINGLE(GPIOX3
, GPIOX3
, SIG_DESC_SET(SCUA4
, 3));
1422 SIG_EXPR_LIST_DECL_SINGLE(ADC11
, ADC11
);
1423 MS_PIN_DECL_(N4
, SIG_EXPR_LIST_PTR(GPIOX3
), SIG_EXPR_LIST_PTR(ADC11
));
1424 FUNC_GROUP_DECL(ADC11
, N4
);
1427 SIG_EXPR_LIST_DECL_SINGLE(GPIOX4
, GPIOX4
, SIG_DESC_SET(SCUA4
, 4));
1428 SIG_EXPR_LIST_DECL_SINGLE(ADC12
, ADC12
);
1429 MS_PIN_DECL_(N3
, SIG_EXPR_LIST_PTR(GPIOX4
), SIG_EXPR_LIST_PTR(ADC12
));
1430 FUNC_GROUP_DECL(ADC12
, N3
);
1433 SIG_EXPR_LIST_DECL_SINGLE(GPIOX5
, GPIOX5
, SIG_DESC_SET(SCUA4
, 5));
1434 SIG_EXPR_LIST_DECL_SINGLE(ADC13
, ADC13
);
1435 MS_PIN_DECL_(N2
, SIG_EXPR_LIST_PTR(GPIOX5
), SIG_EXPR_LIST_PTR(ADC13
));
1436 FUNC_GROUP_DECL(ADC13
, N2
);
1439 SIG_EXPR_LIST_DECL_SINGLE(GPIOX6
, GPIOX6
, SIG_DESC_SET(SCUA4
, 6));
1440 SIG_EXPR_LIST_DECL_SINGLE(ADC14
, ADC14
);
1441 MS_PIN_DECL_(N1
, SIG_EXPR_LIST_PTR(GPIOX6
), SIG_EXPR_LIST_PTR(ADC14
));
1442 FUNC_GROUP_DECL(ADC14
, N1
);
1445 SIG_EXPR_LIST_DECL_SINGLE(GPIOX7
, GPIOX7
, SIG_DESC_SET(SCUA4
, 7));
1446 SIG_EXPR_LIST_DECL_SINGLE(ADC15
, ADC15
);
1447 MS_PIN_DECL_(P5
, SIG_EXPR_LIST_PTR(GPIOX7
), SIG_EXPR_LIST_PTR(ADC15
));
1448 FUNC_GROUP_DECL(ADC15
, P5
);
1451 SIG_EXPR_DECL(SIOS3
, SIOS3
, SIG_DESC_SET(SCUA4
, 8));
1452 SIG_EXPR_DECL(SIOS3
, ACPI
, ACPI_DESC
);
1453 SIG_EXPR_LIST_DECL_DUAL(SIOS3
, SIOS3
, ACPI
);
1454 SS_PIN_DECL(C21
, GPIOY0
, SIOS3
);
1455 FUNC_GROUP_DECL(SIOS3
, C21
);
1458 SIG_EXPR_DECL(SIOS5
, SIOS5
, SIG_DESC_SET(SCUA4
, 9));
1459 SIG_EXPR_DECL(SIOS5
, ACPI
, ACPI_DESC
);
1460 SIG_EXPR_LIST_DECL_DUAL(SIOS5
, SIOS5
, ACPI
);
1461 SS_PIN_DECL(F20
, GPIOY1
, SIOS5
);
1462 FUNC_GROUP_DECL(SIOS5
, F20
);
1465 SIG_EXPR_DECL(SIOPWREQ
, SIOPWREQ
, SIG_DESC_SET(SCUA4
, 10));
1466 SIG_EXPR_DECL(SIOPWREQ
, ACPI
, ACPI_DESC
);
1467 SIG_EXPR_LIST_DECL_DUAL(SIOPWREQ
, SIOPWREQ
, ACPI
);
1468 SS_PIN_DECL(G20
, GPIOY2
, SIOPWREQ
);
1469 FUNC_GROUP_DECL(SIOPWREQ
, G20
);
1472 SIG_EXPR_DECL(SIOONCTRL
, SIOONCTRL
, SIG_DESC_SET(SCUA4
, 11));
1473 SIG_EXPR_DECL(SIOONCTRL
, ACPI
, ACPI_DESC
);
1474 SIG_EXPR_LIST_DECL_DUAL(SIOONCTRL
, SIOONCTRL
, ACPI
);
1475 SS_PIN_DECL(K20
, GPIOY3
, SIOONCTRL
);
1476 FUNC_GROUP_DECL(SIOONCTRL
, K20
);
1478 FUNC_GROUP_DECL(ACPI
, B19
, A20
, D17
, A19
, C21
, F20
, G20
, K20
);
1481 #define R22_DESC SIG_DESC_SET(SCUA4, 16)
1482 SIG_EXPR_DECL(ROMA2
, ROM8
, R22_DESC
, VPOOFF0_DESC
);
1483 SIG_EXPR_DECL(ROMA2
, ROM16
, R22_DESC
, VPOOFF0_DESC
);
1484 SIG_EXPR_LIST_DECL_DUAL(ROMA2
, ROM8
, ROM16
);
1485 SIG_EXPR_DECL(VPOB0
, VPO12
, R22_DESC
, VPO12_DESC
);
1486 SIG_EXPR_DECL(VPOB0
, VPO24
, R22_DESC
, VPO24_DESC
);
1487 SIG_EXPR_DECL(VPOB0
, VPOOFF1
, R22_DESC
, VPOOFF1_DESC
);
1488 SIG_EXPR_LIST_DECL(VPOB0
, SIG_EXPR_PTR(VPOB0
, VPO12
),
1489 SIG_EXPR_PTR(VPOB0
, VPO24
), SIG_EXPR_PTR(VPOB0
, VPOOFF1
));
1490 MS_PIN_DECL(R22
, GPIOZ0
, ROMA2
, VPOB0
);
1493 #define P18_DESC SIG_DESC_SET(SCUA4, 17)
1494 SIG_EXPR_DECL(ROMA3
, ROM8
, P18_DESC
, VPOOFF0_DESC
);
1495 SIG_EXPR_DECL(ROMA3
, ROM16
, P18_DESC
, VPOOFF0_DESC
);
1496 SIG_EXPR_LIST_DECL_DUAL(ROMA3
, ROM8
, ROM16
);
1497 SIG_EXPR_DECL(VPOB1
, VPO12
, P18_DESC
, VPO12_DESC
);
1498 SIG_EXPR_DECL(VPOB1
, VPO24
, P18_DESC
, VPO24_DESC
);
1499 SIG_EXPR_DECL(VPOB1
, VPOOFF1
, P18_DESC
, VPOOFF1_DESC
);
1500 SIG_EXPR_LIST_DECL(VPOB1
, SIG_EXPR_PTR(VPOB1
, VPO12
),
1501 SIG_EXPR_PTR(VPOB1
, VPO24
), SIG_EXPR_PTR(VPOB1
, VPOOFF1
));
1502 MS_PIN_DECL(P18
, GPIOZ1
, ROMA3
, VPOB1
);
1505 #define P19_DESC SIG_DESC_SET(SCUA4, 18)
1506 SIG_EXPR_DECL(ROMA4
, ROM8
, P19_DESC
, VPOOFF0_DESC
);
1507 SIG_EXPR_DECL(ROMA4
, ROM16
, P19_DESC
, VPOOFF0_DESC
);
1508 SIG_EXPR_LIST_DECL_DUAL(ROMA4
, ROM8
, ROM16
);
1509 SIG_EXPR_DECL(VPOB2
, VPO12
, P19_DESC
, VPO12_DESC
);
1510 SIG_EXPR_DECL(VPOB2
, VPO24
, P19_DESC
, VPO24_DESC
);
1511 SIG_EXPR_DECL(VPOB2
, VPOOFF1
, P19_DESC
, VPOOFF1_DESC
);
1512 SIG_EXPR_LIST_DECL(VPOB2
, SIG_EXPR_PTR(VPOB2
, VPO12
),
1513 SIG_EXPR_PTR(VPOB2
, VPO24
), SIG_EXPR_PTR(VPOB2
, VPOOFF1
));
1514 MS_PIN_DECL(P19
, GPIOZ2
, ROMA4
, VPOB2
);
1517 #define P20_DESC SIG_DESC_SET(SCUA4, 19)
1518 SIG_EXPR_DECL(ROMA5
, ROM8
, P20_DESC
, VPOOFF0_DESC
);
1519 SIG_EXPR_DECL(ROMA5
, ROM16
, P20_DESC
, VPOOFF0_DESC
);
1520 SIG_EXPR_LIST_DECL_DUAL(ROMA5
, ROM8
, ROM16
);
1521 SIG_EXPR_DECL(VPOB3
, VPO12
, P20_DESC
, VPO12_DESC
);
1522 SIG_EXPR_DECL(VPOB3
, VPO24
, P20_DESC
, VPO24_DESC
);
1523 SIG_EXPR_DECL(VPOB3
, VPOOFF1
, P20_DESC
, VPOOFF1_DESC
);
1524 SIG_EXPR_LIST_DECL(VPOB3
, SIG_EXPR_PTR(VPOB3
, VPO12
),
1525 SIG_EXPR_PTR(VPOB3
, VPO24
), SIG_EXPR_PTR(VPOB3
, VPOOFF1
));
1526 MS_PIN_DECL(P20
, GPIOZ3
, ROMA5
, VPOB3
);
1529 #define P21_DESC SIG_DESC_SET(SCUA4, 20)
1530 SIG_EXPR_DECL(ROMA6
, ROM8
, P21_DESC
, VPOOFF0_DESC
);
1531 SIG_EXPR_DECL(ROMA6
, ROM16
, P21_DESC
, VPOOFF0_DESC
);
1532 SIG_EXPR_LIST_DECL_DUAL(ROMA6
, ROM8
, ROM16
);
1533 SIG_EXPR_DECL(VPOB4
, VPO12
, P21_DESC
, VPO12_DESC
);
1534 SIG_EXPR_DECL(VPOB4
, VPO24
, P21_DESC
, VPO24_DESC
);
1535 SIG_EXPR_DECL(VPOB4
, VPOOFF1
, P21_DESC
, VPOOFF1_DESC
);
1536 SIG_EXPR_LIST_DECL(VPOB4
, SIG_EXPR_PTR(VPOB4
, VPO12
),
1537 SIG_EXPR_PTR(VPOB4
, VPO24
), SIG_EXPR_PTR(VPOB4
, VPOOFF1
));
1538 MS_PIN_DECL(P21
, GPIOZ4
, ROMA6
, VPOB4
);
1541 #define P22_DESC SIG_DESC_SET(SCUA4, 21)
1542 SIG_EXPR_DECL(ROMA7
, ROM8
, P22_DESC
, VPOOFF0_DESC
);
1543 SIG_EXPR_DECL(ROMA7
, ROM16
, P22_DESC
, VPOOFF0_DESC
);
1544 SIG_EXPR_LIST_DECL_DUAL(ROMA7
, ROM8
, ROM16
);
1545 SIG_EXPR_DECL(VPOB5
, VPO12
, P22_DESC
, VPO12_DESC
);
1546 SIG_EXPR_DECL(VPOB5
, VPO24
, P22_DESC
, VPO24_DESC
);
1547 SIG_EXPR_DECL(VPOB5
, VPOOFF1
, P22_DESC
, VPOOFF1_DESC
);
1548 SIG_EXPR_LIST_DECL(VPOB5
, SIG_EXPR_PTR(VPOB5
, VPO12
),
1549 SIG_EXPR_PTR(VPOB5
, VPO24
), SIG_EXPR_PTR(VPOB5
, VPOOFF1
));
1550 MS_PIN_DECL(P22
, GPIOZ5
, ROMA7
, VPOB5
);
1553 #define M19_DESC SIG_DESC_SET(SCUA4, 22)
1554 SIG_EXPR_DECL(ROMA8
, ROM8
, M19_DESC
, VPOOFF0_DESC
);
1555 SIG_EXPR_DECL(ROMA8
, ROM16
, M19_DESC
, VPOOFF0_DESC
);
1556 SIG_EXPR_LIST_DECL_DUAL(ROMA8
, ROM8
, ROM16
);
1557 SIG_EXPR_DECL(VPOB6
, VPO12
, M19_DESC
, VPO12_DESC
);
1558 SIG_EXPR_DECL(VPOB6
, VPO24
, M19_DESC
, VPO24_DESC
);
1559 SIG_EXPR_DECL(VPOB6
, VPOOFF1
, M19_DESC
, VPOOFF1_DESC
);
1560 SIG_EXPR_LIST_DECL(VPOB6
, SIG_EXPR_PTR(VPOB6
, VPO12
),
1561 SIG_EXPR_PTR(VPOB6
, VPO24
), SIG_EXPR_PTR(VPOB6
, VPOOFF1
));
1562 MS_PIN_DECL(M19
, GPIOZ6
, ROMA8
, VPOB6
);
1565 #define M20_DESC SIG_DESC_SET(SCUA4, 23)
1566 SIG_EXPR_DECL(ROMA9
, ROM8
, M20_DESC
, VPOOFF0_DESC
);
1567 SIG_EXPR_DECL(ROMA9
, ROM16
, M20_DESC
, VPOOFF0_DESC
);
1568 SIG_EXPR_LIST_DECL_DUAL(ROMA9
, ROM8
, ROM16
);
1569 SIG_EXPR_DECL(VPOB7
, VPO12
, M20_DESC
, VPO12_DESC
);
1570 SIG_EXPR_DECL(VPOB7
, VPO24
, M20_DESC
, VPO24_DESC
);
1571 SIG_EXPR_DECL(VPOB7
, VPOOFF1
, M20_DESC
, VPOOFF1_DESC
);
1572 SIG_EXPR_LIST_DECL(VPOB7
, SIG_EXPR_PTR(VPOB7
, VPO12
),
1573 SIG_EXPR_PTR(VPOB7
, VPO24
), SIG_EXPR_PTR(VPOB7
, VPOOFF1
));
1574 MS_PIN_DECL(M20
, GPIOZ7
, ROMA9
, VPOB7
);
1577 #define M21_DESC SIG_DESC_SET(SCUA4, 24)
1578 SIG_EXPR_DECL(ROMA10
, ROM8
, M21_DESC
, VPOOFF0_DESC
);
1579 SIG_EXPR_DECL(ROMA10
, ROM16
, M21_DESC
, VPOOFF0_DESC
);
1580 SIG_EXPR_LIST_DECL_DUAL(ROMA10
, ROM8
, ROM16
);
1581 SIG_EXPR_DECL(VPOG0
, VPO12
, M21_DESC
, VPO12_DESC
);
1582 SIG_EXPR_DECL(VPOG0
, VPO24
, M21_DESC
, VPO24_DESC
);
1583 SIG_EXPR_DECL(VPOG0
, VPOOFF1
, M21_DESC
, VPOOFF1_DESC
);
1584 SIG_EXPR_LIST_DECL(VPOG0
, SIG_EXPR_PTR(VPOG0
, VPO12
),
1585 SIG_EXPR_PTR(VPOG0
, VPO24
), SIG_EXPR_PTR(VPOG0
, VPOOFF1
));
1586 MS_PIN_DECL(M21
, GPIOAA0
, ROMA10
, VPOG0
);
1589 #define M22_DESC SIG_DESC_SET(SCUA4, 25)
1590 SIG_EXPR_DECL(ROMA11
, ROM8
, M22_DESC
, VPOOFF0_DESC
);
1591 SIG_EXPR_DECL(ROMA11
, ROM16
, M22_DESC
, VPOOFF0_DESC
);
1592 SIG_EXPR_LIST_DECL_DUAL(ROMA11
, ROM8
, ROM16
);
1593 SIG_EXPR_DECL(VPOG1
, VPO12
, M22_DESC
, VPO12_DESC
);
1594 SIG_EXPR_DECL(VPOG1
, VPO24
, M22_DESC
, VPO24_DESC
);
1595 SIG_EXPR_DECL(VPOG1
, VPOOFF1
, M22_DESC
, VPOOFF1_DESC
);
1596 SIG_EXPR_LIST_DECL(VPOG1
, SIG_EXPR_PTR(VPOG1
, VPO12
),
1597 SIG_EXPR_PTR(VPOG1
, VPO24
), SIG_EXPR_PTR(VPOG1
, VPOOFF1
));
1598 MS_PIN_DECL(M22
, GPIOAA1
, ROMA11
, VPOG1
);
1601 #define L18_DESC SIG_DESC_SET(SCUA4, 26)
1602 SIG_EXPR_DECL(ROMA12
, ROM8
, L18_DESC
, VPOOFF0_DESC
);
1603 SIG_EXPR_DECL(ROMA12
, ROM16
, L18_DESC
, VPOOFF0_DESC
);
1604 SIG_EXPR_LIST_DECL_DUAL(ROMA12
, ROM8
, ROM16
);
1605 SIG_EXPR_DECL(VPOG2
, VPO12
, L18_DESC
, VPO12_DESC
);
1606 SIG_EXPR_DECL(VPOG2
, VPO24
, L18_DESC
, VPO24_DESC
);
1607 SIG_EXPR_DECL(VPOG2
, VPOOFF1
, L18_DESC
, VPOOFF1_DESC
);
1608 SIG_EXPR_LIST_DECL(VPOG2
, SIG_EXPR_PTR(VPOG2
, VPO12
),
1609 SIG_EXPR_PTR(VPOG2
, VPO24
), SIG_EXPR_PTR(VPOG2
, VPOOFF1
));
1610 MS_PIN_DECL(L18
, GPIOAA2
, ROMA12
, VPOG2
);
1613 #define L19_DESC SIG_DESC_SET(SCUA4, 27)
1614 SIG_EXPR_DECL(ROMA13
, ROM8
, L19_DESC
, VPOOFF0_DESC
);
1615 SIG_EXPR_DECL(ROMA13
, ROM16
, L19_DESC
, VPOOFF0_DESC
);
1616 SIG_EXPR_LIST_DECL_DUAL(ROMA13
, ROM8
, ROM16
);
1617 SIG_EXPR_DECL(VPOG3
, VPO12
, L19_DESC
, VPO12_DESC
);
1618 SIG_EXPR_DECL(VPOG3
, VPO24
, L19_DESC
, VPO24_DESC
);
1619 SIG_EXPR_DECL(VPOG3
, VPOOFF1
, L19_DESC
, VPOOFF1_DESC
);
1620 SIG_EXPR_LIST_DECL(VPOG3
, SIG_EXPR_PTR(VPOG3
, VPO12
),
1621 SIG_EXPR_PTR(VPOG3
, VPO24
), SIG_EXPR_PTR(VPOG3
, VPOOFF1
));
1622 MS_PIN_DECL(L19
, GPIOAA3
, ROMA13
, VPOG3
);
1625 #define L20_DESC SIG_DESC_SET(SCUA4, 28)
1626 SIG_EXPR_DECL(ROMA14
, ROM8
, L20_DESC
, VPO_OFF_12
);
1627 SIG_EXPR_DECL(ROMA14
, ROM16
, L20_DESC
, VPO_OFF_12
);
1628 SIG_EXPR_LIST_DECL_DUAL(ROMA14
, ROM8
, ROM16
);
1629 SIG_EXPR_DECL(VPOG4
, VPO24
, L20_DESC
, VPO24_DESC
);
1630 SIG_EXPR_DECL(VPOG4
, VPOOFF1
, L20_DESC
, VPOOFF1_DESC
);
1631 SIG_EXPR_LIST_DECL_DUAL(VPOG4
, VPO24
, VPOOFF1
);
1632 MS_PIN_DECL(L20
, GPIOAA4
, ROMA14
, VPOG4
);
1635 #define L21_DESC SIG_DESC_SET(SCUA4, 29)
1636 SIG_EXPR_DECL(ROMA15
, ROM8
, L21_DESC
, VPO_OFF_12
);
1637 SIG_EXPR_DECL(ROMA15
, ROM16
, L21_DESC
, VPO_OFF_12
);
1638 SIG_EXPR_LIST_DECL_DUAL(ROMA15
, ROM8
, ROM16
);
1639 SIG_EXPR_DECL(VPOG5
, VPO24
, L21_DESC
, VPO24_DESC
);
1640 SIG_EXPR_DECL(VPOG5
, VPOOFF1
, L21_DESC
, VPOOFF1_DESC
);
1641 SIG_EXPR_LIST_DECL_DUAL(VPOG5
, VPO24
, VPOOFF1
);
1642 MS_PIN_DECL(L21
, GPIOAA5
, ROMA15
, VPOG5
);
1645 #define T18_DESC SIG_DESC_SET(SCUA4, 30)
1646 SIG_EXPR_DECL(ROMA16
, ROM8
, T18_DESC
, VPO_OFF_12
);
1647 SIG_EXPR_DECL(ROMA16
, ROM16
, T18_DESC
, VPO_OFF_12
);
1648 SIG_EXPR_LIST_DECL_DUAL(ROMA16
, ROM8
, ROM16
);
1649 SIG_EXPR_DECL(VPOG6
, VPO24
, T18_DESC
, VPO24_DESC
);
1650 SIG_EXPR_DECL(VPOG6
, VPOOFF1
, T18_DESC
, VPOOFF1_DESC
);
1651 SIG_EXPR_LIST_DECL_DUAL(VPOG6
, VPO24
, VPOOFF1
);
1652 MS_PIN_DECL(T18
, GPIOAA6
, ROMA16
, VPOG6
);
1655 #define N18_DESC SIG_DESC_SET(SCUA4, 31)
1656 SIG_EXPR_DECL(ROMA17
, ROM8
, N18_DESC
, VPO_OFF_12
);
1657 SIG_EXPR_DECL(ROMA17
, ROM16
, N18_DESC
, VPO_OFF_12
);
1658 SIG_EXPR_LIST_DECL_DUAL(ROMA17
, ROM8
, ROM16
);
1659 SIG_EXPR_DECL(VPOG7
, VPO24
, N18_DESC
, VPO24_DESC
);
1660 SIG_EXPR_DECL(VPOG7
, VPOOFF1
, N18_DESC
, VPOOFF1_DESC
);
1661 SIG_EXPR_LIST_DECL_DUAL(VPOG7
, VPO24
, VPOOFF1
);
1662 MS_PIN_DECL(N18
, GPIOAA7
, ROMA17
, VPOG7
);
1665 #define N19_DESC SIG_DESC_SET(SCUA8, 0)
1666 SIG_EXPR_DECL(ROMA18
, ROM8
, N19_DESC
, VPO_OFF_12
);
1667 SIG_EXPR_DECL(ROMA18
, ROM16
, N19_DESC
, VPO_OFF_12
);
1668 SIG_EXPR_LIST_DECL_DUAL(ROMA18
, ROM8
, ROM16
);
1669 SIG_EXPR_DECL(VPOR0
, VPO24
, N19_DESC
, VPO24_DESC
);
1670 SIG_EXPR_DECL(VPOR0
, VPOOFF1
, N19_DESC
, VPOOFF1_DESC
);
1671 SIG_EXPR_LIST_DECL_DUAL(VPOR0
, VPO24
, VPOOFF1
);
1672 MS_PIN_DECL(N19
, GPIOAB0
, ROMA18
, VPOR0
);
1675 #define M18_DESC SIG_DESC_SET(SCUA8, 1)
1676 SIG_EXPR_DECL(ROMA19
, ROM8
, M18_DESC
, VPO_OFF_12
);
1677 SIG_EXPR_DECL(ROMA19
, ROM16
, M18_DESC
, VPO_OFF_12
);
1678 SIG_EXPR_LIST_DECL_DUAL(ROMA19
, ROM8
, ROM16
);
1679 SIG_EXPR_DECL(VPOR1
, VPO24
, M18_DESC
, VPO24_DESC
);
1680 SIG_EXPR_DECL(VPOR1
, VPOOFF1
, M18_DESC
, VPOOFF1_DESC
);
1681 SIG_EXPR_LIST_DECL_DUAL(VPOR1
, VPO24
, VPOOFF1
);
1682 MS_PIN_DECL(M18
, GPIOAB1
, ROMA19
, VPOR1
);
1685 #define N22_DESC SIG_DESC_SET(SCUA8, 2)
1686 SIG_EXPR_DECL(ROMA20
, ROM8
, N22_DESC
, VPO_OFF_12
);
1687 SIG_EXPR_DECL(ROMA20
, ROM16
, N22_DESC
, VPO_OFF_12
);
1688 SIG_EXPR_LIST_DECL_DUAL(ROMA20
, ROM8
, ROM16
);
1689 SIG_EXPR_DECL(VPOR2
, VPO24
, N22_DESC
, VPO24_DESC
);
1690 SIG_EXPR_DECL(VPOR2
, VPOOFF1
, N22_DESC
, VPOOFF1_DESC
);
1691 SIG_EXPR_LIST_DECL_DUAL(VPOR2
, VPO24
, VPOOFF1
);
1692 MS_PIN_DECL(N22
, GPIOAB2
, ROMA20
, VPOR2
);
1695 #define N20_DESC SIG_DESC_SET(SCUA8, 3)
1696 SIG_EXPR_DECL(ROMA21
, ROM8
, N20_DESC
, VPO_OFF_12
);
1697 SIG_EXPR_DECL(ROMA21
, ROM16
, N20_DESC
, VPO_OFF_12
);
1698 SIG_EXPR_LIST_DECL_DUAL(ROMA21
, ROM8
, ROM16
);
1699 SIG_EXPR_DECL(VPOR3
, VPO24
, N20_DESC
, VPO24_DESC
);
1700 SIG_EXPR_DECL(VPOR3
, VPOOFF1
, N20_DESC
, VPOOFF1_DESC
);
1701 SIG_EXPR_LIST_DECL_DUAL(VPOR3
, VPO24
, VPOOFF1
);
1702 MS_PIN_DECL(N20
, GPIOAB3
, ROMA21
, VPOR3
);
1704 FUNC_GROUP_DECL(ROM8
, V20
, U21
, T19
, V22
, U20
, R18
, N21
, L22
, K18
, W21
, Y22
,
1705 U19
, R22
, P18
, P19
, P20
, P21
, P22
, M19
, M20
, M21
, M22
, L18
,
1706 L19
, L20
, L21
, T18
, N18
, N19
, M18
, N22
, N20
);
1707 FUNC_GROUP_DECL(ROM16
, V20
, U21
, T19
, V22
, U20
, R18
, N21
, L22
, K18
,
1708 A8
, C7
, B7
, A7
, D7
, B6
, A6
, E7
, W21
, Y22
, U19
, R22
, P18
, P19
,
1709 P20
, P21
, P22
, M19
, M20
, M21
, M22
, L18
, L19
, L20
, L21
, T18
,
1710 N18
, N19
, M18
, N22
, N20
);
1711 FUNC_GROUP_DECL(VPO12
, U21
, T19
, V22
, U20
, R22
, P18
, P19
, P20
, P21
, P22
, M19
,
1712 M20
, M21
, M22
, L18
, L19
, L20
, L21
, T18
, N18
, N19
, M18
, N22
,
1714 FUNC_GROUP_DECL(VPO24
, U21
, T19
, V22
, U20
, L22
, K18
, V21
, W22
, R22
, P18
, P19
,
1715 P20
, P21
, P22
, M19
, M20
, M21
, M22
, L18
, L19
);
1717 #define USB11H2_DESC SIG_DESC_SET(SCU90, 3)
1718 #define USB11D1_DESC SIG_DESC_BIT(SCU90, 3, 0)
1721 SIG_EXPR_LIST_DECL_SINGLE(USB11HDP2
, USB11H2
, USB11H2_DESC
);
1722 SIG_EXPR_LIST_DECL_SINGLE(USB11DP1
, USB11D1
, USB11D1_DESC
);
1723 MS_PIN_DECL_(K4
, SIG_EXPR_LIST_PTR(USB11HDP2
), SIG_EXPR_LIST_PTR(USB11DP1
));
1726 SIG_EXPR_LIST_DECL_SINGLE(USB11HDN1
, USB11H2
, USB11H2_DESC
);
1727 SIG_EXPR_LIST_DECL_SINGLE(USB11DDN1
, USB11D1
, USB11D1_DESC
);
1728 MS_PIN_DECL_(K3
, SIG_EXPR_LIST_PTR(USB11HDN1
), SIG_EXPR_LIST_PTR(USB11DDN1
));
1730 FUNC_GROUP_DECL(USB11H2
, K4
, K3
);
1731 FUNC_GROUP_DECL(USB11D1
, K4
, K3
);
1733 #define USB2H1_DESC SIG_DESC_SET(SCU90, 29)
1734 #define USB2D1_DESC SIG_DESC_BIT(SCU90, 29, 0)
1737 SIG_EXPR_LIST_DECL_SINGLE(USB2HDP1
, USB2H1
, USB2H1_DESC
);
1738 SIG_EXPR_LIST_DECL_SINGLE(USB2DDP1
, USB2D1
, USB2D1_DESC
);
1739 MS_PIN_DECL_(AB21
, SIG_EXPR_LIST_PTR(USB2HDP1
), SIG_EXPR_LIST_PTR(USB2DDP1
));
1742 SIG_EXPR_LIST_DECL_SINGLE(USB2HDN1
, USB2H1
, USB2H1_DESC
);
1743 SIG_EXPR_LIST_DECL_SINGLE(USB2DDN1
, USB2D1
, USB2D1_DESC
);
1744 MS_PIN_DECL_(AB20
, SIG_EXPR_LIST_PTR(USB2HDN1
), SIG_EXPR_LIST_PTR(USB2DDN1
));
1746 FUNC_GROUP_DECL(USB2H1
, AB21
, AB20
);
1747 FUNC_GROUP_DECL(USB2D1
, AB21
, AB20
);
1749 /* Note we account for GPIOY4-GPIOY7 even though they're not valid, thus 216
1750 * pins becomes 220. Four additional non-GPIO-capable pins are present for USB.
1752 #define ASPEED_G4_NR_PINS 224
1754 /* Pins, groups and functions are sort(1):ed alphabetically for sanity */
1756 static struct pinctrl_pin_desc aspeed_g4_pins
[ASPEED_G4_NR_PINS
] = {
1757 ASPEED_PINCTRL_PIN(A1
),
1758 ASPEED_PINCTRL_PIN(A10
),
1759 ASPEED_PINCTRL_PIN(A11
),
1760 ASPEED_PINCTRL_PIN(A12
),
1761 ASPEED_PINCTRL_PIN(A13
),
1762 ASPEED_PINCTRL_PIN(A14
),
1763 ASPEED_PINCTRL_PIN(A15
),
1764 ASPEED_PINCTRL_PIN(A16
),
1765 ASPEED_PINCTRL_PIN(A17
),
1766 ASPEED_PINCTRL_PIN(A18
),
1767 ASPEED_PINCTRL_PIN(A19
),
1768 ASPEED_PINCTRL_PIN(A2
),
1769 ASPEED_PINCTRL_PIN(A20
),
1770 ASPEED_PINCTRL_PIN(A3
),
1771 ASPEED_PINCTRL_PIN(A4
),
1772 ASPEED_PINCTRL_PIN(A5
),
1773 ASPEED_PINCTRL_PIN(A6
),
1774 ASPEED_PINCTRL_PIN(A7
),
1775 ASPEED_PINCTRL_PIN(A8
),
1776 ASPEED_PINCTRL_PIN(A9
),
1777 ASPEED_PINCTRL_PIN(AA1
),
1778 ASPEED_PINCTRL_PIN(AA2
),
1779 ASPEED_PINCTRL_PIN(AA22
),
1780 ASPEED_PINCTRL_PIN(AA3
),
1781 ASPEED_PINCTRL_PIN(AA4
),
1782 ASPEED_PINCTRL_PIN(AA5
),
1783 ASPEED_PINCTRL_PIN(AA6
),
1784 ASPEED_PINCTRL_PIN(AA7
),
1785 ASPEED_PINCTRL_PIN(AB1
),
1786 ASPEED_PINCTRL_PIN(AB2
),
1787 ASPEED_PINCTRL_PIN(AB3
),
1788 ASPEED_PINCTRL_PIN(AB4
),
1789 ASPEED_PINCTRL_PIN(AB5
),
1790 ASPEED_PINCTRL_PIN(AB6
),
1791 ASPEED_PINCTRL_PIN(AB7
),
1792 ASPEED_PINCTRL_PIN(AB20
),
1793 ASPEED_PINCTRL_PIN(AB21
),
1794 ASPEED_PINCTRL_PIN(B1
),
1795 ASPEED_PINCTRL_PIN(B10
),
1796 ASPEED_PINCTRL_PIN(B11
),
1797 ASPEED_PINCTRL_PIN(B12
),
1798 ASPEED_PINCTRL_PIN(B13
),
1799 ASPEED_PINCTRL_PIN(B14
),
1800 ASPEED_PINCTRL_PIN(B15
),
1801 ASPEED_PINCTRL_PIN(B16
),
1802 ASPEED_PINCTRL_PIN(B17
),
1803 ASPEED_PINCTRL_PIN(B18
),
1804 ASPEED_PINCTRL_PIN(B19
),
1805 ASPEED_PINCTRL_PIN(B2
),
1806 ASPEED_PINCTRL_PIN(B22
),
1807 ASPEED_PINCTRL_PIN(B3
),
1808 ASPEED_PINCTRL_PIN(B4
),
1809 ASPEED_PINCTRL_PIN(B5
),
1810 ASPEED_PINCTRL_PIN(B6
),
1811 ASPEED_PINCTRL_PIN(B7
),
1812 ASPEED_PINCTRL_PIN(B9
),
1813 ASPEED_PINCTRL_PIN(C1
),
1814 ASPEED_PINCTRL_PIN(C10
),
1815 ASPEED_PINCTRL_PIN(C11
),
1816 ASPEED_PINCTRL_PIN(C12
),
1817 ASPEED_PINCTRL_PIN(C13
),
1818 ASPEED_PINCTRL_PIN(C14
),
1819 ASPEED_PINCTRL_PIN(C15
),
1820 ASPEED_PINCTRL_PIN(C16
),
1821 ASPEED_PINCTRL_PIN(C17
),
1822 ASPEED_PINCTRL_PIN(C18
),
1823 ASPEED_PINCTRL_PIN(C2
),
1824 ASPEED_PINCTRL_PIN(C20
),
1825 ASPEED_PINCTRL_PIN(C21
),
1826 ASPEED_PINCTRL_PIN(C22
),
1827 ASPEED_PINCTRL_PIN(C3
),
1828 ASPEED_PINCTRL_PIN(C4
),
1829 ASPEED_PINCTRL_PIN(C5
),
1830 ASPEED_PINCTRL_PIN(C6
),
1831 ASPEED_PINCTRL_PIN(C7
),
1832 ASPEED_PINCTRL_PIN(C8
),
1833 ASPEED_PINCTRL_PIN(C9
),
1834 ASPEED_PINCTRL_PIN(D1
),
1835 ASPEED_PINCTRL_PIN(D10
),
1836 ASPEED_PINCTRL_PIN(D11
),
1837 ASPEED_PINCTRL_PIN(D12
),
1838 ASPEED_PINCTRL_PIN(D13
),
1839 ASPEED_PINCTRL_PIN(D14
),
1840 ASPEED_PINCTRL_PIN(D15
),
1841 ASPEED_PINCTRL_PIN(D16
),
1842 ASPEED_PINCTRL_PIN(D17
),
1843 ASPEED_PINCTRL_PIN(D18
),
1844 ASPEED_PINCTRL_PIN(D19
),
1845 ASPEED_PINCTRL_PIN(D2
),
1846 ASPEED_PINCTRL_PIN(D3
),
1847 ASPEED_PINCTRL_PIN(D4
),
1848 ASPEED_PINCTRL_PIN(D5
),
1849 ASPEED_PINCTRL_PIN(D6
),
1850 ASPEED_PINCTRL_PIN(D7
),
1851 ASPEED_PINCTRL_PIN(D8
),
1852 ASPEED_PINCTRL_PIN(D9
),
1853 ASPEED_PINCTRL_PIN(E10
),
1854 ASPEED_PINCTRL_PIN(E11
),
1855 ASPEED_PINCTRL_PIN(E12
),
1856 ASPEED_PINCTRL_PIN(E13
),
1857 ASPEED_PINCTRL_PIN(E14
),
1858 ASPEED_PINCTRL_PIN(E15
),
1859 ASPEED_PINCTRL_PIN(E16
),
1860 ASPEED_PINCTRL_PIN(E18
),
1861 ASPEED_PINCTRL_PIN(E19
),
1862 ASPEED_PINCTRL_PIN(E2
),
1863 ASPEED_PINCTRL_PIN(E20
),
1864 ASPEED_PINCTRL_PIN(E3
),
1865 ASPEED_PINCTRL_PIN(E5
),
1866 ASPEED_PINCTRL_PIN(E6
),
1867 ASPEED_PINCTRL_PIN(E7
),
1868 ASPEED_PINCTRL_PIN(E8
),
1869 ASPEED_PINCTRL_PIN(E9
),
1870 ASPEED_PINCTRL_PIN(F18
),
1871 ASPEED_PINCTRL_PIN(F20
),
1872 ASPEED_PINCTRL_PIN(F3
),
1873 ASPEED_PINCTRL_PIN(F4
),
1874 ASPEED_PINCTRL_PIN(F5
),
1875 ASPEED_PINCTRL_PIN(G18
),
1876 ASPEED_PINCTRL_PIN(G19
),
1877 ASPEED_PINCTRL_PIN(G20
),
1878 ASPEED_PINCTRL_PIN(G5
),
1879 ASPEED_PINCTRL_PIN(H1
),
1880 ASPEED_PINCTRL_PIN(H18
),
1881 ASPEED_PINCTRL_PIN(H19
),
1882 ASPEED_PINCTRL_PIN(H2
),
1883 ASPEED_PINCTRL_PIN(H20
),
1884 ASPEED_PINCTRL_PIN(H3
),
1885 ASPEED_PINCTRL_PIN(H4
),
1886 ASPEED_PINCTRL_PIN(J20
),
1887 ASPEED_PINCTRL_PIN(J21
),
1888 ASPEED_PINCTRL_PIN(J3
),
1889 ASPEED_PINCTRL_PIN(J4
),
1890 ASPEED_PINCTRL_PIN(J5
),
1891 ASPEED_PINCTRL_PIN(K18
),
1892 ASPEED_PINCTRL_PIN(K20
),
1893 ASPEED_PINCTRL_PIN(K3
),
1894 ASPEED_PINCTRL_PIN(K4
),
1895 ASPEED_PINCTRL_PIN(K5
),
1896 ASPEED_PINCTRL_PIN(L1
),
1897 ASPEED_PINCTRL_PIN(L18
),
1898 ASPEED_PINCTRL_PIN(L19
),
1899 ASPEED_PINCTRL_PIN(L2
),
1900 ASPEED_PINCTRL_PIN(L20
),
1901 ASPEED_PINCTRL_PIN(L21
),
1902 ASPEED_PINCTRL_PIN(L22
),
1903 ASPEED_PINCTRL_PIN(L3
),
1904 ASPEED_PINCTRL_PIN(L4
),
1905 ASPEED_PINCTRL_PIN(L5
),
1906 ASPEED_PINCTRL_PIN(M1
),
1907 ASPEED_PINCTRL_PIN(M18
),
1908 ASPEED_PINCTRL_PIN(M19
),
1909 ASPEED_PINCTRL_PIN(M2
),
1910 ASPEED_PINCTRL_PIN(M20
),
1911 ASPEED_PINCTRL_PIN(M21
),
1912 ASPEED_PINCTRL_PIN(M22
),
1913 ASPEED_PINCTRL_PIN(M3
),
1914 ASPEED_PINCTRL_PIN(M4
),
1915 ASPEED_PINCTRL_PIN(M5
),
1916 ASPEED_PINCTRL_PIN(N1
),
1917 ASPEED_PINCTRL_PIN(N18
),
1918 ASPEED_PINCTRL_PIN(N19
),
1919 ASPEED_PINCTRL_PIN(N2
),
1920 ASPEED_PINCTRL_PIN(N20
),
1921 ASPEED_PINCTRL_PIN(N21
),
1922 ASPEED_PINCTRL_PIN(N22
),
1923 ASPEED_PINCTRL_PIN(N3
),
1924 ASPEED_PINCTRL_PIN(N4
),
1925 ASPEED_PINCTRL_PIN(N5
),
1926 ASPEED_PINCTRL_PIN(P18
),
1927 ASPEED_PINCTRL_PIN(P19
),
1928 ASPEED_PINCTRL_PIN(P20
),
1929 ASPEED_PINCTRL_PIN(P21
),
1930 ASPEED_PINCTRL_PIN(P22
),
1931 ASPEED_PINCTRL_PIN(P5
),
1932 ASPEED_PINCTRL_PIN(R18
),
1933 ASPEED_PINCTRL_PIN(R22
),
1934 ASPEED_PINCTRL_PIN(T1
),
1935 ASPEED_PINCTRL_PIN(T18
),
1936 ASPEED_PINCTRL_PIN(T19
),
1937 ASPEED_PINCTRL_PIN(T2
),
1938 ASPEED_PINCTRL_PIN(T4
),
1939 ASPEED_PINCTRL_PIN(T5
),
1940 ASPEED_PINCTRL_PIN(U1
),
1941 ASPEED_PINCTRL_PIN(U18
),
1942 ASPEED_PINCTRL_PIN(U19
),
1943 ASPEED_PINCTRL_PIN(U2
),
1944 ASPEED_PINCTRL_PIN(U20
),
1945 ASPEED_PINCTRL_PIN(U21
),
1946 ASPEED_PINCTRL_PIN(U3
),
1947 ASPEED_PINCTRL_PIN(U4
),
1948 ASPEED_PINCTRL_PIN(U5
),
1949 ASPEED_PINCTRL_PIN(V1
),
1950 ASPEED_PINCTRL_PIN(V2
),
1951 ASPEED_PINCTRL_PIN(V20
),
1952 ASPEED_PINCTRL_PIN(V21
),
1953 ASPEED_PINCTRL_PIN(V22
),
1954 ASPEED_PINCTRL_PIN(V3
),
1955 ASPEED_PINCTRL_PIN(V4
),
1956 ASPEED_PINCTRL_PIN(V5
),
1957 ASPEED_PINCTRL_PIN(V6
),
1958 ASPEED_PINCTRL_PIN(V7
),
1959 ASPEED_PINCTRL_PIN(W1
),
1960 ASPEED_PINCTRL_PIN(W2
),
1961 ASPEED_PINCTRL_PIN(W21
),
1962 ASPEED_PINCTRL_PIN(W22
),
1963 ASPEED_PINCTRL_PIN(W3
),
1964 ASPEED_PINCTRL_PIN(W4
),
1965 ASPEED_PINCTRL_PIN(W5
),
1966 ASPEED_PINCTRL_PIN(W6
),
1967 ASPEED_PINCTRL_PIN(W7
),
1968 ASPEED_PINCTRL_PIN(Y1
),
1969 ASPEED_PINCTRL_PIN(Y2
),
1970 ASPEED_PINCTRL_PIN(Y21
),
1971 ASPEED_PINCTRL_PIN(Y22
),
1972 ASPEED_PINCTRL_PIN(Y3
),
1973 ASPEED_PINCTRL_PIN(Y4
),
1974 ASPEED_PINCTRL_PIN(Y5
),
1975 ASPEED_PINCTRL_PIN(Y6
),
1976 ASPEED_PINCTRL_PIN(Y7
),
1979 static const struct aspeed_pin_group aspeed_g4_groups
[] = {
1980 ASPEED_PINCTRL_GROUP(ACPI
),
1981 ASPEED_PINCTRL_GROUP(ADC0
),
1982 ASPEED_PINCTRL_GROUP(ADC1
),
1983 ASPEED_PINCTRL_GROUP(ADC10
),
1984 ASPEED_PINCTRL_GROUP(ADC11
),
1985 ASPEED_PINCTRL_GROUP(ADC12
),
1986 ASPEED_PINCTRL_GROUP(ADC13
),
1987 ASPEED_PINCTRL_GROUP(ADC14
),
1988 ASPEED_PINCTRL_GROUP(ADC15
),
1989 ASPEED_PINCTRL_GROUP(ADC2
),
1990 ASPEED_PINCTRL_GROUP(ADC3
),
1991 ASPEED_PINCTRL_GROUP(ADC4
),
1992 ASPEED_PINCTRL_GROUP(ADC5
),
1993 ASPEED_PINCTRL_GROUP(ADC6
),
1994 ASPEED_PINCTRL_GROUP(ADC7
),
1995 ASPEED_PINCTRL_GROUP(ADC8
),
1996 ASPEED_PINCTRL_GROUP(ADC9
),
1997 ASPEED_PINCTRL_GROUP(BMCINT
),
1998 ASPEED_PINCTRL_GROUP(DDCCLK
),
1999 ASPEED_PINCTRL_GROUP(DDCDAT
),
2000 ASPEED_PINCTRL_GROUP(EXTRST
),
2001 ASPEED_PINCTRL_GROUP(FLACK
),
2002 ASPEED_PINCTRL_GROUP(FLBUSY
),
2003 ASPEED_PINCTRL_GROUP(FLWP
),
2004 ASPEED_PINCTRL_GROUP(GPID
),
2005 ASPEED_PINCTRL_GROUP(GPID0
),
2006 ASPEED_PINCTRL_GROUP(GPID2
),
2007 ASPEED_PINCTRL_GROUP(GPID4
),
2008 ASPEED_PINCTRL_GROUP(GPID6
),
2009 ASPEED_PINCTRL_GROUP(GPIE0
),
2010 ASPEED_PINCTRL_GROUP(GPIE2
),
2011 ASPEED_PINCTRL_GROUP(GPIE4
),
2012 ASPEED_PINCTRL_GROUP(GPIE6
),
2013 ASPEED_PINCTRL_GROUP(I2C10
),
2014 ASPEED_PINCTRL_GROUP(I2C11
),
2015 ASPEED_PINCTRL_GROUP(I2C12
),
2016 ASPEED_PINCTRL_GROUP(I2C13
),
2017 ASPEED_PINCTRL_GROUP(I2C14
),
2018 ASPEED_PINCTRL_GROUP(I2C3
),
2019 ASPEED_PINCTRL_GROUP(I2C4
),
2020 ASPEED_PINCTRL_GROUP(I2C5
),
2021 ASPEED_PINCTRL_GROUP(I2C6
),
2022 ASPEED_PINCTRL_GROUP(I2C7
),
2023 ASPEED_PINCTRL_GROUP(I2C8
),
2024 ASPEED_PINCTRL_GROUP(I2C9
),
2025 ASPEED_PINCTRL_GROUP(LPCPD
),
2026 ASPEED_PINCTRL_GROUP(LPCPME
),
2027 ASPEED_PINCTRL_GROUP(LPCRST
),
2028 ASPEED_PINCTRL_GROUP(LPCSMI
),
2029 ASPEED_PINCTRL_GROUP(MAC1LINK
),
2030 ASPEED_PINCTRL_GROUP(MAC2LINK
),
2031 ASPEED_PINCTRL_GROUP(MDIO1
),
2032 ASPEED_PINCTRL_GROUP(MDIO2
),
2033 ASPEED_PINCTRL_GROUP(NCTS1
),
2034 ASPEED_PINCTRL_GROUP(NCTS2
),
2035 ASPEED_PINCTRL_GROUP(NCTS3
),
2036 ASPEED_PINCTRL_GROUP(NCTS4
),
2037 ASPEED_PINCTRL_GROUP(NDCD1
),
2038 ASPEED_PINCTRL_GROUP(NDCD2
),
2039 ASPEED_PINCTRL_GROUP(NDCD3
),
2040 ASPEED_PINCTRL_GROUP(NDCD4
),
2041 ASPEED_PINCTRL_GROUP(NDSR1
),
2042 ASPEED_PINCTRL_GROUP(NDSR2
),
2043 ASPEED_PINCTRL_GROUP(NDSR3
),
2044 ASPEED_PINCTRL_GROUP(NDSR4
),
2045 ASPEED_PINCTRL_GROUP(NDTR1
),
2046 ASPEED_PINCTRL_GROUP(NDTR2
),
2047 ASPEED_PINCTRL_GROUP(NDTR3
),
2048 ASPEED_PINCTRL_GROUP(NDTR4
),
2049 ASPEED_PINCTRL_GROUP(NDTS4
),
2050 ASPEED_PINCTRL_GROUP(NRI1
),
2051 ASPEED_PINCTRL_GROUP(NRI2
),
2052 ASPEED_PINCTRL_GROUP(NRI3
),
2053 ASPEED_PINCTRL_GROUP(NRI4
),
2054 ASPEED_PINCTRL_GROUP(NRTS1
),
2055 ASPEED_PINCTRL_GROUP(NRTS2
),
2056 ASPEED_PINCTRL_GROUP(NRTS3
),
2057 ASPEED_PINCTRL_GROUP(OSCCLK
),
2058 ASPEED_PINCTRL_GROUP(PWM0
),
2059 ASPEED_PINCTRL_GROUP(PWM1
),
2060 ASPEED_PINCTRL_GROUP(PWM2
),
2061 ASPEED_PINCTRL_GROUP(PWM3
),
2062 ASPEED_PINCTRL_GROUP(PWM4
),
2063 ASPEED_PINCTRL_GROUP(PWM5
),
2064 ASPEED_PINCTRL_GROUP(PWM6
),
2065 ASPEED_PINCTRL_GROUP(PWM7
),
2066 ASPEED_PINCTRL_GROUP(RGMII1
),
2067 ASPEED_PINCTRL_GROUP(RGMII2
),
2068 ASPEED_PINCTRL_GROUP(RMII1
),
2069 ASPEED_PINCTRL_GROUP(RMII2
),
2070 ASPEED_PINCTRL_GROUP(ROM16
),
2071 ASPEED_PINCTRL_GROUP(ROM8
),
2072 ASPEED_PINCTRL_GROUP(ROMCS1
),
2073 ASPEED_PINCTRL_GROUP(ROMCS2
),
2074 ASPEED_PINCTRL_GROUP(ROMCS3
),
2075 ASPEED_PINCTRL_GROUP(ROMCS4
),
2076 ASPEED_PINCTRL_GROUP(RXD1
),
2077 ASPEED_PINCTRL_GROUP(RXD2
),
2078 ASPEED_PINCTRL_GROUP(RXD3
),
2079 ASPEED_PINCTRL_GROUP(RXD4
),
2080 ASPEED_PINCTRL_GROUP(SALT1
),
2081 ASPEED_PINCTRL_GROUP(SALT2
),
2082 ASPEED_PINCTRL_GROUP(SALT3
),
2083 ASPEED_PINCTRL_GROUP(SALT4
),
2084 ASPEED_PINCTRL_GROUP(SD1
),
2085 ASPEED_PINCTRL_GROUP(SD2
),
2086 ASPEED_PINCTRL_GROUP(SGPMCK
),
2087 ASPEED_PINCTRL_GROUP(SGPMI
),
2088 ASPEED_PINCTRL_GROUP(SGPMLD
),
2089 ASPEED_PINCTRL_GROUP(SGPMO
),
2090 ASPEED_PINCTRL_GROUP(SGPSCK
),
2091 ASPEED_PINCTRL_GROUP(SGPSI0
),
2092 ASPEED_PINCTRL_GROUP(SGPSI1
),
2093 ASPEED_PINCTRL_GROUP(SGPSLD
),
2094 ASPEED_PINCTRL_GROUP(SIOONCTRL
),
2095 ASPEED_PINCTRL_GROUP(SIOPBI
),
2096 ASPEED_PINCTRL_GROUP(SIOPBO
),
2097 ASPEED_PINCTRL_GROUP(SIOPWREQ
),
2098 ASPEED_PINCTRL_GROUP(SIOPWRGD
),
2099 ASPEED_PINCTRL_GROUP(SIOS3
),
2100 ASPEED_PINCTRL_GROUP(SIOS5
),
2101 ASPEED_PINCTRL_GROUP(SIOSCI
),
2102 ASPEED_PINCTRL_GROUP(SPI1
),
2103 ASPEED_PINCTRL_GROUP(SPI1DEBUG
),
2104 ASPEED_PINCTRL_GROUP(SPI1PASSTHRU
),
2105 ASPEED_PINCTRL_GROUP(SPICS1
),
2106 ASPEED_PINCTRL_GROUP(TIMER3
),
2107 ASPEED_PINCTRL_GROUP(TIMER4
),
2108 ASPEED_PINCTRL_GROUP(TIMER5
),
2109 ASPEED_PINCTRL_GROUP(TIMER6
),
2110 ASPEED_PINCTRL_GROUP(TIMER7
),
2111 ASPEED_PINCTRL_GROUP(TIMER8
),
2112 ASPEED_PINCTRL_GROUP(TXD1
),
2113 ASPEED_PINCTRL_GROUP(TXD2
),
2114 ASPEED_PINCTRL_GROUP(TXD3
),
2115 ASPEED_PINCTRL_GROUP(TXD4
),
2116 ASPEED_PINCTRL_GROUP(UART6
),
2117 ASPEED_PINCTRL_GROUP(USB11D1
),
2118 ASPEED_PINCTRL_GROUP(USB11H2
),
2119 ASPEED_PINCTRL_GROUP(USB2D1
),
2120 ASPEED_PINCTRL_GROUP(USB2H1
),
2121 ASPEED_PINCTRL_GROUP(USBCKI
),
2122 ASPEED_PINCTRL_GROUP(VGABIOS_ROM
),
2123 ASPEED_PINCTRL_GROUP(VGAHS
),
2124 ASPEED_PINCTRL_GROUP(VGAVS
),
2125 ASPEED_PINCTRL_GROUP(VPI18
),
2126 ASPEED_PINCTRL_GROUP(VPI24
),
2127 ASPEED_PINCTRL_GROUP(VPI30
),
2128 ASPEED_PINCTRL_GROUP(VPO12
),
2129 ASPEED_PINCTRL_GROUP(VPO24
),
2130 ASPEED_PINCTRL_GROUP(WDTRST1
),
2131 ASPEED_PINCTRL_GROUP(WDTRST2
),
2134 static const struct aspeed_pin_function aspeed_g4_functions
[] = {
2135 ASPEED_PINCTRL_FUNC(ACPI
),
2136 ASPEED_PINCTRL_FUNC(ADC0
),
2137 ASPEED_PINCTRL_FUNC(ADC1
),
2138 ASPEED_PINCTRL_FUNC(ADC10
),
2139 ASPEED_PINCTRL_FUNC(ADC11
),
2140 ASPEED_PINCTRL_FUNC(ADC12
),
2141 ASPEED_PINCTRL_FUNC(ADC13
),
2142 ASPEED_PINCTRL_FUNC(ADC14
),
2143 ASPEED_PINCTRL_FUNC(ADC15
),
2144 ASPEED_PINCTRL_FUNC(ADC2
),
2145 ASPEED_PINCTRL_FUNC(ADC3
),
2146 ASPEED_PINCTRL_FUNC(ADC4
),
2147 ASPEED_PINCTRL_FUNC(ADC5
),
2148 ASPEED_PINCTRL_FUNC(ADC6
),
2149 ASPEED_PINCTRL_FUNC(ADC7
),
2150 ASPEED_PINCTRL_FUNC(ADC8
),
2151 ASPEED_PINCTRL_FUNC(ADC9
),
2152 ASPEED_PINCTRL_FUNC(BMCINT
),
2153 ASPEED_PINCTRL_FUNC(DDCCLK
),
2154 ASPEED_PINCTRL_FUNC(DDCDAT
),
2155 ASPEED_PINCTRL_FUNC(EXTRST
),
2156 ASPEED_PINCTRL_FUNC(FLACK
),
2157 ASPEED_PINCTRL_FUNC(FLBUSY
),
2158 ASPEED_PINCTRL_FUNC(FLWP
),
2159 ASPEED_PINCTRL_FUNC(GPID
),
2160 ASPEED_PINCTRL_FUNC(GPID0
),
2161 ASPEED_PINCTRL_FUNC(GPID2
),
2162 ASPEED_PINCTRL_FUNC(GPID4
),
2163 ASPEED_PINCTRL_FUNC(GPID6
),
2164 ASPEED_PINCTRL_FUNC(GPIE0
),
2165 ASPEED_PINCTRL_FUNC(GPIE2
),
2166 ASPEED_PINCTRL_FUNC(GPIE4
),
2167 ASPEED_PINCTRL_FUNC(GPIE6
),
2168 ASPEED_PINCTRL_FUNC(I2C10
),
2169 ASPEED_PINCTRL_FUNC(I2C11
),
2170 ASPEED_PINCTRL_FUNC(I2C12
),
2171 ASPEED_PINCTRL_FUNC(I2C13
),
2172 ASPEED_PINCTRL_FUNC(I2C14
),
2173 ASPEED_PINCTRL_FUNC(I2C3
),
2174 ASPEED_PINCTRL_FUNC(I2C4
),
2175 ASPEED_PINCTRL_FUNC(I2C5
),
2176 ASPEED_PINCTRL_FUNC(I2C6
),
2177 ASPEED_PINCTRL_FUNC(I2C7
),
2178 ASPEED_PINCTRL_FUNC(I2C8
),
2179 ASPEED_PINCTRL_FUNC(I2C9
),
2180 ASPEED_PINCTRL_FUNC(LPCPD
),
2181 ASPEED_PINCTRL_FUNC(LPCPME
),
2182 ASPEED_PINCTRL_FUNC(LPCRST
),
2183 ASPEED_PINCTRL_FUNC(LPCSMI
),
2184 ASPEED_PINCTRL_FUNC(MAC1LINK
),
2185 ASPEED_PINCTRL_FUNC(MAC2LINK
),
2186 ASPEED_PINCTRL_FUNC(MDIO1
),
2187 ASPEED_PINCTRL_FUNC(MDIO2
),
2188 ASPEED_PINCTRL_FUNC(NCTS1
),
2189 ASPEED_PINCTRL_FUNC(NCTS2
),
2190 ASPEED_PINCTRL_FUNC(NCTS3
),
2191 ASPEED_PINCTRL_FUNC(NCTS4
),
2192 ASPEED_PINCTRL_FUNC(NDCD1
),
2193 ASPEED_PINCTRL_FUNC(NDCD2
),
2194 ASPEED_PINCTRL_FUNC(NDCD3
),
2195 ASPEED_PINCTRL_FUNC(NDCD4
),
2196 ASPEED_PINCTRL_FUNC(NDSR1
),
2197 ASPEED_PINCTRL_FUNC(NDSR2
),
2198 ASPEED_PINCTRL_FUNC(NDSR3
),
2199 ASPEED_PINCTRL_FUNC(NDSR4
),
2200 ASPEED_PINCTRL_FUNC(NDTR1
),
2201 ASPEED_PINCTRL_FUNC(NDTR2
),
2202 ASPEED_PINCTRL_FUNC(NDTR3
),
2203 ASPEED_PINCTRL_FUNC(NDTR4
),
2204 ASPEED_PINCTRL_FUNC(NDTS4
),
2205 ASPEED_PINCTRL_FUNC(NRI1
),
2206 ASPEED_PINCTRL_FUNC(NRI2
),
2207 ASPEED_PINCTRL_FUNC(NRI3
),
2208 ASPEED_PINCTRL_FUNC(NRI4
),
2209 ASPEED_PINCTRL_FUNC(NRTS1
),
2210 ASPEED_PINCTRL_FUNC(NRTS2
),
2211 ASPEED_PINCTRL_FUNC(NRTS3
),
2212 ASPEED_PINCTRL_FUNC(OSCCLK
),
2213 ASPEED_PINCTRL_FUNC(PWM0
),
2214 ASPEED_PINCTRL_FUNC(PWM1
),
2215 ASPEED_PINCTRL_FUNC(PWM2
),
2216 ASPEED_PINCTRL_FUNC(PWM3
),
2217 ASPEED_PINCTRL_FUNC(PWM4
),
2218 ASPEED_PINCTRL_FUNC(PWM5
),
2219 ASPEED_PINCTRL_FUNC(PWM6
),
2220 ASPEED_PINCTRL_FUNC(PWM7
),
2221 ASPEED_PINCTRL_FUNC(RGMII1
),
2222 ASPEED_PINCTRL_FUNC(RGMII2
),
2223 ASPEED_PINCTRL_FUNC(RMII1
),
2224 ASPEED_PINCTRL_FUNC(RMII2
),
2225 ASPEED_PINCTRL_FUNC(ROM16
),
2226 ASPEED_PINCTRL_FUNC(ROM8
),
2227 ASPEED_PINCTRL_FUNC(ROMCS1
),
2228 ASPEED_PINCTRL_FUNC(ROMCS2
),
2229 ASPEED_PINCTRL_FUNC(ROMCS3
),
2230 ASPEED_PINCTRL_FUNC(ROMCS4
),
2231 ASPEED_PINCTRL_FUNC(RXD1
),
2232 ASPEED_PINCTRL_FUNC(RXD2
),
2233 ASPEED_PINCTRL_FUNC(RXD3
),
2234 ASPEED_PINCTRL_FUNC(RXD4
),
2235 ASPEED_PINCTRL_FUNC(SALT1
),
2236 ASPEED_PINCTRL_FUNC(SALT2
),
2237 ASPEED_PINCTRL_FUNC(SALT3
),
2238 ASPEED_PINCTRL_FUNC(SALT4
),
2239 ASPEED_PINCTRL_FUNC(SD1
),
2240 ASPEED_PINCTRL_FUNC(SD2
),
2241 ASPEED_PINCTRL_FUNC(SGPMCK
),
2242 ASPEED_PINCTRL_FUNC(SGPMI
),
2243 ASPEED_PINCTRL_FUNC(SGPMLD
),
2244 ASPEED_PINCTRL_FUNC(SGPMO
),
2245 ASPEED_PINCTRL_FUNC(SGPSCK
),
2246 ASPEED_PINCTRL_FUNC(SGPSI0
),
2247 ASPEED_PINCTRL_FUNC(SGPSI1
),
2248 ASPEED_PINCTRL_FUNC(SGPSLD
),
2249 ASPEED_PINCTRL_FUNC(SIOONCTRL
),
2250 ASPEED_PINCTRL_FUNC(SIOPBI
),
2251 ASPEED_PINCTRL_FUNC(SIOPBO
),
2252 ASPEED_PINCTRL_FUNC(SIOPWREQ
),
2253 ASPEED_PINCTRL_FUNC(SIOPWRGD
),
2254 ASPEED_PINCTRL_FUNC(SIOS3
),
2255 ASPEED_PINCTRL_FUNC(SIOS5
),
2256 ASPEED_PINCTRL_FUNC(SIOSCI
),
2257 ASPEED_PINCTRL_FUNC(SPI1
),
2258 ASPEED_PINCTRL_FUNC(SPI1DEBUG
),
2259 ASPEED_PINCTRL_FUNC(SPI1PASSTHRU
),
2260 ASPEED_PINCTRL_FUNC(SPICS1
),
2261 ASPEED_PINCTRL_FUNC(TIMER3
),
2262 ASPEED_PINCTRL_FUNC(TIMER4
),
2263 ASPEED_PINCTRL_FUNC(TIMER5
),
2264 ASPEED_PINCTRL_FUNC(TIMER6
),
2265 ASPEED_PINCTRL_FUNC(TIMER7
),
2266 ASPEED_PINCTRL_FUNC(TIMER8
),
2267 ASPEED_PINCTRL_FUNC(TXD1
),
2268 ASPEED_PINCTRL_FUNC(TXD2
),
2269 ASPEED_PINCTRL_FUNC(TXD3
),
2270 ASPEED_PINCTRL_FUNC(TXD4
),
2271 ASPEED_PINCTRL_FUNC(UART6
),
2272 ASPEED_PINCTRL_FUNC(USB11D1
),
2273 ASPEED_PINCTRL_FUNC(USB11H2
),
2274 ASPEED_PINCTRL_FUNC(USB2D1
),
2275 ASPEED_PINCTRL_FUNC(USB2H1
),
2276 ASPEED_PINCTRL_FUNC(USBCKI
),
2277 ASPEED_PINCTRL_FUNC(VGABIOS_ROM
),
2278 ASPEED_PINCTRL_FUNC(VGAHS
),
2279 ASPEED_PINCTRL_FUNC(VGAVS
),
2280 ASPEED_PINCTRL_FUNC(VPI18
),
2281 ASPEED_PINCTRL_FUNC(VPI24
),
2282 ASPEED_PINCTRL_FUNC(VPI30
),
2283 ASPEED_PINCTRL_FUNC(VPO12
),
2284 ASPEED_PINCTRL_FUNC(VPO24
),
2285 ASPEED_PINCTRL_FUNC(WDTRST1
),
2286 ASPEED_PINCTRL_FUNC(WDTRST2
),
2289 static const struct aspeed_pin_config aspeed_g4_configs
[] = {
2290 /* GPIO banks ranges [A, B], [D, J], [M, R] */
2291 { PIN_CONFIG_BIAS_PULL_DOWN
, { D6
, D5
}, SCU8C
, 16 },
2292 { PIN_CONFIG_BIAS_DISABLE
, { D6
, D5
}, SCU8C
, 16 },
2293 { PIN_CONFIG_BIAS_PULL_DOWN
, { J21
, E18
}, SCU8C
, 17 },
2294 { PIN_CONFIG_BIAS_DISABLE
, { J21
, E18
}, SCU8C
, 17 },
2295 { PIN_CONFIG_BIAS_PULL_DOWN
, { A18
, E15
}, SCU8C
, 19 },
2296 { PIN_CONFIG_BIAS_DISABLE
, { A18
, E15
}, SCU8C
, 19 },
2297 { PIN_CONFIG_BIAS_PULL_DOWN
, { D15
, B14
}, SCU8C
, 20 },
2298 { PIN_CONFIG_BIAS_DISABLE
, { D15
, B14
}, SCU8C
, 20 },
2299 { PIN_CONFIG_BIAS_PULL_DOWN
, { D18
, C17
}, SCU8C
, 21 },
2300 { PIN_CONFIG_BIAS_DISABLE
, { D18
, C17
}, SCU8C
, 21 },
2301 { PIN_CONFIG_BIAS_PULL_DOWN
, { A14
, U18
}, SCU8C
, 22 },
2302 { PIN_CONFIG_BIAS_DISABLE
, { A14
, U18
}, SCU8C
, 22 },
2303 { PIN_CONFIG_BIAS_PULL_DOWN
, { A8
, E7
}, SCU8C
, 23 },
2304 { PIN_CONFIG_BIAS_DISABLE
, { A8
, E7
}, SCU8C
, 23 },
2305 { PIN_CONFIG_BIAS_PULL_DOWN
, { C22
, E20
}, SCU8C
, 24 },
2306 { PIN_CONFIG_BIAS_DISABLE
, { C22
, E20
}, SCU8C
, 24 },
2307 { PIN_CONFIG_BIAS_PULL_DOWN
, { J5
, T1
}, SCU8C
, 25 },
2308 { PIN_CONFIG_BIAS_DISABLE
, { J5
, T1
}, SCU8C
, 25 },
2309 { PIN_CONFIG_BIAS_PULL_DOWN
, { U1
, U5
}, SCU8C
, 26 },
2310 { PIN_CONFIG_BIAS_DISABLE
, { U1
, U5
}, SCU8C
, 26 },
2311 { PIN_CONFIG_BIAS_PULL_DOWN
, { V3
, V5
}, SCU8C
, 27 },
2312 { PIN_CONFIG_BIAS_DISABLE
, { V3
, V5
}, SCU8C
, 27 },
2313 { PIN_CONFIG_BIAS_PULL_DOWN
, { W4
, AB2
}, SCU8C
, 28 },
2314 { PIN_CONFIG_BIAS_DISABLE
, { W4
, AB2
}, SCU8C
, 28 },
2315 { PIN_CONFIG_BIAS_PULL_DOWN
, { V6
, V7
}, SCU8C
, 29 },
2316 { PIN_CONFIG_BIAS_DISABLE
, { V6
, V7
}, SCU8C
, 29 },
2317 { PIN_CONFIG_BIAS_PULL_DOWN
, { Y6
, AB7
}, SCU8C
, 30 },
2318 { PIN_CONFIG_BIAS_DISABLE
, { Y6
, AB7
}, SCU8C
, 30 },
2319 { PIN_CONFIG_BIAS_PULL_DOWN
, { V20
, A5
}, SCU8C
, 31 },
2320 { PIN_CONFIG_BIAS_DISABLE
, { V20
, A5
}, SCU8C
, 31 },
2322 /* GPIOs T[0-5] (RGMII1 Tx pins) */
2323 { PIN_CONFIG_DRIVE_STRENGTH
, { A12
, A13
}, SCU90
, 9 },
2324 { PIN_CONFIG_BIAS_PULL_DOWN
, { A12
, A13
}, SCU90
, 12 },
2325 { PIN_CONFIG_BIAS_DISABLE
, { A12
, A13
}, SCU90
, 12 },
2327 /* GPIOs T[6-7], U[0-3] (RGMII2 TX pins) */
2328 { PIN_CONFIG_DRIVE_STRENGTH
, { D9
, D10
}, SCU90
, 11 },
2329 { PIN_CONFIG_BIAS_PULL_DOWN
, { D9
, D10
}, SCU90
, 14 },
2330 { PIN_CONFIG_BIAS_DISABLE
, { D9
, D10
}, SCU90
, 14 },
2332 /* GPIOs U[4-7], V[0-1] (RGMII1 Rx pins) */
2333 { PIN_CONFIG_BIAS_PULL_DOWN
, { E11
, E10
}, SCU90
, 13 },
2334 { PIN_CONFIG_BIAS_DISABLE
, { E11
, E10
}, SCU90
, 13 },
2336 /* GPIOs V[2-7] (RGMII2 Rx pins) */
2337 { PIN_CONFIG_BIAS_PULL_DOWN
, { C9
, C8
}, SCU90
, 15 },
2338 { PIN_CONFIG_BIAS_DISABLE
, { C9
, C8
}, SCU90
, 15 },
2340 /* ADC pull-downs (SCUA8[19:4]) */
2341 { PIN_CONFIG_BIAS_PULL_DOWN
, { L5
, L5
}, SCUA8
, 4 },
2342 { PIN_CONFIG_BIAS_DISABLE
, { L5
, L5
}, SCUA8
, 4 },
2343 { PIN_CONFIG_BIAS_PULL_DOWN
, { L4
, L4
}, SCUA8
, 5 },
2344 { PIN_CONFIG_BIAS_DISABLE
, { L4
, L4
}, SCUA8
, 5 },
2345 { PIN_CONFIG_BIAS_PULL_DOWN
, { L3
, L3
}, SCUA8
, 6 },
2346 { PIN_CONFIG_BIAS_DISABLE
, { L3
, L3
}, SCUA8
, 6 },
2347 { PIN_CONFIG_BIAS_PULL_DOWN
, { L2
, L2
}, SCUA8
, 7 },
2348 { PIN_CONFIG_BIAS_DISABLE
, { L2
, L2
}, SCUA8
, 7 },
2349 { PIN_CONFIG_BIAS_PULL_DOWN
, { L1
, L1
}, SCUA8
, 8 },
2350 { PIN_CONFIG_BIAS_DISABLE
, { L1
, L1
}, SCUA8
, 8 },
2351 { PIN_CONFIG_BIAS_PULL_DOWN
, { M5
, M5
}, SCUA8
, 9 },
2352 { PIN_CONFIG_BIAS_DISABLE
, { M5
, M5
}, SCUA8
, 9 },
2353 { PIN_CONFIG_BIAS_PULL_DOWN
, { M4
, M4
}, SCUA8
, 10 },
2354 { PIN_CONFIG_BIAS_DISABLE
, { M4
, M4
}, SCUA8
, 10 },
2355 { PIN_CONFIG_BIAS_PULL_DOWN
, { M3
, M3
}, SCUA8
, 11 },
2356 { PIN_CONFIG_BIAS_DISABLE
, { M3
, M3
}, SCUA8
, 11 },
2357 { PIN_CONFIG_BIAS_PULL_DOWN
, { M2
, M2
}, SCUA8
, 12 },
2358 { PIN_CONFIG_BIAS_DISABLE
, { M2
, M2
}, SCUA8
, 12 },
2359 { PIN_CONFIG_BIAS_PULL_DOWN
, { M1
, M1
}, SCUA8
, 13 },
2360 { PIN_CONFIG_BIAS_DISABLE
, { M1
, M1
}, SCUA8
, 13 },
2361 { PIN_CONFIG_BIAS_PULL_DOWN
, { N5
, N5
}, SCUA8
, 14 },
2362 { PIN_CONFIG_BIAS_DISABLE
, { N5
, N5
}, SCUA8
, 14 },
2363 { PIN_CONFIG_BIAS_PULL_DOWN
, { N4
, N4
}, SCUA8
, 15 },
2364 { PIN_CONFIG_BIAS_DISABLE
, { N4
, N4
}, SCUA8
, 15 },
2365 { PIN_CONFIG_BIAS_PULL_DOWN
, { N3
, N3
}, SCUA8
, 16 },
2366 { PIN_CONFIG_BIAS_DISABLE
, { N3
, N3
}, SCUA8
, 16 },
2367 { PIN_CONFIG_BIAS_PULL_DOWN
, { N2
, N2
}, SCUA8
, 17 },
2368 { PIN_CONFIG_BIAS_DISABLE
, { N2
, N2
}, SCUA8
, 17 },
2369 { PIN_CONFIG_BIAS_PULL_DOWN
, { N1
, N1
}, SCUA8
, 18 },
2370 { PIN_CONFIG_BIAS_DISABLE
, { N1
, N1
}, SCUA8
, 18 },
2371 { PIN_CONFIG_BIAS_PULL_DOWN
, { P5
, P5
}, SCUA8
, 19 },
2372 { PIN_CONFIG_BIAS_DISABLE
, { P5
, P5
}, SCUA8
, 19 },
2375 * Debounce settings for GPIOs D and E passthrough mode are in
2376 * SCUA8[27:20] and so are managed by pinctrl. Normal GPIO debounce for
2377 * banks D and E is handled by the GPIO driver - GPIO passthrough is
2378 * treated like any other non-GPIO mux function. There is a catch
2379 * however, in that the debounce period is configured in the GPIO
2380 * controller. Due to this tangle between GPIO and pinctrl we don't yet
2381 * fully support pass-through debounce.
2383 { PIN_CONFIG_INPUT_DEBOUNCE
, { A18
, D16
}, SCUA8
, 20 },
2384 { PIN_CONFIG_INPUT_DEBOUNCE
, { B17
, A17
}, SCUA8
, 21 },
2385 { PIN_CONFIG_INPUT_DEBOUNCE
, { C16
, B16
}, SCUA8
, 22 },
2386 { PIN_CONFIG_INPUT_DEBOUNCE
, { A16
, E15
}, SCUA8
, 23 },
2387 { PIN_CONFIG_INPUT_DEBOUNCE
, { D15
, C15
}, SCUA8
, 24 },
2388 { PIN_CONFIG_INPUT_DEBOUNCE
, { B15
, A15
}, SCUA8
, 25 },
2389 { PIN_CONFIG_INPUT_DEBOUNCE
, { E14
, D14
}, SCUA8
, 26 },
2390 { PIN_CONFIG_INPUT_DEBOUNCE
, { C14
, B14
}, SCUA8
, 27 },
2393 static struct aspeed_pinctrl_data aspeed_g4_pinctrl_data
= {
2394 .pins
= aspeed_g4_pins
,
2395 .npins
= ARRAY_SIZE(aspeed_g4_pins
),
2396 .groups
= aspeed_g4_groups
,
2397 .ngroups
= ARRAY_SIZE(aspeed_g4_groups
),
2398 .functions
= aspeed_g4_functions
,
2399 .nfunctions
= ARRAY_SIZE(aspeed_g4_functions
),
2400 .configs
= aspeed_g4_configs
,
2401 .nconfigs
= ARRAY_SIZE(aspeed_g4_configs
),
2404 static const struct pinmux_ops aspeed_g4_pinmux_ops
= {
2405 .get_functions_count
= aspeed_pinmux_get_fn_count
,
2406 .get_function_name
= aspeed_pinmux_get_fn_name
,
2407 .get_function_groups
= aspeed_pinmux_get_fn_groups
,
2408 .set_mux
= aspeed_pinmux_set_mux
,
2409 .gpio_request_enable
= aspeed_gpio_request_enable
,
2413 static const struct pinctrl_ops aspeed_g4_pinctrl_ops
= {
2414 .get_groups_count
= aspeed_pinctrl_get_groups_count
,
2415 .get_group_name
= aspeed_pinctrl_get_group_name
,
2416 .get_group_pins
= aspeed_pinctrl_get_group_pins
,
2417 .pin_dbg_show
= aspeed_pinctrl_pin_dbg_show
,
2418 .dt_node_to_map
= pinconf_generic_dt_node_to_map_all
,
2419 .dt_free_map
= pinctrl_utils_free_map
,
2422 static const struct pinconf_ops aspeed_g4_conf_ops
= {
2424 .pin_config_get
= aspeed_pin_config_get
,
2425 .pin_config_set
= aspeed_pin_config_set
,
2426 .pin_config_group_get
= aspeed_pin_config_group_get
,
2427 .pin_config_group_set
= aspeed_pin_config_group_set
,
2430 static struct pinctrl_desc aspeed_g4_pinctrl_desc
= {
2431 .name
= "aspeed-g4-pinctrl",
2432 .pins
= aspeed_g4_pins
,
2433 .npins
= ARRAY_SIZE(aspeed_g4_pins
),
2434 .pctlops
= &aspeed_g4_pinctrl_ops
,
2435 .pmxops
= &aspeed_g4_pinmux_ops
,
2436 .confops
= &aspeed_g4_conf_ops
,
2439 static int aspeed_g4_pinctrl_probe(struct platform_device
*pdev
)
2443 for (i
= 0; i
< ARRAY_SIZE(aspeed_g4_pins
); i
++)
2444 aspeed_g4_pins
[i
].number
= i
;
2446 return aspeed_pinctrl_probe(pdev
, &aspeed_g4_pinctrl_desc
,
2447 &aspeed_g4_pinctrl_data
);
2450 static const struct of_device_id aspeed_g4_pinctrl_of_match
[] = {
2451 { .compatible
= "aspeed,ast2400-pinctrl", },
2452 { .compatible
= "aspeed,g4-pinctrl", },
2456 static struct platform_driver aspeed_g4_pinctrl_driver
= {
2457 .probe
= aspeed_g4_pinctrl_probe
,
2459 .name
= "aspeed-g4-pinctrl",
2460 .of_match_table
= aspeed_g4_pinctrl_of_match
,
2464 static int aspeed_g4_pinctrl_init(void)
2466 return platform_driver_register(&aspeed_g4_pinctrl_driver
);
2469 arch_initcall(aspeed_g4_pinctrl_init
);