xref: /arm-trusted-firmware/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2018-2020, Arm Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
4*91f16700Schasinglulu  *
5*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
6*91f16700Schasinglulu  */
7*91f16700Schasinglulu 
8*91f16700Schasinglulu /*
9*91f16700Schasinglulu  * ZynqMP system level PM-API functions for pin control.
10*91f16700Schasinglulu  */
11*91f16700Schasinglulu 
12*91f16700Schasinglulu #include <string.h>
13*91f16700Schasinglulu 
14*91f16700Schasinglulu #include <arch_helpers.h>
15*91f16700Schasinglulu #include <plat/common/platform.h>
16*91f16700Schasinglulu 
17*91f16700Schasinglulu #include "pm_api_pinctrl.h"
18*91f16700Schasinglulu #include "pm_client.h"
19*91f16700Schasinglulu #include "pm_common.h"
20*91f16700Schasinglulu #include "pm_ipi.h"
21*91f16700Schasinglulu #include "zynqmp_pm_api_sys.h"
22*91f16700Schasinglulu 
23*91f16700Schasinglulu struct pinctrl_function {
24*91f16700Schasinglulu 	char name[FUNCTION_NAME_LEN];
25*91f16700Schasinglulu 	uint16_t group_base;
26*91f16700Schasinglulu 	uint8_t group_size;
27*91f16700Schasinglulu 	uint8_t regval;
28*91f16700Schasinglulu };
29*91f16700Schasinglulu 
30*91f16700Schasinglulu /* Max groups for one pin */
31*91f16700Schasinglulu #define MAX_PIN_GROUPS	(13U)
32*91f16700Schasinglulu 
33*91f16700Schasinglulu struct zynqmp_pin_group {
34*91f16700Schasinglulu 	uint16_t (*groups)[];
35*91f16700Schasinglulu };
36*91f16700Schasinglulu 
37*91f16700Schasinglulu static struct pinctrl_function pinctrl_functions[MAX_FUNCTION] =  {
38*91f16700Schasinglulu 	[PINCTRL_FUNC_CAN0] = {
39*91f16700Schasinglulu 		.name = "can0",
40*91f16700Schasinglulu 		.regval = 0x20,
41*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_CAN0_0,
42*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_CAN0_18 - PINCTRL_GRP_CAN0_0 + 1U,
43*91f16700Schasinglulu 	},
44*91f16700Schasinglulu 	[PINCTRL_FUNC_CAN1] = {
45*91f16700Schasinglulu 		.name = "can1",
46*91f16700Schasinglulu 		.regval = 0x20,
47*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_CAN1_0,
48*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_CAN1_19 - PINCTRL_GRP_CAN1_0 + 1U,
49*91f16700Schasinglulu 	},
50*91f16700Schasinglulu 	[PINCTRL_FUNC_ETHERNET0] = {
51*91f16700Schasinglulu 		.name = "ethernet0",
52*91f16700Schasinglulu 		.regval = 0x02,
53*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_ETHERNET0_0,
54*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_ETHERNET0_0 - PINCTRL_GRP_ETHERNET0_0 + 1U,
55*91f16700Schasinglulu 	},
56*91f16700Schasinglulu 	[PINCTRL_FUNC_ETHERNET1] = {
57*91f16700Schasinglulu 		.name = "ethernet1",
58*91f16700Schasinglulu 		.regval = 0x02,
59*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_ETHERNET1_0,
60*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_ETHERNET1_0 - PINCTRL_GRP_ETHERNET1_0 + 1U,
61*91f16700Schasinglulu 	},
62*91f16700Schasinglulu 	[PINCTRL_FUNC_ETHERNET2] = {
63*91f16700Schasinglulu 		.name = "ethernet2",
64*91f16700Schasinglulu 		.regval = 0x02,
65*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_ETHERNET2_0,
66*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_ETHERNET2_0 - PINCTRL_GRP_ETHERNET2_0 + 1U,
67*91f16700Schasinglulu 	},
68*91f16700Schasinglulu 	[PINCTRL_FUNC_ETHERNET3] = {
69*91f16700Schasinglulu 		.name = "ethernet3",
70*91f16700Schasinglulu 		.regval = 0x02,
71*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_ETHERNET3_0,
72*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_ETHERNET3_0 - PINCTRL_GRP_ETHERNET3_0 + 1U,
73*91f16700Schasinglulu 	},
74*91f16700Schasinglulu 	[PINCTRL_FUNC_GEMTSU0] = {
75*91f16700Schasinglulu 		.name = "gemtsu0",
76*91f16700Schasinglulu 		.regval = 0x02,
77*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_GEMTSU0_0,
78*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_GEMTSU0_2 - PINCTRL_GRP_GEMTSU0_0 + 1U,
79*91f16700Schasinglulu 	},
80*91f16700Schasinglulu 	[PINCTRL_FUNC_GPIO0] = {
81*91f16700Schasinglulu 		.name = "gpio0",
82*91f16700Schasinglulu 		.regval = 0x00,
83*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_GPIO0_0,
84*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_GPIO0_77 - PINCTRL_GRP_GPIO0_0 + 1U,
85*91f16700Schasinglulu 	},
86*91f16700Schasinglulu 	[PINCTRL_FUNC_I2C0] = {
87*91f16700Schasinglulu 		.name = "i2c0",
88*91f16700Schasinglulu 		.regval = 0x40,
89*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_I2C0_0,
90*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_I2C0_18 - PINCTRL_GRP_I2C0_0 + 1U,
91*91f16700Schasinglulu 	},
92*91f16700Schasinglulu 	[PINCTRL_FUNC_I2C1] = {
93*91f16700Schasinglulu 		.name = "i2c1",
94*91f16700Schasinglulu 		.regval = 0x40,
95*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_I2C1_0,
96*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_I2C1_19 - PINCTRL_GRP_I2C1_0 + 1U,
97*91f16700Schasinglulu 	},
98*91f16700Schasinglulu 	[PINCTRL_FUNC_MDIO0] = {
99*91f16700Schasinglulu 		.name = "mdio0",
100*91f16700Schasinglulu 		.regval = 0x60,
101*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_MDIO0_0,
102*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_MDIO0_0 - PINCTRL_GRP_MDIO0_0 + 1U,
103*91f16700Schasinglulu 	},
104*91f16700Schasinglulu 	[PINCTRL_FUNC_MDIO1] = {
105*91f16700Schasinglulu 		.name = "mdio1",
106*91f16700Schasinglulu 		.regval = 0x80,
107*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_MDIO1_0,
108*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_MDIO1_1 - PINCTRL_GRP_MDIO1_0 + 1U,
109*91f16700Schasinglulu 	},
110*91f16700Schasinglulu 	[PINCTRL_FUNC_MDIO2] = {
111*91f16700Schasinglulu 		.name = "mdio2",
112*91f16700Schasinglulu 		.regval = 0xa0,
113*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_MDIO2_0,
114*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_MDIO2_0 - PINCTRL_GRP_MDIO2_0 + 1U,
115*91f16700Schasinglulu 	},
116*91f16700Schasinglulu 	[PINCTRL_FUNC_MDIO3] = {
117*91f16700Schasinglulu 		.name = "mdio3",
118*91f16700Schasinglulu 		.regval = 0xc0,
119*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_MDIO3_0,
120*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_MDIO3_0 - PINCTRL_GRP_MDIO3_0 + 1U,
121*91f16700Schasinglulu 	},
122*91f16700Schasinglulu 	[PINCTRL_FUNC_QSPI0] = {
123*91f16700Schasinglulu 		.name = "qspi0",
124*91f16700Schasinglulu 		.regval = 0x02,
125*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_QSPI0_0,
126*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_QSPI0_0 - PINCTRL_GRP_QSPI0_0 + 1U,
127*91f16700Schasinglulu 	},
128*91f16700Schasinglulu 	[PINCTRL_FUNC_QSPI_FBCLK] = {
129*91f16700Schasinglulu 		.name = "qspi_fbclk",
130*91f16700Schasinglulu 		.regval = 0x02,
131*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_QSPI_FBCLK,
132*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_QSPI_FBCLK - PINCTRL_GRP_QSPI_FBCLK + 1U,
133*91f16700Schasinglulu 	},
134*91f16700Schasinglulu 	[PINCTRL_FUNC_QSPI_SS] = {
135*91f16700Schasinglulu 		.name = "qspi_ss",
136*91f16700Schasinglulu 		.regval = 0x02,
137*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_QSPI_SS,
138*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_QSPI_SS - PINCTRL_GRP_QSPI_SS + 1U,
139*91f16700Schasinglulu 	},
140*91f16700Schasinglulu 	[PINCTRL_FUNC_SPI0] = {
141*91f16700Schasinglulu 		.name = "spi0",
142*91f16700Schasinglulu 		.regval = 0x80,
143*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SPI0_0,
144*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SPI0_5 - PINCTRL_GRP_SPI0_0 + 1U,
145*91f16700Schasinglulu 	},
146*91f16700Schasinglulu 	[PINCTRL_FUNC_SPI1] = {
147*91f16700Schasinglulu 		.name = "spi1",
148*91f16700Schasinglulu 		.regval = 0x80,
149*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SPI1_0,
150*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SPI1_5 - PINCTRL_GRP_SPI1_0 + 1U,
151*91f16700Schasinglulu 	},
152*91f16700Schasinglulu 	[PINCTRL_FUNC_SPI0_SS] = {
153*91f16700Schasinglulu 		.name = "spi0_ss",
154*91f16700Schasinglulu 		.regval = 0x80,
155*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SPI0_0_SS0,
156*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SPI0_5_SS2 - PINCTRL_GRP_SPI0_0_SS0 + 1U,
157*91f16700Schasinglulu 	},
158*91f16700Schasinglulu 	[PINCTRL_FUNC_SPI1_SS] = {
159*91f16700Schasinglulu 		.name = "spi1_ss",
160*91f16700Schasinglulu 		.regval = 0x80,
161*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SPI1_0_SS0,
162*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SPI1_5_SS2 - PINCTRL_GRP_SPI1_0_SS0 + 1U,
163*91f16700Schasinglulu 	},
164*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO0] = {
165*91f16700Schasinglulu 		.name = "sdio0",
166*91f16700Schasinglulu 		.regval = 0x08,
167*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO0_0,
168*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO0_1BIT_2_7 - PINCTRL_GRP_SDIO0_0 + 1U,
169*91f16700Schasinglulu 	},
170*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO0_PC] = {
171*91f16700Schasinglulu 		.name = "sdio0_pc",
172*91f16700Schasinglulu 		.regval = 0x08,
173*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO0_0_PC,
174*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO0_2_PC - PINCTRL_GRP_SDIO0_0_PC + 1U,
175*91f16700Schasinglulu 	},
176*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO0_CD] = {
177*91f16700Schasinglulu 		.name = "sdio0_cd",
178*91f16700Schasinglulu 		.regval = 0x08,
179*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO0_0_CD,
180*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO0_2_CD - PINCTRL_GRP_SDIO0_0_CD + 1U,
181*91f16700Schasinglulu 	},
182*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO0_WP] = {
183*91f16700Schasinglulu 		.name = "sdio0_wp",
184*91f16700Schasinglulu 		.regval = 0x08,
185*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO0_0_WP,
186*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO0_2_WP - PINCTRL_GRP_SDIO0_0_WP + 1U,
187*91f16700Schasinglulu 	},
188*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO1] = {
189*91f16700Schasinglulu 		.name = "sdio1",
190*91f16700Schasinglulu 		.regval = 0x10,
191*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO1_0,
192*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO1_1BIT_1_3 - PINCTRL_GRP_SDIO1_0 + 1U,
193*91f16700Schasinglulu 	},
194*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO1_PC] = {
195*91f16700Schasinglulu 		.name = "sdio1_pc",
196*91f16700Schasinglulu 		.regval = 0x10,
197*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO1_0_PC,
198*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO1_1_PC - PINCTRL_GRP_SDIO1_0_PC + 1U,
199*91f16700Schasinglulu 	},
200*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO1_CD] = {
201*91f16700Schasinglulu 		.name = "sdio1_cd",
202*91f16700Schasinglulu 		.regval = 0x10,
203*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO1_0_CD,
204*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO1_1_CD - PINCTRL_GRP_SDIO1_0_CD + 1U,
205*91f16700Schasinglulu 	},
206*91f16700Schasinglulu 	[PINCTRL_FUNC_SDIO1_WP] = {
207*91f16700Schasinglulu 		.name = "sdio1_wp",
208*91f16700Schasinglulu 		.regval = 0x10,
209*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SDIO1_0_WP,
210*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SDIO1_1_WP - PINCTRL_GRP_SDIO1_0_WP + 1U,
211*91f16700Schasinglulu 	},
212*91f16700Schasinglulu 	[PINCTRL_FUNC_NAND0] = {
213*91f16700Schasinglulu 		.name = "nand0",
214*91f16700Schasinglulu 		.regval = 0x04,
215*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_NAND0_0,
216*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_NAND0_0 - PINCTRL_GRP_NAND0_0 + 1U,
217*91f16700Schasinglulu 	},
218*91f16700Schasinglulu 	[PINCTRL_FUNC_NAND0_CE] = {
219*91f16700Schasinglulu 		.name = "nand0_ce",
220*91f16700Schasinglulu 		.regval = 0x04,
221*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_NAND0_0_CE,
222*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_NAND0_1_CE - PINCTRL_GRP_NAND0_0_CE + 1U,
223*91f16700Schasinglulu 	},
224*91f16700Schasinglulu 	[PINCTRL_FUNC_NAND0_RB] = {
225*91f16700Schasinglulu 		.name = "nand0_rb",
226*91f16700Schasinglulu 		.regval = 0x04,
227*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_NAND0_0_RB,
228*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_NAND0_1_RB - PINCTRL_GRP_NAND0_0_RB + 1U,
229*91f16700Schasinglulu 	},
230*91f16700Schasinglulu 	[PINCTRL_FUNC_NAND0_DQS] = {
231*91f16700Schasinglulu 		.name = "nand0_dqs",
232*91f16700Schasinglulu 		.regval = 0x04,
233*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_NAND0_0_DQS,
234*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_NAND0_1_DQS - PINCTRL_GRP_NAND0_0_DQS + 1U,
235*91f16700Schasinglulu 	},
236*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC0_CLK] = {
237*91f16700Schasinglulu 		.name = "ttc0_clk",
238*91f16700Schasinglulu 		.regval = 0xa0,
239*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC0_0_CLK,
240*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC0_8_CLK - PINCTRL_GRP_TTC0_0_CLK + 1U,
241*91f16700Schasinglulu 	},
242*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC0_WAV] = {
243*91f16700Schasinglulu 		.name = "ttc0_wav",
244*91f16700Schasinglulu 		.regval = 0xa0,
245*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC0_0_WAV,
246*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC0_8_WAV - PINCTRL_GRP_TTC0_0_WAV + 1U,
247*91f16700Schasinglulu 	},
248*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC1_CLK] = {
249*91f16700Schasinglulu 		.name = "ttc1_clk",
250*91f16700Schasinglulu 		.regval = 0xa0,
251*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC1_0_CLK,
252*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC1_8_CLK - PINCTRL_GRP_TTC1_0_CLK + 1U,
253*91f16700Schasinglulu 	},
254*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC1_WAV] = {
255*91f16700Schasinglulu 		.name = "ttc1_wav",
256*91f16700Schasinglulu 		.regval = 0xa0,
257*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC1_0_WAV,
258*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC1_8_WAV - PINCTRL_GRP_TTC1_0_WAV + 1U,
259*91f16700Schasinglulu 	},
260*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC2_CLK] = {
261*91f16700Schasinglulu 		.name = "ttc2_clk",
262*91f16700Schasinglulu 		.regval = 0xa0,
263*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC2_0_CLK,
264*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC2_8_CLK - PINCTRL_GRP_TTC2_0_CLK + 1U,
265*91f16700Schasinglulu 	},
266*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC2_WAV] = {
267*91f16700Schasinglulu 		.name = "ttc2_wav",
268*91f16700Schasinglulu 		.regval = 0xa0,
269*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC2_0_WAV,
270*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC2_8_WAV - PINCTRL_GRP_TTC2_0_WAV + 1U,
271*91f16700Schasinglulu 	},
272*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC3_CLK] = {
273*91f16700Schasinglulu 		.name = "ttc3_clk",
274*91f16700Schasinglulu 		.regval = 0xa0,
275*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC3_0_CLK,
276*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC3_8_CLK - PINCTRL_GRP_TTC3_0_CLK + 1U,
277*91f16700Schasinglulu 	},
278*91f16700Schasinglulu 	[PINCTRL_FUNC_TTC3_WAV] = {
279*91f16700Schasinglulu 		.name = "ttc3_wav",
280*91f16700Schasinglulu 		.regval = 0xa0,
281*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TTC3_0_WAV,
282*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TTC3_8_WAV - PINCTRL_GRP_TTC3_0_WAV + 1U,
283*91f16700Schasinglulu 	},
284*91f16700Schasinglulu 	[PINCTRL_FUNC_UART0] = {
285*91f16700Schasinglulu 		.name = "uart0",
286*91f16700Schasinglulu 		.regval = 0xc0,
287*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_UART0_0,
288*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_UART0_18 - PINCTRL_GRP_UART0_0 + 1U,
289*91f16700Schasinglulu 	},
290*91f16700Schasinglulu 	[PINCTRL_FUNC_UART1] = {
291*91f16700Schasinglulu 		.name = "uart1",
292*91f16700Schasinglulu 		.regval = 0xc0,
293*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_UART1_0,
294*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_UART1_18 - PINCTRL_GRP_UART1_0 + 1U,
295*91f16700Schasinglulu 	},
296*91f16700Schasinglulu 	[PINCTRL_FUNC_USB0] = {
297*91f16700Schasinglulu 		.name = "usb0",
298*91f16700Schasinglulu 		.regval = 0x04,
299*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_USB0_0,
300*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_USB0_0 - PINCTRL_GRP_USB0_0 + 1U,
301*91f16700Schasinglulu 	},
302*91f16700Schasinglulu 	[PINCTRL_FUNC_USB1] = {
303*91f16700Schasinglulu 		.name = "usb1",
304*91f16700Schasinglulu 		.regval = 0x04,
305*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_USB1_0,
306*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_USB1_0 - PINCTRL_GRP_USB1_0 + 1U,
307*91f16700Schasinglulu 	},
308*91f16700Schasinglulu 	[PINCTRL_FUNC_SWDT0_CLK] = {
309*91f16700Schasinglulu 		.name = "swdt0_clk",
310*91f16700Schasinglulu 		.regval = 0x60,
311*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SWDT0_0_CLK,
312*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SWDT0_12_CLK - PINCTRL_GRP_SWDT0_0_CLK + 1U,
313*91f16700Schasinglulu 	},
314*91f16700Schasinglulu 	[PINCTRL_FUNC_SWDT0_RST] = {
315*91f16700Schasinglulu 		.name = "swdt0_rst",
316*91f16700Schasinglulu 		.regval = 0x60,
317*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SWDT0_0_RST,
318*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SWDT0_12_RST - PINCTRL_GRP_SWDT0_0_RST + 1U,
319*91f16700Schasinglulu 	},
320*91f16700Schasinglulu 	[PINCTRL_FUNC_SWDT1_CLK] = {
321*91f16700Schasinglulu 		.name = "swdt1_clk",
322*91f16700Schasinglulu 		.regval = 0x60,
323*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SWDT1_0_CLK,
324*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SWDT1_12_CLK - PINCTRL_GRP_SWDT1_0_CLK + 1U,
325*91f16700Schasinglulu 	},
326*91f16700Schasinglulu 	[PINCTRL_FUNC_SWDT1_RST] = {
327*91f16700Schasinglulu 		.name = "swdt1_rst",
328*91f16700Schasinglulu 		.regval = 0x60,
329*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_SWDT1_0_RST,
330*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_SWDT1_12_RST - PINCTRL_GRP_SWDT1_0_RST + 1U,
331*91f16700Schasinglulu 	},
332*91f16700Schasinglulu 	[PINCTRL_FUNC_PMU0] = {
333*91f16700Schasinglulu 		.name = "pmu0",
334*91f16700Schasinglulu 		.regval = 0x08,
335*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_PMU0_0,
336*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_PMU0_11 - PINCTRL_GRP_PMU0_0 + 1U,
337*91f16700Schasinglulu 	},
338*91f16700Schasinglulu 	[PINCTRL_FUNC_PCIE0] = {
339*91f16700Schasinglulu 		.name = "pcie0",
340*91f16700Schasinglulu 		.regval = 0x04,
341*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_PCIE0_0,
342*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_PCIE0_7 - PINCTRL_GRP_PCIE0_0 + 1U,
343*91f16700Schasinglulu 	},
344*91f16700Schasinglulu 	[PINCTRL_FUNC_CSU0] = {
345*91f16700Schasinglulu 		.name = "csu0",
346*91f16700Schasinglulu 		.regval = 0x18,
347*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_CSU0_0,
348*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_CSU0_11 - PINCTRL_GRP_CSU0_0 + 1U,
349*91f16700Schasinglulu 	},
350*91f16700Schasinglulu 	[PINCTRL_FUNC_DPAUX0] = {
351*91f16700Schasinglulu 		.name = "dpaux0",
352*91f16700Schasinglulu 		.regval = 0x18,
353*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_DPAUX0_0,
354*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_DPAUX0_3 - PINCTRL_GRP_DPAUX0_0 + 1U,
355*91f16700Schasinglulu 	},
356*91f16700Schasinglulu 	[PINCTRL_FUNC_PJTAG0] = {
357*91f16700Schasinglulu 		.name = "pjtag0",
358*91f16700Schasinglulu 		.regval = 0x60,
359*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_PJTAG0_0,
360*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_PJTAG0_5 - PINCTRL_GRP_PJTAG0_0 + 1U,
361*91f16700Schasinglulu 	},
362*91f16700Schasinglulu 	[PINCTRL_FUNC_TRACE0] = {
363*91f16700Schasinglulu 		.name = "trace0",
364*91f16700Schasinglulu 		.regval = 0xe0,
365*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TRACE0_0,
366*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TRACE0_2 - PINCTRL_GRP_TRACE0_0 + 1U,
367*91f16700Schasinglulu 	},
368*91f16700Schasinglulu 	[PINCTRL_FUNC_TRACE0_CLK] = {
369*91f16700Schasinglulu 		.name = "trace0_clk",
370*91f16700Schasinglulu 		.regval = 0xe0,
371*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TRACE0_0_CLK,
372*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TRACE0_2_CLK - PINCTRL_GRP_TRACE0_0_CLK + 1U,
373*91f16700Schasinglulu 	},
374*91f16700Schasinglulu 	[PINCTRL_FUNC_TESTSCAN0] = {
375*91f16700Schasinglulu 		.name = "testscan0",
376*91f16700Schasinglulu 		.regval = 0x10,
377*91f16700Schasinglulu 		.group_base = PINCTRL_GRP_TESTSCAN0_0,
378*91f16700Schasinglulu 		.group_size = PINCTRL_GRP_TESTSCAN0_0 - PINCTRL_GRP_TESTSCAN0_0 + 1U,
379*91f16700Schasinglulu 	},
380*91f16700Schasinglulu };
381*91f16700Schasinglulu 
382*91f16700Schasinglulu static struct zynqmp_pin_group zynqmp_pin_groups[MAX_PIN] = {
383*91f16700Schasinglulu 	[PINCTRL_PIN_0] = {
384*91f16700Schasinglulu 		.groups = &((uint16_t []) {
385*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
386*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
387*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
388*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
389*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
390*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_0,
391*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_0,
392*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_0,
393*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_0,
394*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0,
395*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_0_CLK,
396*91f16700Schasinglulu 			PINCTRL_GRP_UART1_0,
397*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0_CLK,
398*91f16700Schasinglulu 			END_OF_GROUPS,
399*91f16700Schasinglulu 		}),
400*91f16700Schasinglulu 	},
401*91f16700Schasinglulu 	[PINCTRL_PIN_1] = {
402*91f16700Schasinglulu 		.groups = &((uint16_t []) {
403*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
404*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
405*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
406*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
407*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
408*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_1,
409*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_0,
410*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_0,
411*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_0,
412*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0_SS2,
413*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_0_WAV,
414*91f16700Schasinglulu 			PINCTRL_GRP_UART1_0,
415*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0_CLK,
416*91f16700Schasinglulu 			END_OF_GROUPS,
417*91f16700Schasinglulu 		}),
418*91f16700Schasinglulu 	},
419*91f16700Schasinglulu 	[PINCTRL_PIN_2] = {
420*91f16700Schasinglulu 		.groups = &((uint16_t []) {
421*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
422*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
423*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
424*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
425*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
426*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_2,
427*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_0,
428*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_0,
429*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_0,
430*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0_SS1,
431*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_0_CLK,
432*91f16700Schasinglulu 			PINCTRL_GRP_UART0_0,
433*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
434*91f16700Schasinglulu 			END_OF_GROUPS,
435*91f16700Schasinglulu 		}),
436*91f16700Schasinglulu 	},
437*91f16700Schasinglulu 	[PINCTRL_PIN_3] = {
438*91f16700Schasinglulu 		.groups = &((uint16_t []) {
439*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
440*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
441*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
442*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
443*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
444*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_3,
445*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_0,
446*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_0,
447*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_0,
448*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0_SS0,
449*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_0_WAV,
450*91f16700Schasinglulu 			PINCTRL_GRP_UART0_0,
451*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
452*91f16700Schasinglulu 			END_OF_GROUPS,
453*91f16700Schasinglulu 		}),
454*91f16700Schasinglulu 	},
455*91f16700Schasinglulu 	[PINCTRL_PIN_4] = {
456*91f16700Schasinglulu 		.groups = &((uint16_t []) {
457*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
458*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
459*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
460*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
461*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
462*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_4,
463*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_1,
464*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_1,
465*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_0_CLK,
466*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0,
467*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_0_CLK,
468*91f16700Schasinglulu 			PINCTRL_GRP_UART1_1,
469*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
470*91f16700Schasinglulu 			END_OF_GROUPS,
471*91f16700Schasinglulu 		}),
472*91f16700Schasinglulu 	},
473*91f16700Schasinglulu 	[PINCTRL_PIN_5] = {
474*91f16700Schasinglulu 		.groups = &((uint16_t []) {
475*91f16700Schasinglulu 			PINCTRL_GRP_QSPI_SS,
476*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
477*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
478*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
479*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
480*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_5,
481*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_1,
482*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_1,
483*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_0_RST,
484*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_0,
485*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_0_WAV,
486*91f16700Schasinglulu 			PINCTRL_GRP_UART1_1,
487*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
488*91f16700Schasinglulu 			END_OF_GROUPS,
489*91f16700Schasinglulu 		}),
490*91f16700Schasinglulu 	},
491*91f16700Schasinglulu 	[PINCTRL_PIN_6] = {
492*91f16700Schasinglulu 		.groups = &((uint16_t []) {
493*91f16700Schasinglulu 			PINCTRL_GRP_QSPI_FBCLK,
494*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
495*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
496*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
497*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
498*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_6,
499*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_1,
500*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_1,
501*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_0_CLK,
502*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0,
503*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_0_CLK,
504*91f16700Schasinglulu 			PINCTRL_GRP_UART0_1,
505*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
506*91f16700Schasinglulu 			END_OF_GROUPS,
507*91f16700Schasinglulu 		}),
508*91f16700Schasinglulu 	},
509*91f16700Schasinglulu 	[PINCTRL_PIN_7] = {
510*91f16700Schasinglulu 		.groups = &((uint16_t []) {
511*91f16700Schasinglulu 			PINCTRL_GRP_QSPI_SS,
512*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
513*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
514*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
515*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
516*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_7,
517*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_1,
518*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_1,
519*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_0_RST,
520*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0_SS2,
521*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_0_WAV,
522*91f16700Schasinglulu 			PINCTRL_GRP_UART0_1,
523*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
524*91f16700Schasinglulu 			END_OF_GROUPS,
525*91f16700Schasinglulu 		}),
526*91f16700Schasinglulu 	},
527*91f16700Schasinglulu 	[PINCTRL_PIN_8] = {
528*91f16700Schasinglulu 		.groups = &((uint16_t []) {
529*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
530*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
531*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
532*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
533*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
534*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_8,
535*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_2,
536*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_2,
537*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_1_CLK,
538*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0_SS1,
539*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_1_CLK,
540*91f16700Schasinglulu 			PINCTRL_GRP_UART1_2,
541*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
542*91f16700Schasinglulu 			END_OF_GROUPS,
543*91f16700Schasinglulu 		}),
544*91f16700Schasinglulu 	},
545*91f16700Schasinglulu 	[PINCTRL_PIN_9] = {
546*91f16700Schasinglulu 		.groups = &((uint16_t []) {
547*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
548*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0_CE,
549*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
550*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
551*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
552*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_9,
553*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_2,
554*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_2,
555*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_1_RST,
556*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0_SS0,
557*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_1_WAV,
558*91f16700Schasinglulu 			PINCTRL_GRP_UART1_2,
559*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
560*91f16700Schasinglulu 			END_OF_GROUPS,
561*91f16700Schasinglulu 		}),
562*91f16700Schasinglulu 	},
563*91f16700Schasinglulu 	[PINCTRL_PIN_10] = {
564*91f16700Schasinglulu 		.groups = &((uint16_t []) {
565*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
566*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0_RB,
567*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
568*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
569*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
570*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_10,
571*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_2,
572*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_2,
573*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_1_CLK,
574*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0,
575*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_1_CLK,
576*91f16700Schasinglulu 			PINCTRL_GRP_UART0_2,
577*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
578*91f16700Schasinglulu 			END_OF_GROUPS,
579*91f16700Schasinglulu 		}),
580*91f16700Schasinglulu 	},
581*91f16700Schasinglulu 	[PINCTRL_PIN_11] = {
582*91f16700Schasinglulu 		.groups = &((uint16_t []) {
583*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
584*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0_RB,
585*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
586*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
587*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
588*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_11,
589*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_2,
590*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_2,
591*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_1_RST,
592*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_0,
593*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_1_WAV,
594*91f16700Schasinglulu 			PINCTRL_GRP_UART0_2,
595*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
596*91f16700Schasinglulu 			END_OF_GROUPS,
597*91f16700Schasinglulu 		}),
598*91f16700Schasinglulu 	},
599*91f16700Schasinglulu 	[PINCTRL_PIN_12] = {
600*91f16700Schasinglulu 		.groups = &((uint16_t []) {
601*91f16700Schasinglulu 			PINCTRL_GRP_QSPI0_0,
602*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0_DQS,
603*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
604*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
605*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
606*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_12,
607*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_3,
608*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_3,
609*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_1,
610*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1,
611*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_1_CLK,
612*91f16700Schasinglulu 			PINCTRL_GRP_UART1_3,
613*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
614*91f16700Schasinglulu 			END_OF_GROUPS,
615*91f16700Schasinglulu 		}),
616*91f16700Schasinglulu 	},
617*91f16700Schasinglulu 	[PINCTRL_PIN_13] = {
618*91f16700Schasinglulu 		.groups = &((uint16_t []) {
619*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
620*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
621*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
622*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
623*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
624*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_13,
625*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_3,
626*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_3,
627*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_1,
628*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1_SS2,
629*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_1_WAV,
630*91f16700Schasinglulu 			PINCTRL_GRP_UART1_3,
631*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
632*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
633*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_0,
634*91f16700Schasinglulu 			END_OF_GROUPS,
635*91f16700Schasinglulu 		}),
636*91f16700Schasinglulu 	},
637*91f16700Schasinglulu 	[PINCTRL_PIN_14] = {
638*91f16700Schasinglulu 		.groups = &((uint16_t []) {
639*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
640*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
641*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
642*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
643*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
644*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_14,
645*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_3,
646*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_3,
647*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_1,
648*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1_SS1,
649*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_1_CLK,
650*91f16700Schasinglulu 			PINCTRL_GRP_UART0_3,
651*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
652*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
653*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_1,
654*91f16700Schasinglulu 			END_OF_GROUPS,
655*91f16700Schasinglulu 		}),
656*91f16700Schasinglulu 	},
657*91f16700Schasinglulu 	[PINCTRL_PIN_15] = {
658*91f16700Schasinglulu 		.groups = &((uint16_t []) {
659*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
660*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
661*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
662*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
663*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
664*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_15,
665*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_3,
666*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_3,
667*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_1,
668*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1_SS0,
669*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_1_WAV,
670*91f16700Schasinglulu 			PINCTRL_GRP_UART0_3,
671*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
672*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
673*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_2,
674*91f16700Schasinglulu 			END_OF_GROUPS,
675*91f16700Schasinglulu 		}),
676*91f16700Schasinglulu 	},
677*91f16700Schasinglulu 	[PINCTRL_PIN_16] = {
678*91f16700Schasinglulu 		.groups = &((uint16_t []) {
679*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
680*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
681*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
682*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
683*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
684*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_16,
685*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_4,
686*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_4,
687*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_2_CLK,
688*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1,
689*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_2_CLK,
690*91f16700Schasinglulu 			PINCTRL_GRP_UART1_4,
691*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
692*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
693*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_3,
694*91f16700Schasinglulu 			END_OF_GROUPS,
695*91f16700Schasinglulu 		}),
696*91f16700Schasinglulu 	},
697*91f16700Schasinglulu 	[PINCTRL_PIN_17] = {
698*91f16700Schasinglulu 		.groups = &((uint16_t []) {
699*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
700*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
701*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
702*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
703*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
704*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_17,
705*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_4,
706*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_4,
707*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_2_RST,
708*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_1,
709*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_2_WAV,
710*91f16700Schasinglulu 			PINCTRL_GRP_UART1_4,
711*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_0,
712*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
713*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_4,
714*91f16700Schasinglulu 			END_OF_GROUPS,
715*91f16700Schasinglulu 		}),
716*91f16700Schasinglulu 	},
717*91f16700Schasinglulu 	[PINCTRL_PIN_18] = {
718*91f16700Schasinglulu 		.groups = &((uint16_t []) {
719*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
720*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
721*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
722*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
723*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_0,
724*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_18,
725*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_4,
726*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_4,
727*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_2_CLK,
728*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1,
729*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_2_CLK,
730*91f16700Schasinglulu 			PINCTRL_GRP_UART0_4,
731*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
732*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
733*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_5,
734*91f16700Schasinglulu 			END_OF_GROUPS,
735*91f16700Schasinglulu 		}),
736*91f16700Schasinglulu 	},
737*91f16700Schasinglulu 	[PINCTRL_PIN_19] = {
738*91f16700Schasinglulu 		.groups = &((uint16_t []) {
739*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
740*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
741*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
742*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
743*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_1,
744*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_19,
745*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_4,
746*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_4,
747*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_2_RST,
748*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1_SS2,
749*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_2_WAV,
750*91f16700Schasinglulu 			PINCTRL_GRP_UART0_4,
751*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
752*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
753*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_6,
754*91f16700Schasinglulu 			END_OF_GROUPS,
755*91f16700Schasinglulu 		}),
756*91f16700Schasinglulu 	},
757*91f16700Schasinglulu 	[PINCTRL_PIN_20] = {
758*91f16700Schasinglulu 		.groups = &((uint16_t []) {
759*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
760*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
761*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
762*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
763*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_2,
764*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_20,
765*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_5,
766*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_5,
767*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_3_CLK,
768*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1_SS1,
769*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_2_CLK,
770*91f16700Schasinglulu 			PINCTRL_GRP_UART1_5,
771*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
772*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
773*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_7,
774*91f16700Schasinglulu 			END_OF_GROUPS,
775*91f16700Schasinglulu 		}),
776*91f16700Schasinglulu 	},
777*91f16700Schasinglulu 	[PINCTRL_PIN_21] = {
778*91f16700Schasinglulu 		.groups = &((uint16_t []) {
779*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
780*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
781*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
782*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
783*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_3,
784*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_21,
785*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_5,
786*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_5,
787*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_3_RST,
788*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1_SS0,
789*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_2_WAV,
790*91f16700Schasinglulu 			PINCTRL_GRP_UART1_5,
791*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
792*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
793*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
794*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_0,
795*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_1,
796*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_2,
797*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_3,
798*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_4,
799*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_5,
800*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_6,
801*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_7,
802*91f16700Schasinglulu 			END_OF_GROUPS,
803*91f16700Schasinglulu 		}),
804*91f16700Schasinglulu 	},
805*91f16700Schasinglulu 	[PINCTRL_PIN_22] = {
806*91f16700Schasinglulu 		.groups = &((uint16_t []) {
807*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
808*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
809*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0,
810*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
811*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_4,
812*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_22,
813*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_5,
814*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_5,
815*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_3_CLK,
816*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1,
817*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_2_CLK,
818*91f16700Schasinglulu 			PINCTRL_GRP_UART0_5,
819*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
820*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_0,
821*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_0_1,
822*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_0,
823*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_1,
824*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_2,
825*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_3,
826*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_4,
827*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_5,
828*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_6,
829*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_0_7,
830*91f16700Schasinglulu 			END_OF_GROUPS,
831*91f16700Schasinglulu 		}),
832*91f16700Schasinglulu 	},
833*91f16700Schasinglulu 	[PINCTRL_PIN_23] = {
834*91f16700Schasinglulu 		.groups = &((uint16_t []) {
835*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
836*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
837*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0_PC,
838*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
839*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_5,
840*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_23,
841*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_5,
842*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_5,
843*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_3_RST,
844*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_1,
845*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_2_WAV,
846*91f16700Schasinglulu 			PINCTRL_GRP_UART0_5,
847*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
848*91f16700Schasinglulu 			END_OF_GROUPS,
849*91f16700Schasinglulu 		}),
850*91f16700Schasinglulu 	},
851*91f16700Schasinglulu 	[PINCTRL_PIN_24] = {
852*91f16700Schasinglulu 		.groups = &((uint16_t []) {
853*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
854*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
855*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0_CD,
856*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
857*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_6,
858*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_24,
859*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_6,
860*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_6,
861*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_4_CLK,
862*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
863*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_3_CLK,
864*91f16700Schasinglulu 			PINCTRL_GRP_UART1_6,
865*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
866*91f16700Schasinglulu 			END_OF_GROUPS,
867*91f16700Schasinglulu 		}),
868*91f16700Schasinglulu 	},
869*91f16700Schasinglulu 	[PINCTRL_PIN_25] = {
870*91f16700Schasinglulu 		.groups = &((uint16_t []) {
871*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
872*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_0,
873*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_0_WP,
874*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
875*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_7,
876*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_25,
877*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_6,
878*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_6,
879*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_4_RST,
880*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
881*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_3_WAV,
882*91f16700Schasinglulu 			PINCTRL_GRP_UART1_6,
883*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
884*91f16700Schasinglulu 			END_OF_GROUPS,
885*91f16700Schasinglulu 		}),
886*91f16700Schasinglulu 	},
887*91f16700Schasinglulu 	[PINCTRL_PIN_26] = {
888*91f16700Schasinglulu 		.groups = &((uint16_t []) {
889*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
890*91f16700Schasinglulu 			PINCTRL_GRP_GEMTSU0_0,
891*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_1_CE,
892*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_0,
893*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
894*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_8,
895*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_26,
896*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_6,
897*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_6,
898*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_2,
899*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2,
900*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_3_CLK,
901*91f16700Schasinglulu 			PINCTRL_GRP_UART0_6,
902*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
903*91f16700Schasinglulu 			END_OF_GROUPS,
904*91f16700Schasinglulu 		}),
905*91f16700Schasinglulu 	},
906*91f16700Schasinglulu 	[PINCTRL_PIN_27] = {
907*91f16700Schasinglulu 		.groups = &((uint16_t []) {
908*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
909*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_1_RB,
910*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_1,
911*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
912*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_0,
913*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_27,
914*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_6,
915*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_6,
916*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_2,
917*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2_SS2,
918*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_3_WAV,
919*91f16700Schasinglulu 			PINCTRL_GRP_UART0_6,
920*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
921*91f16700Schasinglulu 			END_OF_GROUPS,
922*91f16700Schasinglulu 		}),
923*91f16700Schasinglulu 	},
924*91f16700Schasinglulu 	[PINCTRL_PIN_28] = {
925*91f16700Schasinglulu 		.groups = &((uint16_t []) {
926*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
927*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_1_RB,
928*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_2,
929*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
930*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_0,
931*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_28,
932*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_7,
933*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_7,
934*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_2,
935*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2_SS1,
936*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_3_CLK,
937*91f16700Schasinglulu 			PINCTRL_GRP_UART1_7,
938*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
939*91f16700Schasinglulu 			END_OF_GROUPS,
940*91f16700Schasinglulu 		}),
941*91f16700Schasinglulu 	},
942*91f16700Schasinglulu 	[PINCTRL_PIN_29] = {
943*91f16700Schasinglulu 		.groups = &((uint16_t []) {
944*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
945*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_0,
946*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_3,
947*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
948*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_1,
949*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_29,
950*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_7,
951*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_7,
952*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_2,
953*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2_SS0,
954*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_3_WAV,
955*91f16700Schasinglulu 			PINCTRL_GRP_UART1_7,
956*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
957*91f16700Schasinglulu 			END_OF_GROUPS,
958*91f16700Schasinglulu 		}),
959*91f16700Schasinglulu 	},
960*91f16700Schasinglulu 	[PINCTRL_PIN_30] = {
961*91f16700Schasinglulu 		.groups = &((uint16_t []) {
962*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
963*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_1,
964*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_4,
965*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
966*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_1,
967*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_30,
968*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_7,
969*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_7,
970*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_4_CLK,
971*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2,
972*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_3_CLK,
973*91f16700Schasinglulu 			PINCTRL_GRP_UART0_7,
974*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
975*91f16700Schasinglulu 			END_OF_GROUPS,
976*91f16700Schasinglulu 		}),
977*91f16700Schasinglulu 	},
978*91f16700Schasinglulu 	[PINCTRL_PIN_31] = {
979*91f16700Schasinglulu 		.groups = &((uint16_t []) {
980*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
981*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_2,
982*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_5,
983*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
984*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_9,
985*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_31,
986*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_7,
987*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_7,
988*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_4_RST,
989*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_2,
990*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_3_WAV,
991*91f16700Schasinglulu 			PINCTRL_GRP_UART0_7,
992*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
993*91f16700Schasinglulu 			END_OF_GROUPS,
994*91f16700Schasinglulu 		}),
995*91f16700Schasinglulu 	},
996*91f16700Schasinglulu 	[PINCTRL_PIN_32] = {
997*91f16700Schasinglulu 		.groups = &((uint16_t []) {
998*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
999*91f16700Schasinglulu 			PINCTRL_GRP_NAND0_1_DQS,
1000*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_6,
1001*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1002*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_10,
1003*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_32,
1004*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_8,
1005*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_8,
1006*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_5_CLK,
1007*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2,
1008*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_4_CLK,
1009*91f16700Schasinglulu 			PINCTRL_GRP_UART1_8,
1010*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1011*91f16700Schasinglulu 			END_OF_GROUPS,
1012*91f16700Schasinglulu 		}),
1013*91f16700Schasinglulu 	},
1014*91f16700Schasinglulu 	[PINCTRL_PIN_33] = {
1015*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1016*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
1017*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_3,
1018*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_7,
1019*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1020*91f16700Schasinglulu 			PINCTRL_GRP_CSU0_11,
1021*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_33,
1022*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_8,
1023*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_8,
1024*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_5_RST,
1025*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2_SS2,
1026*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_4_WAV,
1027*91f16700Schasinglulu 			PINCTRL_GRP_UART1_8,
1028*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1029*91f16700Schasinglulu 			END_OF_GROUPS,
1030*91f16700Schasinglulu 		}),
1031*91f16700Schasinglulu 	},
1032*91f16700Schasinglulu 	[PINCTRL_PIN_34] = {
1033*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1034*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
1035*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_4,
1036*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_8,
1037*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1038*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_2,
1039*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_34,
1040*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_8,
1041*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_8,
1042*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_5_CLK,
1043*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2_SS1,
1044*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_4_CLK,
1045*91f16700Schasinglulu 			PINCTRL_GRP_UART0_8,
1046*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1047*91f16700Schasinglulu 			END_OF_GROUPS,
1048*91f16700Schasinglulu 		}),
1049*91f16700Schasinglulu 	},
1050*91f16700Schasinglulu 	[PINCTRL_PIN_35] = {
1051*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1052*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
1053*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_5,
1054*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_9,
1055*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1056*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_2,
1057*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_35,
1058*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_8,
1059*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_8,
1060*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_5_RST,
1061*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2_SS0,
1062*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_4_WAV,
1063*91f16700Schasinglulu 			PINCTRL_GRP_UART0_8,
1064*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1065*91f16700Schasinglulu 			END_OF_GROUPS,
1066*91f16700Schasinglulu 		}),
1067*91f16700Schasinglulu 	},
1068*91f16700Schasinglulu 	[PINCTRL_PIN_36] = {
1069*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1070*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
1071*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_6,
1072*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_10,
1073*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1074*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_3,
1075*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_36,
1076*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_9,
1077*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_9,
1078*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_6_CLK,
1079*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2,
1080*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_4_CLK,
1081*91f16700Schasinglulu 			PINCTRL_GRP_UART1_9,
1082*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1083*91f16700Schasinglulu 			END_OF_GROUPS,
1084*91f16700Schasinglulu 		}),
1085*91f16700Schasinglulu 	},
1086*91f16700Schasinglulu 	[PINCTRL_PIN_37] = {
1087*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1088*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET0_0,
1089*91f16700Schasinglulu 			PINCTRL_GRP_PCIE0_7,
1090*91f16700Schasinglulu 			PINCTRL_GRP_PMU0_11,
1091*91f16700Schasinglulu 			PINCTRL_GRP_TESTSCAN0_0,
1092*91f16700Schasinglulu 			PINCTRL_GRP_DPAUX0_3,
1093*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_37,
1094*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_9,
1095*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_9,
1096*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_6_RST,
1097*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_2,
1098*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_4_WAV,
1099*91f16700Schasinglulu 			PINCTRL_GRP_UART1_9,
1100*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1101*91f16700Schasinglulu 			END_OF_GROUPS,
1102*91f16700Schasinglulu 		}),
1103*91f16700Schasinglulu 	},
1104*91f16700Schasinglulu 	[PINCTRL_PIN_38] = {
1105*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1106*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1107*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1108*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1109*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1110*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1111*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_38,
1112*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_9,
1113*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_9,
1114*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_3,
1115*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3,
1116*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_4_CLK,
1117*91f16700Schasinglulu 			PINCTRL_GRP_UART0_9,
1118*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1_CLK,
1119*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1120*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1121*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_0,
1122*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_1,
1123*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_2,
1124*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_3,
1125*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_4,
1126*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_5,
1127*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_6,
1128*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_7,
1129*91f16700Schasinglulu 			END_OF_GROUPS,
1130*91f16700Schasinglulu 		}),
1131*91f16700Schasinglulu 	},
1132*91f16700Schasinglulu 	[PINCTRL_PIN_39] = {
1133*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1134*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1135*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1136*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1_CD,
1137*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1138*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1139*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_39,
1140*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_9,
1141*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_9,
1142*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_3,
1143*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3_SS2,
1144*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_4_WAV,
1145*91f16700Schasinglulu 			PINCTRL_GRP_UART0_9,
1146*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1_CLK,
1147*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1148*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_0,
1149*91f16700Schasinglulu 			END_OF_GROUPS,
1150*91f16700Schasinglulu 		}),
1151*91f16700Schasinglulu 	},
1152*91f16700Schasinglulu 	[PINCTRL_PIN_40] = {
1153*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1154*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1155*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1156*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1157*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1158*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1159*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_40,
1160*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_10,
1161*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_10,
1162*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_3,
1163*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3_SS1,
1164*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_5_CLK,
1165*91f16700Schasinglulu 			PINCTRL_GRP_UART1_10,
1166*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1167*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1168*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1169*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_0,
1170*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_1,
1171*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_2,
1172*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_3,
1173*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_4,
1174*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_5,
1175*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_6,
1176*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_7,
1177*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1178*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_1,
1179*91f16700Schasinglulu 			END_OF_GROUPS,
1180*91f16700Schasinglulu 		}),
1181*91f16700Schasinglulu 	},
1182*91f16700Schasinglulu 	[PINCTRL_PIN_41] = {
1183*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1184*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1185*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1186*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1187*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1188*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1189*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_41,
1190*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_10,
1191*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_10,
1192*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_3,
1193*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3_SS0,
1194*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_5_WAV,
1195*91f16700Schasinglulu 			PINCTRL_GRP_UART1_10,
1196*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1197*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1198*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_0,
1199*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1200*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_2,
1201*91f16700Schasinglulu 			END_OF_GROUPS,
1202*91f16700Schasinglulu 		}),
1203*91f16700Schasinglulu 	},
1204*91f16700Schasinglulu 	[PINCTRL_PIN_42] = {
1205*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1206*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1207*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1208*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1209*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1210*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1211*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_42,
1212*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_10,
1213*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_10,
1214*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_6_CLK,
1215*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3,
1216*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_5_CLK,
1217*91f16700Schasinglulu 			PINCTRL_GRP_UART0_10,
1218*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1219*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1220*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1221*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_1,
1222*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1223*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_3,
1224*91f16700Schasinglulu 			END_OF_GROUPS,
1225*91f16700Schasinglulu 		}),
1226*91f16700Schasinglulu 	},
1227*91f16700Schasinglulu 	[PINCTRL_PIN_43] = {
1228*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1229*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1230*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1231*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1232*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0_PC,
1233*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1234*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_43,
1235*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_10,
1236*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_10,
1237*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_6_RST,
1238*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_3,
1239*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_5_WAV,
1240*91f16700Schasinglulu 			PINCTRL_GRP_UART0_10,
1241*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_1,
1242*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1243*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_2,
1244*91f16700Schasinglulu 			END_OF_GROUPS,
1245*91f16700Schasinglulu 		}),
1246*91f16700Schasinglulu 	},
1247*91f16700Schasinglulu 	[PINCTRL_PIN_44] = {
1248*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1249*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1250*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1251*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1252*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0_WP,
1253*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1254*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_44,
1255*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_11,
1256*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_11,
1257*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_7_CLK,
1258*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3,
1259*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_5_CLK,
1260*91f16700Schasinglulu 			PINCTRL_GRP_UART1_11,
1261*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1262*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_0,
1263*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_3,
1264*91f16700Schasinglulu 			END_OF_GROUPS,
1265*91f16700Schasinglulu 		}),
1266*91f16700Schasinglulu 	},
1267*91f16700Schasinglulu 	[PINCTRL_PIN_45] = {
1268*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1269*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1270*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1271*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1272*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0_CD,
1273*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1274*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_45,
1275*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_11,
1276*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_11,
1277*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_7_RST,
1278*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3_SS2,
1279*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_5_WAV,
1280*91f16700Schasinglulu 			PINCTRL_GRP_UART1_11,
1281*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1282*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1283*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_4,
1284*91f16700Schasinglulu 			END_OF_GROUPS,
1285*91f16700Schasinglulu 		}),
1286*91f16700Schasinglulu 	},
1287*91f16700Schasinglulu 	[PINCTRL_PIN_46] = {
1288*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1289*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1290*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1291*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1292*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1293*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1294*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_46,
1295*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_11,
1296*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_11,
1297*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_7_CLK,
1298*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3_SS1,
1299*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_5_CLK,
1300*91f16700Schasinglulu 			PINCTRL_GRP_UART0_11,
1301*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1302*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1303*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_5,
1304*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1305*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_4,
1306*91f16700Schasinglulu 			END_OF_GROUPS,
1307*91f16700Schasinglulu 		}),
1308*91f16700Schasinglulu 	},
1309*91f16700Schasinglulu 	[PINCTRL_PIN_47] = {
1310*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1311*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1312*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1313*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1314*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1315*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1316*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_47,
1317*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_11,
1318*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_11,
1319*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_7_RST,
1320*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3_SS0,
1321*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_5_WAV,
1322*91f16700Schasinglulu 			PINCTRL_GRP_UART0_11,
1323*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1324*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1325*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_6,
1326*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1327*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_5,
1328*91f16700Schasinglulu 			END_OF_GROUPS,
1329*91f16700Schasinglulu 		}),
1330*91f16700Schasinglulu 	},
1331*91f16700Schasinglulu 	[PINCTRL_PIN_48] = {
1332*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1333*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1334*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1335*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1,
1336*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1337*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1338*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_48,
1339*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_12,
1340*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_12,
1341*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_8_CLK,
1342*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3,
1343*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_6_CLK,
1344*91f16700Schasinglulu 			PINCTRL_GRP_UART1_12,
1345*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1346*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_1_1,
1347*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_1_7,
1348*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1349*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_6,
1350*91f16700Schasinglulu 			END_OF_GROUPS,
1351*91f16700Schasinglulu 		}),
1352*91f16700Schasinglulu 	},
1353*91f16700Schasinglulu 	[PINCTRL_PIN_49] = {
1354*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1355*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET1_0,
1356*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1357*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1_PC,
1358*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1359*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1360*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_49,
1361*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_12,
1362*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_12,
1363*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_8_RST,
1364*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_3,
1365*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_6_WAV,
1366*91f16700Schasinglulu 			PINCTRL_GRP_UART1_12,
1367*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1368*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1369*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_7,
1370*91f16700Schasinglulu 			END_OF_GROUPS,
1371*91f16700Schasinglulu 		}),
1372*91f16700Schasinglulu 	},
1373*91f16700Schasinglulu 	[PINCTRL_PIN_50] = {
1374*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1375*91f16700Schasinglulu 			PINCTRL_GRP_GEMTSU0_1,
1376*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1377*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1_WP,
1378*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1379*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1380*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_50,
1381*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_12,
1382*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_12,
1383*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_8_CLK,
1384*91f16700Schasinglulu 			PINCTRL_GRP_MDIO1_0,
1385*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_6_CLK,
1386*91f16700Schasinglulu 			PINCTRL_GRP_UART0_12,
1387*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1388*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1389*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1390*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_0,
1391*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_1,
1392*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_2,
1393*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_3,
1394*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_4,
1395*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_5,
1396*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_6,
1397*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_7,
1398*91f16700Schasinglulu 			END_OF_GROUPS,
1399*91f16700Schasinglulu 		}),
1400*91f16700Schasinglulu 	},
1401*91f16700Schasinglulu 	[PINCTRL_PIN_51] = {
1402*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1403*91f16700Schasinglulu 			PINCTRL_GRP_GEMTSU0_2,
1404*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1405*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1406*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_0,
1407*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1408*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_51,
1409*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_12,
1410*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_12,
1411*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_8_RST,
1412*91f16700Schasinglulu 			PINCTRL_GRP_MDIO1_0,
1413*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_6_WAV,
1414*91f16700Schasinglulu 			PINCTRL_GRP_UART0_12,
1415*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1416*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_0,
1417*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_0_1,
1418*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_0,
1419*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_1,
1420*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_2,
1421*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_3,
1422*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_4,
1423*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_5,
1424*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_6,
1425*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_0_7,
1426*91f16700Schasinglulu 			END_OF_GROUPS,
1427*91f16700Schasinglulu 		}),
1428*91f16700Schasinglulu 	},
1429*91f16700Schasinglulu 	[PINCTRL_PIN_52] = {
1430*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1431*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1432*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1433*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1434*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1435*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1436*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_52,
1437*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_13,
1438*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_13,
1439*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_4,
1440*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4,
1441*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_6_CLK,
1442*91f16700Schasinglulu 			PINCTRL_GRP_UART1_13,
1443*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2_CLK,
1444*91f16700Schasinglulu 			END_OF_GROUPS,
1445*91f16700Schasinglulu 		}),
1446*91f16700Schasinglulu 	},
1447*91f16700Schasinglulu 	[PINCTRL_PIN_53] = {
1448*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1449*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1450*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1451*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1452*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1453*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1454*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_53,
1455*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_13,
1456*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_13,
1457*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_4,
1458*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4_SS2,
1459*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_6_WAV,
1460*91f16700Schasinglulu 			PINCTRL_GRP_UART1_13,
1461*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2_CLK,
1462*91f16700Schasinglulu 			END_OF_GROUPS,
1463*91f16700Schasinglulu 		}),
1464*91f16700Schasinglulu 	},
1465*91f16700Schasinglulu 	[PINCTRL_PIN_54] = {
1466*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1467*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1468*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1469*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1470*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1471*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1472*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_54,
1473*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_13,
1474*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_13,
1475*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_4,
1476*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4_SS1,
1477*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_6_CLK,
1478*91f16700Schasinglulu 			PINCTRL_GRP_UART0_13,
1479*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1480*91f16700Schasinglulu 			END_OF_GROUPS,
1481*91f16700Schasinglulu 		}),
1482*91f16700Schasinglulu 	},
1483*91f16700Schasinglulu 	[PINCTRL_PIN_55] = {
1484*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1485*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1486*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1487*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1488*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1489*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1490*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_55,
1491*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_13,
1492*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_13,
1493*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_4,
1494*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4_SS0,
1495*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_6_WAV,
1496*91f16700Schasinglulu 			PINCTRL_GRP_UART0_13,
1497*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1498*91f16700Schasinglulu 			END_OF_GROUPS,
1499*91f16700Schasinglulu 		}),
1500*91f16700Schasinglulu 	},
1501*91f16700Schasinglulu 	[PINCTRL_PIN_56] = {
1502*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1503*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1504*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1505*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1506*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1507*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1508*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_56,
1509*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_14,
1510*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_14,
1511*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_9_CLK,
1512*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4,
1513*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_7_CLK,
1514*91f16700Schasinglulu 			PINCTRL_GRP_UART1_14,
1515*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1516*91f16700Schasinglulu 			END_OF_GROUPS,
1517*91f16700Schasinglulu 		}),
1518*91f16700Schasinglulu 	},
1519*91f16700Schasinglulu 	[PINCTRL_PIN_57] = {
1520*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1521*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1522*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1523*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1524*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1525*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1526*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_57,
1527*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_14,
1528*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_14,
1529*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_9_RST,
1530*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_4,
1531*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_7_WAV,
1532*91f16700Schasinglulu 			PINCTRL_GRP_UART1_14,
1533*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1534*91f16700Schasinglulu 			END_OF_GROUPS,
1535*91f16700Schasinglulu 		}),
1536*91f16700Schasinglulu 	},
1537*91f16700Schasinglulu 	[PINCTRL_PIN_58] = {
1538*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1539*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1540*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1541*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1542*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1543*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1544*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_58,
1545*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_14,
1546*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_14,
1547*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_5,
1548*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4,
1549*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_7_CLK,
1550*91f16700Schasinglulu 			PINCTRL_GRP_UART0_14,
1551*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1552*91f16700Schasinglulu 			END_OF_GROUPS,
1553*91f16700Schasinglulu 		}),
1554*91f16700Schasinglulu 	},
1555*91f16700Schasinglulu 	[PINCTRL_PIN_59] = {
1556*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1557*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1558*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1559*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1560*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1561*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1562*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_59,
1563*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_14,
1564*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_14,
1565*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_5,
1566*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4_SS2,
1567*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_7_WAV,
1568*91f16700Schasinglulu 			PINCTRL_GRP_UART0_14,
1569*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1570*91f16700Schasinglulu 			END_OF_GROUPS,
1571*91f16700Schasinglulu 		}),
1572*91f16700Schasinglulu 	},
1573*91f16700Schasinglulu 	[PINCTRL_PIN_60] = {
1574*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1575*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1576*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1577*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1578*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1579*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1580*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_60,
1581*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_15,
1582*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_15,
1583*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_5,
1584*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4_SS1,
1585*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_7_CLK,
1586*91f16700Schasinglulu 			PINCTRL_GRP_UART1_15,
1587*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1588*91f16700Schasinglulu 			END_OF_GROUPS,
1589*91f16700Schasinglulu 		}),
1590*91f16700Schasinglulu 	},
1591*91f16700Schasinglulu 	[PINCTRL_PIN_61] = {
1592*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1593*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1594*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1595*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1596*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1597*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1598*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_61,
1599*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_15,
1600*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_15,
1601*91f16700Schasinglulu 			PINCTRL_GRP_PJTAG0_5,
1602*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4_SS0,
1603*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_7_WAV,
1604*91f16700Schasinglulu 			PINCTRL_GRP_UART1_15,
1605*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1606*91f16700Schasinglulu 			END_OF_GROUPS,
1607*91f16700Schasinglulu 		}),
1608*91f16700Schasinglulu 	},
1609*91f16700Schasinglulu 	[PINCTRL_PIN_62] = {
1610*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1611*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1612*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1613*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1614*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1615*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1616*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_62,
1617*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_15,
1618*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_15,
1619*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_9_CLK,
1620*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4,
1621*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_7_CLK,
1622*91f16700Schasinglulu 			PINCTRL_GRP_UART0_15,
1623*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1624*91f16700Schasinglulu 			END_OF_GROUPS,
1625*91f16700Schasinglulu 		}),
1626*91f16700Schasinglulu 	},
1627*91f16700Schasinglulu 	[PINCTRL_PIN_63] = {
1628*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1629*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET2_0,
1630*91f16700Schasinglulu 			PINCTRL_GRP_USB0_0,
1631*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1632*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1633*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1634*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_63,
1635*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_15,
1636*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_15,
1637*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_9_RST,
1638*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_4,
1639*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_7_WAV,
1640*91f16700Schasinglulu 			PINCTRL_GRP_UART0_15,
1641*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1642*91f16700Schasinglulu 			END_OF_GROUPS,
1643*91f16700Schasinglulu 		}),
1644*91f16700Schasinglulu 	},
1645*91f16700Schasinglulu 	[PINCTRL_PIN_64] = {
1646*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1647*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1648*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1649*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1650*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1651*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1652*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_64,
1653*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_16,
1654*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_16,
1655*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_10_CLK,
1656*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5,
1657*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_8_CLK,
1658*91f16700Schasinglulu 			PINCTRL_GRP_UART1_16,
1659*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1660*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1661*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1662*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_0,
1663*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_1,
1664*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_2,
1665*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_3,
1666*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_4,
1667*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_5,
1668*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_6,
1669*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_7,
1670*91f16700Schasinglulu 			END_OF_GROUPS,
1671*91f16700Schasinglulu 		}),
1672*91f16700Schasinglulu 	},
1673*91f16700Schasinglulu 	[PINCTRL_PIN_65] = {
1674*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1675*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1676*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1677*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2_CD,
1678*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1679*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1680*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_65,
1681*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_16,
1682*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_16,
1683*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_10_RST,
1684*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5_SS2,
1685*91f16700Schasinglulu 			PINCTRL_GRP_TTC3_8_WAV,
1686*91f16700Schasinglulu 			PINCTRL_GRP_UART1_16,
1687*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1688*91f16700Schasinglulu 			END_OF_GROUPS,
1689*91f16700Schasinglulu 		}),
1690*91f16700Schasinglulu 	},
1691*91f16700Schasinglulu 	[PINCTRL_PIN_66] = {
1692*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1693*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1694*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1695*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1696*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1697*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1698*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_66,
1699*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_16,
1700*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_16,
1701*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_10_CLK,
1702*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5_SS1,
1703*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_8_CLK,
1704*91f16700Schasinglulu 			PINCTRL_GRP_UART0_16,
1705*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1706*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1707*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1708*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_0,
1709*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_1,
1710*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_2,
1711*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_3,
1712*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_4,
1713*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_5,
1714*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_6,
1715*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_7,
1716*91f16700Schasinglulu 			END_OF_GROUPS,
1717*91f16700Schasinglulu 		}),
1718*91f16700Schasinglulu 	},
1719*91f16700Schasinglulu 	[PINCTRL_PIN_67] = {
1720*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1721*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1722*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1723*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1724*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1725*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1726*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_67,
1727*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_16,
1728*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_16,
1729*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_10_RST,
1730*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5_SS0,
1731*91f16700Schasinglulu 			PINCTRL_GRP_TTC2_8_WAV,
1732*91f16700Schasinglulu 			PINCTRL_GRP_UART0_16,
1733*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1734*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1735*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_0,
1736*91f16700Schasinglulu 			END_OF_GROUPS,
1737*91f16700Schasinglulu 		}),
1738*91f16700Schasinglulu 	},
1739*91f16700Schasinglulu 	[PINCTRL_PIN_68] = {
1740*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1741*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1742*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1743*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1744*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1745*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1746*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_68,
1747*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_17,
1748*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_17,
1749*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_11_CLK,
1750*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5,
1751*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_8_CLK,
1752*91f16700Schasinglulu 			PINCTRL_GRP_UART1_17,
1753*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1754*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1755*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_1,
1756*91f16700Schasinglulu 			END_OF_GROUPS,
1757*91f16700Schasinglulu 		}),
1758*91f16700Schasinglulu 	},
1759*91f16700Schasinglulu 	[PINCTRL_PIN_69] = {
1760*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1761*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1762*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1763*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1764*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1_WP,
1765*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1766*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_69,
1767*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_17,
1768*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_17,
1769*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_11_RST,
1770*91f16700Schasinglulu 			PINCTRL_GRP_SPI0_5,
1771*91f16700Schasinglulu 			PINCTRL_GRP_TTC1_8_WAV,
1772*91f16700Schasinglulu 			PINCTRL_GRP_UART1_17,
1773*91f16700Schasinglulu 			PINCTRL_GRP_TRACE0_2,
1774*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1775*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_2,
1776*91f16700Schasinglulu 			END_OF_GROUPS,
1777*91f16700Schasinglulu 		}),
1778*91f16700Schasinglulu 	},
1779*91f16700Schasinglulu 	[PINCTRL_PIN_70] = {
1780*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1781*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1782*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1783*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1784*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1_PC,
1785*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1786*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_70,
1787*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_17,
1788*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_17,
1789*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_11_CLK,
1790*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5,
1791*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_8_CLK,
1792*91f16700Schasinglulu 			PINCTRL_GRP_UART0_17,
1793*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1794*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_0,
1795*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_3,
1796*91f16700Schasinglulu 			END_OF_GROUPS,
1797*91f16700Schasinglulu 		}),
1798*91f16700Schasinglulu 	},
1799*91f16700Schasinglulu 	[PINCTRL_PIN_71] = {
1800*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1801*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1802*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1803*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1804*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1805*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1806*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_71,
1807*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_17,
1808*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_17,
1809*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_11_RST,
1810*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5_SS2,
1811*91f16700Schasinglulu 			PINCTRL_GRP_TTC0_8_WAV,
1812*91f16700Schasinglulu 			PINCTRL_GRP_UART0_17,
1813*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1814*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1815*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1816*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_4,
1817*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_0,
1818*91f16700Schasinglulu 			END_OF_GROUPS,
1819*91f16700Schasinglulu 		}),
1820*91f16700Schasinglulu 	},
1821*91f16700Schasinglulu 	[PINCTRL_PIN_72] = {
1822*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1823*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1824*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1825*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1826*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1827*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1828*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_72,
1829*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_18,
1830*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_18,
1831*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_12_CLK,
1832*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5_SS1,
1833*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1834*91f16700Schasinglulu 			PINCTRL_GRP_UART1_18,
1835*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1836*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1837*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_5,
1838*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_1,
1839*91f16700Schasinglulu 			END_OF_GROUPS,
1840*91f16700Schasinglulu 		}),
1841*91f16700Schasinglulu 	},
1842*91f16700Schasinglulu 	[PINCTRL_PIN_73] = {
1843*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1844*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1845*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1846*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1847*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1848*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1849*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_73,
1850*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_18,
1851*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_18,
1852*91f16700Schasinglulu 			PINCTRL_GRP_SWDT1_12_RST,
1853*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5_SS0,
1854*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1855*91f16700Schasinglulu 			PINCTRL_GRP_UART1_18,
1856*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1857*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1858*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_6,
1859*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_2,
1860*91f16700Schasinglulu 			END_OF_GROUPS,
1861*91f16700Schasinglulu 		}),
1862*91f16700Schasinglulu 	},
1863*91f16700Schasinglulu 	[PINCTRL_PIN_74] = {
1864*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1865*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1866*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1867*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2,
1868*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1869*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1870*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_74,
1871*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_18,
1872*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_18,
1873*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_12_CLK,
1874*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5,
1875*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1876*91f16700Schasinglulu 			PINCTRL_GRP_UART0_18,
1877*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1878*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_4BIT_2_1,
1879*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_1BIT_2_7,
1880*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_3,
1881*91f16700Schasinglulu 			END_OF_GROUPS,
1882*91f16700Schasinglulu 		}),
1883*91f16700Schasinglulu 	},
1884*91f16700Schasinglulu 	[PINCTRL_PIN_75] = {
1885*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1886*91f16700Schasinglulu 			PINCTRL_GRP_ETHERNET3_0,
1887*91f16700Schasinglulu 			PINCTRL_GRP_USB1_0,
1888*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2_PC,
1889*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1890*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1891*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_75,
1892*91f16700Schasinglulu 			PINCTRL_GRP_CAN0_18,
1893*91f16700Schasinglulu 			PINCTRL_GRP_I2C0_18,
1894*91f16700Schasinglulu 			PINCTRL_GRP_SWDT0_12_RST,
1895*91f16700Schasinglulu 			PINCTRL_GRP_SPI1_5,
1896*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1897*91f16700Schasinglulu 			PINCTRL_GRP_UART0_18,
1898*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1899*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_0,
1900*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_1,
1901*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_2,
1902*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_3,
1903*91f16700Schasinglulu 			END_OF_GROUPS,
1904*91f16700Schasinglulu 		}),
1905*91f16700Schasinglulu 	},
1906*91f16700Schasinglulu 	[PINCTRL_PIN_76] = {
1907*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1908*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1909*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1910*91f16700Schasinglulu 			PINCTRL_GRP_SDIO0_2_WP,
1911*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_4BIT_1_0,
1912*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1913*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_76,
1914*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_19,
1915*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_19,
1916*91f16700Schasinglulu 			PINCTRL_GRP_MDIO0_0,
1917*91f16700Schasinglulu 			PINCTRL_GRP_MDIO1_1,
1918*91f16700Schasinglulu 			PINCTRL_GRP_MDIO2_0,
1919*91f16700Schasinglulu 			PINCTRL_GRP_MDIO3_0,
1920*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1921*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_0,
1922*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_1,
1923*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_2,
1924*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1BIT_1_3,
1925*91f16700Schasinglulu 			END_OF_GROUPS,
1926*91f16700Schasinglulu 		}),
1927*91f16700Schasinglulu 	},
1928*91f16700Schasinglulu 	[PINCTRL_PIN_77] = {
1929*91f16700Schasinglulu 		.groups = &((uint16_t []) {
1930*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1931*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1932*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1933*91f16700Schasinglulu 			PINCTRL_GRP_SDIO1_1_CD,
1934*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1935*91f16700Schasinglulu 			PINCTRL_GRP_GPIO0_77,
1936*91f16700Schasinglulu 			PINCTRL_GRP_CAN1_19,
1937*91f16700Schasinglulu 			PINCTRL_GRP_I2C1_19,
1938*91f16700Schasinglulu 			PINCTRL_GRP_MDIO0_0,
1939*91f16700Schasinglulu 			PINCTRL_GRP_MDIO1_1,
1940*91f16700Schasinglulu 			PINCTRL_GRP_MDIO2_0,
1941*91f16700Schasinglulu 			PINCTRL_GRP_MDIO3_0,
1942*91f16700Schasinglulu 			PINCTRL_GRP_RESERVED,
1943*91f16700Schasinglulu 			END_OF_GROUPS,
1944*91f16700Schasinglulu 		}),
1945*91f16700Schasinglulu 	},
1946*91f16700Schasinglulu };
1947*91f16700Schasinglulu 
1948*91f16700Schasinglulu /**
1949*91f16700Schasinglulu  * pm_api_pinctrl_get_num_pins() - PM call to request number of pins.
1950*91f16700Schasinglulu  * @npins: Number of pins.
1951*91f16700Schasinglulu  *
1952*91f16700Schasinglulu  * This function is used by master to get number of pins.
1953*91f16700Schasinglulu  *
1954*91f16700Schasinglulu  * Return: Returns success.
1955*91f16700Schasinglulu  *
1956*91f16700Schasinglulu  */
1957*91f16700Schasinglulu enum pm_ret_status pm_api_pinctrl_get_num_pins(uint32_t *npins)
1958*91f16700Schasinglulu {
1959*91f16700Schasinglulu 	*npins = MAX_PIN;
1960*91f16700Schasinglulu 
1961*91f16700Schasinglulu 	return PM_RET_SUCCESS;
1962*91f16700Schasinglulu }
1963*91f16700Schasinglulu 
1964*91f16700Schasinglulu /**
1965*91f16700Schasinglulu  * pm_api_pinctrl_get_num_functions() - PM call to request number of functions.
1966*91f16700Schasinglulu  * @nfuncs: Number of functions.
1967*91f16700Schasinglulu  *
1968*91f16700Schasinglulu  * This function is used by master to get number of functions.
1969*91f16700Schasinglulu  *
1970*91f16700Schasinglulu  * Return: Returns success.
1971*91f16700Schasinglulu  *
1972*91f16700Schasinglulu  */
1973*91f16700Schasinglulu enum pm_ret_status pm_api_pinctrl_get_num_functions(uint32_t *nfuncs)
1974*91f16700Schasinglulu {
1975*91f16700Schasinglulu 	*nfuncs = MAX_FUNCTION;
1976*91f16700Schasinglulu 
1977*91f16700Schasinglulu 	return PM_RET_SUCCESS;
1978*91f16700Schasinglulu }
1979*91f16700Schasinglulu 
1980*91f16700Schasinglulu /**
1981*91f16700Schasinglulu  * pm_api_pinctrl_get_num_func_groups() - PM call to request number of
1982*91f16700Schasinglulu  *					  function groups.
1983*91f16700Schasinglulu  * @fid: Function Id.
1984*91f16700Schasinglulu  * @ngroups: Number of function groups.
1985*91f16700Schasinglulu  *
1986*91f16700Schasinglulu  * This function is used by master to get number of function groups.
1987*91f16700Schasinglulu  *
1988*91f16700Schasinglulu  * Return: Returns success.
1989*91f16700Schasinglulu  *
1990*91f16700Schasinglulu  */
1991*91f16700Schasinglulu enum pm_ret_status pm_api_pinctrl_get_num_func_groups(uint32_t fid,
1992*91f16700Schasinglulu 						      uint32_t *ngroups)
1993*91f16700Schasinglulu {
1994*91f16700Schasinglulu 	if (fid >= MAX_FUNCTION) {
1995*91f16700Schasinglulu 		return PM_RET_ERROR_ARGS;
1996*91f16700Schasinglulu 	}
1997*91f16700Schasinglulu 
1998*91f16700Schasinglulu 	*ngroups = pinctrl_functions[fid].group_size;
1999*91f16700Schasinglulu 
2000*91f16700Schasinglulu 	return PM_RET_SUCCESS;
2001*91f16700Schasinglulu }
2002*91f16700Schasinglulu 
2003*91f16700Schasinglulu /**
2004*91f16700Schasinglulu  * pm_api_pinctrl_get_function_name() - PM call to request a function name.
2005*91f16700Schasinglulu  * @fid: Function ID.
2006*91f16700Schasinglulu  * @name: Name of function (max 16 bytes).
2007*91f16700Schasinglulu  *
2008*91f16700Schasinglulu  * This function is used by master to get name of function specified
2009*91f16700Schasinglulu  * by given function ID.
2010*91f16700Schasinglulu  *
2011*91f16700Schasinglulu  */
2012*91f16700Schasinglulu void pm_api_pinctrl_get_function_name(uint32_t fid, char *name)
2013*91f16700Schasinglulu {
2014*91f16700Schasinglulu 	if (fid >= MAX_FUNCTION) {
2015*91f16700Schasinglulu 		memcpy(name, END_OF_FUNCTION, FUNCTION_NAME_LEN);
2016*91f16700Schasinglulu 	} else {
2017*91f16700Schasinglulu 		memcpy(name, pinctrl_functions[fid].name, FUNCTION_NAME_LEN);
2018*91f16700Schasinglulu 	}
2019*91f16700Schasinglulu }
2020*91f16700Schasinglulu 
2021*91f16700Schasinglulu /**
2022*91f16700Schasinglulu  * pm_api_pinctrl_get_function_groups() - PM call to request first 6 function
2023*91f16700Schasinglulu  *					  groups of function Id.
2024*91f16700Schasinglulu  * @fid: Function ID.
2025*91f16700Schasinglulu  * @index: Index of next function groups.
2026*91f16700Schasinglulu  * @groups: Function groups.
2027*91f16700Schasinglulu  *
2028*91f16700Schasinglulu  * This function is used by master to get function groups specified
2029*91f16700Schasinglulu  * by given function Id. This API will return 6 function groups with
2030*91f16700Schasinglulu  * a single response. To get other function groups, master should call
2031*91f16700Schasinglulu  * same API in loop with new function groups index till error is returned.
2032*91f16700Schasinglulu  *
2033*91f16700Schasinglulu  * E.g First call should have index 0 which will return function groups
2034*91f16700Schasinglulu  * 0, 1, 2, 3, 4 and 5. Next call, index should be 6 which will return
2035*91f16700Schasinglulu  * function groups 6, 7, 8, 9, 10 and 11 and so on.
2036*91f16700Schasinglulu  *
2037*91f16700Schasinglulu  * Return: Returns status, either success or error+reason.
2038*91f16700Schasinglulu  *
2039*91f16700Schasinglulu  */
2040*91f16700Schasinglulu enum pm_ret_status pm_api_pinctrl_get_function_groups(uint32_t fid,
2041*91f16700Schasinglulu 						      uint32_t index,
2042*91f16700Schasinglulu 						      uint16_t *groups)
2043*91f16700Schasinglulu {
2044*91f16700Schasinglulu 	uint16_t grps;
2045*91f16700Schasinglulu 	uint16_t end_of_grp_offset;
2046*91f16700Schasinglulu 	uint16_t i;
2047*91f16700Schasinglulu 
2048*91f16700Schasinglulu 	if (fid >= MAX_FUNCTION) {
2049*91f16700Schasinglulu 		return PM_RET_ERROR_ARGS;
2050*91f16700Schasinglulu 	}
2051*91f16700Schasinglulu 
2052*91f16700Schasinglulu 	memset(groups, END_OF_GROUPS, GROUPS_PAYLOAD_LEN);
2053*91f16700Schasinglulu 
2054*91f16700Schasinglulu 	grps = pinctrl_functions[fid].group_base;
2055*91f16700Schasinglulu 	end_of_grp_offset = grps + pinctrl_functions[fid].group_size;
2056*91f16700Schasinglulu 
2057*91f16700Schasinglulu 	for (i = 0U; i < NUM_GROUPS_PER_RESP; i++) {
2058*91f16700Schasinglulu 		if ((grps + index + i) >= end_of_grp_offset) {
2059*91f16700Schasinglulu 			break;
2060*91f16700Schasinglulu 		}
2061*91f16700Schasinglulu 		groups[i] = (grps + index + i);
2062*91f16700Schasinglulu 	}
2063*91f16700Schasinglulu 
2064*91f16700Schasinglulu 	return PM_RET_SUCCESS;
2065*91f16700Schasinglulu }
2066*91f16700Schasinglulu 
2067*91f16700Schasinglulu /**
2068*91f16700Schasinglulu  * pm_api_pinctrl_get_pin_groups() - PM call to request first 6 pin
2069*91f16700Schasinglulu  *                                   groups of pin.
2070*91f16700Schasinglulu  * @pin: Pin.
2071*91f16700Schasinglulu  * @index: Index of next pin groups.
2072*91f16700Schasinglulu  * @groups: pin groups.
2073*91f16700Schasinglulu  *
2074*91f16700Schasinglulu  * This function is used by master to get pin groups specified
2075*91f16700Schasinglulu  * by given pin Id. This API will return 6 pin groups with
2076*91f16700Schasinglulu  * a single response. To get other pin groups, master should call
2077*91f16700Schasinglulu  * same API in loop with new pin groups index till error is returned.
2078*91f16700Schasinglulu  *
2079*91f16700Schasinglulu  * E.g First call should have index 0 which will return pin groups
2080*91f16700Schasinglulu  * 0, 1, 2, 3, 4 and 5. Next call, index should be 6 which will return
2081*91f16700Schasinglulu  * pin groups 6, 7, 8, 9, 10 and 11 and so on.
2082*91f16700Schasinglulu  *
2083*91f16700Schasinglulu  * Return: Returns status, either success or error+reason.
2084*91f16700Schasinglulu  *
2085*91f16700Schasinglulu  */
2086*91f16700Schasinglulu enum pm_ret_status pm_api_pinctrl_get_pin_groups(uint32_t pin,
2087*91f16700Schasinglulu 						 uint32_t index,
2088*91f16700Schasinglulu 						 uint16_t *groups)
2089*91f16700Schasinglulu {
2090*91f16700Schasinglulu 	uint32_t i;
2091*91f16700Schasinglulu 	uint16_t *grps;
2092*91f16700Schasinglulu 
2093*91f16700Schasinglulu 	if (pin >= MAX_PIN) {
2094*91f16700Schasinglulu 		return PM_RET_ERROR_ARGS;
2095*91f16700Schasinglulu 	}
2096*91f16700Schasinglulu 
2097*91f16700Schasinglulu 	memset(groups, END_OF_GROUPS, GROUPS_PAYLOAD_LEN);
2098*91f16700Schasinglulu 
2099*91f16700Schasinglulu 	grps = *zynqmp_pin_groups[pin].groups;
2100*91f16700Schasinglulu 	if (grps == NULL) {
2101*91f16700Schasinglulu 		return PM_RET_SUCCESS;
2102*91f16700Schasinglulu 	}
2103*91f16700Schasinglulu 
2104*91f16700Schasinglulu 	/* Skip groups till index */
2105*91f16700Schasinglulu 	for (i = 0; i < index; i++) {
2106*91f16700Schasinglulu 		if (grps[i] == (uint16_t)END_OF_GROUPS) {
2107*91f16700Schasinglulu 			return PM_RET_SUCCESS;
2108*91f16700Schasinglulu 		}
2109*91f16700Schasinglulu 	}
2110*91f16700Schasinglulu 
2111*91f16700Schasinglulu 	for (i = 0; i < NUM_GROUPS_PER_RESP; i++) {
2112*91f16700Schasinglulu 		groups[i] = grps[index + i];
2113*91f16700Schasinglulu 		if (groups[i] == (uint16_t)END_OF_GROUPS) {
2114*91f16700Schasinglulu 			break;
2115*91f16700Schasinglulu 		}
2116*91f16700Schasinglulu 	}
2117*91f16700Schasinglulu 
2118*91f16700Schasinglulu 	return PM_RET_SUCCESS;
2119*91f16700Schasinglulu }
2120