12874c5fdSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
2524594d4SAndrew Jeffery /*
3524594d4SAndrew Jeffery  * Copyright (C) 2016 IBM Corp.
4524594d4SAndrew Jeffery  */
5524594d4SAndrew Jeffery #include <linux/bitops.h>
6524594d4SAndrew Jeffery #include <linux/init.h>
7524594d4SAndrew Jeffery #include <linux/io.h>
8524594d4SAndrew Jeffery #include <linux/kernel.h>
9524594d4SAndrew Jeffery #include <linux/mutex.h>
10524594d4SAndrew Jeffery #include <linux/of.h>
11524594d4SAndrew Jeffery #include <linux/platform_device.h>
12524594d4SAndrew Jeffery #include <linux/pinctrl/pinctrl.h>
13524594d4SAndrew Jeffery #include <linux/pinctrl/pinmux.h>
14524594d4SAndrew Jeffery #include <linux/pinctrl/pinconf.h>
15524594d4SAndrew Jeffery #include <linux/pinctrl/pinconf-generic.h>
16524594d4SAndrew Jeffery #include <linux/string.h>
17524594d4SAndrew Jeffery #include <linux/types.h>
18524594d4SAndrew Jeffery 
19524594d4SAndrew Jeffery #include "../core.h"
20524594d4SAndrew Jeffery #include "../pinctrl-utils.h"
21efa56239SAndrew Jeffery #include "pinmux-aspeed.h"
22524594d4SAndrew Jeffery #include "pinctrl-aspeed.h"
23524594d4SAndrew Jeffery 
24e7a96b0bSAndrew Jeffery /* Wrap some of the common macros for clarity */
25e7a96b0bSAndrew Jeffery #define SIG_EXPR_DECL_SINGLE(sig, func, ...) \
26e7a96b0bSAndrew Jeffery 	SIG_EXPR_DECL(sig, func, func, __VA_ARGS__)
27e7a96b0bSAndrew Jeffery 
28e7a96b0bSAndrew Jeffery #define SIG_EXPR_LIST_DECL_SINGLE SIG_EXPR_LIST_DECL_SESG
29e7a96b0bSAndrew Jeffery #define SIG_EXPR_LIST_DECL_DUAL SIG_EXPR_LIST_DECL_DESG
30e7a96b0bSAndrew Jeffery 
31524594d4SAndrew Jeffery /*
32efa56239SAndrew Jeffery  * The "Multi-function Pins Mapping and Control" table in the SoC datasheet
33efa56239SAndrew Jeffery  * references registers by the device/offset mnemonic. The register macros
34efa56239SAndrew Jeffery  * below are named the same way to ease transcription and verification (as
35efa56239SAndrew Jeffery  * opposed to naming them e.g. PINMUX_CTRL_[0-9]). Further, signal expressions
36efa56239SAndrew Jeffery  * reference registers beyond those dedicated to pinmux, such as the system
37efa56239SAndrew Jeffery  * reset control and MAC clock configuration registers.
38efa56239SAndrew Jeffery  */
39efa56239SAndrew Jeffery #define SCU2C           0x2C /* Misc. Control Register */
40efa56239SAndrew Jeffery #define SCU3C           0x3C /* System Reset Control/Status Register */
41efa56239SAndrew Jeffery #define SCU48           0x48 /* MAC Interface Clock Delay Setting */
42efa56239SAndrew Jeffery #define HW_STRAP1       0x70 /* AST2400 strapping is 33 bits, is split */
43efa56239SAndrew Jeffery #define HW_REVISION_ID  0x7C /* Silicon revision ID register */
44efa56239SAndrew Jeffery #define SCU80           0x80 /* Multi-function Pin Control #1 */
45efa56239SAndrew Jeffery #define SCU84           0x84 /* Multi-function Pin Control #2 */
46efa56239SAndrew Jeffery #define SCU88           0x88 /* Multi-function Pin Control #3 */
47efa56239SAndrew Jeffery #define SCU8C           0x8C /* Multi-function Pin Control #4 */
48efa56239SAndrew Jeffery #define SCU90           0x90 /* Multi-function Pin Control #5 */
49efa56239SAndrew Jeffery #define SCU94           0x94 /* Multi-function Pin Control #6 */
50efa56239SAndrew Jeffery #define SCUA0           0xA0 /* Multi-function Pin Control #7 */
51efa56239SAndrew Jeffery #define SCUA4           0xA4 /* Multi-function Pin Control #8 */
52efa56239SAndrew Jeffery #define SCUA8           0xA8 /* Multi-function Pin Control #9 */
53efa56239SAndrew Jeffery #define SCUAC           0xAC /* Multi-function Pin Control #10 */
54efa56239SAndrew Jeffery #define HW_STRAP2       0xD0 /* Strapping */
55efa56239SAndrew Jeffery 
56efa56239SAndrew Jeffery /*
57524594d4SAndrew Jeffery  * Uses undefined macros for symbol naming and references, eg GPIOA0, MAC1LINK,
58524594d4SAndrew Jeffery  * TIMER3 etc.
59524594d4SAndrew Jeffery  *
60524594d4SAndrew Jeffery  * Pins are defined in GPIO bank order:
61524594d4SAndrew Jeffery  *
62524594d4SAndrew Jeffery  * GPIOA0: 0
63524594d4SAndrew Jeffery  * ...
64524594d4SAndrew Jeffery  * GPIOA7: 7
65524594d4SAndrew Jeffery  * GPIOB0: 8
66524594d4SAndrew Jeffery  * ...
67524594d4SAndrew Jeffery  * GPIOZ7: 207
68524594d4SAndrew Jeffery  * GPIOAA0: 208
69524594d4SAndrew Jeffery  * ...
70524594d4SAndrew Jeffery  * GPIOAB3: 219
71524594d4SAndrew Jeffery  *
72524594d4SAndrew Jeffery  * Not all pins have their signals defined (yet).
73524594d4SAndrew Jeffery  */
74524594d4SAndrew Jeffery 
756d329f14SAndrew Jeffery #define D6 0
766d329f14SAndrew Jeffery SSSF_PIN_DECL(D6, GPIOA0, MAC1LINK, SIG_DESC_SET(SCU80, 0));
776d329f14SAndrew Jeffery 
786d329f14SAndrew Jeffery #define B5 1
796d329f14SAndrew Jeffery SSSF_PIN_DECL(B5, GPIOA1, MAC2LINK, SIG_DESC_SET(SCU80, 1));
806d329f14SAndrew Jeffery 
81524594d4SAndrew Jeffery #define A4 2
82524594d4SAndrew Jeffery SSSF_PIN_DECL(A4, GPIOA2, TIMER3, SIG_DESC_SET(SCU80, 2));
83524594d4SAndrew Jeffery 
846d329f14SAndrew Jeffery #define E6 3
856d329f14SAndrew Jeffery SSSF_PIN_DECL(E6, GPIOA3, TIMER4, SIG_DESC_SET(SCU80, 3));
866d329f14SAndrew Jeffery 
87524594d4SAndrew Jeffery #define I2C9_DESC	SIG_DESC_SET(SCU90, 22)
88524594d4SAndrew Jeffery 
89524594d4SAndrew Jeffery #define C5 4
90e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C5, SCL9, I2C9, I2C9_DESC);
91e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C5, TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4));
927b388970SAndrew Jeffery PIN_DECL_2(C5, GPIOA4, SCL9, TIMER5);
93524594d4SAndrew Jeffery 
94524594d4SAndrew Jeffery FUNC_GROUP_DECL(TIMER5, C5);
95524594d4SAndrew Jeffery 
96524594d4SAndrew Jeffery #define B4 5
97e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B4, SDA9, I2C9, I2C9_DESC);
98e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B4, TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5));
997b388970SAndrew Jeffery PIN_DECL_2(B4, GPIOA5, SDA9, TIMER6);
100524594d4SAndrew Jeffery 
101524594d4SAndrew Jeffery FUNC_GROUP_DECL(TIMER6, B4);
102524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C9, C5, B4);
103524594d4SAndrew Jeffery 
104524594d4SAndrew Jeffery #define MDIO2_DESC	SIG_DESC_SET(SCU90, 2)
105524594d4SAndrew Jeffery 
106524594d4SAndrew Jeffery #define A3 6
107e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A3, MDC2, MDIO2, MDIO2_DESC);
108e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A3, TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6));
1097b388970SAndrew Jeffery PIN_DECL_2(A3, GPIOA6, MDC2, TIMER7);
110524594d4SAndrew Jeffery 
111524594d4SAndrew Jeffery FUNC_GROUP_DECL(TIMER7, A3);
112524594d4SAndrew Jeffery 
113524594d4SAndrew Jeffery #define D5 7
114e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D5, MDIO2, MDIO2, MDIO2_DESC);
115e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D5, TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7));
1167b388970SAndrew Jeffery PIN_DECL_2(D5, GPIOA7, MDIO2, TIMER8);
117524594d4SAndrew Jeffery 
118524594d4SAndrew Jeffery FUNC_GROUP_DECL(TIMER8, D5);
119524594d4SAndrew Jeffery FUNC_GROUP_DECL(MDIO2, A3, D5);
120524594d4SAndrew Jeffery 
1216d329f14SAndrew Jeffery #define J21 8
1226d329f14SAndrew Jeffery SSSF_PIN_DECL(J21, GPIOB0, SALT1, SIG_DESC_SET(SCU80, 8));
1236d329f14SAndrew Jeffery 
1246d329f14SAndrew Jeffery #define J20 9
1256d329f14SAndrew Jeffery SSSF_PIN_DECL(J20, GPIOB1, SALT2, SIG_DESC_SET(SCU80, 9));
1266d329f14SAndrew Jeffery 
1276d329f14SAndrew Jeffery #define H18 10
1286d329f14SAndrew Jeffery SSSF_PIN_DECL(H18, GPIOB2, SALT3, SIG_DESC_SET(SCU80, 10));
1296d329f14SAndrew Jeffery 
1306d329f14SAndrew Jeffery #define F18 11
1316d329f14SAndrew Jeffery SSSF_PIN_DECL(F18, GPIOB3, SALT4, SIG_DESC_SET(SCU80, 11));
1326d329f14SAndrew Jeffery 
1336d329f14SAndrew Jeffery #define E19 12
134e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(LPCRST, LPCRST, SIG_DESC_SET(SCU80, 12));
135e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(LPCRST, LPCRSTS, SIG_DESC_SET(HW_STRAP1, 14));
136e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(E19, LPCRST, LPCRST, LPCRSTS);
1377b388970SAndrew Jeffery PIN_DECL_1(E19, GPIOB4, LPCRST);
1386d329f14SAndrew Jeffery 
1396d329f14SAndrew Jeffery FUNC_GROUP_DECL(LPCRST, E19);
1406d329f14SAndrew Jeffery 
141524594d4SAndrew Jeffery #define H19 13
142524594d4SAndrew Jeffery #define H19_DESC        SIG_DESC_SET(SCU80, 13)
143e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H19, LPCPD, LPCPD, H19_DESC);
144e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H19, LPCSMI, LPCSMI, H19_DESC);
1457b388970SAndrew Jeffery PIN_DECL_2(H19, GPIOB5, LPCPD, LPCSMI);
146524594d4SAndrew Jeffery 
147524594d4SAndrew Jeffery FUNC_GROUP_DECL(LPCPD, H19);
148524594d4SAndrew Jeffery FUNC_GROUP_DECL(LPCSMI, H19);
149524594d4SAndrew Jeffery 
150524594d4SAndrew Jeffery #define H20 14
151524594d4SAndrew Jeffery SSSF_PIN_DECL(H20, GPIOB6, LPCPME, SIG_DESC_SET(SCU80, 14));
152524594d4SAndrew Jeffery 
1536d329f14SAndrew Jeffery #define E18 15
154e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E18, EXTRST, EXTRST,
1556d329f14SAndrew Jeffery 		SIG_DESC_SET(SCU80, 15),
1566d329f14SAndrew Jeffery 		SIG_DESC_BIT(SCU90, 31, 0),
1576d329f14SAndrew Jeffery 		SIG_DESC_SET(SCU3C, 3));
158e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E18, SPICS1, SPICS1,
1596d329f14SAndrew Jeffery 		SIG_DESC_SET(SCU80, 15),
1606d329f14SAndrew Jeffery 		SIG_DESC_SET(SCU90, 31));
1617b388970SAndrew Jeffery PIN_DECL_2(E18, GPIOB7, EXTRST, SPICS1);
1626d329f14SAndrew Jeffery 
1636d329f14SAndrew Jeffery FUNC_GROUP_DECL(EXTRST, E18);
1646d329f14SAndrew Jeffery FUNC_GROUP_DECL(SPICS1, E18);
1656d329f14SAndrew Jeffery 
166524594d4SAndrew Jeffery #define SD1_DESC	SIG_DESC_SET(SCU90, 0)
167524594d4SAndrew Jeffery #define I2C10_DESC	SIG_DESC_SET(SCU90, 23)
168524594d4SAndrew Jeffery 
169524594d4SAndrew Jeffery #define C4 16
170e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C4, SD1CLK, SD1, SD1_DESC);
171e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C4, SCL10, I2C10, I2C10_DESC);
1727b388970SAndrew Jeffery PIN_DECL_2(C4, GPIOC0, SD1CLK, SCL10);
173524594d4SAndrew Jeffery 
174524594d4SAndrew Jeffery #define B3 17
175e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B3, SD1CMD, SD1, SD1_DESC);
176e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B3, SDA10, I2C10, I2C10_DESC);
1777b388970SAndrew Jeffery PIN_DECL_2(B3, GPIOC1, SD1CMD, SDA10);
178524594d4SAndrew Jeffery 
179524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C10, C4, B3);
180524594d4SAndrew Jeffery 
181524594d4SAndrew Jeffery #define I2C11_DESC	SIG_DESC_SET(SCU90, 24)
182524594d4SAndrew Jeffery 
183524594d4SAndrew Jeffery #define A2 18
184e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A2, SD1DAT0, SD1, SD1_DESC);
185e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A2, SCL11, I2C11, I2C11_DESC);
1867b388970SAndrew Jeffery PIN_DECL_2(A2, GPIOC2, SD1DAT0, SCL11);
187524594d4SAndrew Jeffery 
188524594d4SAndrew Jeffery #define E5 19
189e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E5, SD1DAT1, SD1, SD1_DESC);
190e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E5, SDA11, I2C11, I2C11_DESC);
1917b388970SAndrew Jeffery PIN_DECL_2(E5, GPIOC3, SD1DAT1, SDA11);
192524594d4SAndrew Jeffery 
193524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C11, A2, E5);
194524594d4SAndrew Jeffery 
195524594d4SAndrew Jeffery #define I2C12_DESC	SIG_DESC_SET(SCU90, 25)
196524594d4SAndrew Jeffery 
197524594d4SAndrew Jeffery #define D4 20
198e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D4, SD1DAT2, SD1, SD1_DESC);
199e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D4, SCL12, I2C12, I2C12_DESC);
2007b388970SAndrew Jeffery PIN_DECL_2(D4, GPIOC4, SD1DAT2, SCL12);
201524594d4SAndrew Jeffery 
202524594d4SAndrew Jeffery #define C3 21
203e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C3, SD1DAT3, SD1, SD1_DESC);
204e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C3, SDA12, I2C12, I2C12_DESC);
2057b388970SAndrew Jeffery PIN_DECL_2(C3, GPIOC5, SD1DAT3, SDA12);
206524594d4SAndrew Jeffery 
207524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C12, D4, C3);
208524594d4SAndrew Jeffery 
209524594d4SAndrew Jeffery #define I2C13_DESC	SIG_DESC_SET(SCU90, 26)
210524594d4SAndrew Jeffery 
211524594d4SAndrew Jeffery #define B2 22
212e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B2, SD1CD, SD1, SD1_DESC);
213e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B2, SCL13, I2C13, I2C13_DESC);
2147b388970SAndrew Jeffery PIN_DECL_2(B2, GPIOC6, SD1CD, SCL13);
215524594d4SAndrew Jeffery 
216524594d4SAndrew Jeffery #define A1 23
217e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A1, SD1WP, SD1, SD1_DESC);
218e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A1, SDA13, I2C13, I2C13_DESC);
2197b388970SAndrew Jeffery PIN_DECL_2(A1, GPIOC7, SD1WP, SDA13);
220524594d4SAndrew Jeffery 
221524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C13, B2, A1);
222524594d4SAndrew Jeffery FUNC_GROUP_DECL(SD1, C4, B3, A2, E5, D4, C3, B2, A1);
223524594d4SAndrew Jeffery 
224524594d4SAndrew Jeffery #define SD2_DESC	SIG_DESC_SET(SCU90, 1)
225524594d4SAndrew Jeffery #define GPID_DESC       SIG_DESC_SET(HW_STRAP1, 21)
226524594d4SAndrew Jeffery #define GPID0_DESC	SIG_DESC_SET(SCU8C, 8)
227524594d4SAndrew Jeffery 
228524594d4SAndrew Jeffery #define A18 24
229e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A18, SD2CLK, SD2, SD2_DESC);
230e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID0IN, GPID0, GPID0_DESC);
231e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID0IN, GPID, GPID_DESC);
232e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A18, GPID0IN, GPID0, GPID);
2337b388970SAndrew Jeffery PIN_DECL_2(A18, GPIOD0, SD2CLK, GPID0IN);
234524594d4SAndrew Jeffery 
235524594d4SAndrew Jeffery #define D16 25
236e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D16, SD2CMD, SD2, SD2_DESC);
237e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID0, GPID0_DESC);
238e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID, GPID_DESC);
239e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D16, GPID0OUT, GPID0, GPID);
2407b388970SAndrew Jeffery PIN_DECL_2(D16, GPIOD1, SD2CMD, GPID0OUT);
241524594d4SAndrew Jeffery 
242524594d4SAndrew Jeffery FUNC_GROUP_DECL(GPID0, A18, D16);
243524594d4SAndrew Jeffery 
2446d329f14SAndrew Jeffery #define GPID2_DESC	SIG_DESC_SET(SCU8C, 9)
2456d329f14SAndrew Jeffery 
2466d329f14SAndrew Jeffery #define B17 26
247e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B17, SD2DAT0, SD2, SD2_DESC);
248e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID2IN, GPID2, GPID2_DESC);
249e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID2IN, GPID, GPID_DESC);
250e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B17, GPID2IN, GPID2, GPID);
2517b388970SAndrew Jeffery PIN_DECL_2(B17, GPIOD2, SD2DAT0, GPID2IN);
2526d329f14SAndrew Jeffery 
2536d329f14SAndrew Jeffery #define A17 27
254e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A17, SD2DAT1, SD2, SD2_DESC);
255e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID2, GPID2_DESC);
256e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID, GPID_DESC);
257e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A17, GPID2OUT, GPID2, GPID);
2587b388970SAndrew Jeffery PIN_DECL_2(A17, GPIOD3, SD2DAT1, GPID2OUT);
2596d329f14SAndrew Jeffery 
2606d329f14SAndrew Jeffery FUNC_GROUP_DECL(GPID2, B17, A17);
2616d329f14SAndrew Jeffery 
2626d329f14SAndrew Jeffery #define GPID4_DESC	SIG_DESC_SET(SCU8C, 10)
2636d329f14SAndrew Jeffery 
2646d329f14SAndrew Jeffery #define C16 28
265e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C16, SD2DAT2, SD2, SD2_DESC);
266e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID4IN, GPID4, GPID4_DESC);
267e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID4IN, GPID, GPID_DESC);
268e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C16, GPID4IN, GPID4, GPID);
2697b388970SAndrew Jeffery PIN_DECL_2(C16, GPIOD4, SD2DAT2, GPID4IN);
2706d329f14SAndrew Jeffery 
2716d329f14SAndrew Jeffery #define B16 29
272e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B16, SD2DAT3, SD2, SD2_DESC);
273e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID4, GPID4_DESC);
274e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID, GPID_DESC);
275e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B16, GPID4OUT, GPID4, GPID);
2767b388970SAndrew Jeffery PIN_DECL_2(B16, GPIOD5, SD2DAT3, GPID4OUT);
2776d329f14SAndrew Jeffery 
2786d329f14SAndrew Jeffery FUNC_GROUP_DECL(GPID4, C16, B16);
2796d329f14SAndrew Jeffery 
2806d329f14SAndrew Jeffery #define GPID6_DESC	SIG_DESC_SET(SCU8C, 11)
2816d329f14SAndrew Jeffery 
2826d329f14SAndrew Jeffery #define A16 30
283e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A16, SD2CD, SD2, SD2_DESC);
284e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID6IN, GPID6, GPID6_DESC);
285e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID6IN, GPID, GPID_DESC);
286e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A16, GPID6IN, GPID6, GPID);
2877b388970SAndrew Jeffery PIN_DECL_2(A16, GPIOD6, SD2CD, GPID6IN);
2886d329f14SAndrew Jeffery 
2896d329f14SAndrew Jeffery #define E15 31
290e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E15, SD2WP, SD2, SD2_DESC);
291e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID6, GPID6_DESC);
292e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID, GPID_DESC);
293e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(E15, GPID6OUT, GPID6, GPID);
2947b388970SAndrew Jeffery PIN_DECL_2(E15, GPIOD7, SD2WP, GPID6OUT);
2956d329f14SAndrew Jeffery 
2966d329f14SAndrew Jeffery FUNC_GROUP_DECL(GPID6, A16, E15);
2976d329f14SAndrew Jeffery FUNC_GROUP_DECL(SD2, A18, D16, B17, A17, C16, B16, A16, E15);
2986d329f14SAndrew Jeffery FUNC_GROUP_DECL(GPID, A18, D16, B17, A17, C16, B16, A16, E15);
2996d329f14SAndrew Jeffery 
300524594d4SAndrew Jeffery #define GPIE_DESC       SIG_DESC_SET(HW_STRAP1, 22)
301524594d4SAndrew Jeffery #define GPIE0_DESC      SIG_DESC_SET(SCU8C, 12)
302524594d4SAndrew Jeffery #define GPIE2_DESC      SIG_DESC_SET(SCU8C, 13)
303524594d4SAndrew Jeffery #define GPIE4_DESC      SIG_DESC_SET(SCU8C, 14)
304524594d4SAndrew Jeffery #define GPIE6_DESC      SIG_DESC_SET(SCU8C, 15)
305524594d4SAndrew Jeffery 
306524594d4SAndrew Jeffery #define D15 32
307e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D15, NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16));
308e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE0, GPIE0_DESC);
309e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE, GPIE_DESC);
310e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D15, GPIE0IN, GPIE0, GPIE);
3117b388970SAndrew Jeffery PIN_DECL_2(D15, GPIOE0, NCTS3, GPIE0IN);
312524594d4SAndrew Jeffery 
313524594d4SAndrew Jeffery FUNC_GROUP_DECL(NCTS3, D15);
314524594d4SAndrew Jeffery 
315524594d4SAndrew Jeffery #define C15 33
316e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C15, NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17));
317e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE0, GPIE0_DESC);
318e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE, GPIE_DESC);
319e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C15, GPIE0OUT, GPIE0, GPIE);
3207b388970SAndrew Jeffery PIN_DECL_2(C15, GPIOE1, NDCD3, GPIE0OUT);
321524594d4SAndrew Jeffery 
322524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDCD3, C15);
323524594d4SAndrew Jeffery FUNC_GROUP_DECL(GPIE0, D15, C15);
324524594d4SAndrew Jeffery 
325524594d4SAndrew Jeffery #define B15 34
326e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B15, NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18));
327e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE2, GPIE2_DESC);
328e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE, GPIE_DESC);
329e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B15, GPIE2IN, GPIE2, GPIE);
3307b388970SAndrew Jeffery PIN_DECL_2(B15, GPIOE2, NDSR3, GPIE2IN);
331524594d4SAndrew Jeffery 
332524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDSR3, B15);
333524594d4SAndrew Jeffery 
334524594d4SAndrew Jeffery #define A15 35
335e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A15, NRI3, NRI3, SIG_DESC_SET(SCU80, 19));
336e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE2, GPIE2_DESC);
337e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE, GPIE_DESC);
338e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A15, GPIE2OUT, GPIE2, GPIE);
3397b388970SAndrew Jeffery PIN_DECL_2(A15, GPIOE3, NRI3, GPIE2OUT);
340524594d4SAndrew Jeffery 
341524594d4SAndrew Jeffery FUNC_GROUP_DECL(NRI3, A15);
342524594d4SAndrew Jeffery FUNC_GROUP_DECL(GPIE2, B15, A15);
343524594d4SAndrew Jeffery 
344524594d4SAndrew Jeffery #define E14 36
345e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E14, NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20));
346e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE4, GPIE4_DESC);
347e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE, GPIE_DESC);
348e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(E14, GPIE4IN, GPIE4, GPIE);
3497b388970SAndrew Jeffery PIN_DECL_2(E14, GPIOE4, NDTR3, GPIE4IN);
350524594d4SAndrew Jeffery 
351524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDTR3, E14);
352524594d4SAndrew Jeffery 
353524594d4SAndrew Jeffery #define D14 37
354e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D14, NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21));
355e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE4, GPIE4_DESC);
356e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE, GPIE_DESC);
357e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D14, GPIE4OUT, GPIE4, GPIE);
3587b388970SAndrew Jeffery PIN_DECL_2(D14, GPIOE5, NRTS3, GPIE4OUT);
359524594d4SAndrew Jeffery 
360524594d4SAndrew Jeffery FUNC_GROUP_DECL(NRTS3, D14);
361524594d4SAndrew Jeffery FUNC_GROUP_DECL(GPIE4, E14, D14);
362524594d4SAndrew Jeffery 
363524594d4SAndrew Jeffery #define C14 38
364e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C14, TXD3, TXD3, SIG_DESC_SET(SCU80, 22));
365e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE6, GPIE6_DESC);
366e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE, GPIE_DESC);
367e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C14, GPIE6IN, GPIE6, GPIE);
3687b388970SAndrew Jeffery PIN_DECL_2(C14, GPIOE6, TXD3, GPIE6IN);
369524594d4SAndrew Jeffery 
370524594d4SAndrew Jeffery FUNC_GROUP_DECL(TXD3, C14);
371524594d4SAndrew Jeffery 
372524594d4SAndrew Jeffery #define B14 39
373e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B14, RXD3, RXD3, SIG_DESC_SET(SCU80, 23));
374e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE6, GPIE6_DESC);
375e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE, GPIE_DESC);
376e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B14, GPIE6OUT, GPIE6, GPIE);
3777b388970SAndrew Jeffery PIN_DECL_2(B14, GPIOE7, RXD3, GPIE6OUT);
378524594d4SAndrew Jeffery 
379524594d4SAndrew Jeffery FUNC_GROUP_DECL(RXD3, B14);
380524594d4SAndrew Jeffery FUNC_GROUP_DECL(GPIE6, C14, B14);
381524594d4SAndrew Jeffery 
382524594d4SAndrew Jeffery #define D18 40
383524594d4SAndrew Jeffery SSSF_PIN_DECL(D18, GPIOF0, NCTS4, SIG_DESC_SET(SCU80, 24));
384524594d4SAndrew Jeffery 
385524594d4SAndrew Jeffery #define ACPI_DESC       SIG_DESC_BIT(HW_STRAP1, 19, 0)
386524594d4SAndrew Jeffery 
387524594d4SAndrew Jeffery #define B19 41
388e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B19, NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25));
389e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPBI, SIOPBI, SIG_DESC_SET(SCUA4, 12));
390e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPBI, ACPI, ACPI_DESC);
391e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B19, SIOPBI, SIOPBI, ACPI);
3927b388970SAndrew Jeffery PIN_DECL_2(B19, GPIOF1, NDCD4, SIOPBI);
393524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDCD4, B19);
394524594d4SAndrew Jeffery FUNC_GROUP_DECL(SIOPBI, B19);
395524594d4SAndrew Jeffery 
3966d329f14SAndrew Jeffery #define A20 42
397e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A20, NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26));
398e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPWRGD, SIOPWRGD, SIG_DESC_SET(SCUA4, 12));
399e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPWRGD, ACPI, ACPI_DESC);
400e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A20, SIOPWRGD, SIOPWRGD, ACPI);
4017b388970SAndrew Jeffery PIN_DECL_2(A20, GPIOF2, NDSR4, SIOPWRGD);
4026d329f14SAndrew Jeffery FUNC_GROUP_DECL(NDSR4, A20);
4036d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOPWRGD, A20);
4046d329f14SAndrew Jeffery 
405524594d4SAndrew Jeffery #define D17 43
406e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D17, NRI4, NRI4, SIG_DESC_SET(SCU80, 27));
407e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPBO, SIOPBO, SIG_DESC_SET(SCUA4, 14));
408e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPBO, ACPI, ACPI_DESC);
409e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D17, SIOPBO, SIOPBO, ACPI);
4107b388970SAndrew Jeffery PIN_DECL_2(D17, GPIOF3, NRI4, SIOPBO);
411524594d4SAndrew Jeffery FUNC_GROUP_DECL(NRI4, D17);
412524594d4SAndrew Jeffery FUNC_GROUP_DECL(SIOPBO, D17);
413524594d4SAndrew Jeffery 
4146d329f14SAndrew Jeffery #define B18 44
4156d329f14SAndrew Jeffery SSSF_PIN_DECL(B18, GPIOF4, NDTR4, SIG_DESC_SET(SCU80, 28));
4166d329f14SAndrew Jeffery 
4176d329f14SAndrew Jeffery #define A19 45
418e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A19, NDTS4, NDTS4, SIG_DESC_SET(SCU80, 29));
419e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOSCI, SIOSCI, SIG_DESC_SET(SCUA4, 15));
420e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOSCI, ACPI, ACPI_DESC);
421e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A19, SIOSCI, SIOSCI, ACPI);
4227b388970SAndrew Jeffery PIN_DECL_2(A19, GPIOF5, NDTS4, SIOSCI);
4236d329f14SAndrew Jeffery FUNC_GROUP_DECL(NDTS4, A19);
4246d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOSCI, A19);
425524594d4SAndrew Jeffery 
426524594d4SAndrew Jeffery #define E16 46
427524594d4SAndrew Jeffery SSSF_PIN_DECL(E16, GPIOF6, TXD4, SIG_DESC_SET(SCU80, 30));
428524594d4SAndrew Jeffery 
429524594d4SAndrew Jeffery #define C17 47
430524594d4SAndrew Jeffery SSSF_PIN_DECL(C17, GPIOF7, RXD4, SIG_DESC_SET(SCU80, 31));
431524594d4SAndrew Jeffery 
4326d329f14SAndrew Jeffery #define A14 48
4336d329f14SAndrew Jeffery SSSF_PIN_DECL(A14, GPIOG0, SGPSCK, SIG_DESC_SET(SCU84, 0));
4346d329f14SAndrew Jeffery 
4356d329f14SAndrew Jeffery #define E13 49
4366d329f14SAndrew Jeffery SSSF_PIN_DECL(E13, GPIOG1, SGPSLD, SIG_DESC_SET(SCU84, 1));
4376d329f14SAndrew Jeffery 
4386d329f14SAndrew Jeffery #define D13 50
4396d329f14SAndrew Jeffery SSSF_PIN_DECL(D13, GPIOG2, SGPSI0, SIG_DESC_SET(SCU84, 2));
4406d329f14SAndrew Jeffery 
4416d329f14SAndrew Jeffery #define C13 51
4426d329f14SAndrew Jeffery SSSF_PIN_DECL(C13, GPIOG3, SGPSI1, SIG_DESC_SET(SCU84, 3));
4436d329f14SAndrew Jeffery 
4446d329f14SAndrew Jeffery #define B13 52
445e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B13, OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1));
446e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B13, WDTRST1, WDTRST1, SIG_DESC_SET(SCU84, 4));
4477b388970SAndrew Jeffery PIN_DECL_2(B13, GPIOG4, OSCCLK, WDTRST1);
4486d329f14SAndrew Jeffery 
4496d329f14SAndrew Jeffery FUNC_GROUP_DECL(OSCCLK, B13);
4506d329f14SAndrew Jeffery FUNC_GROUP_DECL(WDTRST1, B13);
4516d329f14SAndrew Jeffery 
4526d329f14SAndrew Jeffery #define Y21 53
453e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y21, USBCKI, USBCKI, SIG_DESC_SET(HW_STRAP1, 23));
454e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y21, WDTRST2, WDTRST2, SIG_DESC_SET(SCU84, 5));
4557b388970SAndrew Jeffery PIN_DECL_2(Y21, GPIOG5, USBCKI, WDTRST2);
4566d329f14SAndrew Jeffery 
4576d329f14SAndrew Jeffery FUNC_GROUP_DECL(USBCKI, Y21);
4586d329f14SAndrew Jeffery FUNC_GROUP_DECL(WDTRST2, Y21);
4596d329f14SAndrew Jeffery 
460524594d4SAndrew Jeffery #define AA22 54
461524594d4SAndrew Jeffery SSSF_PIN_DECL(AA22, GPIOG6, FLBUSY, SIG_DESC_SET(SCU84, 6));
462524594d4SAndrew Jeffery 
463524594d4SAndrew Jeffery #define U18 55
464524594d4SAndrew Jeffery SSSF_PIN_DECL(U18, GPIOG7, FLWP, SIG_DESC_SET(SCU84, 7));
465524594d4SAndrew Jeffery 
466524594d4SAndrew Jeffery #define UART6_DESC	SIG_DESC_SET(SCU90, 7)
467524594d4SAndrew Jeffery #define ROM16_DESC	SIG_DESC_SET(SCU90, 6)
468524594d4SAndrew Jeffery #define FLASH_WIDE	SIG_DESC_SET(HW_STRAP1, 4)
4697d29ed88SAndrew Jeffery #define BOOT_SRC_NOR	{ ASPEED_IP_SCU, HW_STRAP1, GENMASK(1, 0), 0, 0 }
470524594d4SAndrew Jeffery 
471524594d4SAndrew Jeffery #define A8 56
472e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD8, ROM16, ROM16_DESC);
473e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD8, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
474e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A8, ROMD8, ROM16, ROM16S);
475e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A8, NCTS6, NCTS6, UART6_DESC);
4767b388970SAndrew Jeffery PIN_DECL_2(A8, GPIOH0, ROMD8, NCTS6);
477524594d4SAndrew Jeffery 
478524594d4SAndrew Jeffery #define C7 57
479e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD9, ROM16, ROM16_DESC);
480e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD9, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
481e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C7, ROMD9, ROM16, ROM16S);
482e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C7, NDCD6, NDCD6, UART6_DESC);
4837b388970SAndrew Jeffery PIN_DECL_2(C7, GPIOH1, ROMD9, NDCD6);
484524594d4SAndrew Jeffery 
485524594d4SAndrew Jeffery #define B7 58
486e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD10, ROM16, ROM16_DESC);
487e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD10, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
488e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B7, ROMD10, ROM16, ROM16S);
489e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B7, NDSR6, NDSR6, UART6_DESC);
4907b388970SAndrew Jeffery PIN_DECL_2(B7, GPIOH2, ROMD10, NDSR6);
491524594d4SAndrew Jeffery 
492524594d4SAndrew Jeffery #define A7 59
493e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD11, ROM16, ROM16_DESC);
494e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD11, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
495e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A7, ROMD11, ROM16, ROM16S);
496e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A7, NRI6, NRI6, UART6_DESC);
4977b388970SAndrew Jeffery PIN_DECL_2(A7, GPIOH3, ROMD11, NRI6);
498524594d4SAndrew Jeffery 
499524594d4SAndrew Jeffery #define D7 60
500e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD12, ROM16, ROM16_DESC);
501e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD12, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
502e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D7, ROMD12, ROM16, ROM16S);
503e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D7, NDTR6, NDTR6, UART6_DESC);
5047b388970SAndrew Jeffery PIN_DECL_2(D7, GPIOH4, ROMD12, NDTR6);
505524594d4SAndrew Jeffery 
506524594d4SAndrew Jeffery #define B6 61
507e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD13, ROM16, ROM16_DESC);
508e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD13, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
509e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(B6, ROMD13, ROM16, ROM16S);
510e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B6, NRTS6, NRTS6, UART6_DESC);
5117b388970SAndrew Jeffery PIN_DECL_2(B6, GPIOH5, ROMD13, NRTS6);
512524594d4SAndrew Jeffery 
513524594d4SAndrew Jeffery #define A6 62
514e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD14, ROM16, ROM16_DESC);
515e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD14, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
516e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(A6, ROMD14, ROM16, ROM16S);
517e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A6, TXD6, TXD6, UART6_DESC);
5187b388970SAndrew Jeffery PIN_DECL_2(A6, GPIOH6, ROMD14, TXD6);
519524594d4SAndrew Jeffery 
520524594d4SAndrew Jeffery #define E7 63
521e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD15, ROM16, ROM16_DESC);
522e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD15, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
523e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(E7, ROMD15, ROM16, ROM16S);
524e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E7, RXD6, RXD6, UART6_DESC);
5257b388970SAndrew Jeffery PIN_DECL_2(E7, GPIOH7, ROMD15, RXD6);
526524594d4SAndrew Jeffery 
527524594d4SAndrew Jeffery FUNC_GROUP_DECL(UART6, A8, C7, B7, A7, D7, B6, A6, E7);
528524594d4SAndrew Jeffery 
5296d329f14SAndrew Jeffery #define SPI1_DESC \
5306d329f14SAndrew Jeffery 	{ ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 1, 0 }
5316d329f14SAndrew Jeffery #define SPI1DEBUG_DESC \
5326d329f14SAndrew Jeffery 	{ ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 2, 0 }
5336d329f14SAndrew Jeffery #define SPI1PASSTHRU_DESC \
5346d329f14SAndrew Jeffery 	{ ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 }
5356d329f14SAndrew Jeffery 
5366d329f14SAndrew Jeffery #define C22 64
537e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSCS, SPI1DEBUG, SPI1DEBUG_DESC);
538e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSCS, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
539e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C22, SYSCS, SPI1DEBUG, SPI1PASSTHRU);
5407b388970SAndrew Jeffery PIN_DECL_1(C22, GPIOI0, SYSCS);
5416d329f14SAndrew Jeffery 
5426d329f14SAndrew Jeffery #define G18 65
543e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSCK, SPI1DEBUG, SPI1DEBUG_DESC);
544e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSCK, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
545e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(G18, SYSCK, SPI1DEBUG, SPI1PASSTHRU);
5467b388970SAndrew Jeffery PIN_DECL_1(G18, GPIOI1, SYSCK);
5476d329f14SAndrew Jeffery 
5486d329f14SAndrew Jeffery #define D19 66
549e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSDO, SPI1DEBUG, SPI1DEBUG_DESC);
550e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSDO, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
551e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(D19, SYSDO, SPI1DEBUG, SPI1PASSTHRU);
5527b388970SAndrew Jeffery PIN_DECL_1(D19, GPIOI2, SYSDO);
5536d329f14SAndrew Jeffery 
5546d329f14SAndrew Jeffery #define C20 67
555e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSDI, SPI1DEBUG, SPI1DEBUG_DESC);
556e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SYSDI, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
557e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C20, SYSDI, SPI1DEBUG, SPI1PASSTHRU);
5587b388970SAndrew Jeffery PIN_DECL_1(C20, GPIOI3, SYSDI);
5596d329f14SAndrew Jeffery 
5606d329f14SAndrew Jeffery #define VB_DESC	SIG_DESC_SET(HW_STRAP1, 5)
5616d329f14SAndrew Jeffery 
5626d329f14SAndrew Jeffery #define B22 68
563e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1, SPI1_DESC);
564e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1DEBUG, SPI1DEBUG_DESC);
565e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
566e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(SPI1CS0, SPI1,
567e7a96b0bSAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CS0, SPI1),
5686d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG),
5696d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU));
570e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(B22, SPI1CS0, SPI1);
571e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B22, VBCS, VGABIOS_ROM, VB_DESC);
5727b388970SAndrew Jeffery PIN_DECL_2(B22, GPIOI4, SPI1CS0, VBCS);
5736d329f14SAndrew Jeffery 
5746d329f14SAndrew Jeffery #define G19 69
575e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1, SPI1_DESC);
576e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1DEBUG, SPI1DEBUG_DESC);
577e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
578e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(SPI1CK, SPI1,
579e7a96b0bSAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CK, SPI1),
5806d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CK, SPI1DEBUG),
5816d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU));
582e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(G19, SPI1CK, SPI1);
583e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(G19, VBCK, VGABIOS_ROM, VB_DESC);
5847b388970SAndrew Jeffery PIN_DECL_2(G19, GPIOI5, SPI1CK, VBCK);
5856d329f14SAndrew Jeffery 
5866d329f14SAndrew Jeffery #define C18 70
587e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1, SPI1_DESC);
588e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1DEBUG, SPI1DEBUG_DESC);
589e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DO, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
590e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(SPI1DO, SPI1,
591e7a96b0bSAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DO, SPI1),
5926d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DO, SPI1DEBUG),
5936d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DO, SPI1PASSTHRU));
594e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(C18, SPI1DO, SPI1);
595e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C18, VBDO, VGABIOS_ROM, VB_DESC);
5967b388970SAndrew Jeffery PIN_DECL_2(C18, GPIOI6, SPI1DO, VBDO);
5976d329f14SAndrew Jeffery 
5986d329f14SAndrew Jeffery #define E20 71
599e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1, SPI1_DESC);
600e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1DEBUG, SPI1DEBUG_DESC);
601e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SPI1DI, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
602e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(SPI1DI, SPI1,
603e7a96b0bSAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DI, SPI1),
6046d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DI, SPI1DEBUG),
6056d329f14SAndrew Jeffery 			    SIG_EXPR_PTR(SPI1DI, SPI1PASSTHRU));
606e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(E20, SPI1DI, SPI1);
607e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E20, VBDI, VGABIOS_ROM, VB_DESC);
6087b388970SAndrew Jeffery PIN_DECL_2(E20, GPIOI7, SPI1DI, VBDI);
6096d329f14SAndrew Jeffery 
6106d329f14SAndrew Jeffery FUNC_GROUP_DECL(SPI1, B22, G19, C18, E20);
6116d329f14SAndrew Jeffery FUNC_GROUP_DECL(SPI1DEBUG, C22, G18, D19, C20, B22, G19, C18, E20);
6126d329f14SAndrew Jeffery FUNC_GROUP_DECL(SPI1PASSTHRU, C22, G18, D19, C20, B22, G19, C18, E20);
6136d329f14SAndrew Jeffery FUNC_GROUP_DECL(VGABIOS_ROM, B22, G19, C18, E20);
6146d329f14SAndrew Jeffery 
6156d329f14SAndrew Jeffery #define J5 72
6166d329f14SAndrew Jeffery SSSF_PIN_DECL(J5, GPIOJ0, SGPMCK, SIG_DESC_SET(SCU84, 8));
6176d329f14SAndrew Jeffery 
6186d329f14SAndrew Jeffery #define J4 73
6196d329f14SAndrew Jeffery SSSF_PIN_DECL(J4, GPIOJ1, SGPMLD, SIG_DESC_SET(SCU84, 9));
6206d329f14SAndrew Jeffery 
6216d329f14SAndrew Jeffery #define K5 74
6226d329f14SAndrew Jeffery SSSF_PIN_DECL(K5, GPIOJ2, SGPMO, SIG_DESC_SET(SCU84, 10));
6236d329f14SAndrew Jeffery 
624524594d4SAndrew Jeffery #define J3 75
625524594d4SAndrew Jeffery SSSF_PIN_DECL(J3, GPIOJ3, SGPMI, SIG_DESC_SET(SCU84, 11));
626524594d4SAndrew Jeffery 
627524594d4SAndrew Jeffery #define T4 76
628524594d4SAndrew Jeffery SSSF_PIN_DECL(T4, GPIOJ4, VGAHS, SIG_DESC_SET(SCU84, 12));
629524594d4SAndrew Jeffery 
630524594d4SAndrew Jeffery #define U2 77
631524594d4SAndrew Jeffery SSSF_PIN_DECL(U2, GPIOJ5, VGAVS, SIG_DESC_SET(SCU84, 13));
632524594d4SAndrew Jeffery 
633524594d4SAndrew Jeffery #define T2 78
634524594d4SAndrew Jeffery SSSF_PIN_DECL(T2, GPIOJ6, DDCCLK, SIG_DESC_SET(SCU84, 14));
635524594d4SAndrew Jeffery 
636524594d4SAndrew Jeffery #define T1 79
637524594d4SAndrew Jeffery SSSF_PIN_DECL(T1, GPIOJ7, DDCDAT, SIG_DESC_SET(SCU84, 15));
638524594d4SAndrew Jeffery 
639524594d4SAndrew Jeffery #define I2C5_DESC	SIG_DESC_SET(SCU90, 18)
640524594d4SAndrew Jeffery 
641524594d4SAndrew Jeffery #define E3 80
642e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E3, SCL5, I2C5, I2C5_DESC);
6437b388970SAndrew Jeffery PIN_DECL_1(E3, GPIOK0, SCL5);
644524594d4SAndrew Jeffery 
645524594d4SAndrew Jeffery #define D2 81
646e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D2, SDA5, I2C5, I2C5_DESC);
6477b388970SAndrew Jeffery PIN_DECL_1(D2, GPIOK1, SDA5);
648524594d4SAndrew Jeffery 
649524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C5, E3, D2);
650524594d4SAndrew Jeffery 
651524594d4SAndrew Jeffery #define I2C6_DESC	SIG_DESC_SET(SCU90, 19)
652524594d4SAndrew Jeffery 
653524594d4SAndrew Jeffery #define C1 82
654e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C1, SCL6, I2C6, I2C6_DESC);
6557b388970SAndrew Jeffery PIN_DECL_1(C1, GPIOK2, SCL6);
656524594d4SAndrew Jeffery 
657524594d4SAndrew Jeffery #define F4 83
658e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(F4, SDA6, I2C6, I2C6_DESC);
6597b388970SAndrew Jeffery PIN_DECL_1(F4, GPIOK3, SDA6);
660524594d4SAndrew Jeffery 
661524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C6, C1, F4);
662524594d4SAndrew Jeffery 
663524594d4SAndrew Jeffery #define I2C7_DESC	SIG_DESC_SET(SCU90, 20)
664524594d4SAndrew Jeffery 
665524594d4SAndrew Jeffery #define E2 84
666e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E2, SCL7, I2C7, I2C7_DESC);
6677b388970SAndrew Jeffery PIN_DECL_1(E2, GPIOK4, SCL7);
668524594d4SAndrew Jeffery 
669524594d4SAndrew Jeffery #define D1 85
670e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D1, SDA7, I2C7, I2C7_DESC);
6717b388970SAndrew Jeffery PIN_DECL_1(D1, GPIOK5, SDA7);
672524594d4SAndrew Jeffery 
673524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C7, E2, D1);
674524594d4SAndrew Jeffery 
675524594d4SAndrew Jeffery #define I2C8_DESC	SIG_DESC_SET(SCU90, 21)
676524594d4SAndrew Jeffery 
677524594d4SAndrew Jeffery #define G5 86
678e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(G5, SCL8, I2C8, I2C8_DESC);
6797b388970SAndrew Jeffery PIN_DECL_1(G5, GPIOK6, SCL8);
680524594d4SAndrew Jeffery 
681524594d4SAndrew Jeffery #define F3 87
682e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(F3, SDA8, I2C8, I2C8_DESC);
6837b388970SAndrew Jeffery PIN_DECL_1(F3, GPIOK7, SDA8);
684524594d4SAndrew Jeffery 
685524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C8, G5, F3);
686524594d4SAndrew Jeffery 
687524594d4SAndrew Jeffery #define U1 88
688524594d4SAndrew Jeffery SSSF_PIN_DECL(U1, GPIOL0, NCTS1, SIG_DESC_SET(SCU84, 16));
689524594d4SAndrew Jeffery 
6907d29ed88SAndrew Jeffery #define VPI18_DESC	{ ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 1, 0 }
6917d29ed88SAndrew Jeffery #define VPI24_DESC	{ ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 2, 0 }
6927d29ed88SAndrew Jeffery #define VPI30_DESC	{ ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 3, 0 }
693524594d4SAndrew Jeffery 
694524594d4SAndrew Jeffery #define T5 89
695524594d4SAndrew Jeffery #define T5_DESC         SIG_DESC_SET(SCU84, 17)
696e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIDE, VPI18, VPI18_DESC, T5_DESC);
697e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIDE, VPI24, VPI24_DESC, T5_DESC);
698e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIDE, VPI30, VPI30_DESC, T5_DESC);
699e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIDE, VPI,
700e7a96b0bSAndrew Jeffery 		   SIG_EXPR_PTR(VPIDE, VPI18),
701524594d4SAndrew Jeffery 		   SIG_EXPR_PTR(VPIDE, VPI24),
702524594d4SAndrew Jeffery 		   SIG_EXPR_PTR(VPIDE, VPI30));
703e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(T5, VPIDE, VPI);
704e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(T5, NDCD1, NDCD1, T5_DESC);
7057b388970SAndrew Jeffery PIN_DECL_2(T5, GPIOL1, VPIDE, NDCD1);
706524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDCD1, T5);
707524594d4SAndrew Jeffery 
708524594d4SAndrew Jeffery #define U3 90
709524594d4SAndrew Jeffery #define U3_DESC         SIG_DESC_SET(SCU84, 18)
710e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIODD, VPI18, VPI18_DESC, U3_DESC);
711e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIODD, VPI24, VPI24_DESC, U3_DESC);
712e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIODD, VPI30, VPI30_DESC, U3_DESC);
713e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIODD, VPI,
714e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIODD, VPI18),
715524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIODD, VPI24),
716524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIODD, VPI30));
717e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(U3, VPIODD, VPI);
718e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(U3, NDSR1, NDSR1, U3_DESC);
7197b388970SAndrew Jeffery PIN_DECL_2(U3, GPIOL2, VPIODD, NDSR1);
720524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDSR1, U3);
721524594d4SAndrew Jeffery 
722524594d4SAndrew Jeffery #define V1 91
723524594d4SAndrew Jeffery #define V1_DESC         SIG_DESC_SET(SCU84, 19)
724e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIHS, VPI18, VPI18_DESC, V1_DESC);
725e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIHS, VPI24, VPI24_DESC, V1_DESC);
726e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIHS, VPI30, VPI30_DESC, V1_DESC);
727e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIHS, VPI,
728e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIHS, VPI18),
729524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIHS, VPI24),
730524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIHS, VPI30));
731e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V1, VPIHS, VPI);
732e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V1, NRI1, NRI1, V1_DESC);
7337b388970SAndrew Jeffery PIN_DECL_2(V1, GPIOL3, VPIHS, NRI1);
734524594d4SAndrew Jeffery FUNC_GROUP_DECL(NRI1, V1);
735524594d4SAndrew Jeffery 
736524594d4SAndrew Jeffery #define U4 92
737524594d4SAndrew Jeffery #define U4_DESC         SIG_DESC_SET(SCU84, 20)
738e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIVS, VPI18, VPI18_DESC, U4_DESC);
739e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIVS, VPI24, VPI24_DESC, U4_DESC);
740e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIVS, VPI30, VPI30_DESC, U4_DESC);
741e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIVS, VPI,
742e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIVS, VPI18),
743524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIVS, VPI24),
744524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIVS, VPI30));
745e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(U4, VPIVS, VPI);
746e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(U4, NDTR1, NDTR1, U4_DESC);
7477b388970SAndrew Jeffery PIN_DECL_2(U4, GPIOL4, VPIVS, NDTR1);
748524594d4SAndrew Jeffery FUNC_GROUP_DECL(NDTR1, U4);
749524594d4SAndrew Jeffery 
750524594d4SAndrew Jeffery #define V2 93
751524594d4SAndrew Jeffery #define V2_DESC         SIG_DESC_SET(SCU84, 21)
752e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPICLK, VPI18, VPI18_DESC, V2_DESC);
753e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPICLK, VPI24, VPI24_DESC, V2_DESC);
754e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPICLK, VPI30, VPI30_DESC, V2_DESC);
755e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPICLK, VPI,
756e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPICLK, VPI18),
757524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPICLK, VPI24),
758524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPICLK, VPI30));
759e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V2, VPICLK, VPI);
760e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V2, NRTS1, NRTS1, V2_DESC);
7617b388970SAndrew Jeffery PIN_DECL_2(V2, GPIOL5, VPICLK, NRTS1);
762524594d4SAndrew Jeffery FUNC_GROUP_DECL(NRTS1, V2);
763524594d4SAndrew Jeffery 
764524594d4SAndrew Jeffery #define W1 94
765524594d4SAndrew Jeffery #define W1_DESC         SIG_DESC_SET(SCU84, 22)
766e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W1, VPIB0, VPI30, VPI30_DESC, W1_DESC);
767e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W1, TXD1, TXD1, W1_DESC);
7687b388970SAndrew Jeffery PIN_DECL_2(W1, GPIOL6, VPIB0, TXD1);
769524594d4SAndrew Jeffery FUNC_GROUP_DECL(TXD1, W1);
770524594d4SAndrew Jeffery 
771524594d4SAndrew Jeffery #define U5 95
772524594d4SAndrew Jeffery #define U5_DESC         SIG_DESC_SET(SCU84, 23)
773e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(U5, VPIB1, VPI30, VPI30_DESC, U5_DESC);
774e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(U5, RXD1, RXD1, U5_DESC);
7757b388970SAndrew Jeffery PIN_DECL_2(U5, GPIOL7, VPIB1, RXD1);
776524594d4SAndrew Jeffery FUNC_GROUP_DECL(RXD1, U5);
777524594d4SAndrew Jeffery 
7786d329f14SAndrew Jeffery #define V3 96
7796d329f14SAndrew Jeffery #define V3_DESC		SIG_DESC_SET(SCU84, 24)
780e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB2, VPI18, VPI18_DESC, V3_DESC);
781e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB2, VPI24, VPI24_DESC, V3_DESC);
782e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB2, VPI30, VPI30_DESC, V3_DESC);
783e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB2, VPI,
784e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB2, VPI18),
7856d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB2, VPI24),
7866d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB2, VPI30));
787e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V3, VPIOB2, VPI);
788e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V3, NCTS2, NCTS2, V3_DESC);
7897b388970SAndrew Jeffery PIN_DECL_2(V3, GPIOM0, VPIOB2, NCTS2);
7906d329f14SAndrew Jeffery FUNC_GROUP_DECL(NCTS2, V3);
7916d329f14SAndrew Jeffery 
7926d329f14SAndrew Jeffery #define W2 97
7936d329f14SAndrew Jeffery #define W2_DESC		SIG_DESC_SET(SCU84, 25)
794e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB3, VPI18, VPI18_DESC, W2_DESC);
795e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB3, VPI24, VPI24_DESC, W2_DESC);
796e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB3, VPI30, VPI30_DESC, W2_DESC);
797e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB3, VPI,
798e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB3, VPI18),
7996d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB3, VPI24),
8006d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB3, VPI30));
801e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(W2, VPIOB3, VPI);
802e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W2, NDCD2, NDCD2, W2_DESC);
8037b388970SAndrew Jeffery PIN_DECL_2(W2, GPIOM1, VPIOB3, NDCD2);
8046d329f14SAndrew Jeffery FUNC_GROUP_DECL(NDCD2, W2);
8056d329f14SAndrew Jeffery 
8066d329f14SAndrew Jeffery #define Y1 98
8076d329f14SAndrew Jeffery #define Y1_DESC		SIG_DESC_SET(SCU84, 26)
808e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB4, VPI18, VPI18_DESC, Y1_DESC);
809e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB4, VPI24, VPI24_DESC, Y1_DESC);
810e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB4, VPI30, VPI30_DESC, Y1_DESC);
811e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB4, VPI,
812e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB4, VPI18),
8136d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB4, VPI24),
8146d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB4, VPI30));
815e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(Y1, VPIOB4, VPI);
816e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y1, NDSR2, NDSR2, Y1_DESC);
8177b388970SAndrew Jeffery PIN_DECL_2(Y1, GPIOM2, VPIOB4, NDSR2);
8186d329f14SAndrew Jeffery FUNC_GROUP_DECL(NDSR2, Y1);
8196d329f14SAndrew Jeffery 
8206d329f14SAndrew Jeffery #define V4 99
8216d329f14SAndrew Jeffery #define V4_DESC		SIG_DESC_SET(SCU84, 27)
822e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB5, VPI18, VPI18_DESC, V4_DESC);
823e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB5, VPI24, VPI24_DESC, V4_DESC);
824e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB5, VPI30, VPI30_DESC, V4_DESC);
825e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB5, VPI,
826e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB5, VPI18),
8276d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB5, VPI24),
8286d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB5, VPI30));
829e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V4, VPIOB5, VPI);
830e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V4, NRI2, NRI2, V4_DESC);
8317b388970SAndrew Jeffery PIN_DECL_2(V4, GPIOM3, VPIOB5, NRI2);
8326d329f14SAndrew Jeffery FUNC_GROUP_DECL(NRI2, V4);
8336d329f14SAndrew Jeffery 
8346d329f14SAndrew Jeffery #define W3 100
8356d329f14SAndrew Jeffery #define W3_DESC		SIG_DESC_SET(SCU84, 28)
836e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB6, VPI18, VPI18_DESC, W3_DESC);
837e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB6, VPI24, VPI24_DESC, W3_DESC);
838e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB6, VPI30, VPI30_DESC, W3_DESC);
839e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB6, VPI,
840e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB6, VPI18),
8416d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB6, VPI24),
8426d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB6, VPI30));
843e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(W3, VPIOB6, VPI);
844e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W3, NDTR2, NDTR2, W3_DESC);
8457b388970SAndrew Jeffery PIN_DECL_2(W3, GPIOM4, VPIOB6, NDTR2);
8466d329f14SAndrew Jeffery FUNC_GROUP_DECL(NDTR2, W3);
8476d329f14SAndrew Jeffery 
8486d329f14SAndrew Jeffery #define Y2 101
8496d329f14SAndrew Jeffery #define Y2_DESC		SIG_DESC_SET(SCU84, 29)
850e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB7, VPI18, VPI18_DESC, Y2_DESC);
851e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB7, VPI24, VPI24_DESC, Y2_DESC);
852e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB7, VPI30, VPI30_DESC, Y2_DESC);
853e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB7, VPI,
854e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB7, VPI18),
8556d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB7, VPI24),
8566d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB7, VPI30));
857e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(Y2, VPIOB7, VPI);
858e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y2, NRTS2, NRTS2, Y2_DESC);
8597b388970SAndrew Jeffery PIN_DECL_2(Y2, GPIOM5, VPIOB7, NRTS2);
8606d329f14SAndrew Jeffery FUNC_GROUP_DECL(NRTS2, Y2);
8616d329f14SAndrew Jeffery 
8626d329f14SAndrew Jeffery #define AA1 102
8636d329f14SAndrew Jeffery #define AA1_DESC	SIG_DESC_SET(SCU84, 30)
864e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB8, VPI18, VPI18_DESC, AA1_DESC);
865e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB8, VPI24, VPI24_DESC, AA1_DESC);
866e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB8, VPI30, VPI30_DESC, AA1_DESC);
867e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB8, VPI,
868e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB8, VPI18),
8696d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB8, VPI24),
8706d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB8, VPI30));
871e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(AA1, VPIOB8, VPI);
872e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA1, TXD2, TXD2, AA1_DESC);
8737b388970SAndrew Jeffery PIN_DECL_2(AA1, GPIOM6, VPIOB8, TXD2);
8746d329f14SAndrew Jeffery FUNC_GROUP_DECL(TXD2, AA1);
8756d329f14SAndrew Jeffery 
8766d329f14SAndrew Jeffery #define V5 103
8776d329f14SAndrew Jeffery #define V5_DESC		SIG_DESC_SET(SCU84, 31)
878e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB9, VPI18, VPI18_DESC, V5_DESC);
879e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB9, VPI24, VPI24_DESC, V5_DESC);
880e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIOB9, VPI30, VPI30_DESC, V5_DESC);
881e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIOB9, VPI,
882e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIOB9, VPI18),
8836d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB9, VPI24),
8846d329f14SAndrew Jeffery 		SIG_EXPR_PTR(VPIOB9, VPI30));
885e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V5, VPIOB9, VPI);
886e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V5, RXD2, RXD2, V5_DESC);
8877b388970SAndrew Jeffery PIN_DECL_2(V5, GPIOM7, VPIOB9, RXD2);
8886d329f14SAndrew Jeffery FUNC_GROUP_DECL(RXD2, V5);
8896d329f14SAndrew Jeffery 
890524594d4SAndrew Jeffery #define W4 104
891524594d4SAndrew Jeffery #define W4_DESC         SIG_DESC_SET(SCU88, 0)
892e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W4, VPIG0, VPI30, VPI30_DESC, W4_DESC);
893e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W4, PWM0, PWM0, W4_DESC);
8947b388970SAndrew Jeffery PIN_DECL_2(W4, GPION0, VPIG0, PWM0);
895524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM0, W4);
896524594d4SAndrew Jeffery 
897524594d4SAndrew Jeffery #define Y3 105
898524594d4SAndrew Jeffery #define Y3_DESC         SIG_DESC_SET(SCU88, 1)
899e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y3, VPIG1, VPI30, VPI30_DESC, Y3_DESC);
900e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y3, PWM1, PWM1, Y3_DESC);
9017b388970SAndrew Jeffery PIN_DECL_2(Y3, GPION1, VPIG1, PWM1);
902524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM1, Y3);
903524594d4SAndrew Jeffery 
904524594d4SAndrew Jeffery #define AA2 106
905524594d4SAndrew Jeffery #define AA2_DESC        SIG_DESC_SET(SCU88, 2)
906e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG2, VPI18, VPI18_DESC, AA2_DESC);
907e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG2, VPI24, VPI24_DESC, AA2_DESC);
908e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG2, VPI30, VPI30_DESC, AA2_DESC);
909e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIG2, VPI,
910e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIG2, VPI18),
911524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIG2, VPI24),
912524594d4SAndrew Jeffery 		SIG_EXPR_PTR(VPIG2, VPI30));
913e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(AA2, VPIG2, VPI);
914e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA2, PWM2, PWM2, AA2_DESC);
9157b388970SAndrew Jeffery PIN_DECL_2(AA2, GPION2, VPIG2, PWM2);
916524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM2, AA2);
917524594d4SAndrew Jeffery 
918524594d4SAndrew Jeffery #define AB1 107
919524594d4SAndrew Jeffery #define AB1_DESC        SIG_DESC_SET(SCU88, 3)
920e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG3, VPI18, VPI18_DESC, AB1_DESC);
921e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG3, VPI24, VPI24_DESC, AB1_DESC);
922e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG3, VPI30, VPI30_DESC, AB1_DESC);
923e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIG3, VPI,
924e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIG3, VPI18),
92503ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG3, VPI24),
92603ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG3, VPI30));
927e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(AB1, VPIG3, VPI);
928e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB1, PWM3, PWM3, AB1_DESC);
9297b388970SAndrew Jeffery PIN_DECL_2(AB1, GPION3, VPIG3, PWM3);
930524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM3, AB1);
931524594d4SAndrew Jeffery 
932524594d4SAndrew Jeffery #define W5 108
933524594d4SAndrew Jeffery #define W5_DESC         SIG_DESC_SET(SCU88, 4)
934e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG4, VPI18, VPI18_DESC, W5_DESC);
935e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG4, VPI24, VPI24_DESC, W5_DESC);
936e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG4, VPI30, VPI30_DESC, W5_DESC);
937e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIG4, VPI,
938e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIG4, VPI18),
93903ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG4, VPI24),
94003ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG4, VPI30));
941e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(W5, VPIG4, VPI);
942e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W5, PWM4, PWM4, W5_DESC);
9437b388970SAndrew Jeffery PIN_DECL_2(W5, GPION4, VPIG4, PWM4);
944524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM4, W5);
945524594d4SAndrew Jeffery 
946524594d4SAndrew Jeffery #define Y4 109
947524594d4SAndrew Jeffery #define Y4_DESC         SIG_DESC_SET(SCU88, 5)
948e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG5, VPI18, VPI18_DESC, Y4_DESC);
949e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG5, VPI24, VPI24_DESC, Y4_DESC);
950e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPIG5, VPI30, VPI30_DESC, Y4_DESC);
951e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPIG5, VPI,
952e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPIG5, VPI18),
95303ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG5, VPI24),
95403ffb507SAndrew Jeffery 		SIG_EXPR_PTR(VPIG5, VPI30));
955e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(Y4, VPIG5, VPI);
956e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y4, PWM5, PWM5, Y4_DESC);
9577b388970SAndrew Jeffery PIN_DECL_2(Y4, GPION5, VPIG5, PWM5);
958524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM5, Y4);
959524594d4SAndrew Jeffery 
960524594d4SAndrew Jeffery #define AA3 110
961524594d4SAndrew Jeffery #define AA3_DESC        SIG_DESC_SET(SCU88, 6)
962e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA3, VPIG6, VPI30, VPI30_DESC, AA3_DESC);
963e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA3, PWM6, PWM6, AA3_DESC);
9647b388970SAndrew Jeffery PIN_DECL_2(AA3, GPION6, VPIG6, PWM6);
965524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM6, AA3);
966524594d4SAndrew Jeffery 
967524594d4SAndrew Jeffery #define AB2 111
968524594d4SAndrew Jeffery #define AB2_DESC        SIG_DESC_SET(SCU88, 7)
969e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB2, VPIG7, VPI30, VPI30_DESC, AB2_DESC);
970e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB2, PWM7, PWM7, AB2_DESC);
9717b388970SAndrew Jeffery PIN_DECL_2(AB2, GPION7, VPIG7, PWM7);
972524594d4SAndrew Jeffery FUNC_GROUP_DECL(PWM7, AB2);
973524594d4SAndrew Jeffery 
974524594d4SAndrew Jeffery #define V6 112
975e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V6, VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8));
9767b388970SAndrew Jeffery PIN_DECL_1(V6, GPIOO0, VPIG8);
977524594d4SAndrew Jeffery 
978524594d4SAndrew Jeffery #define Y5 113
979e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y5, VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9));
9807b388970SAndrew Jeffery PIN_DECL_1(Y5, GPIOO1, VPIG9);
981524594d4SAndrew Jeffery 
9826d329f14SAndrew Jeffery #define AA4 114
983e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA4, VPIR0, VPI30, VPI30_DESC,
984e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 10));
9857b388970SAndrew Jeffery PIN_DECL_1(AA4, GPIOO2, VPIR0);
9866d329f14SAndrew Jeffery 
9876d329f14SAndrew Jeffery #define AB3 115
988e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB3, VPIR1, VPI30, VPI30_DESC,
989e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 11));
9907b388970SAndrew Jeffery PIN_DECL_1(AB3, GPIOO3, VPIR1);
9916d329f14SAndrew Jeffery 
9926d329f14SAndrew Jeffery #define W6 116
993e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W6, VPIR2, VPI24, VPI24_DESC,
994e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 12));
9957b388970SAndrew Jeffery PIN_DECL_1(W6, GPIOO4, VPIR2);
9966d329f14SAndrew Jeffery 
9976d329f14SAndrew Jeffery #define AA5 117
998e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA5, VPIR3, VPI24, VPI24_DESC,
999e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 13));
10007b388970SAndrew Jeffery PIN_DECL_1(AA5, GPIOO5, VPIR3);
10016d329f14SAndrew Jeffery 
10026d329f14SAndrew Jeffery #define AB4 118
1003e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB4, VPIR4, VPI24, VPI24_DESC,
1004e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 14));
10057b388970SAndrew Jeffery PIN_DECL_1(AB4, GPIOO6, VPIR4);
10066d329f14SAndrew Jeffery 
10076d329f14SAndrew Jeffery #define V7 119
1008e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V7, VPIR5, VPI24, VPI24_DESC,
1009e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 15));
10107b388970SAndrew Jeffery PIN_DECL_1(V7, GPIOO7, VPIR5);
10116d329f14SAndrew Jeffery 
10126d329f14SAndrew Jeffery #define Y6 120
1013e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y6, VPIR6, VPI24, VPI24_DESC,
1014e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 16));
10157b388970SAndrew Jeffery PIN_DECL_1(Y6, GPIOP0, VPIR6);
10166d329f14SAndrew Jeffery 
10176d329f14SAndrew Jeffery #define AB5 121
1018e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB5, VPIR7, VPI24, VPI24_DESC,
1019e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 17));
10207b388970SAndrew Jeffery PIN_DECL_1(AB5, GPIOP1, VPIR7);
10216d329f14SAndrew Jeffery 
10226d329f14SAndrew Jeffery #define W7 122
1023e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W7, VPIR8, VPI24, VPI24_DESC,
1024e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 18));
10257b388970SAndrew Jeffery PIN_DECL_1(W7, GPIOP2, VPIR8);
10266d329f14SAndrew Jeffery 
10276d329f14SAndrew Jeffery #define AA6 123
1028e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AA6, VPIR9, VPI24, VPI24_DESC,
1029e7a96b0bSAndrew Jeffery 			  SIG_DESC_SET(SCU88, 19));
10307b388970SAndrew Jeffery PIN_DECL_1(AA6, GPIOP3, VPIR9);
10316d329f14SAndrew Jeffery 
10326d329f14SAndrew Jeffery FUNC_GROUP_DECL(VPI18, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5,
10336d329f14SAndrew Jeffery 		AA22, W5, Y4, AA3, AB2);
10346d329f14SAndrew Jeffery FUNC_GROUP_DECL(VPI24, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5,
10356d329f14SAndrew Jeffery 		AA22, W5, Y4, AA3, AB2, V6, Y5, W6, AA5, AB4, V7, Y6, AB5, W7,
10366d329f14SAndrew Jeffery 		AA6);
10376d329f14SAndrew Jeffery FUNC_GROUP_DECL(VPI30, T5, U3, V1, U4, V2, W1, U5, V3, W2, Y1, V4, W3, Y2, AA1,
10386d329f14SAndrew Jeffery 		V5, W4, Y3, AA22, W5, Y4, AA3, AB2, AA4, AB3);
10396d329f14SAndrew Jeffery 
10406d329f14SAndrew Jeffery #define AB6 124
1041e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB6, GPIOP4, GPIOP4);
1042e7a96b0bSAndrew Jeffery PIN_DECL_(AB6, SIG_EXPR_LIST_PTR(AB6, GPIOP4));
1043524594d4SAndrew Jeffery 
1044524594d4SAndrew Jeffery #define Y7 125
1045e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(Y7, GPIOP5, GPIOP5);
1046e7a96b0bSAndrew Jeffery PIN_DECL_(Y7, SIG_EXPR_LIST_PTR(Y7, GPIOP5));
1047524594d4SAndrew Jeffery 
1048524594d4SAndrew Jeffery #define AA7 126
1049524594d4SAndrew Jeffery SSSF_PIN_DECL(AA7, GPIOP6, BMCINT, SIG_DESC_SET(SCU88, 22));
1050524594d4SAndrew Jeffery 
1051524594d4SAndrew Jeffery #define AB7 127
1052524594d4SAndrew Jeffery SSSF_PIN_DECL(AB7, GPIOP7, FLACK, SIG_DESC_SET(SCU88, 23));
1053524594d4SAndrew Jeffery 
1054524594d4SAndrew Jeffery #define I2C3_DESC	SIG_DESC_SET(SCU90, 16)
1055524594d4SAndrew Jeffery 
1056524594d4SAndrew Jeffery #define D3 128
1057e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D3, SCL3, I2C3, I2C3_DESC);
10587b388970SAndrew Jeffery PIN_DECL_1(D3, GPIOQ0, SCL3);
1059524594d4SAndrew Jeffery 
1060524594d4SAndrew Jeffery #define C2 129
1061e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C2, SDA3, I2C3, I2C3_DESC);
10627b388970SAndrew Jeffery PIN_DECL_1(C2, GPIOQ1, SDA3);
1063524594d4SAndrew Jeffery 
1064524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C3, D3, C2);
1065524594d4SAndrew Jeffery 
1066524594d4SAndrew Jeffery #define I2C4_DESC	SIG_DESC_SET(SCU90, 17)
1067524594d4SAndrew Jeffery 
1068524594d4SAndrew Jeffery #define B1 130
1069e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B1, SCL4, I2C4, I2C4_DESC);
10707b388970SAndrew Jeffery PIN_DECL_1(B1, GPIOQ2, SCL4);
1071524594d4SAndrew Jeffery 
1072524594d4SAndrew Jeffery #define F5 131
1073e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(F5, SDA4, I2C4, I2C4_DESC);
10747b388970SAndrew Jeffery PIN_DECL_1(F5, GPIOQ3, SDA4);
1075524594d4SAndrew Jeffery 
1076524594d4SAndrew Jeffery FUNC_GROUP_DECL(I2C4, B1, F5);
1077524594d4SAndrew Jeffery 
10786d329f14SAndrew Jeffery #define I2C14_DESC	SIG_DESC_SET(SCU90, 27)
10796d329f14SAndrew Jeffery 
10806d329f14SAndrew Jeffery #define H4 132
1081e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H4, SCL14, I2C14, I2C14_DESC);
10827b388970SAndrew Jeffery PIN_DECL_1(H4, GPIOQ4, SCL14);
10836d329f14SAndrew Jeffery 
10846d329f14SAndrew Jeffery #define H3 133
1085e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H3, SDA14, I2C14, I2C14_DESC);
10867b388970SAndrew Jeffery PIN_DECL_1(H3, GPIOQ5, SDA14);
10876d329f14SAndrew Jeffery 
10886d329f14SAndrew Jeffery FUNC_GROUP_DECL(I2C14, H4, H3);
10896d329f14SAndrew Jeffery 
1090d22d5ca6SAndrew Jeffery /*
1091d22d5ca6SAndrew Jeffery  * There are several opportunities to document USB port 4 in the datasheet, but
1092d22d5ca6SAndrew Jeffery  * it is only mentioned in one location. Particularly, the Multi-function Pins
1093d22d5ca6SAndrew Jeffery  * Mapping and Control table in the datasheet elides the signal names,
1094d22d5ca6SAndrew Jeffery  * suggesting that port 4 may not actually be functional. As such we define the
1095d22d5ca6SAndrew Jeffery  * signal names and control bit, but don't export the capability's function or
1096d22d5ca6SAndrew Jeffery  * group.
1097d22d5ca6SAndrew Jeffery  */
1098d22d5ca6SAndrew Jeffery #define USB11H3_DESC	SIG_DESC_SET(SCU90, 28)
1099524594d4SAndrew Jeffery 
1100524594d4SAndrew Jeffery #define H2 134
1101e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H2, USB11HDP3, USB11H3, USB11H3_DESC);
11027b388970SAndrew Jeffery PIN_DECL_1(H2, GPIOQ6, USB11HDP3);
1103524594d4SAndrew Jeffery 
1104524594d4SAndrew Jeffery #define H1 135
1105e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(H1, USB11HDN3, USB11H3, USB11H3_DESC);
11067b388970SAndrew Jeffery PIN_DECL_1(H1, GPIOQ7, USB11HDN3);
1107524594d4SAndrew Jeffery 
1108524594d4SAndrew Jeffery #define V20 136
1109524594d4SAndrew Jeffery SSSF_PIN_DECL(V20, GPIOR0, ROMCS1, SIG_DESC_SET(SCU88, 24));
1110524594d4SAndrew Jeffery 
1111524594d4SAndrew Jeffery #define W21 137
1112524594d4SAndrew Jeffery SSSF_PIN_DECL(W21, GPIOR1, ROMCS2, SIG_DESC_SET(SCU88, 25));
1113524594d4SAndrew Jeffery 
1114524594d4SAndrew Jeffery #define Y22 138
1115524594d4SAndrew Jeffery SSSF_PIN_DECL(Y22, GPIOR2, ROMCS3, SIG_DESC_SET(SCU88, 26));
1116524594d4SAndrew Jeffery 
1117524594d4SAndrew Jeffery #define U19 139
1118524594d4SAndrew Jeffery SSSF_PIN_DECL(U19, GPIOR3, ROMCS4, SIG_DESC_SET(SCU88, 27));
1119524594d4SAndrew Jeffery 
11207d29ed88SAndrew Jeffery #define VPOOFF0_DESC	{ ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 }
11217d29ed88SAndrew Jeffery #define VPO12_DESC	{ ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 1, 0 }
11227d29ed88SAndrew Jeffery #define VPO24_DESC	{ ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 2, 0 }
11237d29ed88SAndrew Jeffery #define VPOOFF1_DESC	{ ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 3, 0 }
11247d29ed88SAndrew Jeffery #define VPO_OFF_12      { ASPEED_IP_SCU, SCU94, 0x2, 0, 0 }
1125524594d4SAndrew Jeffery #define VPO_24_OFF      SIG_DESC_SET(SCU94, 1)
1126524594d4SAndrew Jeffery 
1127524594d4SAndrew Jeffery #define V21 140
1128524594d4SAndrew Jeffery #define V21_DESC	SIG_DESC_SET(SCU88, 28)
1129e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA24, ROM8, V21_DESC, VPO_OFF_12);
1130e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA24, ROM16, V21_DESC, VPO_OFF_12);
1131e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA24, ROM16S, V21_DESC, VPO_OFF_12);
1132e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMA24, ROM,
1133e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMA24, ROM8),
1134524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA24, ROM16),
1135524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA24, ROM16S));
1136e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V21, ROMA24, ROM);
1137e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(V21, VPOR6, VPO24, V21_DESC, VPO_24_OFF);
11387b388970SAndrew Jeffery PIN_DECL_2(V21, GPIOR4, ROMA24, VPOR6);
1139524594d4SAndrew Jeffery 
1140524594d4SAndrew Jeffery #define W22 141
1141524594d4SAndrew Jeffery #define W22_DESC	SIG_DESC_SET(SCU88, 29)
1142e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA25, ROM8, W22_DESC, VPO_OFF_12);
1143e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA25, ROM16, W22_DESC, VPO_OFF_12);
1144e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA25, ROM16S, W22_DESC, VPO_OFF_12);
1145e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMA25, ROM,
1146e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMA25, ROM8),
1147524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA25, ROM16),
1148524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA25, ROM16S));
1149e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(W22, ROMA25, ROM);
1150e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(W22, VPOR7, VPO24, W22_DESC, VPO_24_OFF);
11517b388970SAndrew Jeffery PIN_DECL_2(W22, GPIOR5, ROMA25, VPOR7);
1152524594d4SAndrew Jeffery 
1153524594d4SAndrew Jeffery #define C6 142
1154e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C6, MDC1, MDIO1, SIG_DESC_SET(SCU88, 30));
11557b388970SAndrew Jeffery PIN_DECL_1(C6, GPIOR6, MDC1);
1156524594d4SAndrew Jeffery 
1157524594d4SAndrew Jeffery #define A5 143
1158e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A5, MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31));
11597b388970SAndrew Jeffery PIN_DECL_1(A5, GPIOR7, MDIO1);
1160524594d4SAndrew Jeffery 
1161524594d4SAndrew Jeffery FUNC_GROUP_DECL(MDIO1, C6, A5);
1162524594d4SAndrew Jeffery 
1163524594d4SAndrew Jeffery #define U21 144
1164524594d4SAndrew Jeffery #define U21_DESC        SIG_DESC_SET(SCU8C, 0)
1165e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD4, ROM8, U21_DESC, VPOOFF0_DESC);
1166e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD4, ROM16, U21_DESC, VPOOFF0_DESC);
1167e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD4, ROM16S, U21_DESC, VPOOFF0_DESC);
1168e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMD4, ROM,
1169e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMD4, ROM8),
1170524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD4, ROM16),
1171524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD4, ROM16S));
1172e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(U21, ROMD4, ROM);
1173e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPODE, VPO12, U21_DESC, VPO12_DESC);
1174e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPODE, VPO24, U21_DESC, VPO12_DESC);
1175e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(U21, VPODE, VPO12, VPO24);
11767b388970SAndrew Jeffery PIN_DECL_2(U21, GPIOS0, ROMD4, VPODE);
1177524594d4SAndrew Jeffery 
1178524594d4SAndrew Jeffery #define T19 145
1179524594d4SAndrew Jeffery #define T19_DESC        SIG_DESC_SET(SCU8C, 1)
1180e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD5, ROM8, T19_DESC, VPOOFF0_DESC);
1181e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD5, ROM16, T19_DESC, VPOOFF0_DESC);
1182e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD5, ROM16S, T19_DESC, VPOOFF0_DESC);
1183e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMD5, ROM,
1184e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMD5, ROM8),
1185524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD5, ROM16),
1186524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD5, ROM16S));
1187e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(T19, ROMD5, ROM);
1188e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOHS, VPO12, T19_DESC, VPO12_DESC);
1189e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOHS, VPO24, T19_DESC, VPO24_DESC);
1190e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(T19, VPOHS, VPO12, VPO24);
11917b388970SAndrew Jeffery PIN_DECL_2(T19, GPIOS1, ROMD5, VPOHS);
1192524594d4SAndrew Jeffery 
1193524594d4SAndrew Jeffery #define V22 146
1194524594d4SAndrew Jeffery #define V22_DESC        SIG_DESC_SET(SCU8C, 2)
1195e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD6, ROM8, V22_DESC, VPOOFF0_DESC);
1196e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD6, ROM16, V22_DESC, VPOOFF0_DESC);
1197e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD6, ROM16S, V22_DESC, VPOOFF0_DESC);
1198e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMD6, ROM,
1199e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMD6, ROM8),
1200524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD6, ROM16),
1201524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD6, ROM16S));
1202e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(V22, ROMD6, ROM);
1203e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOVS, VPO12, V22_DESC, VPO12_DESC);
1204e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOVS, VPO24, V22_DESC, VPO24_DESC);
1205e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(V22, VPOVS, VPO12, VPO24);
12067b388970SAndrew Jeffery PIN_DECL_2(V22, GPIOS2, ROMD6, VPOVS);
1207524594d4SAndrew Jeffery 
1208524594d4SAndrew Jeffery #define U20 147
1209524594d4SAndrew Jeffery #define U20_DESC        SIG_DESC_SET(SCU8C, 3)
1210e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD7, ROM8, U20_DESC, VPOOFF0_DESC);
1211e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD7, ROM16, U20_DESC, VPOOFF0_DESC);
1212e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMD7, ROM16S, U20_DESC, VPOOFF0_DESC);
1213e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMD7, ROM,
1214e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMD7, ROM8),
1215524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD7, ROM16),
1216524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMD7, ROM16S));
1217e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(U20, ROMD7, ROM);
1218e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOCLK, VPO12, U20_DESC, VPO12_DESC);
1219e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOCLK, VPO24, U20_DESC, VPO24_DESC);
1220e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(U20, VPOCLK, VPO12, VPO24);
12217b388970SAndrew Jeffery PIN_DECL_2(U20, GPIOS3, ROMD7, VPOCLK);
1222524594d4SAndrew Jeffery 
1223524594d4SAndrew Jeffery #define R18 148
1224524594d4SAndrew Jeffery #define ROMOE_DESC      SIG_DESC_SET(SCU8C, 4)
1225e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(R18, GPIOS4, GPIOS4);
1226e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMOE, ROM8, ROMOE_DESC);
1227e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMOE, ROM16, ROMOE_DESC);
1228e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMOE, ROM16S, ROMOE_DESC);
1229e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMOE, ROM,
1230e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMOE, ROM8),
1231524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMOE, ROM16),
1232524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMOE, ROM16S));
1233e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(R18, ROMOE, ROM);
1234e7a96b0bSAndrew Jeffery PIN_DECL_(R18, SIG_EXPR_LIST_PTR(R18, ROMOE), SIG_EXPR_LIST_PTR(R18, GPIOS4));
1235524594d4SAndrew Jeffery 
1236524594d4SAndrew Jeffery #define N21 149
1237524594d4SAndrew Jeffery #define ROMWE_DESC      SIG_DESC_SET(SCU8C, 5)
1238e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N21, GPIOS5, GPIOS5);
1239e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMWE, ROM8, ROMWE_DESC);
1240e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMWE, ROM16, ROMWE_DESC);
1241e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMWE, ROM16S, ROMWE_DESC);
1242e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMWE, ROM,
1243e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMWE, ROM8),
1244524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMWE, ROM16),
1245524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMWE, ROM16S));
1246e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(N21, ROMWE, ROM);
1247e7a96b0bSAndrew Jeffery PIN_DECL_(N21, SIG_EXPR_LIST_PTR(N21, ROMWE), SIG_EXPR_LIST_PTR(N21, GPIOS5));
1248524594d4SAndrew Jeffery 
1249524594d4SAndrew Jeffery #define L22 150
1250524594d4SAndrew Jeffery #define L22_DESC        SIG_DESC_SET(SCU8C, 6)
1251e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA22, ROM8, L22_DESC, VPO_OFF_12);
1252e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA22, ROM16, L22_DESC, VPO_OFF_12);
1253e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA22, ROM16S, L22_DESC, VPO_OFF_12);
1254e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMA22, ROM,
1255e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMA22, ROM8),
1256524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA22, ROM16),
1257524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA22, ROM16S));
1258e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(L22, ROMA22, ROM);
1259e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L22, VPOR4, VPO24, L22_DESC, VPO_24_OFF);
12607b388970SAndrew Jeffery PIN_DECL_2(L22, GPIOS6, ROMA22, VPOR4);
1261524594d4SAndrew Jeffery 
1262524594d4SAndrew Jeffery #define K18 151
1263524594d4SAndrew Jeffery #define K18_DESC	SIG_DESC_SET(SCU8C, 7)
1264e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA23, ROM8, K18_DESC, VPO_OFF_12);
1265e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA23, ROM16, K18_DESC, VPO_OFF_12);
1266e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA23, ROM16S, K18_DESC, VPO_OFF_12);
1267e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(ROMA23, ROM,
1268e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(ROMA23, ROM8),
1269524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA23, ROM16),
1270524594d4SAndrew Jeffery 		SIG_EXPR_PTR(ROMA23, ROM16S));
1271e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(K18, ROMA23, ROM);
1272e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(K18, VPOR5, VPO24, K18_DESC, VPO_24_OFF);
12737b388970SAndrew Jeffery PIN_DECL_2(K18, GPIOS7, ROMA23, VPOR5);
1274524594d4SAndrew Jeffery 
1275524594d4SAndrew Jeffery #define RMII1_DESC      SIG_DESC_BIT(HW_STRAP1, 6, 0)
1276524594d4SAndrew Jeffery 
1277524594d4SAndrew Jeffery #define A12 152
1278e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A12, GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0));
1279e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A12, RMII1TXEN, RMII1, RMII1_DESC);
1280e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A12, RGMII1TXCK, RGMII1);
1281e7a96b0bSAndrew Jeffery PIN_DECL_(A12, SIG_EXPR_LIST_PTR(A12, GPIOT0),
1282e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A12, RMII1TXEN),
1283e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A12, RGMII1TXCK));
1284524594d4SAndrew Jeffery 
1285524594d4SAndrew Jeffery #define B12 153
1286e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B12, GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1));
1287e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B12, DASHB12, RMII1, RMII1_DESC);
1288e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B12, RGMII1TXCTL, RGMII1);
1289e7a96b0bSAndrew Jeffery PIN_DECL_(B12, SIG_EXPR_LIST_PTR(B12, GPIOT1), SIG_EXPR_LIST_PTR(B12, DASHB12),
1290e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(B12, RGMII1TXCTL));
1291524594d4SAndrew Jeffery 
1292524594d4SAndrew Jeffery #define C12 154
1293e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C12, GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2));
1294e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C12, RMII1TXD0, RMII1, RMII1_DESC);
1295e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C12, RGMII1TXD0, RGMII1);
1296e7a96b0bSAndrew Jeffery PIN_DECL_(C12, SIG_EXPR_LIST_PTR(C12, GPIOT2),
1297e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(C12, RMII1TXD0),
1298e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(C12, RGMII1TXD0));
1299524594d4SAndrew Jeffery 
1300524594d4SAndrew Jeffery #define D12 155
1301e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D12, GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3));
1302e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D12, RMII1TXD1, RMII1, RMII1_DESC);
1303e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D12, RGMII1TXD1, RGMII1);
1304e7a96b0bSAndrew Jeffery PIN_DECL_(D12, SIG_EXPR_LIST_PTR(D12, GPIOT3),
1305e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(D12, RMII1TXD1),
1306e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(D12, RGMII1TXD1));
1307524594d4SAndrew Jeffery 
1308524594d4SAndrew Jeffery #define E12 156
1309e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E12, GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4));
1310e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E12, DASHE12, RMII1, RMII1_DESC);
1311e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E12, RGMII1TXD2, RGMII1);
1312e7a96b0bSAndrew Jeffery PIN_DECL_(E12, SIG_EXPR_LIST_PTR(E12, GPIOT4), SIG_EXPR_LIST_PTR(E12, DASHE12),
1313e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(E12, RGMII1TXD2));
1314524594d4SAndrew Jeffery 
1315524594d4SAndrew Jeffery #define A13 157
1316e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A13, GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5));
1317e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A13, DASHA13, RMII1, RMII1_DESC);
1318e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A13, RGMII1TXD3, RGMII1);
1319e7a96b0bSAndrew Jeffery PIN_DECL_(A13, SIG_EXPR_LIST_PTR(A13, GPIOT5), SIG_EXPR_LIST_PTR(A13, DASHA13),
1320e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(A13, RGMII1TXD3));
1321524594d4SAndrew Jeffery 
13226d329f14SAndrew Jeffery #define RMII2_DESC      SIG_DESC_BIT(HW_STRAP1, 7, 0)
13236d329f14SAndrew Jeffery 
13246d329f14SAndrew Jeffery #define D9 158
1325e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D9, GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6));
1326e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D9, RMII2TXEN, RMII2, RMII2_DESC);
1327e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D9, RGMII2TXCK, RGMII2);
1328e7a96b0bSAndrew Jeffery PIN_DECL_(D9, SIG_EXPR_LIST_PTR(D9, GPIOT6), SIG_EXPR_LIST_PTR(D9, RMII2TXEN),
1329e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(D9, RGMII2TXCK));
13306d329f14SAndrew Jeffery 
13316d329f14SAndrew Jeffery #define E9 159
1332e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E9, GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7));
1333e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E9, DASHE9, RMII2, RMII2_DESC);
1334e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E9, RGMII2TXCTL, RGMII2);
1335e7a96b0bSAndrew Jeffery PIN_DECL_(E9, SIG_EXPR_LIST_PTR(E9, GPIOT7), SIG_EXPR_LIST_PTR(E9, DASHE9),
1336e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(E9, RGMII2TXCTL));
13376d329f14SAndrew Jeffery 
13386d329f14SAndrew Jeffery #define A10 160
1339e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A10, GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8));
1340e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A10, RMII2TXD0, RMII2, RMII2_DESC);
1341e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A10, RGMII2TXD0, RGMII2);
1342e7a96b0bSAndrew Jeffery PIN_DECL_(A10, SIG_EXPR_LIST_PTR(A10, GPIOU0),
1343e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A10, RMII2TXD0),
1344e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A10, RGMII2TXD0));
13456d329f14SAndrew Jeffery 
13466d329f14SAndrew Jeffery #define B10 161
1347e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B10, GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9));
1348e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B10, RMII2TXD1, RMII2, RMII2_DESC);
1349e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B10, RGMII2TXD1, RGMII2);
1350e7a96b0bSAndrew Jeffery PIN_DECL_(B10, SIG_EXPR_LIST_PTR(B10, GPIOU1),
1351e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(B10, RMII2TXD1),
1352e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(B10, RGMII2TXD1));
13536d329f14SAndrew Jeffery 
13546d329f14SAndrew Jeffery #define C10 162
1355e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C10, GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10));
1356e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C10, DASHC10, RMII2, RMII2_DESC);
1357e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C10, RGMII2TXD2, RGMII2);
1358e7a96b0bSAndrew Jeffery PIN_DECL_(C10, SIG_EXPR_LIST_PTR(C10, GPIOU2), SIG_EXPR_LIST_PTR(C10, DASHC10),
1359e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(C10, RGMII2TXD2));
13606d329f14SAndrew Jeffery 
13616d329f14SAndrew Jeffery #define D10 163
1362e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D10, GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11));
1363e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D10, DASHD10, RMII2, RMII2_DESC);
1364e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D10, RGMII2TXD3, RGMII2);
1365e7a96b0bSAndrew Jeffery PIN_DECL_(D10, SIG_EXPR_LIST_PTR(D10, GPIOU3), SIG_EXPR_LIST_PTR(D10, DASHD10),
1366e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(D10, RGMII2TXD3));
13676d329f14SAndrew Jeffery 
1368524594d4SAndrew Jeffery #define E11 164
1369e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E11, GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12));
1370e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E11, RMII1RCLK, RMII1, RMII1_DESC);
1371e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E11, RGMII1RXCK, RGMII1);
1372e7a96b0bSAndrew Jeffery PIN_DECL_(E11, SIG_EXPR_LIST_PTR(E11, GPIOU4),
1373e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(E11, RMII1RCLK),
1374e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(E11, RGMII1RXCK));
1375524594d4SAndrew Jeffery 
1376524594d4SAndrew Jeffery #define D11 165
1377e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D11, GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13));
1378e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D11, DASHD11, RMII1, RMII1_DESC);
1379e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D11, RGMII1RXCTL, RGMII1);
1380e7a96b0bSAndrew Jeffery PIN_DECL_(D11, SIG_EXPR_LIST_PTR(D11, GPIOU5), SIG_EXPR_LIST_PTR(D11, DASHD11),
1381e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(D11, RGMII1RXCTL));
1382524594d4SAndrew Jeffery 
1383524594d4SAndrew Jeffery #define C11 166
1384e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C11, GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14));
1385e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C11, RMII1RXD0, RMII1, RMII1_DESC);
1386e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C11, RGMII1RXD0, RGMII1);
1387e7a96b0bSAndrew Jeffery PIN_DECL_(C11, SIG_EXPR_LIST_PTR(C11, GPIOU6),
1388e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(C11, RMII1RXD0),
1389e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(C11, RGMII1RXD0));
1390524594d4SAndrew Jeffery 
1391524594d4SAndrew Jeffery #define B11 167
1392e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B11, GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15));
1393e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B11, RMII1RXD1, RMII1, RMII1_DESC);
1394e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B11, RGMII1RXD1, RGMII1);
1395e7a96b0bSAndrew Jeffery PIN_DECL_(B11, SIG_EXPR_LIST_PTR(B11, GPIOU7),
1396e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(B11, RMII1RXD1),
1397e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(B11, RGMII1RXD1));
1398524594d4SAndrew Jeffery 
1399524594d4SAndrew Jeffery #define A11 168
1400e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A11, GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16));
1401e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A11, RMII1CRSDV, RMII1, RMII1_DESC);
1402e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A11, RGMII1RXD2, RGMII1);
1403e7a96b0bSAndrew Jeffery PIN_DECL_(A11, SIG_EXPR_LIST_PTR(A11, GPIOV0),
1404e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A11, RMII1CRSDV),
1405e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(A11, RGMII1RXD2));
1406524594d4SAndrew Jeffery 
1407524594d4SAndrew Jeffery #define E10 169
1408e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E10, GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17));
1409e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E10, RMII1RXER, RMII1, RMII1_DESC);
1410e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E10, RGMII1RXD3, RGMII1);
1411e7a96b0bSAndrew Jeffery PIN_DECL_(E10, SIG_EXPR_LIST_PTR(E10, GPIOV1),
1412e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(E10, RMII1RXER),
1413e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(E10, RGMII1RXD3));
1414524594d4SAndrew Jeffery 
14156d329f14SAndrew Jeffery #define C9 170
1416e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C9, GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18));
1417e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C9, RMII2RCLK, RMII2, RMII2_DESC);
1418e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C9, RGMII2RXCK, RGMII2);
1419e7a96b0bSAndrew Jeffery PIN_DECL_(C9, SIG_EXPR_LIST_PTR(C9, GPIOV2), SIG_EXPR_LIST_PTR(C9, RMII2RCLK),
1420e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(C9, RGMII2RXCK));
14216d329f14SAndrew Jeffery 
14226d329f14SAndrew Jeffery #define B9 171
1423e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B9, GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19));
1424e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B9, DASHB9, RMII2, RMII2_DESC);
1425e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(B9, RGMII2RXCTL, RGMII2);
1426e7a96b0bSAndrew Jeffery PIN_DECL_(B9, SIG_EXPR_LIST_PTR(B9, GPIOV3), SIG_EXPR_LIST_PTR(B9, DASHB9),
1427e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(B9, RGMII2RXCTL));
14286d329f14SAndrew Jeffery 
14296d329f14SAndrew Jeffery #define A9 172
1430e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A9, GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20));
1431e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A9, RMII2RXD0, RMII2, RMII2_DESC);
1432e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(A9, RGMII2RXD0, RGMII2);
1433e7a96b0bSAndrew Jeffery PIN_DECL_(A9, SIG_EXPR_LIST_PTR(A9, GPIOV4), SIG_EXPR_LIST_PTR(A9, RMII2RXD0),
1434e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(A9, RGMII2RXD0));
14356d329f14SAndrew Jeffery 
14366d329f14SAndrew Jeffery #define E8 173
1437e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E8, GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21));
1438e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E8, RMII2RXD1, RMII2, RMII2_DESC);
1439e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(E8, RGMII2RXD1, RGMII2);
1440e7a96b0bSAndrew Jeffery PIN_DECL_(E8, SIG_EXPR_LIST_PTR(E8, GPIOV5), SIG_EXPR_LIST_PTR(E8, RMII2RXD1),
1441e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(E8, RGMII2RXD1));
14426d329f14SAndrew Jeffery 
14436d329f14SAndrew Jeffery #define D8 174
1444e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D8, GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22));
1445e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D8, RMII2CRSDV, RMII2, RMII2_DESC);
1446e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(D8, RGMII2RXD2, RGMII2);
1447e7a96b0bSAndrew Jeffery PIN_DECL_(D8, SIG_EXPR_LIST_PTR(D8, GPIOV6), SIG_EXPR_LIST_PTR(D8, RMII2CRSDV),
1448e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(D8, RGMII2RXD2));
14496d329f14SAndrew Jeffery 
14506d329f14SAndrew Jeffery #define C8 175
1451e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C8, GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23));
1452e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C8, RMII2RXER, RMII2, RMII2_DESC);
1453e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(C8, RGMII2RXD3, RGMII2);
1454e7a96b0bSAndrew Jeffery PIN_DECL_(C8, SIG_EXPR_LIST_PTR(C8, GPIOV7), SIG_EXPR_LIST_PTR(C8, RMII2RXER),
1455e7a96b0bSAndrew Jeffery 		SIG_EXPR_LIST_PTR(C8, RGMII2RXD3));
14566d329f14SAndrew Jeffery 
1457524594d4SAndrew Jeffery FUNC_GROUP_DECL(RMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11,
1458524594d4SAndrew Jeffery 		E10);
1459524594d4SAndrew Jeffery FUNC_GROUP_DECL(RGMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11,
1460524594d4SAndrew Jeffery 		E10);
1461524594d4SAndrew Jeffery 
14626d329f14SAndrew Jeffery FUNC_GROUP_DECL(RMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8);
14636d329f14SAndrew Jeffery FUNC_GROUP_DECL(RGMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8);
14646d329f14SAndrew Jeffery 
14656d329f14SAndrew Jeffery #define L5 176
1466e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L5, GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24));
1467e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L5, ADC0, ADC0);
1468e7a96b0bSAndrew Jeffery PIN_DECL_(L5, SIG_EXPR_LIST_PTR(L5, GPIOW0), SIG_EXPR_LIST_PTR(L5, ADC0));
14696d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC0, L5);
14706d329f14SAndrew Jeffery 
14716d329f14SAndrew Jeffery #define L4 177
1472e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L4, GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25));
1473e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L4, ADC1, ADC1);
1474e7a96b0bSAndrew Jeffery PIN_DECL_(L4, SIG_EXPR_LIST_PTR(L4, GPIOW1), SIG_EXPR_LIST_PTR(L4, ADC1));
14756d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC1, L4);
14766d329f14SAndrew Jeffery 
14776d329f14SAndrew Jeffery #define L3 178
1478e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L3, GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26));
1479e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L3, ADC2, ADC2);
1480e7a96b0bSAndrew Jeffery PIN_DECL_(L3, SIG_EXPR_LIST_PTR(L3, GPIOW2), SIG_EXPR_LIST_PTR(L3, ADC2));
14816d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC2, L3);
14826d329f14SAndrew Jeffery 
14836d329f14SAndrew Jeffery #define L2 179
1484e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L2, GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27));
1485e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L2, ADC3, ADC3);
1486e7a96b0bSAndrew Jeffery PIN_DECL_(L2, SIG_EXPR_LIST_PTR(L2, GPIOW3), SIG_EXPR_LIST_PTR(L2, ADC3));
14876d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC3, L2);
14886d329f14SAndrew Jeffery 
14896d329f14SAndrew Jeffery #define L1 180
1490e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L1, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28));
1491e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(L1, ADC4, ADC4);
1492e7a96b0bSAndrew Jeffery PIN_DECL_(L1, SIG_EXPR_LIST_PTR(L1, GPIOW4), SIG_EXPR_LIST_PTR(L1, ADC4));
14936d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC4, L1);
14946d329f14SAndrew Jeffery 
14956d329f14SAndrew Jeffery #define M5 181
1496e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M5, GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29));
1497e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M5, ADC5, ADC5);
1498e7a96b0bSAndrew Jeffery PIN_DECL_(M5, SIG_EXPR_LIST_PTR(M5, GPIOW5), SIG_EXPR_LIST_PTR(M5, ADC5));
14996d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC5, M5);
15006d329f14SAndrew Jeffery 
15016d329f14SAndrew Jeffery #define M4 182
1502e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M4, GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30));
1503e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M4, ADC6, ADC6);
1504e7a96b0bSAndrew Jeffery PIN_DECL_(M4, SIG_EXPR_LIST_PTR(M4, GPIOW6), SIG_EXPR_LIST_PTR(M4, ADC6));
15056d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC6, M4);
15066d329f14SAndrew Jeffery 
15076d329f14SAndrew Jeffery #define M3 183
1508e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M3, GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31));
1509e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M3, ADC7, ADC7);
1510e7a96b0bSAndrew Jeffery PIN_DECL_(M3, SIG_EXPR_LIST_PTR(M3, GPIOW7), SIG_EXPR_LIST_PTR(M3, ADC7));
15116d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC7, M3);
15126d329f14SAndrew Jeffery 
15136d329f14SAndrew Jeffery #define M2 184
1514e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M2, GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0));
1515e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M2, ADC8, ADC8);
1516e7a96b0bSAndrew Jeffery PIN_DECL_(M2, SIG_EXPR_LIST_PTR(M2, GPIOX0), SIG_EXPR_LIST_PTR(M2, ADC8));
15176d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC8, M2);
15186d329f14SAndrew Jeffery 
15196d329f14SAndrew Jeffery #define M1 185
1520e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M1, GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1));
1521e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(M1, ADC9, ADC9);
1522e7a96b0bSAndrew Jeffery PIN_DECL_(M1, SIG_EXPR_LIST_PTR(M1, GPIOX1), SIG_EXPR_LIST_PTR(M1, ADC9));
15236d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC9, M1);
15246d329f14SAndrew Jeffery 
15256d329f14SAndrew Jeffery #define N5 186
1526e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N5, GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2));
1527e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N5, ADC10, ADC10);
1528e7a96b0bSAndrew Jeffery PIN_DECL_(N5, SIG_EXPR_LIST_PTR(N5, GPIOX2), SIG_EXPR_LIST_PTR(N5, ADC10));
15296d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC10, N5);
15306d329f14SAndrew Jeffery 
15316d329f14SAndrew Jeffery #define N4 187
1532e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N4, GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3));
1533e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N4, ADC11, ADC11);
1534e7a96b0bSAndrew Jeffery PIN_DECL_(N4, SIG_EXPR_LIST_PTR(N4, GPIOX3), SIG_EXPR_LIST_PTR(N4, ADC11));
15356d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC11, N4);
15366d329f14SAndrew Jeffery 
15376d329f14SAndrew Jeffery #define N3 188
1538e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N3, GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4));
1539e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N3, ADC12, ADC12);
1540e7a96b0bSAndrew Jeffery PIN_DECL_(N3, SIG_EXPR_LIST_PTR(N3, GPIOX4), SIG_EXPR_LIST_PTR(N3, ADC12));
15416d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC12, N3);
15426d329f14SAndrew Jeffery 
15436d329f14SAndrew Jeffery #define N2 189
1544e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N2, GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5));
1545e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N2, ADC13, ADC13);
1546e7a96b0bSAndrew Jeffery PIN_DECL_(N2, SIG_EXPR_LIST_PTR(N2, GPIOX5), SIG_EXPR_LIST_PTR(N2, ADC13));
15476d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC13, N2);
15486d329f14SAndrew Jeffery 
15496d329f14SAndrew Jeffery #define N1 190
1550e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N1, GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6));
1551e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(N1, ADC14, ADC14);
1552e7a96b0bSAndrew Jeffery PIN_DECL_(N1, SIG_EXPR_LIST_PTR(N1, GPIOX6), SIG_EXPR_LIST_PTR(N1, ADC14));
15536d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC14, N1);
15546d329f14SAndrew Jeffery 
15556d329f14SAndrew Jeffery #define P5 191
1556e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(P5, GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7));
1557e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(P5, ADC15, ADC15);
1558e7a96b0bSAndrew Jeffery PIN_DECL_(P5, SIG_EXPR_LIST_PTR(P5, GPIOX7), SIG_EXPR_LIST_PTR(P5, ADC15));
15596d329f14SAndrew Jeffery FUNC_GROUP_DECL(ADC15, P5);
15606d329f14SAndrew Jeffery 
15616d329f14SAndrew Jeffery #define C21 192
1562e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8));
1563e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOS3, ACPI, ACPI_DESC);
1564e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(C21, SIOS3, SIOS3, ACPI);
15657b388970SAndrew Jeffery PIN_DECL_1(C21, GPIOY0, SIOS3);
15666d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOS3, C21);
15676d329f14SAndrew Jeffery 
15686d329f14SAndrew Jeffery #define F20 193
1569e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9));
1570e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOS5, ACPI, ACPI_DESC);
1571e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(F20, SIOS5, SIOS5, ACPI);
15727b388970SAndrew Jeffery PIN_DECL_1(F20, GPIOY1, SIOS5);
15736d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOS5, F20);
15746d329f14SAndrew Jeffery 
15756d329f14SAndrew Jeffery #define G20 194
1576e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10));
1577e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOPWREQ, ACPI, ACPI_DESC);
1578e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(G20, SIOPWREQ, SIOPWREQ, ACPI);
15797b388970SAndrew Jeffery PIN_DECL_1(G20, GPIOY2, SIOPWREQ);
15806d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOPWREQ, G20);
15816d329f14SAndrew Jeffery 
15826d329f14SAndrew Jeffery #define K20 195
1583e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11));
1584e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(SIOONCTRL, ACPI, ACPI_DESC);
1585e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(K20, SIOONCTRL, SIOONCTRL, ACPI);
15867b388970SAndrew Jeffery PIN_DECL_1(K20, GPIOY3, SIOONCTRL);
15876d329f14SAndrew Jeffery FUNC_GROUP_DECL(SIOONCTRL, K20);
15886d329f14SAndrew Jeffery 
15896d329f14SAndrew Jeffery FUNC_GROUP_DECL(ACPI, B19, A20, D17, A19, C21, F20, G20, K20);
15906d329f14SAndrew Jeffery 
15916d329f14SAndrew Jeffery #define R22 200
15926d329f14SAndrew Jeffery #define R22_DESC	SIG_DESC_SET(SCUA4, 16)
1593e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA2, ROM8, R22_DESC, VPOOFF0_DESC);
1594e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA2, ROM16, R22_DESC, VPOOFF0_DESC);
1595e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(R22, ROMA2, ROM8, ROM16);
1596e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB0, VPO12, R22_DESC, VPO12_DESC);
1597e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB0, VPO24, R22_DESC, VPO24_DESC);
1598e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB0, VPOOFF1, R22_DESC, VPOOFF1_DESC);
1599e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB0, VPO,
1600e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB0, VPO12),
1601e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB0, VPO24),
1602e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB0, VPOOFF1));
1603e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(R22, VPOB0, VPO);
16047b388970SAndrew Jeffery PIN_DECL_2(R22, GPIOZ0, ROMA2, VPOB0);
16056d329f14SAndrew Jeffery 
16066d329f14SAndrew Jeffery #define P18 201
16076d329f14SAndrew Jeffery #define P18_DESC	SIG_DESC_SET(SCUA4, 17)
1608e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA3, ROM8, P18_DESC, VPOOFF0_DESC);
1609e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA3, ROM16, P18_DESC, VPOOFF0_DESC);
1610e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(P18, ROMA3, ROM8, ROM16);
1611e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB1, VPO12, P18_DESC, VPO12_DESC);
1612e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB1, VPO24, P18_DESC, VPO24_DESC);
1613e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB1, VPOOFF1, P18_DESC, VPOOFF1_DESC);
1614e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB1, VPO,
1615e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB1, VPO12),
1616e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB1, VPO24),
1617e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB1, VPOOFF1));
1618e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(P18, VPOB1, VPO);
16197b388970SAndrew Jeffery PIN_DECL_2(P18, GPIOZ1, ROMA3, VPOB1);
16206d329f14SAndrew Jeffery 
16216d329f14SAndrew Jeffery #define P19 202
16226d329f14SAndrew Jeffery #define P19_DESC	SIG_DESC_SET(SCUA4, 18)
1623e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA4, ROM8, P19_DESC, VPOOFF0_DESC);
1624e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA4, ROM16, P19_DESC, VPOOFF0_DESC);
1625e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(P19, ROMA4, ROM8, ROM16);
1626e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB2, VPO12, P19_DESC, VPO12_DESC);
1627e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB2, VPO24, P19_DESC, VPO24_DESC);
1628e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF1, P19_DESC, VPOOFF1_DESC);
1629e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB2, VPO,
1630e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB2, VPO12),
1631e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB2, VPO24),
1632e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB2, VPOOFF1));
1633e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(P19, VPOB2, VPO);
16347b388970SAndrew Jeffery PIN_DECL_2(P19, GPIOZ2, ROMA4, VPOB2);
16356d329f14SAndrew Jeffery 
16366d329f14SAndrew Jeffery #define P20 203
16376d329f14SAndrew Jeffery #define P20_DESC	SIG_DESC_SET(SCUA4, 19)
1638e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA5, ROM8, P20_DESC, VPOOFF0_DESC);
1639e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA5, ROM16, P20_DESC, VPOOFF0_DESC);
1640e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(P20, ROMA5, ROM8, ROM16);
1641e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB3, VPO12, P20_DESC, VPO12_DESC);
1642e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB3, VPO24, P20_DESC, VPO24_DESC);
1643e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF1, P20_DESC, VPOOFF1_DESC);
1644e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB3, VPO,
1645e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB3, VPO12),
1646e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB3, VPO24),
1647e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB3, VPOOFF1));
1648e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(P20, VPOB3, VPO);
16497b388970SAndrew Jeffery PIN_DECL_2(P20, GPIOZ3, ROMA5, VPOB3);
16506d329f14SAndrew Jeffery 
16516d329f14SAndrew Jeffery #define P21 204
16526d329f14SAndrew Jeffery #define P21_DESC	SIG_DESC_SET(SCUA4, 20)
1653e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA6, ROM8, P21_DESC, VPOOFF0_DESC);
1654e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA6, ROM16, P21_DESC, VPOOFF0_DESC);
1655e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(P21, ROMA6, ROM8, ROM16);
1656e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB4, VPO12, P21_DESC, VPO12_DESC);
1657e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB4, VPO24, P21_DESC, VPO24_DESC);
1658e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF1, P21_DESC, VPOOFF1_DESC);
1659e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB4, VPO,
1660e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB4, VPO12),
1661e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB4, VPO24),
1662e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB4, VPOOFF1));
1663e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(P21, VPOB4, VPO);
16647b388970SAndrew Jeffery PIN_DECL_2(P21, GPIOZ4, ROMA6, VPOB4);
16656d329f14SAndrew Jeffery 
16666d329f14SAndrew Jeffery #define P22 205
16676d329f14SAndrew Jeffery #define P22_DESC	SIG_DESC_SET(SCUA4, 21)
1668e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA7, ROM8, P22_DESC, VPOOFF0_DESC);
1669e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA7, ROM16, P22_DESC, VPOOFF0_DESC);
1670e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(P22, ROMA7, ROM8, ROM16);
1671e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB5, VPO12, P22_DESC, VPO12_DESC);
1672e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB5, VPO24, P22_DESC, VPO24_DESC);
1673e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF1, P22_DESC, VPOOFF1_DESC);
1674e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB5, VPO,
1675e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB5, VPO12),
1676e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB5, VPO24),
1677e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB5, VPOOFF1));
1678e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(P22, VPOB5, VPO);
16797b388970SAndrew Jeffery PIN_DECL_2(P22, GPIOZ5, ROMA7, VPOB5);
16806d329f14SAndrew Jeffery 
16816d329f14SAndrew Jeffery #define M19 206
16826d329f14SAndrew Jeffery #define M19_DESC	SIG_DESC_SET(SCUA4, 22)
1683e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA8, ROM8, M19_DESC, VPOOFF0_DESC);
1684e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA8, ROM16, M19_DESC, VPOOFF0_DESC);
1685e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M19, ROMA8, ROM8, ROM16);
1686e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB6, VPO12, M19_DESC, VPO12_DESC);
1687e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB6, VPO24, M19_DESC, VPO24_DESC);
1688e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF1, M19_DESC, VPOOFF1_DESC);
1689e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB6, VPO,
1690e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB6, VPO12),
1691e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB6, VPO24),
1692e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB6, VPOOFF1));
1693e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(M19, VPOB6, VPO);
16947b388970SAndrew Jeffery PIN_DECL_2(M19, GPIOZ6, ROMA8, VPOB6);
16956d329f14SAndrew Jeffery 
16966d329f14SAndrew Jeffery #define M20 207
16976d329f14SAndrew Jeffery #define M20_DESC	SIG_DESC_SET(SCUA4, 23)
1698e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA9, ROM8, M20_DESC, VPOOFF0_DESC);
1699e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA9, ROM16, M20_DESC, VPOOFF0_DESC);
1700e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M20, ROMA9, ROM8, ROM16);
1701e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB7, VPO12, M20_DESC, VPO12_DESC);
1702e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB7, VPO24, M20_DESC, VPO24_DESC);
1703e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF1, M20_DESC, VPOOFF1_DESC);
1704e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOB7, VPO,
1705e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB7, VPO12),
1706e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB7, VPO24),
1707e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOB7, VPOOFF1));
1708e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(M20, VPOB7, VPO);
17097b388970SAndrew Jeffery PIN_DECL_2(M20, GPIOZ7, ROMA9, VPOB7);
17106d329f14SAndrew Jeffery 
17116d329f14SAndrew Jeffery #define M21 208
17126d329f14SAndrew Jeffery #define M21_DESC	SIG_DESC_SET(SCUA4, 24)
1713e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA10, ROM8, M21_DESC, VPOOFF0_DESC);
1714e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA10, ROM16, M21_DESC, VPOOFF0_DESC);
1715e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M21, ROMA10, ROM8, ROM16);
1716e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG0, VPO12, M21_DESC, VPO12_DESC);
1717e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG0, VPO24, M21_DESC, VPO24_DESC);
1718e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG0, VPOOFF1, M21_DESC, VPOOFF1_DESC);
1719e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOG0, VPO,
1720e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG0, VPO12),
1721e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG0, VPO24),
1722e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG0, VPOOFF1));
1723e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(M21, VPOG0, VPO);
17247b388970SAndrew Jeffery PIN_DECL_2(M21, GPIOAA0, ROMA10, VPOG0);
17256d329f14SAndrew Jeffery 
17266d329f14SAndrew Jeffery #define M22 209
17276d329f14SAndrew Jeffery #define M22_DESC	SIG_DESC_SET(SCUA4, 25)
1728e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA11, ROM8, M22_DESC, VPOOFF0_DESC);
1729e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA11, ROM16, M22_DESC, VPOOFF0_DESC);
1730e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M22, ROMA11, ROM8, ROM16);
1731e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG1, VPO12, M22_DESC, VPO12_DESC);
1732e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG1, VPO24, M22_DESC, VPO24_DESC);
1733e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG1, VPOOFF1, M22_DESC, VPOOFF1_DESC);
1734e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOG1, VPO,
1735e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG1, VPO12),
1736e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG1, VPO24),
1737e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG1, VPOOFF1));
1738e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(M22, VPOG1, VPO);
17397b388970SAndrew Jeffery PIN_DECL_2(M22, GPIOAA1, ROMA11, VPOG1);
17406d329f14SAndrew Jeffery 
17416d329f14SAndrew Jeffery #define L18 210
17426d329f14SAndrew Jeffery #define L18_DESC	SIG_DESC_SET(SCUA4, 26)
1743e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA12, ROM8, L18_DESC, VPOOFF0_DESC);
1744e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA12, ROM16, L18_DESC, VPOOFF0_DESC);
1745e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L18, ROMA12, ROM8, ROM16);
1746e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG2, VPO12, L18_DESC, VPO12_DESC);
1747e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG2, VPO24, L18_DESC, VPO24_DESC);
1748e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF1, L18_DESC, VPOOFF1_DESC);
1749e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOG2, VPO,
1750e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG2, VPO12),
1751e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG2, VPO24),
1752e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG2, VPOOFF1));
1753e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(L18, VPOG2, VPO);
17547b388970SAndrew Jeffery PIN_DECL_2(L18, GPIOAA2, ROMA12, VPOG2);
17556d329f14SAndrew Jeffery 
17566d329f14SAndrew Jeffery #define L19 211
17576d329f14SAndrew Jeffery #define L19_DESC	SIG_DESC_SET(SCUA4, 27)
1758e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA13, ROM8, L19_DESC, VPOOFF0_DESC);
1759e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA13, ROM16, L19_DESC, VPOOFF0_DESC);
1760e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L19, ROMA13, ROM8, ROM16);
1761e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG3, VPO12, L19_DESC, VPO12_DESC);
1762e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG3, VPO24, L19_DESC, VPO24_DESC);
1763e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF1, L19_DESC, VPOOFF1_DESC);
1764e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL(VPOG3, VPO,
1765e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG3, VPO12),
1766e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG3, VPO24),
1767e7a96b0bSAndrew Jeffery 		SIG_EXPR_PTR(VPOG3, VPOOFF1));
1768e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_ALIAS(L19, VPOG3, VPO);
17697b388970SAndrew Jeffery PIN_DECL_2(L19, GPIOAA3, ROMA13, VPOG3);
17706d329f14SAndrew Jeffery 
17716d329f14SAndrew Jeffery #define L20 212
17726d329f14SAndrew Jeffery #define L20_DESC	SIG_DESC_SET(SCUA4, 28)
1773e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA14, ROM8, L20_DESC, VPO_OFF_12);
1774e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA14, ROM16, L20_DESC, VPO_OFF_12);
1775e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L20, ROMA14, ROM8, ROM16);
1776e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG4, VPO24, L20_DESC, VPO24_DESC);
1777e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF1, L20_DESC, VPOOFF1_DESC);
1778e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L20, VPOG4, VPO24, VPOOFF1);
17797b388970SAndrew Jeffery PIN_DECL_2(L20, GPIOAA4, ROMA14, VPOG4);
17806d329f14SAndrew Jeffery 
17816d329f14SAndrew Jeffery #define L21 213
17826d329f14SAndrew Jeffery #define L21_DESC	SIG_DESC_SET(SCUA4, 29)
1783e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA15, ROM8, L21_DESC, VPO_OFF_12);
1784e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA15, ROM16, L21_DESC, VPO_OFF_12);
1785e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L21, ROMA15, ROM8, ROM16);
1786e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG5, VPO24, L21_DESC, VPO24_DESC);
1787e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF1, L21_DESC, VPOOFF1_DESC);
1788e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(L21, VPOG5, VPO24, VPOOFF1);
17897b388970SAndrew Jeffery PIN_DECL_2(L21, GPIOAA5, ROMA15, VPOG5);
17906d329f14SAndrew Jeffery 
17916d329f14SAndrew Jeffery #define T18 214
17926d329f14SAndrew Jeffery #define T18_DESC	SIG_DESC_SET(SCUA4, 30)
1793e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA16, ROM8, T18_DESC, VPO_OFF_12);
1794e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA16, ROM16, T18_DESC, VPO_OFF_12);
1795e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(T18, ROMA16, ROM8, ROM16);
1796e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG6, VPO24, T18_DESC, VPO24_DESC);
1797e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF1, T18_DESC, VPOOFF1_DESC);
1798e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(T18, VPOG6, VPO24, VPOOFF1);
17997b388970SAndrew Jeffery PIN_DECL_2(T18, GPIOAA6, ROMA16, VPOG6);
18006d329f14SAndrew Jeffery 
18016d329f14SAndrew Jeffery #define N18 215
18026d329f14SAndrew Jeffery #define N18_DESC	SIG_DESC_SET(SCUA4, 31)
1803e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA17, ROM8, N18_DESC, VPO_OFF_12);
1804e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA17, ROM16, N18_DESC, VPO_OFF_12);
1805e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N18, ROMA17, ROM8, ROM16);
1806e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG7, VPO24, N18_DESC, VPO24_DESC);
1807e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF1, N18_DESC, VPOOFF1_DESC);
1808e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N18, VPOG7, VPO24, VPOOFF1);
18097b388970SAndrew Jeffery PIN_DECL_2(N18, GPIOAA7, ROMA17, VPOG7);
18106d329f14SAndrew Jeffery 
18116d329f14SAndrew Jeffery #define N19 216
18126d329f14SAndrew Jeffery #define N19_DESC	SIG_DESC_SET(SCUA8, 0)
1813e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA18, ROM8, N19_DESC, VPO_OFF_12);
1814e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA18, ROM16, N19_DESC, VPO_OFF_12);
1815e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N19, ROMA18, ROM8, ROM16);
1816e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR0, VPO24, N19_DESC, VPO24_DESC);
1817e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR0, VPOOFF1, N19_DESC, VPOOFF1_DESC);
1818e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N19, VPOR0, VPO24, VPOOFF1);
18197b388970SAndrew Jeffery PIN_DECL_2(N19, GPIOAB0, ROMA18, VPOR0);
18206d329f14SAndrew Jeffery 
18216d329f14SAndrew Jeffery #define M18 217
18226d329f14SAndrew Jeffery #define M18_DESC	SIG_DESC_SET(SCUA8, 1)
1823e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA19, ROM8, M18_DESC, VPO_OFF_12);
1824e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA19, ROM16, M18_DESC, VPO_OFF_12);
1825e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M18, ROMA19, ROM8, ROM16);
1826e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR1, VPO24, M18_DESC, VPO24_DESC);
1827e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR1, VPOOFF1, M18_DESC, VPOOFF1_DESC);
1828e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(M18, VPOR1, VPO24, VPOOFF1);
18297b388970SAndrew Jeffery PIN_DECL_2(M18, GPIOAB1, ROMA19, VPOR1);
18306d329f14SAndrew Jeffery 
18316d329f14SAndrew Jeffery #define N22 218
18326d329f14SAndrew Jeffery #define N22_DESC	SIG_DESC_SET(SCUA8, 2)
1833e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA20, ROM8, N22_DESC, VPO_OFF_12);
1834e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA20, ROM16, N22_DESC, VPO_OFF_12);
1835e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N22, ROMA20, ROM8, ROM16);
1836e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR2, VPO24, N22_DESC, VPO24_DESC);
1837e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF1, N22_DESC, VPOOFF1_DESC);
1838e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N22, VPOR2, VPO24, VPOOFF1);
18397b388970SAndrew Jeffery PIN_DECL_2(N22, GPIOAB2, ROMA20, VPOR2);
18406d329f14SAndrew Jeffery 
18416d329f14SAndrew Jeffery #define N20 219
18426d329f14SAndrew Jeffery #define N20_DESC	SIG_DESC_SET(SCUA8, 3)
1843e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA21, ROM8, N20_DESC, VPO_OFF_12);
1844e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(ROMA21, ROM16, N20_DESC, VPO_OFF_12);
1845e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N20, ROMA21, ROM8, ROM16);
1846e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR3, VPO24, N20_DESC, VPO24_DESC);
1847e7a96b0bSAndrew Jeffery SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF1, N20_DESC, VPOOFF1_DESC);
1848e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_DUAL(N20, VPOR3, VPO24, VPOOFF1);
18497b388970SAndrew Jeffery PIN_DECL_2(N20, GPIOAB3, ROMA21, VPOR3);
18506d329f14SAndrew Jeffery 
18516d329f14SAndrew Jeffery FUNC_GROUP_DECL(ROM8, V20, U21, T19, V22, U20, R18, N21, L22, K18, W21, Y22,
18526d329f14SAndrew Jeffery 		U19, R22, P18, P19, P20, P21, P22, M19, M20, M21, M22, L18,
18536d329f14SAndrew Jeffery 		L19, L20, L21, T18, N18, N19, M18, N22, N20);
18546d329f14SAndrew Jeffery FUNC_GROUP_DECL(ROM16, V20, U21, T19, V22, U20, R18, N21, L22, K18,
18556d329f14SAndrew Jeffery 		A8, C7, B7, A7, D7, B6, A6, E7, W21, Y22, U19, R22, P18, P19,
18566d329f14SAndrew Jeffery 		P20, P21, P22, M19, M20, M21, M22, L18, L19, L20, L21, T18,
18576d329f14SAndrew Jeffery 		N18, N19, M18, N22, N20);
18586d329f14SAndrew Jeffery FUNC_GROUP_DECL(VPO12, U21, T19, V22, U20, R22, P18, P19, P20, P21, P22, M19,
18596d329f14SAndrew Jeffery 		M20, M21, M22, L18, L19, L20, L21, T18, N18, N19, M18, N22,
18606d329f14SAndrew Jeffery 		N20);
18616d329f14SAndrew Jeffery FUNC_GROUP_DECL(VPO24, U21, T19, V22, U20, L22, K18, V21, W22, R22, P18, P19,
18626d329f14SAndrew Jeffery 		P20, P21, P22, M19, M20, M21, M22, L18, L19);
18636d329f14SAndrew Jeffery 
1864d22d5ca6SAndrew Jeffery #define USB11H2_DESC	SIG_DESC_SET(SCU90, 3)
1865d22d5ca6SAndrew Jeffery #define USB11D1_DESC	SIG_DESC_BIT(SCU90, 3, 0)
1866d22d5ca6SAndrew Jeffery 
1867d22d5ca6SAndrew Jeffery #define K4 220
1868e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(K4, USB11HDP2, USB11H2, USB11H2_DESC);
1869e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(K4, USB11DP1, USB11D1, USB11D1_DESC);
1870e7a96b0bSAndrew Jeffery PIN_DECL_(K4, SIG_EXPR_LIST_PTR(K4, USB11HDP2),
1871e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(K4, USB11DP1));
1872d22d5ca6SAndrew Jeffery 
1873d22d5ca6SAndrew Jeffery #define K3 221
1874e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(K3, USB11HDN1, USB11H2, USB11H2_DESC);
1875e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(K3, USB11DDN1, USB11D1, USB11D1_DESC);
1876e7a96b0bSAndrew Jeffery PIN_DECL_(K3, SIG_EXPR_LIST_PTR(K3, USB11HDN1),
1877e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(K3, USB11DDN1));
1878d22d5ca6SAndrew Jeffery 
1879d22d5ca6SAndrew Jeffery FUNC_GROUP_DECL(USB11H2, K4, K3);
1880d22d5ca6SAndrew Jeffery FUNC_GROUP_DECL(USB11D1, K4, K3);
1881d22d5ca6SAndrew Jeffery 
1882d22d5ca6SAndrew Jeffery #define USB2H1_DESC	SIG_DESC_SET(SCU90, 29)
1883d22d5ca6SAndrew Jeffery #define USB2D1_DESC	SIG_DESC_BIT(SCU90, 29, 0)
1884d22d5ca6SAndrew Jeffery 
1885d22d5ca6SAndrew Jeffery #define AB21 222
1886e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2HDP1, USB2H1, USB2H1_DESC);
1887e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB21, USB2DDP1, USB2D1, USB2D1_DESC);
1888e7a96b0bSAndrew Jeffery PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(AB21, USB2HDP1),
1889e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(AB21, USB2DDP1));
1890d22d5ca6SAndrew Jeffery 
1891d22d5ca6SAndrew Jeffery #define AB20 223
1892e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2HDN1, USB2H1, USB2H1_DESC);
1893e7a96b0bSAndrew Jeffery SIG_EXPR_LIST_DECL_SINGLE(AB20, USB2DDN1, USB2D1, USB2D1_DESC);
1894e7a96b0bSAndrew Jeffery PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(AB20, USB2HDN1),
1895e7a96b0bSAndrew Jeffery 	  SIG_EXPR_LIST_PTR(AB20, USB2DDN1));
1896d22d5ca6SAndrew Jeffery 
1897d22d5ca6SAndrew Jeffery FUNC_GROUP_DECL(USB2H1, AB21, AB20);
1898d22d5ca6SAndrew Jeffery FUNC_GROUP_DECL(USB2D1, AB21, AB20);
1899d22d5ca6SAndrew Jeffery 
1900524594d4SAndrew Jeffery /* Note we account for GPIOY4-GPIOY7 even though they're not valid, thus 216
1901d22d5ca6SAndrew Jeffery  * pins becomes 220. Four additional non-GPIO-capable pins are present for USB.
1902524594d4SAndrew Jeffery  */
1903d22d5ca6SAndrew Jeffery #define ASPEED_G4_NR_PINS 224
1904524594d4SAndrew Jeffery 
1905524594d4SAndrew Jeffery /* Pins, groups and functions are sort(1):ed alphabetically for sanity */
1906524594d4SAndrew Jeffery 
1907524594d4SAndrew Jeffery static struct pinctrl_pin_desc aspeed_g4_pins[ASPEED_G4_NR_PINS] = {
1908524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A1),
19096d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A10),
1910524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A11),
1911524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A12),
1912524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A13),
19136d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A14),
1914524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A15),
19156d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A16),
19166d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A17),
1917524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A18),
19186d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A19),
1919524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A2),
19206d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A20),
1921524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A3),
1922524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A4),
1923524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A5),
1924524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A6),
1925524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A7),
1926524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A8),
19276d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(A9),
19286d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA1),
1929524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA2),
1930524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA22),
1931524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA3),
19326d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA4),
19336d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA5),
19346d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA6),
1935524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AA7),
1936524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB1),
1937524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB2),
19386d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB3),
19396d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB4),
19406d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB5),
19416d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB6),
1942524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB7),
1943d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB20),
1944d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_PIN(AB21),
1945524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B1),
19466d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B10),
1947524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B11),
1948524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B12),
19496d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B13),
1950524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B14),
1951524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B15),
19526d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B16),
19536d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B17),
19546d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B18),
1955524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B19),
1956524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B2),
19576d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B22),
1958524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B3),
1959524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B4),
19606d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B5),
1961524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B6),
1962524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B7),
19636d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(B9),
1964524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C1),
19656d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C10),
1966524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C11),
1967524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C12),
19686d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C13),
1969524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C14),
1970524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C15),
19716d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C16),
1972524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C17),
19736d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C18),
1974524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C2),
19756d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C20),
19766d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C21),
19776d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C22),
1978524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C3),
1979524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C4),
1980524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C5),
1981524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C6),
1982524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C7),
19836d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C8),
19846d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(C9),
1985524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D1),
19866d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D10),
1987524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D11),
1988524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D12),
19896d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D13),
1990524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D14),
1991524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D15),
1992524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D16),
1993524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D17),
1994524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D18),
19956d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D19),
1996524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D2),
1997524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D3),
1998524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D4),
1999524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D5),
20006d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D6),
2001524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D7),
20026d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D8),
20036d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(D9),
2004524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E10),
2005524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E11),
2006524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E12),
20076d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E13),
2008524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E14),
20096d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E15),
2010524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E16),
20116d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E18),
20126d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E19),
2013524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E2),
20146d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E20),
2015524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E3),
2016524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E5),
20176d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E6),
2018524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E7),
20196d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E8),
20206d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(E9),
20216d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(F18),
20226d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(F20),
2023524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(F3),
2024524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(F4),
2025524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(F5),
20266d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(G18),
20276d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(G19),
20286d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(G20),
2029524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(G5),
2030524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H1),
20316d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H18),
2032524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H19),
2033524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H2),
2034524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H20),
20356d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H3),
20366d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(H4),
20376d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(J20),
20386d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(J21),
2039524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(J3),
20406d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(J4),
20416d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(J5),
2042524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(K18),
20436d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(K20),
2044d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_PIN(K3),
2045d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_PIN(K4),
20466d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(K5),
20476d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L1),
20486d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L18),
20496d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L19),
20506d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L2),
20516d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L20),
20526d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L21),
2053524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L22),
20546d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L3),
20556d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L4),
20566d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(L5),
20576d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M1),
20586d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M18),
20596d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M19),
20606d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M2),
20616d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M20),
20626d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M21),
20636d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M22),
20646d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M3),
20656d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M4),
20666d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(M5),
20676d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N1),
20686d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N18),
20696d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N19),
20706d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N2),
20716d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N20),
2072524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N21),
20736d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N22),
20746d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N3),
20756d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N4),
20766d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(N5),
20776d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P18),
20786d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P19),
20796d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P20),
20806d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P21),
20816d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P22),
20826d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(P5),
2083524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(R18),
20846d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(R22),
2085524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T1),
20866d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T18),
2087524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T19),
2088524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T2),
2089524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T4),
2090524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(T5),
2091524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U1),
2092524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U18),
2093524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U19),
2094524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U2),
2095524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U20),
2096524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U21),
2097524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U3),
2098524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U4),
2099524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(U5),
2100524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V1),
2101524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V2),
2102524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V20),
2103524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V21),
2104524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V22),
21056d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V3),
21066d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V4),
21076d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V5),
2108524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V6),
21096d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(V7),
2110524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W1),
21116d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W2),
2112524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W21),
2113524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W22),
21146d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W3),
2115524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W4),
2116524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W5),
21176d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W6),
21186d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(W7),
21196d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y1),
21206d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y2),
21216d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y21),
2122524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y22),
2123524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y3),
2124524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y4),
2125524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y5),
21266d329f14SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y6),
2127524594d4SAndrew Jeffery 	ASPEED_PINCTRL_PIN(Y7),
2128524594d4SAndrew Jeffery };
2129524594d4SAndrew Jeffery 
2130524594d4SAndrew Jeffery static const struct aspeed_pin_group aspeed_g4_groups[] = {
2131524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ACPI),
21326d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC0),
21336d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC1),
21346d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC10),
21356d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC11),
21366d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC12),
21376d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC13),
21386d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC14),
21396d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC15),
21406d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC2),
21416d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC3),
21426d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC4),
21436d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC5),
21446d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC6),
21456d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC7),
21466d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC8),
21476d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ADC9),
2148524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(BMCINT),
2149524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(DDCCLK),
2150524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(DDCDAT),
21516d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(EXTRST),
2152524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(FLACK),
2153524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(FLBUSY),
2154524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(FLWP),
21556d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPID),
2156524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPID0),
21576d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPID2),
21586d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPID4),
21596d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPID6),
2160524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPIE0),
2161524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPIE2),
2162524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPIE4),
2163524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(GPIE6),
2164524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C10),
2165524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C11),
2166524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C12),
2167524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C13),
21686d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C14),
2169524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C3),
2170524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C4),
2171524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C5),
2172524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C6),
2173524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C7),
2174524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C8),
2175524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(I2C9),
2176524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(LPCPD),
2177524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(LPCPME),
21786d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(LPCRST),
2179524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(LPCSMI),
21806d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(MAC1LINK),
21816d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(MAC2LINK),
2182524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(MDIO1),
2183524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(MDIO2),
2184524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NCTS1),
21856d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NCTS2),
2186524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NCTS3),
2187524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NCTS4),
2188524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDCD1),
21896d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDCD2),
2190524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDCD3),
2191524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDCD4),
2192524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDSR1),
21936d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDSR2),
2194524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDSR3),
21956d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDSR4),
2196524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDTR1),
21976d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDTR2),
2198524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDTR3),
21996d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDTR4),
22006d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NDTS4),
2201524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRI1),
22026d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRI2),
2203524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRI3),
2204524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRI4),
2205524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRTS1),
22066d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRTS2),
2207524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(NRTS3),
22086d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(OSCCLK),
2209524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM0),
2210524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM1),
2211524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM2),
2212524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM3),
2213524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM4),
2214524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM5),
2215524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM6),
2216524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(PWM7),
2217524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RGMII1),
22186d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RGMII2),
2219524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RMII1),
22206d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RMII2),
2221524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROM16),
2222524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROM8),
2223524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROMCS1),
2224524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROMCS2),
2225524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROMCS3),
2226524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(ROMCS4),
2227524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RXD1),
22286d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RXD2),
2229524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RXD3),
2230524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(RXD4),
22316d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SALT1),
22326d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SALT2),
22336d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SALT3),
22346d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SALT4),
2235524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SD1),
22366d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SD2),
22376d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPMCK),
2238524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPMI),
22396d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPMLD),
22406d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPMO),
22416d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPSCK),
22426d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPSI0),
22436d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPSI1),
22446d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SGPSLD),
22456d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOONCTRL),
2246524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOPBI),
2247524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOPBO),
22486d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOPWREQ),
22496d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOPWRGD),
22506d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOS3),
22516d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOS5),
22526d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SIOSCI),
22536d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SPI1),
22546d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SPI1DEBUG),
22556d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SPI1PASSTHRU),
22566d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(SPICS1),
2257524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER3),
22586d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER4),
2259524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER5),
2260524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER6),
2261524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER7),
2262524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TIMER8),
2263524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TXD1),
22646d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TXD2),
2265524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TXD3),
2266524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(TXD4),
2267524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(UART6),
2268d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(USB11D1),
2269d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(USB11H2),
2270d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(USB2D1),
2271d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(USB2H1),
22726d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(USBCKI),
22736d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VGABIOS_ROM),
2274524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VGAHS),
2275524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VGAVS),
2276524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VPI18),
2277524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VPI24),
2278524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VPI30),
2279524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VPO12),
2280524594d4SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(VPO24),
22816d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(WDTRST1),
22826d329f14SAndrew Jeffery 	ASPEED_PINCTRL_GROUP(WDTRST2),
2283524594d4SAndrew Jeffery };
2284524594d4SAndrew Jeffery 
2285524594d4SAndrew Jeffery static const struct aspeed_pin_function aspeed_g4_functions[] = {
2286524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ACPI),
22876d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC0),
22886d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC1),
22896d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC10),
22906d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC11),
22916d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC12),
22926d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC13),
22936d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC14),
22946d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC15),
22956d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC2),
22966d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC3),
22976d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC4),
22986d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC5),
22996d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC6),
23006d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC7),
23016d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC8),
23026d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ADC9),
2303524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(BMCINT),
2304524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(DDCCLK),
2305524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(DDCDAT),
23066d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(EXTRST),
2307524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(FLACK),
2308524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(FLBUSY),
2309524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(FLWP),
23106d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPID),
2311524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPID0),
23126d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPID2),
23136d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPID4),
23146d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPID6),
2315524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPIE0),
2316524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPIE2),
2317524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPIE4),
2318524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(GPIE6),
2319524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C10),
2320524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C11),
2321524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C12),
2322524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C13),
23236d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C14),
2324524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C3),
2325524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C4),
2326524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C5),
2327524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C6),
2328524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C7),
2329524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C8),
2330524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(I2C9),
2331524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(LPCPD),
2332524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(LPCPME),
23336d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(LPCRST),
2334524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(LPCSMI),
23356d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(MAC1LINK),
23366d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(MAC2LINK),
2337524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(MDIO1),
2338524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(MDIO2),
2339524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NCTS1),
23406d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NCTS2),
2341524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NCTS3),
2342524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NCTS4),
2343524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDCD1),
23446d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDCD2),
2345524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDCD3),
2346524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDCD4),
2347524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDSR1),
23486d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDSR2),
2349524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDSR3),
23506d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDSR4),
2351524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDTR1),
23526d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDTR2),
2353524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDTR3),
23546d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDTR4),
23556d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NDTS4),
2356524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRI1),
23576d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRI2),
2358524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRI3),
2359524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRI4),
2360524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRTS1),
23616d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRTS2),
2362524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(NRTS3),
23636d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(OSCCLK),
2364524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM0),
2365524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM1),
2366524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM2),
2367524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM3),
2368524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM4),
2369524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM5),
2370524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM6),
2371524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(PWM7),
2372524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RGMII1),
23736d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RGMII2),
2374524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RMII1),
23756d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RMII2),
2376524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROM16),
2377524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROM8),
2378524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROMCS1),
2379524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROMCS2),
2380524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROMCS3),
2381524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(ROMCS4),
2382524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RXD1),
23836d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RXD2),
2384524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RXD3),
2385524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(RXD4),
23866d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SALT1),
23876d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SALT2),
23886d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SALT3),
23896d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SALT4),
2390524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SD1),
23916d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SD2),
23926d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPMCK),
2393524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPMI),
23946d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPMLD),
23956d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPMO),
23966d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPSCK),
23976d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPSI0),
23986d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPSI1),
23996d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SGPSLD),
24006d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOONCTRL),
2401524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOPBI),
2402524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOPBO),
24036d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOPWREQ),
24046d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOPWRGD),
24056d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOS3),
24066d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOS5),
24076d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SIOSCI),
24086d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SPI1),
24096d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SPI1DEBUG),
24106d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SPI1PASSTHRU),
24116d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(SPICS1),
2412524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER3),
24136d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER4),
2414524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER5),
2415524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER6),
2416524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER7),
2417524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TIMER8),
2418524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TXD1),
24196d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TXD2),
2420524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TXD3),
2421524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(TXD4),
2422524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(UART6),
2423d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(USB11D1),
2424d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(USB11H2),
2425d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(USB2D1),
2426d22d5ca6SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(USB2H1),
24276d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(USBCKI),
24286d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VGABIOS_ROM),
2429524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VGAHS),
2430524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VGAVS),
2431524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VPI18),
2432524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VPI24),
2433524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VPI30),
2434524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VPO12),
2435524594d4SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(VPO24),
24366d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(WDTRST1),
24376d329f14SAndrew Jeffery 	ASPEED_PINCTRL_FUNC(WDTRST2),
2438524594d4SAndrew Jeffery };
2439524594d4SAndrew Jeffery 
244047b50b37SAndrew Jeffery static const struct aspeed_pin_config aspeed_g4_configs[] = {
244147b50b37SAndrew Jeffery 	/* GPIO banks ranges [A, B], [D, J], [M, R] */
2442a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D6,  D5,  SCU8C, 16),
2443a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   D6,  D5,  SCU8C, 16),
2444a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, J21, E18, SCU8C, 17),
2445a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   J21, E18, SCU8C, 17),
2446a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A18, E15, SCU8C, 19),
2447a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   A18, E15, SCU8C, 19),
2448a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D15, B14, SCU8C, 20),
2449a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   D15, B14, SCU8C, 20),
2450a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D18, C17, SCU8C, 21),
2451a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   D18, C17, SCU8C, 21),
2452a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A14, U18, SCU8C, 22),
2453a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   A14, U18, SCU8C, 22),
2454a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A8,  E7,  SCU8C, 23),
2455a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   A8,  E7,  SCU8C, 23),
2456a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C22, E20, SCU8C, 24),
2457a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   C22, E20, SCU8C, 24),
2458a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, J5,  T1,  SCU8C, 25),
2459a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   J5,  T1,  SCU8C, 25),
2460a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, U1,  U5,  SCU8C, 26),
2461a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   U1,  U5,  SCU8C, 26),
2462a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V3,  V5,  SCU8C, 27),
2463a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   V3,  V5,  SCU8C, 27),
2464a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, W4,  AB2, SCU8C, 28),
2465a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   W4,  AB2, SCU8C, 28),
2466a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V6,  V7,  SCU8C, 29),
2467a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   V6,  V7,  SCU8C, 29),
2468a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y6,  AB7, SCU8C, 30),
2469a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   Y6,  AB7, SCU8C, 30),
2470a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V20, A5,  SCU8C, 31),
2471a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   V20, A5,  SCU8C, 31),
247247b50b37SAndrew Jeffery 
247347b50b37SAndrew Jeffery 	/* GPIOs T[0-5] (RGMII1 Tx pins) */
2474a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, A12, A13, SCU90, 9),
2475a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A12, A13, SCU90, 12),
2476a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   A12, A13, SCU90, 12),
247747b50b37SAndrew Jeffery 
247847b50b37SAndrew Jeffery 	/* GPIOs T[6-7], U[0-3] (RGMII2 TX pins) */
2479a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, D9,  D10, SCU90, 11),
2480a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, D9,  D10, SCU90, 14),
2481a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   D9,  D10, SCU90, 14),
248247b50b37SAndrew Jeffery 
248347b50b37SAndrew Jeffery 	/* GPIOs U[4-7], V[0-1] (RGMII1 Rx pins) */
2484a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E11, E10, SCU90, 13),
2485a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   E11, E10, SCU90, 13),
248647b50b37SAndrew Jeffery 
248747b50b37SAndrew Jeffery 	/* GPIOs V[2-7] (RGMII2 Rx pins) */
2488a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C9,  C8,  SCU90, 15),
2489a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   C9,  C8,  SCU90, 15),
249047b50b37SAndrew Jeffery 
249147b50b37SAndrew Jeffery 	/* ADC pull-downs (SCUA8[19:4]) */
2492a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L5,  L5,  SCUA8, 4),
2493a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   L5,  L5,  SCUA8, 4),
2494a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L4,  L4,  SCUA8, 5),
2495a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   L4,  L4,  SCUA8, 5),
2496a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L3,  L3,  SCUA8, 6),
2497a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   L3,  L3,  SCUA8, 6),
2498a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L2,  L2,  SCUA8, 7),
2499a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   L2,  L2,  SCUA8, 7),
2500a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L1,  L1,  SCUA8, 8),
2501a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   L1,  L1,  SCUA8, 8),
2502a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M5,  M5,  SCUA8, 9),
2503a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   M5,  M5,  SCUA8, 9),
2504a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M4,  M4,  SCUA8, 10),
2505a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   M4,  M4,  SCUA8, 10),
2506a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M3,  M3,  SCUA8, 11),
2507a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   M3,  M3,  SCUA8, 11),
2508a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M2,  M2,  SCUA8, 12),
2509a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   M2,  M2,  SCUA8, 12),
2510a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, M1,  M1,  SCUA8, 13),
2511a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   M1,  M1,  SCUA8, 13),
2512a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N5,  N5,  SCUA8, 14),
2513a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   N5,  N5,  SCUA8, 14),
2514a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N4,  N4,  SCUA8, 15),
2515a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   N4,  N4,  SCUA8, 15),
2516a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N3,  N3,  SCUA8, 16),
2517a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   N3,  N3,  SCUA8, 16),
2518a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N2,  N2,  SCUA8, 17),
2519a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   N2,  N2,  SCUA8, 17),
2520a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N1,  N1,  SCUA8, 18),
2521a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   N1,  N1,  SCUA8, 18),
2522a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, P5,  P5,  SCUA8, 19),
2523a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE,   P5,  P5,  SCUA8, 19),
252447b50b37SAndrew Jeffery 
252547b50b37SAndrew Jeffery 	/*
252647b50b37SAndrew Jeffery 	 * Debounce settings for GPIOs D and E passthrough mode are in
252747b50b37SAndrew Jeffery 	 * SCUA8[27:20] and so are managed by pinctrl. Normal GPIO debounce for
252847b50b37SAndrew Jeffery 	 * banks D and E is handled by the GPIO driver - GPIO passthrough is
252947b50b37SAndrew Jeffery 	 * treated like any other non-GPIO mux function. There is a catch
253047b50b37SAndrew Jeffery 	 * however, in that the debounce period is configured in the GPIO
253147b50b37SAndrew Jeffery 	 * controller. Due to this tangle between GPIO and pinctrl we don't yet
253247b50b37SAndrew Jeffery 	 * fully support pass-through debounce.
253347b50b37SAndrew Jeffery 	 */
2534a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, A18, D16, SCUA8, 20),
2535a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, B17, A17, SCUA8, 21),
2536a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, C16, B16, SCUA8, 22),
2537a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, A16, E15, SCUA8, 23),
2538a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, D15, C15, SCUA8, 24),
2539a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, B15, A15, SCUA8, 25),
2540a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, E14, D14, SCUA8, 26),
2541a79bcd51SJohnny Huang 	ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, C14, B14, SCUA8, 27),
254247b50b37SAndrew Jeffery };
254347b50b37SAndrew Jeffery 
aspeed_g4_sig_expr_set(struct aspeed_pinmux_data * ctx,const struct aspeed_sig_expr * expr,bool enable)2544674fa8daSAndrew Jeffery static int aspeed_g4_sig_expr_set(struct aspeed_pinmux_data *ctx,
2545efa56239SAndrew Jeffery 				  const struct aspeed_sig_expr *expr,
2546efa56239SAndrew Jeffery 				  bool enable)
2547efa56239SAndrew Jeffery {
2548efa56239SAndrew Jeffery 	int ret;
2549efa56239SAndrew Jeffery 	int i;
2550efa56239SAndrew Jeffery 
2551efa56239SAndrew Jeffery 	for (i = 0; i < expr->ndescs; i++) {
2552efa56239SAndrew Jeffery 		const struct aspeed_sig_desc *desc = &expr->descs[i];
2553efa56239SAndrew Jeffery 		u32 pattern = enable ? desc->enable : desc->disable;
2554efa56239SAndrew Jeffery 		u32 val = (pattern << __ffs(desc->mask));
2555efa56239SAndrew Jeffery 
2556efa56239SAndrew Jeffery 		if (!ctx->maps[desc->ip])
2557efa56239SAndrew Jeffery 			return -ENODEV;
2558efa56239SAndrew Jeffery 
2559efa56239SAndrew Jeffery 		/*
2560efa56239SAndrew Jeffery 		 * Strap registers are configured in hardware or by early-boot
2561efa56239SAndrew Jeffery 		 * firmware. Treat them as read-only despite that we can write
2562efa56239SAndrew Jeffery 		 * them. This may mean that certain functions cannot be
2563efa56239SAndrew Jeffery 		 * deconfigured and is the reason we re-evaluate after writing
2564efa56239SAndrew Jeffery 		 * all descriptor bits.
2565efa56239SAndrew Jeffery 		 *
2566*d875d6ccSZev Weiss 		 * We make two exceptions to the read-only rule:
2567*d875d6ccSZev Weiss 		 *
2568*d875d6ccSZev Weiss 		 * - The passthrough mode of GPIO ports D and E are commonly
2569*d875d6ccSZev Weiss 		 *   used with front-panel buttons to allow normal operation
2570*d875d6ccSZev Weiss 		 *   of the host if the BMC is powered off or fails to boot.
2571*d875d6ccSZev Weiss 		 *   Once the BMC has booted, the loopback mode must be
2572*d875d6ccSZev Weiss 		 *   disabled for the BMC to control host power-on and reset.
2573*d875d6ccSZev Weiss 		 *
2574*d875d6ccSZev Weiss 		 * - The operating mode of the SPI1 interface is simply
2575*d875d6ccSZev Weiss 		 *   strapped incorrectly on some systems and requires a
2576*d875d6ccSZev Weiss 		 *   software fixup, which we allow to be done via pinctrl.
2577efa56239SAndrew Jeffery 		 */
2578efa56239SAndrew Jeffery 		if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP1 &&
2579*d875d6ccSZev Weiss 		    !(desc->mask & (BIT(22) | BIT(21) | BIT(13) | BIT(12))))
2580efa56239SAndrew Jeffery 			continue;
2581efa56239SAndrew Jeffery 
2582efa56239SAndrew Jeffery 		if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP2)
2583efa56239SAndrew Jeffery 			continue;
2584efa56239SAndrew Jeffery 
2585efa56239SAndrew Jeffery 		ret = regmap_update_bits(ctx->maps[desc->ip], desc->reg,
2586efa56239SAndrew Jeffery 					 desc->mask, val);
2587efa56239SAndrew Jeffery 
2588efa56239SAndrew Jeffery 		if (ret)
2589efa56239SAndrew Jeffery 			return ret;
2590efa56239SAndrew Jeffery 	}
2591efa56239SAndrew Jeffery 
2592efa56239SAndrew Jeffery 	ret = aspeed_sig_expr_eval(ctx, expr, enable);
2593efa56239SAndrew Jeffery 	if (ret < 0)
2594efa56239SAndrew Jeffery 		return ret;
2595efa56239SAndrew Jeffery 
2596efa56239SAndrew Jeffery 	if (!ret)
2597efa56239SAndrew Jeffery 		return -EPERM;
2598efa56239SAndrew Jeffery 
2599efa56239SAndrew Jeffery 	return 0;
2600efa56239SAndrew Jeffery }
2601efa56239SAndrew Jeffery 
26025b854f28SJohnny Huang static const struct aspeed_pin_config_map aspeed_g4_pin_config_map[] = {
26035f52c853SJohnny Huang 	{ PIN_CONFIG_BIAS_PULL_DOWN,  0, 1, BIT_MASK(0)},
26045f52c853SJohnny Huang 	{ PIN_CONFIG_BIAS_PULL_DOWN, -1, 0, BIT_MASK(0)},
26055f52c853SJohnny Huang 	{ PIN_CONFIG_BIAS_DISABLE,   -1, 1, BIT_MASK(0)},
26065f52c853SJohnny Huang 	{ PIN_CONFIG_DRIVE_STRENGTH,  8, 0, BIT_MASK(0)},
26075f52c853SJohnny Huang 	{ PIN_CONFIG_DRIVE_STRENGTH, 16, 1, BIT_MASK(0)},
26085b854f28SJohnny Huang };
26095b854f28SJohnny Huang 
2610efa56239SAndrew Jeffery static const struct aspeed_pinmux_ops aspeed_g4_ops = {
2611efa56239SAndrew Jeffery 	.set = aspeed_g4_sig_expr_set,
2612efa56239SAndrew Jeffery };
2613efa56239SAndrew Jeffery 
2614524594d4SAndrew Jeffery static struct aspeed_pinctrl_data aspeed_g4_pinctrl_data = {
2615524594d4SAndrew Jeffery 	.pins = aspeed_g4_pins,
2616524594d4SAndrew Jeffery 	.npins = ARRAY_SIZE(aspeed_g4_pins),
2617efa56239SAndrew Jeffery 	.pinmux = {
2618efa56239SAndrew Jeffery 		.ops = &aspeed_g4_ops,
2619524594d4SAndrew Jeffery 		.groups = aspeed_g4_groups,
2620524594d4SAndrew Jeffery 		.ngroups = ARRAY_SIZE(aspeed_g4_groups),
2621524594d4SAndrew Jeffery 		.functions = aspeed_g4_functions,
2622524594d4SAndrew Jeffery 		.nfunctions = ARRAY_SIZE(aspeed_g4_functions),
2623efa56239SAndrew Jeffery 	},
262447b50b37SAndrew Jeffery 	.configs = aspeed_g4_configs,
262547b50b37SAndrew Jeffery 	.nconfigs = ARRAY_SIZE(aspeed_g4_configs),
26265b854f28SJohnny Huang 	.confmaps = aspeed_g4_pin_config_map,
26275b854f28SJohnny Huang 	.nconfmaps = ARRAY_SIZE(aspeed_g4_pin_config_map),
2628524594d4SAndrew Jeffery };
2629524594d4SAndrew Jeffery 
2630cfa5760cSJulia Lawall static const struct pinmux_ops aspeed_g4_pinmux_ops = {
2631524594d4SAndrew Jeffery 	.get_functions_count = aspeed_pinmux_get_fn_count,
2632524594d4SAndrew Jeffery 	.get_function_name = aspeed_pinmux_get_fn_name,
2633524594d4SAndrew Jeffery 	.get_function_groups = aspeed_pinmux_get_fn_groups,
2634524594d4SAndrew Jeffery 	.set_mux = aspeed_pinmux_set_mux,
2635524594d4SAndrew Jeffery 	.gpio_request_enable = aspeed_gpio_request_enable,
2636524594d4SAndrew Jeffery 	.strict = true,
2637524594d4SAndrew Jeffery };
2638524594d4SAndrew Jeffery 
2639cfa5760cSJulia Lawall static const struct pinctrl_ops aspeed_g4_pinctrl_ops = {
2640524594d4SAndrew Jeffery 	.get_groups_count = aspeed_pinctrl_get_groups_count,
2641524594d4SAndrew Jeffery 	.get_group_name = aspeed_pinctrl_get_group_name,
2642524594d4SAndrew Jeffery 	.get_group_pins = aspeed_pinctrl_get_group_pins,
2643524594d4SAndrew Jeffery 	.pin_dbg_show = aspeed_pinctrl_pin_dbg_show,
264447b50b37SAndrew Jeffery 	.dt_node_to_map = pinconf_generic_dt_node_to_map_all,
2645524594d4SAndrew Jeffery 	.dt_free_map = pinctrl_utils_free_map,
2646524594d4SAndrew Jeffery };
2647524594d4SAndrew Jeffery 
264847b50b37SAndrew Jeffery static const struct pinconf_ops aspeed_g4_conf_ops = {
264947b50b37SAndrew Jeffery 	.is_generic = true,
265047b50b37SAndrew Jeffery 	.pin_config_get = aspeed_pin_config_get,
265147b50b37SAndrew Jeffery 	.pin_config_set = aspeed_pin_config_set,
265247b50b37SAndrew Jeffery 	.pin_config_group_get = aspeed_pin_config_group_get,
265347b50b37SAndrew Jeffery 	.pin_config_group_set = aspeed_pin_config_group_set,
265447b50b37SAndrew Jeffery };
265547b50b37SAndrew Jeffery 
2656524594d4SAndrew Jeffery static struct pinctrl_desc aspeed_g4_pinctrl_desc = {
2657524594d4SAndrew Jeffery 	.name = "aspeed-g4-pinctrl",
2658524594d4SAndrew Jeffery 	.pins = aspeed_g4_pins,
2659524594d4SAndrew Jeffery 	.npins = ARRAY_SIZE(aspeed_g4_pins),
2660524594d4SAndrew Jeffery 	.pctlops = &aspeed_g4_pinctrl_ops,
2661524594d4SAndrew Jeffery 	.pmxops = &aspeed_g4_pinmux_ops,
266247b50b37SAndrew Jeffery 	.confops = &aspeed_g4_conf_ops,
2663524594d4SAndrew Jeffery };
2664524594d4SAndrew Jeffery 
aspeed_g4_pinctrl_probe(struct platform_device * pdev)2665524594d4SAndrew Jeffery static int aspeed_g4_pinctrl_probe(struct platform_device *pdev)
2666524594d4SAndrew Jeffery {
2667524594d4SAndrew Jeffery 	int i;
2668524594d4SAndrew Jeffery 
2669524594d4SAndrew Jeffery 	for (i = 0; i < ARRAY_SIZE(aspeed_g4_pins); i++)
2670524594d4SAndrew Jeffery 		aspeed_g4_pins[i].number = i;
2671524594d4SAndrew Jeffery 
2672524594d4SAndrew Jeffery 	return aspeed_pinctrl_probe(pdev, &aspeed_g4_pinctrl_desc,
2673524594d4SAndrew Jeffery 			&aspeed_g4_pinctrl_data);
2674524594d4SAndrew Jeffery }
2675524594d4SAndrew Jeffery 
2676524594d4SAndrew Jeffery static const struct of_device_id aspeed_g4_pinctrl_of_match[] = {
2677524594d4SAndrew Jeffery 	{ .compatible = "aspeed,ast2400-pinctrl", },
267873c732c5SAndrew Jeffery 	/*
267973c732c5SAndrew Jeffery 	 * The aspeed,g4-pinctrl compatible has been removed the from the
268073c732c5SAndrew Jeffery 	 * bindings, but keep the match in case of old devicetrees.
268173c732c5SAndrew Jeffery 	 */
2682524594d4SAndrew Jeffery 	{ .compatible = "aspeed,g4-pinctrl", },
2683524594d4SAndrew Jeffery 	{ },
2684524594d4SAndrew Jeffery };
2685524594d4SAndrew Jeffery 
2686524594d4SAndrew Jeffery static struct platform_driver aspeed_g4_pinctrl_driver = {
2687524594d4SAndrew Jeffery 	.probe = aspeed_g4_pinctrl_probe,
2688524594d4SAndrew Jeffery 	.driver = {
2689524594d4SAndrew Jeffery 		.name = "aspeed-g4-pinctrl",
2690524594d4SAndrew Jeffery 		.of_match_table = aspeed_g4_pinctrl_of_match,
2691524594d4SAndrew Jeffery 	},
2692524594d4SAndrew Jeffery };
2693524594d4SAndrew Jeffery 
aspeed_g4_pinctrl_init(void)2694524594d4SAndrew Jeffery static int aspeed_g4_pinctrl_init(void)
2695524594d4SAndrew Jeffery {
2696524594d4SAndrew Jeffery 	return platform_driver_register(&aspeed_g4_pinctrl_driver);
2697524594d4SAndrew Jeffery }
2698524594d4SAndrew Jeffery 
2699524594d4SAndrew Jeffery arch_initcall(aspeed_g4_pinctrl_init);
2700