blob: 2d8c23b45d848813ffb995caa110f7a685fb5a6b [file] [log] [blame]
Rajan Vaja0ac2be12018-01-17 02:39:21 -08001/*
Michal Simek2a47faa2023-04-14 08:43:51 +02002 * Copyright (c) 2018-2020, Arm Limited and Contributors. All rights reserved.
Jay Buddhabhatti26e138a2022-12-21 23:03:35 -08003 * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
Rajan Vaja0ac2be12018-01-17 02:39:21 -08004 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8/*
9 * ZynqMP system level PM-API functions for pin control.
10 */
11
Rajan Vajad5dd8362018-01-30 04:16:31 -080012#include <string.h>
Antonio Nino Diaze0f90632018-12-14 00:18:21 +000013
14#include <arch_helpers.h>
15#include <plat/common/platform.h>
16
Rajan Vaja0ac2be12018-01-17 02:39:21 -080017#include "pm_api_pinctrl.h"
Rajan Vaja0ac2be12018-01-17 02:39:21 -080018#include "pm_client.h"
19#include "pm_common.h"
20#include "pm_ipi.h"
Jay Buddhabhatti26e138a2022-12-21 23:03:35 -080021#include "zynqmp_pm_api_sys.h"
Rajan Vaja0ac2be12018-01-17 02:39:21 -080022
Rajan Vajad5dd8362018-01-30 04:16:31 -080023struct pinctrl_function {
24 char name[FUNCTION_NAME_LEN];
Ronak Jain0ac90782022-05-06 04:45:59 -070025 uint16_t group_base;
26 uint8_t group_size;
Rajan Vajad5dd8362018-01-30 04:16:31 -080027 uint8_t regval;
28};
29
30/* Max groups for one pin */
HariBabu Gattem6535f862022-09-22 02:45:16 -070031#define MAX_PIN_GROUPS (13U)
Rajan Vajad5dd8362018-01-30 04:16:31 -080032
33struct zynqmp_pin_group {
Rajan Vajac82ce462018-02-22 01:06:52 -080034 uint16_t (*groups)[];
Rajan Vajad5dd8362018-01-30 04:16:31 -080035};
36
37static struct pinctrl_function pinctrl_functions[MAX_FUNCTION] = {
38 [PINCTRL_FUNC_CAN0] = {
39 .name = "can0",
40 .regval = 0x20,
Ronak Jain0ac90782022-05-06 04:45:59 -070041 .group_base = PINCTRL_GRP_CAN0_0,
42 .group_size = PINCTRL_GRP_CAN0_18 - PINCTRL_GRP_CAN0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080043 },
44 [PINCTRL_FUNC_CAN1] = {
45 .name = "can1",
46 .regval = 0x20,
Ronak Jain0ac90782022-05-06 04:45:59 -070047 .group_base = PINCTRL_GRP_CAN1_0,
48 .group_size = PINCTRL_GRP_CAN1_19 - PINCTRL_GRP_CAN1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080049 },
50 [PINCTRL_FUNC_ETHERNET0] = {
51 .name = "ethernet0",
52 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -070053 .group_base = PINCTRL_GRP_ETHERNET0_0,
54 .group_size = PINCTRL_GRP_ETHERNET0_0 - PINCTRL_GRP_ETHERNET0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080055 },
56 [PINCTRL_FUNC_ETHERNET1] = {
57 .name = "ethernet1",
58 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -070059 .group_base = PINCTRL_GRP_ETHERNET1_0,
60 .group_size = PINCTRL_GRP_ETHERNET1_0 - PINCTRL_GRP_ETHERNET1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080061 },
62 [PINCTRL_FUNC_ETHERNET2] = {
63 .name = "ethernet2",
64 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -070065 .group_base = PINCTRL_GRP_ETHERNET2_0,
66 .group_size = PINCTRL_GRP_ETHERNET2_0 - PINCTRL_GRP_ETHERNET2_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080067 },
68 [PINCTRL_FUNC_ETHERNET3] = {
69 .name = "ethernet3",
70 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -070071 .group_base = PINCTRL_GRP_ETHERNET3_0,
72 .group_size = PINCTRL_GRP_ETHERNET3_0 - PINCTRL_GRP_ETHERNET3_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080073 },
74 [PINCTRL_FUNC_GEMTSU0] = {
75 .name = "gemtsu0",
76 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -070077 .group_base = PINCTRL_GRP_GEMTSU0_0,
78 .group_size = PINCTRL_GRP_GEMTSU0_2 - PINCTRL_GRP_GEMTSU0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080079 },
80 [PINCTRL_FUNC_GPIO0] = {
81 .name = "gpio0",
82 .regval = 0x00,
Ronak Jain0ac90782022-05-06 04:45:59 -070083 .group_base = PINCTRL_GRP_GPIO0_0,
84 .group_size = PINCTRL_GRP_GPIO0_77 - PINCTRL_GRP_GPIO0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080085 },
86 [PINCTRL_FUNC_I2C0] = {
87 .name = "i2c0",
88 .regval = 0x40,
Ronak Jain0ac90782022-05-06 04:45:59 -070089 .group_base = PINCTRL_GRP_I2C0_0,
90 .group_size = PINCTRL_GRP_I2C0_18 - PINCTRL_GRP_I2C0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080091 },
92 [PINCTRL_FUNC_I2C1] = {
93 .name = "i2c1",
94 .regval = 0x40,
Ronak Jain0ac90782022-05-06 04:45:59 -070095 .group_base = PINCTRL_GRP_I2C1_0,
96 .group_size = PINCTRL_GRP_I2C1_19 - PINCTRL_GRP_I2C1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -080097 },
98 [PINCTRL_FUNC_MDIO0] = {
99 .name = "mdio0",
100 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700101 .group_base = PINCTRL_GRP_MDIO0_0,
102 .group_size = PINCTRL_GRP_MDIO0_0 - PINCTRL_GRP_MDIO0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800103 },
104 [PINCTRL_FUNC_MDIO1] = {
105 .name = "mdio1",
106 .regval = 0x80,
Ronak Jain0ac90782022-05-06 04:45:59 -0700107 .group_base = PINCTRL_GRP_MDIO1_0,
108 .group_size = PINCTRL_GRP_MDIO1_1 - PINCTRL_GRP_MDIO1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800109 },
110 [PINCTRL_FUNC_MDIO2] = {
111 .name = "mdio2",
112 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700113 .group_base = PINCTRL_GRP_MDIO2_0,
114 .group_size = PINCTRL_GRP_MDIO2_0 - PINCTRL_GRP_MDIO2_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800115 },
116 [PINCTRL_FUNC_MDIO3] = {
117 .name = "mdio3",
118 .regval = 0xc0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700119 .group_base = PINCTRL_GRP_MDIO3_0,
120 .group_size = PINCTRL_GRP_MDIO3_0 - PINCTRL_GRP_MDIO3_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800121 },
122 [PINCTRL_FUNC_QSPI0] = {
123 .name = "qspi0",
124 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -0700125 .group_base = PINCTRL_GRP_QSPI0_0,
126 .group_size = PINCTRL_GRP_QSPI0_0 - PINCTRL_GRP_QSPI0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800127 },
128 [PINCTRL_FUNC_QSPI_FBCLK] = {
129 .name = "qspi_fbclk",
130 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -0700131 .group_base = PINCTRL_GRP_QSPI_FBCLK,
132 .group_size = PINCTRL_GRP_QSPI_FBCLK - PINCTRL_GRP_QSPI_FBCLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800133 },
134 [PINCTRL_FUNC_QSPI_SS] = {
135 .name = "qspi_ss",
136 .regval = 0x02,
Ronak Jain0ac90782022-05-06 04:45:59 -0700137 .group_base = PINCTRL_GRP_QSPI_SS,
138 .group_size = PINCTRL_GRP_QSPI_SS - PINCTRL_GRP_QSPI_SS + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800139 },
140 [PINCTRL_FUNC_SPI0] = {
141 .name = "spi0",
142 .regval = 0x80,
Ronak Jain0ac90782022-05-06 04:45:59 -0700143 .group_base = PINCTRL_GRP_SPI0_0,
144 .group_size = PINCTRL_GRP_SPI0_5 - PINCTRL_GRP_SPI0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800145 },
146 [PINCTRL_FUNC_SPI1] = {
147 .name = "spi1",
148 .regval = 0x80,
Ronak Jain0ac90782022-05-06 04:45:59 -0700149 .group_base = PINCTRL_GRP_SPI1_0,
150 .group_size = PINCTRL_GRP_SPI1_5 - PINCTRL_GRP_SPI1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800151 },
152 [PINCTRL_FUNC_SPI0_SS] = {
153 .name = "spi0_ss",
154 .regval = 0x80,
Ronak Jain0ac90782022-05-06 04:45:59 -0700155 .group_base = PINCTRL_GRP_SPI0_0_SS0,
156 .group_size = PINCTRL_GRP_SPI0_5_SS2 - PINCTRL_GRP_SPI0_0_SS0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800157 },
158 [PINCTRL_FUNC_SPI1_SS] = {
159 .name = "spi1_ss",
160 .regval = 0x80,
Ronak Jain0ac90782022-05-06 04:45:59 -0700161 .group_base = PINCTRL_GRP_SPI1_0_SS0,
162 .group_size = PINCTRL_GRP_SPI1_5_SS2 - PINCTRL_GRP_SPI1_0_SS0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800163 },
164 [PINCTRL_FUNC_SDIO0] = {
165 .name = "sdio0",
166 .regval = 0x08,
Ronak Jain0ac90782022-05-06 04:45:59 -0700167 .group_base = PINCTRL_GRP_SDIO0_0,
168 .group_size = PINCTRL_GRP_SDIO0_1BIT_2_7 - PINCTRL_GRP_SDIO0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800169 },
170 [PINCTRL_FUNC_SDIO0_PC] = {
171 .name = "sdio0_pc",
172 .regval = 0x08,
Ronak Jain0ac90782022-05-06 04:45:59 -0700173 .group_base = PINCTRL_GRP_SDIO0_0_PC,
174 .group_size = PINCTRL_GRP_SDIO0_2_PC - PINCTRL_GRP_SDIO0_0_PC + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800175 },
176 [PINCTRL_FUNC_SDIO0_CD] = {
177 .name = "sdio0_cd",
178 .regval = 0x08,
Ronak Jain0ac90782022-05-06 04:45:59 -0700179 .group_base = PINCTRL_GRP_SDIO0_0_CD,
180 .group_size = PINCTRL_GRP_SDIO0_2_CD - PINCTRL_GRP_SDIO0_0_CD + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800181 },
182 [PINCTRL_FUNC_SDIO0_WP] = {
183 .name = "sdio0_wp",
184 .regval = 0x08,
Ronak Jain0ac90782022-05-06 04:45:59 -0700185 .group_base = PINCTRL_GRP_SDIO0_0_WP,
186 .group_size = PINCTRL_GRP_SDIO0_2_WP - PINCTRL_GRP_SDIO0_0_WP + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800187 },
188 [PINCTRL_FUNC_SDIO1] = {
189 .name = "sdio1",
190 .regval = 0x10,
Ronak Jain0ac90782022-05-06 04:45:59 -0700191 .group_base = PINCTRL_GRP_SDIO1_0,
192 .group_size = PINCTRL_GRP_SDIO1_1BIT_1_3 - PINCTRL_GRP_SDIO1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800193 },
194 [PINCTRL_FUNC_SDIO1_PC] = {
195 .name = "sdio1_pc",
196 .regval = 0x10,
Ronak Jain0ac90782022-05-06 04:45:59 -0700197 .group_base = PINCTRL_GRP_SDIO1_0_PC,
198 .group_size = PINCTRL_GRP_SDIO1_1_PC - PINCTRL_GRP_SDIO1_0_PC + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800199 },
200 [PINCTRL_FUNC_SDIO1_CD] = {
201 .name = "sdio1_cd",
202 .regval = 0x10,
Ronak Jain0ac90782022-05-06 04:45:59 -0700203 .group_base = PINCTRL_GRP_SDIO1_0_CD,
204 .group_size = PINCTRL_GRP_SDIO1_1_CD - PINCTRL_GRP_SDIO1_0_CD + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800205 },
206 [PINCTRL_FUNC_SDIO1_WP] = {
207 .name = "sdio1_wp",
208 .regval = 0x10,
Ronak Jain0ac90782022-05-06 04:45:59 -0700209 .group_base = PINCTRL_GRP_SDIO1_0_WP,
210 .group_size = PINCTRL_GRP_SDIO1_1_WP - PINCTRL_GRP_SDIO1_0_WP + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800211 },
212 [PINCTRL_FUNC_NAND0] = {
213 .name = "nand0",
214 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700215 .group_base = PINCTRL_GRP_NAND0_0,
216 .group_size = PINCTRL_GRP_NAND0_0 - PINCTRL_GRP_NAND0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800217 },
218 [PINCTRL_FUNC_NAND0_CE] = {
219 .name = "nand0_ce",
220 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700221 .group_base = PINCTRL_GRP_NAND0_0_CE,
222 .group_size = PINCTRL_GRP_NAND0_1_CE - PINCTRL_GRP_NAND0_0_CE + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800223 },
224 [PINCTRL_FUNC_NAND0_RB] = {
225 .name = "nand0_rb",
226 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700227 .group_base = PINCTRL_GRP_NAND0_0_RB,
228 .group_size = PINCTRL_GRP_NAND0_1_RB - PINCTRL_GRP_NAND0_0_RB + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800229 },
230 [PINCTRL_FUNC_NAND0_DQS] = {
231 .name = "nand0_dqs",
232 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700233 .group_base = PINCTRL_GRP_NAND0_0_DQS,
234 .group_size = PINCTRL_GRP_NAND0_1_DQS - PINCTRL_GRP_NAND0_0_DQS + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800235 },
236 [PINCTRL_FUNC_TTC0_CLK] = {
237 .name = "ttc0_clk",
238 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700239 .group_base = PINCTRL_GRP_TTC0_0_CLK,
240 .group_size = PINCTRL_GRP_TTC0_8_CLK - PINCTRL_GRP_TTC0_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800241 },
242 [PINCTRL_FUNC_TTC0_WAV] = {
Ronak Jain0ac90782022-05-06 04:45:59 -0700243 .name = "ttc0_wav",
244 .regval = 0xa0,
245 .group_base = PINCTRL_GRP_TTC0_0_WAV,
246 .group_size = PINCTRL_GRP_TTC0_8_WAV - PINCTRL_GRP_TTC0_0_WAV + 1U,
247 },
248 [PINCTRL_FUNC_TTC1_CLK] = {
249 .name = "ttc1_clk",
250 .regval = 0xa0,
251 .group_base = PINCTRL_GRP_TTC1_0_CLK,
252 .group_size = PINCTRL_GRP_TTC1_8_CLK - PINCTRL_GRP_TTC1_0_CLK + 1U,
253 },
254 [PINCTRL_FUNC_TTC1_WAV] = {
255 .name = "ttc1_wav",
256 .regval = 0xa0,
257 .group_base = PINCTRL_GRP_TTC1_0_WAV,
258 .group_size = PINCTRL_GRP_TTC1_8_WAV - PINCTRL_GRP_TTC1_0_WAV + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800259 },
260 [PINCTRL_FUNC_TTC2_CLK] = {
261 .name = "ttc2_clk",
262 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700263 .group_base = PINCTRL_GRP_TTC2_0_CLK,
264 .group_size = PINCTRL_GRP_TTC2_8_CLK - PINCTRL_GRP_TTC2_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800265 },
266 [PINCTRL_FUNC_TTC2_WAV] = {
267 .name = "ttc2_wav",
268 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700269 .group_base = PINCTRL_GRP_TTC2_0_WAV,
270 .group_size = PINCTRL_GRP_TTC2_8_WAV - PINCTRL_GRP_TTC2_0_WAV + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800271 },
272 [PINCTRL_FUNC_TTC3_CLK] = {
273 .name = "ttc3_clk",
274 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700275 .group_base = PINCTRL_GRP_TTC3_0_CLK,
276 .group_size = PINCTRL_GRP_TTC3_8_CLK - PINCTRL_GRP_TTC3_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800277 },
278 [PINCTRL_FUNC_TTC3_WAV] = {
279 .name = "ttc3_wav",
280 .regval = 0xa0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700281 .group_base = PINCTRL_GRP_TTC3_0_WAV,
282 .group_size = PINCTRL_GRP_TTC3_8_WAV - PINCTRL_GRP_TTC3_0_WAV + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800283 },
284 [PINCTRL_FUNC_UART0] = {
285 .name = "uart0",
286 .regval = 0xc0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700287 .group_base = PINCTRL_GRP_UART0_0,
288 .group_size = PINCTRL_GRP_UART0_18 - PINCTRL_GRP_UART0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800289 },
290 [PINCTRL_FUNC_UART1] = {
291 .name = "uart1",
292 .regval = 0xc0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700293 .group_base = PINCTRL_GRP_UART1_0,
294 .group_size = PINCTRL_GRP_UART1_18 - PINCTRL_GRP_UART1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800295 },
296 [PINCTRL_FUNC_USB0] = {
297 .name = "usb0",
298 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700299 .group_base = PINCTRL_GRP_USB0_0,
300 .group_size = PINCTRL_GRP_USB0_0 - PINCTRL_GRP_USB0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800301 },
302 [PINCTRL_FUNC_USB1] = {
303 .name = "usb1",
304 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700305 .group_base = PINCTRL_GRP_USB1_0,
306 .group_size = PINCTRL_GRP_USB1_0 - PINCTRL_GRP_USB1_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800307 },
308 [PINCTRL_FUNC_SWDT0_CLK] = {
309 .name = "swdt0_clk",
310 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700311 .group_base = PINCTRL_GRP_SWDT0_0_CLK,
312 .group_size = PINCTRL_GRP_SWDT0_12_CLK - PINCTRL_GRP_SWDT0_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800313 },
314 [PINCTRL_FUNC_SWDT0_RST] = {
315 .name = "swdt0_rst",
316 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700317 .group_base = PINCTRL_GRP_SWDT0_0_RST,
318 .group_size = PINCTRL_GRP_SWDT0_12_RST - PINCTRL_GRP_SWDT0_0_RST + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800319 },
320 [PINCTRL_FUNC_SWDT1_CLK] = {
321 .name = "swdt1_clk",
322 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700323 .group_base = PINCTRL_GRP_SWDT1_0_CLK,
324 .group_size = PINCTRL_GRP_SWDT1_12_CLK - PINCTRL_GRP_SWDT1_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800325 },
326 [PINCTRL_FUNC_SWDT1_RST] = {
327 .name = "swdt1_rst",
328 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700329 .group_base = PINCTRL_GRP_SWDT1_0_RST,
330 .group_size = PINCTRL_GRP_SWDT1_12_RST - PINCTRL_GRP_SWDT1_0_RST + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800331 },
332 [PINCTRL_FUNC_PMU0] = {
333 .name = "pmu0",
334 .regval = 0x08,
Ronak Jain0ac90782022-05-06 04:45:59 -0700335 .group_base = PINCTRL_GRP_PMU0_0,
336 .group_size = PINCTRL_GRP_PMU0_11 - PINCTRL_GRP_PMU0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800337 },
338 [PINCTRL_FUNC_PCIE0] = {
339 .name = "pcie0",
340 .regval = 0x04,
Ronak Jain0ac90782022-05-06 04:45:59 -0700341 .group_base = PINCTRL_GRP_PCIE0_0,
342 .group_size = PINCTRL_GRP_PCIE0_7 - PINCTRL_GRP_PCIE0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800343 },
344 [PINCTRL_FUNC_CSU0] = {
345 .name = "csu0",
346 .regval = 0x18,
Ronak Jain0ac90782022-05-06 04:45:59 -0700347 .group_base = PINCTRL_GRP_CSU0_0,
348 .group_size = PINCTRL_GRP_CSU0_11 - PINCTRL_GRP_CSU0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800349 },
350 [PINCTRL_FUNC_DPAUX0] = {
351 .name = "dpaux0",
352 .regval = 0x18,
Ronak Jain0ac90782022-05-06 04:45:59 -0700353 .group_base = PINCTRL_GRP_DPAUX0_0,
354 .group_size = PINCTRL_GRP_DPAUX0_3 - PINCTRL_GRP_DPAUX0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800355 },
356 [PINCTRL_FUNC_PJTAG0] = {
357 .name = "pjtag0",
358 .regval = 0x60,
Ronak Jain0ac90782022-05-06 04:45:59 -0700359 .group_base = PINCTRL_GRP_PJTAG0_0,
360 .group_size = PINCTRL_GRP_PJTAG0_5 - PINCTRL_GRP_PJTAG0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800361 },
362 [PINCTRL_FUNC_TRACE0] = {
363 .name = "trace0",
364 .regval = 0xe0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700365 .group_base = PINCTRL_GRP_TRACE0_0,
366 .group_size = PINCTRL_GRP_TRACE0_2 - PINCTRL_GRP_TRACE0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800367 },
368 [PINCTRL_FUNC_TRACE0_CLK] = {
369 .name = "trace0_clk",
370 .regval = 0xe0,
Ronak Jain0ac90782022-05-06 04:45:59 -0700371 .group_base = PINCTRL_GRP_TRACE0_0_CLK,
372 .group_size = PINCTRL_GRP_TRACE0_2_CLK - PINCTRL_GRP_TRACE0_0_CLK + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800373 },
374 [PINCTRL_FUNC_TESTSCAN0] = {
375 .name = "testscan0",
376 .regval = 0x10,
Ronak Jain0ac90782022-05-06 04:45:59 -0700377 .group_base = PINCTRL_GRP_TESTSCAN0_0,
378 .group_size = PINCTRL_GRP_TESTSCAN0_0 - PINCTRL_GRP_TESTSCAN0_0 + 1U,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800379 },
Rajan Vaja0ac2be12018-01-17 02:39:21 -0800380};
381
Rajan Vajad5dd8362018-01-30 04:16:31 -0800382static struct zynqmp_pin_group zynqmp_pin_groups[MAX_PIN] = {
383 [PINCTRL_PIN_0] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800384 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800385 PINCTRL_GRP_QSPI0_0,
386 PINCTRL_GRP_RESERVED,
387 PINCTRL_GRP_RESERVED,
388 PINCTRL_GRP_TESTSCAN0_0,
389 PINCTRL_GRP_RESERVED,
390 PINCTRL_GRP_GPIO0_0,
391 PINCTRL_GRP_CAN1_0,
392 PINCTRL_GRP_I2C1_0,
393 PINCTRL_GRP_PJTAG0_0,
394 PINCTRL_GRP_SPI0_0,
395 PINCTRL_GRP_TTC3_0_CLK,
396 PINCTRL_GRP_UART1_0,
397 PINCTRL_GRP_TRACE0_0_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -0800398 END_OF_GROUPS,
399 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800400 },
401 [PINCTRL_PIN_1] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800402 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800403 PINCTRL_GRP_QSPI0_0,
404 PINCTRL_GRP_RESERVED,
405 PINCTRL_GRP_RESERVED,
406 PINCTRL_GRP_TESTSCAN0_0,
407 PINCTRL_GRP_RESERVED,
408 PINCTRL_GRP_GPIO0_1,
409 PINCTRL_GRP_CAN1_0,
410 PINCTRL_GRP_I2C1_0,
411 PINCTRL_GRP_PJTAG0_0,
412 PINCTRL_GRP_SPI0_0_SS2,
413 PINCTRL_GRP_TTC3_0_WAV,
414 PINCTRL_GRP_UART1_0,
415 PINCTRL_GRP_TRACE0_0_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -0800416 END_OF_GROUPS,
417 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800418 },
419 [PINCTRL_PIN_2] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800420 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800421 PINCTRL_GRP_QSPI0_0,
422 PINCTRL_GRP_RESERVED,
423 PINCTRL_GRP_RESERVED,
424 PINCTRL_GRP_TESTSCAN0_0,
425 PINCTRL_GRP_RESERVED,
426 PINCTRL_GRP_GPIO0_2,
427 PINCTRL_GRP_CAN0_0,
428 PINCTRL_GRP_I2C0_0,
429 PINCTRL_GRP_PJTAG0_0,
430 PINCTRL_GRP_SPI0_0_SS1,
431 PINCTRL_GRP_TTC2_0_CLK,
432 PINCTRL_GRP_UART0_0,
433 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800434 END_OF_GROUPS,
435 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800436 },
437 [PINCTRL_PIN_3] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800438 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800439 PINCTRL_GRP_QSPI0_0,
440 PINCTRL_GRP_RESERVED,
441 PINCTRL_GRP_RESERVED,
442 PINCTRL_GRP_TESTSCAN0_0,
443 PINCTRL_GRP_RESERVED,
444 PINCTRL_GRP_GPIO0_3,
445 PINCTRL_GRP_CAN0_0,
446 PINCTRL_GRP_I2C0_0,
447 PINCTRL_GRP_PJTAG0_0,
448 PINCTRL_GRP_SPI0_0_SS0,
449 PINCTRL_GRP_TTC2_0_WAV,
450 PINCTRL_GRP_UART0_0,
451 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800452 END_OF_GROUPS,
453 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800454 },
455 [PINCTRL_PIN_4] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800456 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800457 PINCTRL_GRP_QSPI0_0,
458 PINCTRL_GRP_RESERVED,
459 PINCTRL_GRP_RESERVED,
460 PINCTRL_GRP_TESTSCAN0_0,
461 PINCTRL_GRP_RESERVED,
462 PINCTRL_GRP_GPIO0_4,
463 PINCTRL_GRP_CAN1_1,
464 PINCTRL_GRP_I2C1_1,
465 PINCTRL_GRP_SWDT1_0_CLK,
466 PINCTRL_GRP_SPI0_0,
467 PINCTRL_GRP_TTC1_0_CLK,
468 PINCTRL_GRP_UART1_1,
469 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800470 END_OF_GROUPS,
471 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800472 },
473 [PINCTRL_PIN_5] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800474 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800475 PINCTRL_GRP_QSPI_SS,
476 PINCTRL_GRP_RESERVED,
477 PINCTRL_GRP_RESERVED,
478 PINCTRL_GRP_TESTSCAN0_0,
479 PINCTRL_GRP_RESERVED,
480 PINCTRL_GRP_GPIO0_5,
481 PINCTRL_GRP_CAN1_1,
482 PINCTRL_GRP_I2C1_1,
483 PINCTRL_GRP_SWDT1_0_RST,
484 PINCTRL_GRP_SPI0_0,
485 PINCTRL_GRP_TTC1_0_WAV,
486 PINCTRL_GRP_UART1_1,
487 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800488 END_OF_GROUPS,
489 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800490 },
491 [PINCTRL_PIN_6] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800492 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800493 PINCTRL_GRP_QSPI_FBCLK,
494 PINCTRL_GRP_RESERVED,
495 PINCTRL_GRP_RESERVED,
496 PINCTRL_GRP_TESTSCAN0_0,
497 PINCTRL_GRP_RESERVED,
498 PINCTRL_GRP_GPIO0_6,
499 PINCTRL_GRP_CAN0_1,
500 PINCTRL_GRP_I2C0_1,
501 PINCTRL_GRP_SWDT0_0_CLK,
502 PINCTRL_GRP_SPI1_0,
503 PINCTRL_GRP_TTC0_0_CLK,
504 PINCTRL_GRP_UART0_1,
505 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800506 END_OF_GROUPS,
507 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800508 },
509 [PINCTRL_PIN_7] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800510 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800511 PINCTRL_GRP_QSPI_SS,
512 PINCTRL_GRP_RESERVED,
513 PINCTRL_GRP_RESERVED,
514 PINCTRL_GRP_TESTSCAN0_0,
515 PINCTRL_GRP_RESERVED,
516 PINCTRL_GRP_GPIO0_7,
517 PINCTRL_GRP_CAN0_1,
518 PINCTRL_GRP_I2C0_1,
519 PINCTRL_GRP_SWDT0_0_RST,
520 PINCTRL_GRP_SPI1_0_SS2,
521 PINCTRL_GRP_TTC0_0_WAV,
522 PINCTRL_GRP_UART0_1,
523 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800524 END_OF_GROUPS,
525 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800526 },
527 [PINCTRL_PIN_8] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800528 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800529 PINCTRL_GRP_QSPI0_0,
530 PINCTRL_GRP_RESERVED,
531 PINCTRL_GRP_RESERVED,
532 PINCTRL_GRP_TESTSCAN0_0,
533 PINCTRL_GRP_RESERVED,
534 PINCTRL_GRP_GPIO0_8,
535 PINCTRL_GRP_CAN1_2,
536 PINCTRL_GRP_I2C1_2,
537 PINCTRL_GRP_SWDT1_1_CLK,
538 PINCTRL_GRP_SPI1_0_SS1,
539 PINCTRL_GRP_TTC3_1_CLK,
540 PINCTRL_GRP_UART1_2,
541 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800542 END_OF_GROUPS,
543 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800544 },
545 [PINCTRL_PIN_9] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800546 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800547 PINCTRL_GRP_QSPI0_0,
548 PINCTRL_GRP_NAND0_0_CE,
549 PINCTRL_GRP_RESERVED,
550 PINCTRL_GRP_TESTSCAN0_0,
551 PINCTRL_GRP_RESERVED,
552 PINCTRL_GRP_GPIO0_9,
553 PINCTRL_GRP_CAN1_2,
554 PINCTRL_GRP_I2C1_2,
555 PINCTRL_GRP_SWDT1_1_RST,
556 PINCTRL_GRP_SPI1_0_SS0,
557 PINCTRL_GRP_TTC3_1_WAV,
558 PINCTRL_GRP_UART1_2,
559 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800560 END_OF_GROUPS,
561 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800562 },
563 [PINCTRL_PIN_10] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800564 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800565 PINCTRL_GRP_QSPI0_0,
566 PINCTRL_GRP_NAND0_0_RB,
567 PINCTRL_GRP_RESERVED,
568 PINCTRL_GRP_TESTSCAN0_0,
569 PINCTRL_GRP_RESERVED,
570 PINCTRL_GRP_GPIO0_10,
571 PINCTRL_GRP_CAN0_2,
572 PINCTRL_GRP_I2C0_2,
573 PINCTRL_GRP_SWDT0_1_CLK,
574 PINCTRL_GRP_SPI1_0,
575 PINCTRL_GRP_TTC2_1_CLK,
576 PINCTRL_GRP_UART0_2,
577 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800578 END_OF_GROUPS,
579 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800580 },
581 [PINCTRL_PIN_11] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800582 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800583 PINCTRL_GRP_QSPI0_0,
584 PINCTRL_GRP_NAND0_0_RB,
585 PINCTRL_GRP_RESERVED,
586 PINCTRL_GRP_TESTSCAN0_0,
587 PINCTRL_GRP_RESERVED,
588 PINCTRL_GRP_GPIO0_11,
589 PINCTRL_GRP_CAN0_2,
590 PINCTRL_GRP_I2C0_2,
591 PINCTRL_GRP_SWDT0_1_RST,
592 PINCTRL_GRP_SPI1_0,
593 PINCTRL_GRP_TTC2_1_WAV,
594 PINCTRL_GRP_UART0_2,
595 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800596 END_OF_GROUPS,
597 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800598 },
599 [PINCTRL_PIN_12] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800600 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800601 PINCTRL_GRP_QSPI0_0,
602 PINCTRL_GRP_NAND0_0_DQS,
603 PINCTRL_GRP_RESERVED,
604 PINCTRL_GRP_TESTSCAN0_0,
605 PINCTRL_GRP_RESERVED,
606 PINCTRL_GRP_GPIO0_12,
607 PINCTRL_GRP_CAN1_3,
608 PINCTRL_GRP_I2C1_3,
609 PINCTRL_GRP_PJTAG0_1,
610 PINCTRL_GRP_SPI0_1,
611 PINCTRL_GRP_TTC1_1_CLK,
612 PINCTRL_GRP_UART1_3,
613 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800614 END_OF_GROUPS,
615 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800616 },
617 [PINCTRL_PIN_13] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800618 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800619 PINCTRL_GRP_RESERVED,
620 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800621 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800622 PINCTRL_GRP_TESTSCAN0_0,
623 PINCTRL_GRP_RESERVED,
624 PINCTRL_GRP_GPIO0_13,
625 PINCTRL_GRP_CAN1_3,
626 PINCTRL_GRP_I2C1_3,
627 PINCTRL_GRP_PJTAG0_1,
628 PINCTRL_GRP_SPI0_1_SS2,
629 PINCTRL_GRP_TTC1_1_WAV,
630 PINCTRL_GRP_UART1_3,
631 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800632 PINCTRL_GRP_SDIO0_4BIT_0_0,
633 PINCTRL_GRP_SDIO0_1BIT_0_0,
634 END_OF_GROUPS,
635 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800636 },
637 [PINCTRL_PIN_14] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800638 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800639 PINCTRL_GRP_RESERVED,
640 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800641 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800642 PINCTRL_GRP_TESTSCAN0_0,
643 PINCTRL_GRP_RESERVED,
644 PINCTRL_GRP_GPIO0_14,
645 PINCTRL_GRP_CAN0_3,
646 PINCTRL_GRP_I2C0_3,
647 PINCTRL_GRP_PJTAG0_1,
648 PINCTRL_GRP_SPI0_1_SS1,
649 PINCTRL_GRP_TTC0_1_CLK,
650 PINCTRL_GRP_UART0_3,
651 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800652 PINCTRL_GRP_SDIO0_4BIT_0_0,
653 PINCTRL_GRP_SDIO0_1BIT_0_1,
654 END_OF_GROUPS,
655 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800656 },
657 [PINCTRL_PIN_15] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800658 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800659 PINCTRL_GRP_RESERVED,
660 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800661 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800662 PINCTRL_GRP_TESTSCAN0_0,
663 PINCTRL_GRP_RESERVED,
664 PINCTRL_GRP_GPIO0_15,
665 PINCTRL_GRP_CAN0_3,
666 PINCTRL_GRP_I2C0_3,
667 PINCTRL_GRP_PJTAG0_1,
668 PINCTRL_GRP_SPI0_1_SS0,
669 PINCTRL_GRP_TTC0_1_WAV,
670 PINCTRL_GRP_UART0_3,
671 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800672 PINCTRL_GRP_SDIO0_4BIT_0_0,
673 PINCTRL_GRP_SDIO0_1BIT_0_2,
674 END_OF_GROUPS,
675 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800676 },
677 [PINCTRL_PIN_16] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800678 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800679 PINCTRL_GRP_RESERVED,
680 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800681 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800682 PINCTRL_GRP_TESTSCAN0_0,
683 PINCTRL_GRP_RESERVED,
684 PINCTRL_GRP_GPIO0_16,
685 PINCTRL_GRP_CAN1_4,
686 PINCTRL_GRP_I2C1_4,
687 PINCTRL_GRP_SWDT1_2_CLK,
688 PINCTRL_GRP_SPI0_1,
689 PINCTRL_GRP_TTC3_2_CLK,
690 PINCTRL_GRP_UART1_4,
691 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800692 PINCTRL_GRP_SDIO0_4BIT_0_0,
693 PINCTRL_GRP_SDIO0_1BIT_0_3,
694 END_OF_GROUPS,
695 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800696 },
697 [PINCTRL_PIN_17] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800698 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800699 PINCTRL_GRP_RESERVED,
700 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800701 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800702 PINCTRL_GRP_TESTSCAN0_0,
703 PINCTRL_GRP_RESERVED,
704 PINCTRL_GRP_GPIO0_17,
705 PINCTRL_GRP_CAN1_4,
706 PINCTRL_GRP_I2C1_4,
707 PINCTRL_GRP_SWDT1_2_RST,
708 PINCTRL_GRP_SPI0_1,
709 PINCTRL_GRP_TTC3_2_WAV,
710 PINCTRL_GRP_UART1_4,
711 PINCTRL_GRP_TRACE0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800712 PINCTRL_GRP_SDIO0_4BIT_0_1,
713 PINCTRL_GRP_SDIO0_1BIT_0_4,
714 END_OF_GROUPS,
715 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800716 },
717 [PINCTRL_PIN_18] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800718 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800719 PINCTRL_GRP_RESERVED,
720 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800721 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800722 PINCTRL_GRP_TESTSCAN0_0,
723 PINCTRL_GRP_CSU0_0,
724 PINCTRL_GRP_GPIO0_18,
725 PINCTRL_GRP_CAN0_4,
726 PINCTRL_GRP_I2C0_4,
727 PINCTRL_GRP_SWDT0_2_CLK,
728 PINCTRL_GRP_SPI1_1,
729 PINCTRL_GRP_TTC2_2_CLK,
730 PINCTRL_GRP_UART0_4,
731 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800732 PINCTRL_GRP_SDIO0_4BIT_0_1,
733 PINCTRL_GRP_SDIO0_1BIT_0_5,
734 END_OF_GROUPS,
735 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800736 },
737 [PINCTRL_PIN_19] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800738 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800739 PINCTRL_GRP_RESERVED,
740 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800741 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800742 PINCTRL_GRP_TESTSCAN0_0,
743 PINCTRL_GRP_CSU0_1,
744 PINCTRL_GRP_GPIO0_19,
745 PINCTRL_GRP_CAN0_4,
746 PINCTRL_GRP_I2C0_4,
747 PINCTRL_GRP_SWDT0_2_RST,
748 PINCTRL_GRP_SPI1_1_SS2,
749 PINCTRL_GRP_TTC2_2_WAV,
750 PINCTRL_GRP_UART0_4,
751 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800752 PINCTRL_GRP_SDIO0_4BIT_0_1,
753 PINCTRL_GRP_SDIO0_1BIT_0_6,
754 END_OF_GROUPS,
755 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800756 },
757 [PINCTRL_PIN_20] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800758 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800759 PINCTRL_GRP_RESERVED,
760 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800761 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800762 PINCTRL_GRP_TESTSCAN0_0,
763 PINCTRL_GRP_CSU0_2,
764 PINCTRL_GRP_GPIO0_20,
765 PINCTRL_GRP_CAN1_5,
766 PINCTRL_GRP_I2C1_5,
767 PINCTRL_GRP_SWDT1_3_CLK,
768 PINCTRL_GRP_SPI1_1_SS1,
769 PINCTRL_GRP_TTC1_2_CLK,
770 PINCTRL_GRP_UART1_5,
771 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800772 PINCTRL_GRP_SDIO0_4BIT_0_1,
773 PINCTRL_GRP_SDIO0_1BIT_0_7,
774 END_OF_GROUPS,
775 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800776 },
777 [PINCTRL_PIN_21] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800778 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800779 PINCTRL_GRP_RESERVED,
780 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800781 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800782 PINCTRL_GRP_TESTSCAN0_0,
783 PINCTRL_GRP_CSU0_3,
784 PINCTRL_GRP_GPIO0_21,
785 PINCTRL_GRP_CAN1_5,
786 PINCTRL_GRP_I2C1_5,
787 PINCTRL_GRP_SWDT1_3_RST,
788 PINCTRL_GRP_SPI1_1_SS0,
789 PINCTRL_GRP_TTC1_2_WAV,
790 PINCTRL_GRP_UART1_5,
791 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800792 PINCTRL_GRP_SDIO0_4BIT_0_0,
793 PINCTRL_GRP_SDIO0_4BIT_0_1,
794 PINCTRL_GRP_SDIO0_1BIT_0_0,
795 PINCTRL_GRP_SDIO0_1BIT_0_1,
796 PINCTRL_GRP_SDIO0_1BIT_0_2,
797 PINCTRL_GRP_SDIO0_1BIT_0_3,
798 PINCTRL_GRP_SDIO0_1BIT_0_4,
799 PINCTRL_GRP_SDIO0_1BIT_0_5,
800 PINCTRL_GRP_SDIO0_1BIT_0_6,
801 PINCTRL_GRP_SDIO0_1BIT_0_7,
802 END_OF_GROUPS,
803 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800804 },
805 [PINCTRL_PIN_22] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800806 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800807 PINCTRL_GRP_RESERVED,
808 PINCTRL_GRP_NAND0_0,
Rajan Vajac82ce462018-02-22 01:06:52 -0800809 PINCTRL_GRP_SDIO0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800810 PINCTRL_GRP_TESTSCAN0_0,
811 PINCTRL_GRP_CSU0_4,
812 PINCTRL_GRP_GPIO0_22,
813 PINCTRL_GRP_CAN0_5,
814 PINCTRL_GRP_I2C0_5,
815 PINCTRL_GRP_SWDT0_3_CLK,
816 PINCTRL_GRP_SPI1_1,
817 PINCTRL_GRP_TTC0_2_CLK,
818 PINCTRL_GRP_UART0_5,
819 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800820 PINCTRL_GRP_SDIO0_4BIT_0_0,
821 PINCTRL_GRP_SDIO0_4BIT_0_1,
822 PINCTRL_GRP_SDIO0_1BIT_0_0,
823 PINCTRL_GRP_SDIO0_1BIT_0_1,
824 PINCTRL_GRP_SDIO0_1BIT_0_2,
825 PINCTRL_GRP_SDIO0_1BIT_0_3,
826 PINCTRL_GRP_SDIO0_1BIT_0_4,
827 PINCTRL_GRP_SDIO0_1BIT_0_5,
828 PINCTRL_GRP_SDIO0_1BIT_0_6,
829 PINCTRL_GRP_SDIO0_1BIT_0_7,
830 END_OF_GROUPS,
831 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800832 },
833 [PINCTRL_PIN_23] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800834 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800835 PINCTRL_GRP_RESERVED,
836 PINCTRL_GRP_NAND0_0,
837 PINCTRL_GRP_SDIO0_0_PC,
838 PINCTRL_GRP_TESTSCAN0_0,
839 PINCTRL_GRP_CSU0_5,
840 PINCTRL_GRP_GPIO0_23,
841 PINCTRL_GRP_CAN0_5,
842 PINCTRL_GRP_I2C0_5,
843 PINCTRL_GRP_SWDT0_3_RST,
844 PINCTRL_GRP_SPI1_1,
845 PINCTRL_GRP_TTC0_2_WAV,
846 PINCTRL_GRP_UART0_5,
847 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800848 END_OF_GROUPS,
849 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800850 },
851 [PINCTRL_PIN_24] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800852 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800853 PINCTRL_GRP_RESERVED,
854 PINCTRL_GRP_NAND0_0,
855 PINCTRL_GRP_SDIO0_0_CD,
856 PINCTRL_GRP_TESTSCAN0_0,
857 PINCTRL_GRP_CSU0_6,
858 PINCTRL_GRP_GPIO0_24,
859 PINCTRL_GRP_CAN1_6,
860 PINCTRL_GRP_I2C1_6,
861 PINCTRL_GRP_SWDT1_4_CLK,
862 PINCTRL_GRP_RESERVED,
863 PINCTRL_GRP_TTC3_3_CLK,
864 PINCTRL_GRP_UART1_6,
865 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800866 END_OF_GROUPS,
867 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800868 },
869 [PINCTRL_PIN_25] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800870 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800871 PINCTRL_GRP_RESERVED,
872 PINCTRL_GRP_NAND0_0,
873 PINCTRL_GRP_SDIO0_0_WP,
874 PINCTRL_GRP_TESTSCAN0_0,
875 PINCTRL_GRP_CSU0_7,
876 PINCTRL_GRP_GPIO0_25,
877 PINCTRL_GRP_CAN1_6,
878 PINCTRL_GRP_I2C1_6,
879 PINCTRL_GRP_SWDT1_4_RST,
880 PINCTRL_GRP_RESERVED,
881 PINCTRL_GRP_TTC3_3_WAV,
882 PINCTRL_GRP_UART1_6,
883 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -0800884 END_OF_GROUPS,
885 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800886 },
887 [PINCTRL_PIN_26] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800888 .groups = &((uint16_t []) {
Norbert Werner6f980022020-01-19 14:51:01 +0100889 PINCTRL_GRP_ETHERNET0_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -0800890 PINCTRL_GRP_GEMTSU0_0,
891 PINCTRL_GRP_NAND0_1_CE,
892 PINCTRL_GRP_PMU0_0,
893 PINCTRL_GRP_TESTSCAN0_0,
894 PINCTRL_GRP_CSU0_8,
895 PINCTRL_GRP_GPIO0_26,
896 PINCTRL_GRP_CAN0_6,
897 PINCTRL_GRP_I2C0_6,
898 PINCTRL_GRP_PJTAG0_2,
899 PINCTRL_GRP_SPI0_2,
900 PINCTRL_GRP_TTC2_3_CLK,
901 PINCTRL_GRP_UART0_6,
902 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800903 END_OF_GROUPS,
904 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800905 },
906 [PINCTRL_PIN_27] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800907 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800908 PINCTRL_GRP_ETHERNET0_0,
909 PINCTRL_GRP_NAND0_1_RB,
910 PINCTRL_GRP_PMU0_1,
911 PINCTRL_GRP_TESTSCAN0_0,
912 PINCTRL_GRP_DPAUX0_0,
913 PINCTRL_GRP_GPIO0_27,
914 PINCTRL_GRP_CAN0_6,
915 PINCTRL_GRP_I2C0_6,
916 PINCTRL_GRP_PJTAG0_2,
917 PINCTRL_GRP_SPI0_2_SS2,
918 PINCTRL_GRP_TTC2_3_WAV,
919 PINCTRL_GRP_UART0_6,
920 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800921 END_OF_GROUPS,
922 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800923 },
924 [PINCTRL_PIN_28] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800925 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800926 PINCTRL_GRP_ETHERNET0_0,
927 PINCTRL_GRP_NAND0_1_RB,
928 PINCTRL_GRP_PMU0_2,
929 PINCTRL_GRP_TESTSCAN0_0,
930 PINCTRL_GRP_DPAUX0_0,
931 PINCTRL_GRP_GPIO0_28,
932 PINCTRL_GRP_CAN1_7,
933 PINCTRL_GRP_I2C1_7,
934 PINCTRL_GRP_PJTAG0_2,
935 PINCTRL_GRP_SPI0_2_SS1,
936 PINCTRL_GRP_TTC1_3_CLK,
937 PINCTRL_GRP_UART1_7,
938 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800939 END_OF_GROUPS,
940 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800941 },
942 [PINCTRL_PIN_29] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800943 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800944 PINCTRL_GRP_ETHERNET0_0,
945 PINCTRL_GRP_PCIE0_0,
946 PINCTRL_GRP_PMU0_3,
947 PINCTRL_GRP_TESTSCAN0_0,
948 PINCTRL_GRP_DPAUX0_1,
949 PINCTRL_GRP_GPIO0_29,
950 PINCTRL_GRP_CAN1_7,
951 PINCTRL_GRP_I2C1_7,
952 PINCTRL_GRP_PJTAG0_2,
953 PINCTRL_GRP_SPI0_2_SS0,
954 PINCTRL_GRP_TTC1_3_WAV,
955 PINCTRL_GRP_UART1_7,
956 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800957 END_OF_GROUPS,
958 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800959 },
960 [PINCTRL_PIN_30] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800961 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800962 PINCTRL_GRP_ETHERNET0_0,
963 PINCTRL_GRP_PCIE0_1,
964 PINCTRL_GRP_PMU0_4,
965 PINCTRL_GRP_TESTSCAN0_0,
966 PINCTRL_GRP_DPAUX0_1,
967 PINCTRL_GRP_GPIO0_30,
968 PINCTRL_GRP_CAN0_7,
969 PINCTRL_GRP_I2C0_7,
970 PINCTRL_GRP_SWDT0_4_CLK,
971 PINCTRL_GRP_SPI0_2,
972 PINCTRL_GRP_TTC0_3_CLK,
973 PINCTRL_GRP_UART0_7,
974 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800975 END_OF_GROUPS,
976 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800977 },
978 [PINCTRL_PIN_31] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800979 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800980 PINCTRL_GRP_ETHERNET0_0,
981 PINCTRL_GRP_PCIE0_2,
982 PINCTRL_GRP_PMU0_5,
983 PINCTRL_GRP_TESTSCAN0_0,
984 PINCTRL_GRP_CSU0_9,
985 PINCTRL_GRP_GPIO0_31,
986 PINCTRL_GRP_CAN0_7,
987 PINCTRL_GRP_I2C0_7,
988 PINCTRL_GRP_SWDT0_4_RST,
989 PINCTRL_GRP_SPI0_2,
990 PINCTRL_GRP_TTC0_3_WAV,
991 PINCTRL_GRP_UART0_7,
992 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -0800993 END_OF_GROUPS,
994 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -0800995 },
996 [PINCTRL_PIN_32] = {
Rajan Vajac82ce462018-02-22 01:06:52 -0800997 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -0800998 PINCTRL_GRP_ETHERNET0_0,
999 PINCTRL_GRP_NAND0_1_DQS,
1000 PINCTRL_GRP_PMU0_6,
1001 PINCTRL_GRP_TESTSCAN0_0,
1002 PINCTRL_GRP_CSU0_10,
1003 PINCTRL_GRP_GPIO0_32,
1004 PINCTRL_GRP_CAN1_8,
1005 PINCTRL_GRP_I2C1_8,
1006 PINCTRL_GRP_SWDT1_5_CLK,
1007 PINCTRL_GRP_SPI1_2,
1008 PINCTRL_GRP_TTC3_4_CLK,
1009 PINCTRL_GRP_UART1_8,
1010 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001011 END_OF_GROUPS,
1012 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001013 },
1014 [PINCTRL_PIN_33] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001015 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001016 PINCTRL_GRP_ETHERNET0_0,
1017 PINCTRL_GRP_PCIE0_3,
1018 PINCTRL_GRP_PMU0_7,
1019 PINCTRL_GRP_TESTSCAN0_0,
1020 PINCTRL_GRP_CSU0_11,
1021 PINCTRL_GRP_GPIO0_33,
1022 PINCTRL_GRP_CAN1_8,
1023 PINCTRL_GRP_I2C1_8,
1024 PINCTRL_GRP_SWDT1_5_RST,
1025 PINCTRL_GRP_SPI1_2_SS2,
1026 PINCTRL_GRP_TTC3_4_WAV,
1027 PINCTRL_GRP_UART1_8,
1028 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001029 END_OF_GROUPS,
1030 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001031 },
1032 [PINCTRL_PIN_34] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001033 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001034 PINCTRL_GRP_ETHERNET0_0,
1035 PINCTRL_GRP_PCIE0_4,
1036 PINCTRL_GRP_PMU0_8,
1037 PINCTRL_GRP_TESTSCAN0_0,
1038 PINCTRL_GRP_DPAUX0_2,
1039 PINCTRL_GRP_GPIO0_34,
1040 PINCTRL_GRP_CAN0_8,
1041 PINCTRL_GRP_I2C0_8,
1042 PINCTRL_GRP_SWDT0_5_CLK,
1043 PINCTRL_GRP_SPI1_2_SS1,
1044 PINCTRL_GRP_TTC2_4_CLK,
1045 PINCTRL_GRP_UART0_8,
1046 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001047 END_OF_GROUPS,
1048 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001049 },
1050 [PINCTRL_PIN_35] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001051 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001052 PINCTRL_GRP_ETHERNET0_0,
1053 PINCTRL_GRP_PCIE0_5,
1054 PINCTRL_GRP_PMU0_9,
1055 PINCTRL_GRP_TESTSCAN0_0,
1056 PINCTRL_GRP_DPAUX0_2,
1057 PINCTRL_GRP_GPIO0_35,
1058 PINCTRL_GRP_CAN0_8,
1059 PINCTRL_GRP_I2C0_8,
1060 PINCTRL_GRP_SWDT0_5_RST,
1061 PINCTRL_GRP_SPI1_2_SS0,
1062 PINCTRL_GRP_TTC2_4_WAV,
1063 PINCTRL_GRP_UART0_8,
1064 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001065 END_OF_GROUPS,
1066 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001067 },
1068 [PINCTRL_PIN_36] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001069 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001070 PINCTRL_GRP_ETHERNET0_0,
1071 PINCTRL_GRP_PCIE0_6,
1072 PINCTRL_GRP_PMU0_10,
1073 PINCTRL_GRP_TESTSCAN0_0,
1074 PINCTRL_GRP_DPAUX0_3,
1075 PINCTRL_GRP_GPIO0_36,
1076 PINCTRL_GRP_CAN1_9,
1077 PINCTRL_GRP_I2C1_9,
1078 PINCTRL_GRP_SWDT1_6_CLK,
1079 PINCTRL_GRP_SPI1_2,
1080 PINCTRL_GRP_TTC1_4_CLK,
1081 PINCTRL_GRP_UART1_9,
1082 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001083 END_OF_GROUPS,
1084 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001085 },
1086 [PINCTRL_PIN_37] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001087 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001088 PINCTRL_GRP_ETHERNET0_0,
1089 PINCTRL_GRP_PCIE0_7,
1090 PINCTRL_GRP_PMU0_11,
1091 PINCTRL_GRP_TESTSCAN0_0,
1092 PINCTRL_GRP_DPAUX0_3,
1093 PINCTRL_GRP_GPIO0_37,
1094 PINCTRL_GRP_CAN1_9,
1095 PINCTRL_GRP_I2C1_9,
1096 PINCTRL_GRP_SWDT1_6_RST,
1097 PINCTRL_GRP_SPI1_2,
1098 PINCTRL_GRP_TTC1_4_WAV,
1099 PINCTRL_GRP_UART1_9,
1100 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001101 END_OF_GROUPS,
1102 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001103 },
1104 [PINCTRL_PIN_38] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001105 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001106 PINCTRL_GRP_ETHERNET1_0,
1107 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001108 PINCTRL_GRP_SDIO0_1,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001109 PINCTRL_GRP_RESERVED,
1110 PINCTRL_GRP_RESERVED,
1111 PINCTRL_GRP_GPIO0_38,
1112 PINCTRL_GRP_CAN0_9,
1113 PINCTRL_GRP_I2C0_9,
1114 PINCTRL_GRP_PJTAG0_3,
1115 PINCTRL_GRP_SPI0_3,
1116 PINCTRL_GRP_TTC0_4_CLK,
1117 PINCTRL_GRP_UART0_9,
1118 PINCTRL_GRP_TRACE0_1_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -08001119 PINCTRL_GRP_SDIO0_4BIT_1_0,
1120 PINCTRL_GRP_SDIO0_4BIT_1_1,
1121 PINCTRL_GRP_SDIO0_1BIT_1_0,
1122 PINCTRL_GRP_SDIO0_1BIT_1_1,
1123 PINCTRL_GRP_SDIO0_1BIT_1_2,
1124 PINCTRL_GRP_SDIO0_1BIT_1_3,
1125 PINCTRL_GRP_SDIO0_1BIT_1_4,
1126 PINCTRL_GRP_SDIO0_1BIT_1_5,
1127 PINCTRL_GRP_SDIO0_1BIT_1_6,
1128 PINCTRL_GRP_SDIO0_1BIT_1_7,
1129 END_OF_GROUPS,
1130 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001131 },
1132 [PINCTRL_PIN_39] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001133 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001134 PINCTRL_GRP_ETHERNET1_0,
1135 PINCTRL_GRP_RESERVED,
1136 PINCTRL_GRP_SDIO0_1_CD,
Rajan Vajac82ce462018-02-22 01:06:52 -08001137 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001138 PINCTRL_GRP_RESERVED,
1139 PINCTRL_GRP_GPIO0_39,
1140 PINCTRL_GRP_CAN0_9,
1141 PINCTRL_GRP_I2C0_9,
1142 PINCTRL_GRP_PJTAG0_3,
1143 PINCTRL_GRP_SPI0_3_SS2,
1144 PINCTRL_GRP_TTC0_4_WAV,
1145 PINCTRL_GRP_UART0_9,
1146 PINCTRL_GRP_TRACE0_1_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -08001147 PINCTRL_GRP_SDIO1_4BIT_0_0,
1148 PINCTRL_GRP_SDIO1_1BIT_0_0,
1149 END_OF_GROUPS,
1150 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001151 },
1152 [PINCTRL_PIN_40] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001153 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001154 PINCTRL_GRP_ETHERNET1_0,
1155 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001156 PINCTRL_GRP_SDIO0_1,
1157 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001158 PINCTRL_GRP_RESERVED,
1159 PINCTRL_GRP_GPIO0_40,
1160 PINCTRL_GRP_CAN1_10,
1161 PINCTRL_GRP_I2C1_10,
1162 PINCTRL_GRP_PJTAG0_3,
1163 PINCTRL_GRP_SPI0_3_SS1,
1164 PINCTRL_GRP_TTC3_5_CLK,
1165 PINCTRL_GRP_UART1_10,
1166 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001167 PINCTRL_GRP_SDIO0_4BIT_1_0,
1168 PINCTRL_GRP_SDIO0_4BIT_1_1,
1169 PINCTRL_GRP_SDIO0_1BIT_1_0,
1170 PINCTRL_GRP_SDIO0_1BIT_1_1,
1171 PINCTRL_GRP_SDIO0_1BIT_1_2,
1172 PINCTRL_GRP_SDIO0_1BIT_1_3,
1173 PINCTRL_GRP_SDIO0_1BIT_1_4,
1174 PINCTRL_GRP_SDIO0_1BIT_1_5,
1175 PINCTRL_GRP_SDIO0_1BIT_1_6,
1176 PINCTRL_GRP_SDIO0_1BIT_1_7,
1177 PINCTRL_GRP_SDIO1_4BIT_0_0,
1178 PINCTRL_GRP_SDIO1_1BIT_0_1,
1179 END_OF_GROUPS,
1180 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001181 },
1182 [PINCTRL_PIN_41] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001183 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001184 PINCTRL_GRP_ETHERNET1_0,
1185 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001186 PINCTRL_GRP_SDIO0_1,
1187 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001188 PINCTRL_GRP_RESERVED,
1189 PINCTRL_GRP_GPIO0_41,
1190 PINCTRL_GRP_CAN1_10,
1191 PINCTRL_GRP_I2C1_10,
1192 PINCTRL_GRP_PJTAG0_3,
1193 PINCTRL_GRP_SPI0_3_SS0,
1194 PINCTRL_GRP_TTC3_5_WAV,
1195 PINCTRL_GRP_UART1_10,
1196 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001197 PINCTRL_GRP_SDIO0_4BIT_1_0,
1198 PINCTRL_GRP_SDIO0_1BIT_1_0,
1199 PINCTRL_GRP_SDIO1_4BIT_0_0,
1200 PINCTRL_GRP_SDIO1_1BIT_0_2,
1201 END_OF_GROUPS,
1202 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001203 },
1204 [PINCTRL_PIN_42] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001205 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001206 PINCTRL_GRP_ETHERNET1_0,
1207 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001208 PINCTRL_GRP_SDIO0_1,
1209 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001210 PINCTRL_GRP_RESERVED,
1211 PINCTRL_GRP_GPIO0_42,
1212 PINCTRL_GRP_CAN0_10,
1213 PINCTRL_GRP_I2C0_10,
1214 PINCTRL_GRP_SWDT0_6_CLK,
1215 PINCTRL_GRP_SPI0_3,
1216 PINCTRL_GRP_TTC2_5_CLK,
1217 PINCTRL_GRP_UART0_10,
1218 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001219 PINCTRL_GRP_SDIO0_1,
1220 PINCTRL_GRP_SDIO0_4BIT_1_0,
1221 PINCTRL_GRP_SDIO0_1BIT_1_1,
1222 PINCTRL_GRP_SDIO1_4BIT_0_0,
1223 PINCTRL_GRP_SDIO1_1BIT_0_3,
1224 END_OF_GROUPS,
1225 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001226 },
1227 [PINCTRL_PIN_43] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001228 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001229 PINCTRL_GRP_ETHERNET1_0,
1230 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001231 PINCTRL_GRP_SDIO0_1,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001232 PINCTRL_GRP_SDIO1_0_PC,
1233 PINCTRL_GRP_RESERVED,
1234 PINCTRL_GRP_GPIO0_43,
1235 PINCTRL_GRP_CAN0_10,
1236 PINCTRL_GRP_I2C0_10,
1237 PINCTRL_GRP_SWDT0_6_RST,
1238 PINCTRL_GRP_SPI0_3,
1239 PINCTRL_GRP_TTC2_5_WAV,
1240 PINCTRL_GRP_UART0_10,
1241 PINCTRL_GRP_TRACE0_1,
Rajan Vajac82ce462018-02-22 01:06:52 -08001242 PINCTRL_GRP_SDIO0_4BIT_1_0,
1243 PINCTRL_GRP_SDIO0_1BIT_1_2,
1244 END_OF_GROUPS,
1245 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001246 },
1247 [PINCTRL_PIN_44] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001248 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001249 PINCTRL_GRP_ETHERNET1_0,
1250 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001251 PINCTRL_GRP_SDIO0_1,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001252 PINCTRL_GRP_SDIO1_0_WP,
1253 PINCTRL_GRP_RESERVED,
1254 PINCTRL_GRP_GPIO0_44,
1255 PINCTRL_GRP_CAN1_11,
1256 PINCTRL_GRP_I2C1_11,
1257 PINCTRL_GRP_SWDT1_7_CLK,
1258 PINCTRL_GRP_SPI1_3,
1259 PINCTRL_GRP_TTC1_5_CLK,
1260 PINCTRL_GRP_UART1_11,
1261 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001262 PINCTRL_GRP_SDIO0_4BIT_1_0,
1263 PINCTRL_GRP_SDIO0_1BIT_1_3,
1264 END_OF_GROUPS,
1265 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001266 },
1267 [PINCTRL_PIN_45] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001268 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001269 PINCTRL_GRP_ETHERNET1_0,
1270 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001271 PINCTRL_GRP_SDIO0_1,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001272 PINCTRL_GRP_SDIO1_0_CD,
1273 PINCTRL_GRP_RESERVED,
1274 PINCTRL_GRP_GPIO0_45,
1275 PINCTRL_GRP_CAN1_11,
1276 PINCTRL_GRP_I2C1_11,
1277 PINCTRL_GRP_SWDT1_7_RST,
1278 PINCTRL_GRP_SPI1_3_SS2,
1279 PINCTRL_GRP_TTC1_5_WAV,
1280 PINCTRL_GRP_UART1_11,
1281 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001282 PINCTRL_GRP_SDIO0_4BIT_1_1,
1283 PINCTRL_GRP_SDIO0_1BIT_1_4,
1284 END_OF_GROUPS,
1285 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001286 },
1287 [PINCTRL_PIN_46] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001288 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001289 PINCTRL_GRP_ETHERNET1_0,
1290 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001291 PINCTRL_GRP_SDIO0_1,
1292 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001293 PINCTRL_GRP_RESERVED,
1294 PINCTRL_GRP_GPIO0_46,
1295 PINCTRL_GRP_CAN0_11,
1296 PINCTRL_GRP_I2C0_11,
1297 PINCTRL_GRP_SWDT0_7_CLK,
1298 PINCTRL_GRP_SPI1_3_SS1,
1299 PINCTRL_GRP_TTC0_5_CLK,
1300 PINCTRL_GRP_UART0_11,
1301 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001302 PINCTRL_GRP_SDIO0_4BIT_1_1,
1303 PINCTRL_GRP_SDIO0_1BIT_1_5,
1304 PINCTRL_GRP_SDIO1_4BIT_0_1,
1305 PINCTRL_GRP_SDIO1_1BIT_0_4,
1306 END_OF_GROUPS,
1307 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001308 },
1309 [PINCTRL_PIN_47] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001310 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001311 PINCTRL_GRP_ETHERNET1_0,
1312 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001313 PINCTRL_GRP_SDIO0_1,
1314 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001315 PINCTRL_GRP_RESERVED,
1316 PINCTRL_GRP_GPIO0_47,
1317 PINCTRL_GRP_CAN0_11,
1318 PINCTRL_GRP_I2C0_11,
1319 PINCTRL_GRP_SWDT0_7_RST,
1320 PINCTRL_GRP_SPI1_3_SS0,
1321 PINCTRL_GRP_TTC0_5_WAV,
1322 PINCTRL_GRP_UART0_11,
1323 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001324 PINCTRL_GRP_SDIO0_4BIT_1_1,
1325 PINCTRL_GRP_SDIO0_1BIT_1_6,
1326 PINCTRL_GRP_SDIO1_4BIT_0_1,
1327 PINCTRL_GRP_SDIO1_1BIT_0_5,
1328 END_OF_GROUPS,
1329 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001330 },
1331 [PINCTRL_PIN_48] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001332 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001333 PINCTRL_GRP_ETHERNET1_0,
1334 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001335 PINCTRL_GRP_SDIO0_1,
1336 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001337 PINCTRL_GRP_RESERVED,
1338 PINCTRL_GRP_GPIO0_48,
1339 PINCTRL_GRP_CAN1_12,
1340 PINCTRL_GRP_I2C1_12,
1341 PINCTRL_GRP_SWDT1_8_CLK,
1342 PINCTRL_GRP_SPI1_3,
1343 PINCTRL_GRP_TTC3_6_CLK,
1344 PINCTRL_GRP_UART1_12,
1345 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001346 PINCTRL_GRP_SDIO0_4BIT_1_1,
1347 PINCTRL_GRP_SDIO0_1BIT_1_7,
1348 PINCTRL_GRP_SDIO1_4BIT_0_1,
1349 PINCTRL_GRP_SDIO1_1BIT_0_6,
1350 END_OF_GROUPS,
1351 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001352 },
1353 [PINCTRL_PIN_49] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001354 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001355 PINCTRL_GRP_ETHERNET1_0,
1356 PINCTRL_GRP_RESERVED,
1357 PINCTRL_GRP_SDIO0_1_PC,
Rajan Vajac82ce462018-02-22 01:06:52 -08001358 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001359 PINCTRL_GRP_RESERVED,
1360 PINCTRL_GRP_GPIO0_49,
1361 PINCTRL_GRP_CAN1_12,
1362 PINCTRL_GRP_I2C1_12,
1363 PINCTRL_GRP_SWDT1_8_RST,
1364 PINCTRL_GRP_SPI1_3,
1365 PINCTRL_GRP_TTC3_6_WAV,
1366 PINCTRL_GRP_UART1_12,
1367 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001368 PINCTRL_GRP_SDIO1_4BIT_0_1,
1369 PINCTRL_GRP_SDIO1_1BIT_0_7,
1370 END_OF_GROUPS,
1371 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001372 },
1373 [PINCTRL_PIN_50] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001374 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001375 PINCTRL_GRP_GEMTSU0_1,
1376 PINCTRL_GRP_RESERVED,
1377 PINCTRL_GRP_SDIO0_1_WP,
Rajan Vajac82ce462018-02-22 01:06:52 -08001378 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001379 PINCTRL_GRP_RESERVED,
1380 PINCTRL_GRP_GPIO0_50,
1381 PINCTRL_GRP_CAN0_12,
1382 PINCTRL_GRP_I2C0_12,
1383 PINCTRL_GRP_SWDT0_8_CLK,
1384 PINCTRL_GRP_MDIO1_0,
1385 PINCTRL_GRP_TTC2_6_CLK,
1386 PINCTRL_GRP_UART0_12,
1387 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001388 PINCTRL_GRP_SDIO1_4BIT_0_0,
1389 PINCTRL_GRP_SDIO1_4BIT_0_1,
1390 PINCTRL_GRP_SDIO1_1BIT_0_0,
1391 PINCTRL_GRP_SDIO1_1BIT_0_1,
1392 PINCTRL_GRP_SDIO1_1BIT_0_2,
1393 PINCTRL_GRP_SDIO1_1BIT_0_3,
1394 PINCTRL_GRP_SDIO1_1BIT_0_4,
1395 PINCTRL_GRP_SDIO1_1BIT_0_5,
1396 PINCTRL_GRP_SDIO1_1BIT_0_6,
1397 PINCTRL_GRP_SDIO1_1BIT_0_7,
1398 END_OF_GROUPS,
1399 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001400 },
1401 [PINCTRL_PIN_51] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001402 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001403 PINCTRL_GRP_GEMTSU0_2,
1404 PINCTRL_GRP_RESERVED,
1405 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001406 PINCTRL_GRP_SDIO1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001407 PINCTRL_GRP_RESERVED,
1408 PINCTRL_GRP_GPIO0_51,
1409 PINCTRL_GRP_CAN0_12,
1410 PINCTRL_GRP_I2C0_12,
1411 PINCTRL_GRP_SWDT0_8_RST,
1412 PINCTRL_GRP_MDIO1_0,
1413 PINCTRL_GRP_TTC2_6_WAV,
1414 PINCTRL_GRP_UART0_12,
1415 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001416 PINCTRL_GRP_SDIO1_4BIT_0_0,
1417 PINCTRL_GRP_SDIO1_4BIT_0_1,
1418 PINCTRL_GRP_SDIO1_1BIT_0_0,
1419 PINCTRL_GRP_SDIO1_1BIT_0_1,
1420 PINCTRL_GRP_SDIO1_1BIT_0_2,
1421 PINCTRL_GRP_SDIO1_1BIT_0_3,
1422 PINCTRL_GRP_SDIO1_1BIT_0_4,
1423 PINCTRL_GRP_SDIO1_1BIT_0_5,
1424 PINCTRL_GRP_SDIO1_1BIT_0_6,
1425 PINCTRL_GRP_SDIO1_1BIT_0_7,
1426 END_OF_GROUPS,
1427 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001428 },
1429 [PINCTRL_PIN_52] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001430 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001431 PINCTRL_GRP_ETHERNET2_0,
1432 PINCTRL_GRP_USB0_0,
1433 PINCTRL_GRP_RESERVED,
1434 PINCTRL_GRP_RESERVED,
1435 PINCTRL_GRP_RESERVED,
1436 PINCTRL_GRP_GPIO0_52,
1437 PINCTRL_GRP_CAN1_13,
1438 PINCTRL_GRP_I2C1_13,
1439 PINCTRL_GRP_PJTAG0_4,
1440 PINCTRL_GRP_SPI0_4,
1441 PINCTRL_GRP_TTC1_6_CLK,
1442 PINCTRL_GRP_UART1_13,
1443 PINCTRL_GRP_TRACE0_2_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -08001444 END_OF_GROUPS,
1445 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001446 },
1447 [PINCTRL_PIN_53] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001448 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001449 PINCTRL_GRP_ETHERNET2_0,
1450 PINCTRL_GRP_USB0_0,
1451 PINCTRL_GRP_RESERVED,
1452 PINCTRL_GRP_RESERVED,
1453 PINCTRL_GRP_RESERVED,
1454 PINCTRL_GRP_GPIO0_53,
1455 PINCTRL_GRP_CAN1_13,
1456 PINCTRL_GRP_I2C1_13,
1457 PINCTRL_GRP_PJTAG0_4,
1458 PINCTRL_GRP_SPI0_4_SS2,
1459 PINCTRL_GRP_TTC1_6_WAV,
1460 PINCTRL_GRP_UART1_13,
1461 PINCTRL_GRP_TRACE0_2_CLK,
Rajan Vajac82ce462018-02-22 01:06:52 -08001462 END_OF_GROUPS,
1463 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001464 },
1465 [PINCTRL_PIN_54] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001466 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001467 PINCTRL_GRP_ETHERNET2_0,
1468 PINCTRL_GRP_USB0_0,
1469 PINCTRL_GRP_RESERVED,
1470 PINCTRL_GRP_RESERVED,
1471 PINCTRL_GRP_RESERVED,
1472 PINCTRL_GRP_GPIO0_54,
1473 PINCTRL_GRP_CAN0_13,
1474 PINCTRL_GRP_I2C0_13,
1475 PINCTRL_GRP_PJTAG0_4,
1476 PINCTRL_GRP_SPI0_4_SS1,
1477 PINCTRL_GRP_TTC0_6_CLK,
1478 PINCTRL_GRP_UART0_13,
1479 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001480 END_OF_GROUPS,
1481 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001482 },
1483 [PINCTRL_PIN_55] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001484 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001485 PINCTRL_GRP_ETHERNET2_0,
1486 PINCTRL_GRP_USB0_0,
1487 PINCTRL_GRP_RESERVED,
1488 PINCTRL_GRP_RESERVED,
1489 PINCTRL_GRP_RESERVED,
1490 PINCTRL_GRP_GPIO0_55,
1491 PINCTRL_GRP_CAN0_13,
1492 PINCTRL_GRP_I2C0_13,
1493 PINCTRL_GRP_PJTAG0_4,
1494 PINCTRL_GRP_SPI0_4_SS0,
1495 PINCTRL_GRP_TTC0_6_WAV,
1496 PINCTRL_GRP_UART0_13,
1497 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001498 END_OF_GROUPS,
1499 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001500 },
1501 [PINCTRL_PIN_56] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001502 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001503 PINCTRL_GRP_ETHERNET2_0,
1504 PINCTRL_GRP_USB0_0,
1505 PINCTRL_GRP_RESERVED,
1506 PINCTRL_GRP_RESERVED,
1507 PINCTRL_GRP_RESERVED,
1508 PINCTRL_GRP_GPIO0_56,
1509 PINCTRL_GRP_CAN1_14,
1510 PINCTRL_GRP_I2C1_14,
1511 PINCTRL_GRP_SWDT1_9_CLK,
1512 PINCTRL_GRP_SPI0_4,
1513 PINCTRL_GRP_TTC3_7_CLK,
1514 PINCTRL_GRP_UART1_14,
1515 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001516 END_OF_GROUPS,
1517 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001518 },
1519 [PINCTRL_PIN_57] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001520 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001521 PINCTRL_GRP_ETHERNET2_0,
1522 PINCTRL_GRP_USB0_0,
1523 PINCTRL_GRP_RESERVED,
1524 PINCTRL_GRP_RESERVED,
1525 PINCTRL_GRP_RESERVED,
1526 PINCTRL_GRP_GPIO0_57,
1527 PINCTRL_GRP_CAN1_14,
1528 PINCTRL_GRP_I2C1_14,
1529 PINCTRL_GRP_SWDT1_9_RST,
1530 PINCTRL_GRP_SPI0_4,
1531 PINCTRL_GRP_TTC3_7_WAV,
1532 PINCTRL_GRP_UART1_14,
1533 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001534 END_OF_GROUPS,
1535 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001536 },
1537 [PINCTRL_PIN_58] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001538 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001539 PINCTRL_GRP_ETHERNET2_0,
1540 PINCTRL_GRP_USB0_0,
1541 PINCTRL_GRP_RESERVED,
1542 PINCTRL_GRP_RESERVED,
1543 PINCTRL_GRP_RESERVED,
1544 PINCTRL_GRP_GPIO0_58,
1545 PINCTRL_GRP_CAN0_14,
1546 PINCTRL_GRP_I2C0_14,
1547 PINCTRL_GRP_PJTAG0_5,
1548 PINCTRL_GRP_SPI1_4,
1549 PINCTRL_GRP_TTC2_7_CLK,
1550 PINCTRL_GRP_UART0_14,
1551 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001552 END_OF_GROUPS,
1553 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001554 },
1555 [PINCTRL_PIN_59] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001556 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001557 PINCTRL_GRP_ETHERNET2_0,
1558 PINCTRL_GRP_USB0_0,
1559 PINCTRL_GRP_RESERVED,
1560 PINCTRL_GRP_RESERVED,
1561 PINCTRL_GRP_RESERVED,
1562 PINCTRL_GRP_GPIO0_59,
1563 PINCTRL_GRP_CAN0_14,
1564 PINCTRL_GRP_I2C0_14,
1565 PINCTRL_GRP_PJTAG0_5,
1566 PINCTRL_GRP_SPI1_4_SS2,
1567 PINCTRL_GRP_TTC2_7_WAV,
1568 PINCTRL_GRP_UART0_14,
1569 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001570 END_OF_GROUPS,
1571 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001572 },
1573 [PINCTRL_PIN_60] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001574 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001575 PINCTRL_GRP_ETHERNET2_0,
1576 PINCTRL_GRP_USB0_0,
1577 PINCTRL_GRP_RESERVED,
1578 PINCTRL_GRP_RESERVED,
1579 PINCTRL_GRP_RESERVED,
1580 PINCTRL_GRP_GPIO0_60,
1581 PINCTRL_GRP_CAN1_15,
1582 PINCTRL_GRP_I2C1_15,
1583 PINCTRL_GRP_PJTAG0_5,
1584 PINCTRL_GRP_SPI1_4_SS1,
1585 PINCTRL_GRP_TTC1_7_CLK,
1586 PINCTRL_GRP_UART1_15,
1587 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001588 END_OF_GROUPS,
1589 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001590 },
1591 [PINCTRL_PIN_61] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001592 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001593 PINCTRL_GRP_ETHERNET2_0,
1594 PINCTRL_GRP_USB0_0,
1595 PINCTRL_GRP_RESERVED,
1596 PINCTRL_GRP_RESERVED,
1597 PINCTRL_GRP_RESERVED,
1598 PINCTRL_GRP_GPIO0_61,
1599 PINCTRL_GRP_CAN1_15,
1600 PINCTRL_GRP_I2C1_15,
1601 PINCTRL_GRP_PJTAG0_5,
1602 PINCTRL_GRP_SPI1_4_SS0,
1603 PINCTRL_GRP_TTC1_7_WAV,
1604 PINCTRL_GRP_UART1_15,
1605 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001606 END_OF_GROUPS,
1607 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001608 },
1609 [PINCTRL_PIN_62] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001610 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001611 PINCTRL_GRP_ETHERNET2_0,
1612 PINCTRL_GRP_USB0_0,
1613 PINCTRL_GRP_RESERVED,
1614 PINCTRL_GRP_RESERVED,
1615 PINCTRL_GRP_RESERVED,
1616 PINCTRL_GRP_GPIO0_62,
1617 PINCTRL_GRP_CAN0_15,
1618 PINCTRL_GRP_I2C0_15,
1619 PINCTRL_GRP_SWDT0_9_CLK,
1620 PINCTRL_GRP_SPI1_4,
1621 PINCTRL_GRP_TTC0_7_CLK,
1622 PINCTRL_GRP_UART0_15,
1623 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001624 END_OF_GROUPS,
1625 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001626 },
1627 [PINCTRL_PIN_63] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001628 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001629 PINCTRL_GRP_ETHERNET2_0,
1630 PINCTRL_GRP_USB0_0,
1631 PINCTRL_GRP_RESERVED,
1632 PINCTRL_GRP_RESERVED,
1633 PINCTRL_GRP_RESERVED,
1634 PINCTRL_GRP_GPIO0_63,
1635 PINCTRL_GRP_CAN0_15,
1636 PINCTRL_GRP_I2C0_15,
1637 PINCTRL_GRP_SWDT0_9_RST,
1638 PINCTRL_GRP_SPI1_4,
1639 PINCTRL_GRP_TTC0_7_WAV,
1640 PINCTRL_GRP_UART0_15,
1641 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001642 END_OF_GROUPS,
1643 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001644 },
1645 [PINCTRL_PIN_64] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001646 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001647 PINCTRL_GRP_ETHERNET3_0,
1648 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001649 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001650 PINCTRL_GRP_RESERVED,
1651 PINCTRL_GRP_RESERVED,
1652 PINCTRL_GRP_GPIO0_64,
1653 PINCTRL_GRP_CAN1_16,
1654 PINCTRL_GRP_I2C1_16,
1655 PINCTRL_GRP_SWDT1_10_CLK,
1656 PINCTRL_GRP_SPI0_5,
1657 PINCTRL_GRP_TTC3_8_CLK,
1658 PINCTRL_GRP_UART1_16,
1659 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001660 PINCTRL_GRP_SDIO0_4BIT_2_0,
1661 PINCTRL_GRP_SDIO0_4BIT_2_1,
1662 PINCTRL_GRP_SDIO0_1BIT_2_0,
1663 PINCTRL_GRP_SDIO0_1BIT_2_1,
1664 PINCTRL_GRP_SDIO0_1BIT_2_2,
1665 PINCTRL_GRP_SDIO0_1BIT_2_3,
1666 PINCTRL_GRP_SDIO0_1BIT_2_4,
1667 PINCTRL_GRP_SDIO0_1BIT_2_5,
1668 PINCTRL_GRP_SDIO0_1BIT_2_6,
1669 PINCTRL_GRP_SDIO0_1BIT_2_7,
1670 END_OF_GROUPS,
1671 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001672 },
1673 [PINCTRL_PIN_65] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001674 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001675 PINCTRL_GRP_ETHERNET3_0,
1676 PINCTRL_GRP_USB1_0,
1677 PINCTRL_GRP_SDIO0_2_CD,
1678 PINCTRL_GRP_RESERVED,
1679 PINCTRL_GRP_RESERVED,
1680 PINCTRL_GRP_GPIO0_65,
1681 PINCTRL_GRP_CAN1_16,
1682 PINCTRL_GRP_I2C1_16,
1683 PINCTRL_GRP_SWDT1_10_RST,
1684 PINCTRL_GRP_SPI0_5_SS2,
1685 PINCTRL_GRP_TTC3_8_WAV,
1686 PINCTRL_GRP_UART1_16,
1687 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001688 END_OF_GROUPS,
1689 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001690 },
1691 [PINCTRL_PIN_66] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001692 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001693 PINCTRL_GRP_ETHERNET3_0,
1694 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001695 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001696 PINCTRL_GRP_RESERVED,
1697 PINCTRL_GRP_RESERVED,
1698 PINCTRL_GRP_GPIO0_66,
1699 PINCTRL_GRP_CAN0_16,
1700 PINCTRL_GRP_I2C0_16,
1701 PINCTRL_GRP_SWDT0_10_CLK,
1702 PINCTRL_GRP_SPI0_5_SS1,
1703 PINCTRL_GRP_TTC2_8_CLK,
1704 PINCTRL_GRP_UART0_16,
1705 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001706 PINCTRL_GRP_SDIO0_4BIT_2_0,
1707 PINCTRL_GRP_SDIO0_4BIT_2_1,
1708 PINCTRL_GRP_SDIO0_1BIT_2_0,
1709 PINCTRL_GRP_SDIO0_1BIT_2_1,
1710 PINCTRL_GRP_SDIO0_1BIT_2_2,
1711 PINCTRL_GRP_SDIO0_1BIT_2_3,
1712 PINCTRL_GRP_SDIO0_1BIT_2_4,
1713 PINCTRL_GRP_SDIO0_1BIT_2_5,
1714 PINCTRL_GRP_SDIO0_1BIT_2_6,
1715 PINCTRL_GRP_SDIO0_1BIT_2_7,
1716 END_OF_GROUPS,
1717 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001718 },
1719 [PINCTRL_PIN_67] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001720 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001721 PINCTRL_GRP_ETHERNET3_0,
1722 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001723 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001724 PINCTRL_GRP_RESERVED,
1725 PINCTRL_GRP_RESERVED,
1726 PINCTRL_GRP_GPIO0_67,
1727 PINCTRL_GRP_CAN0_16,
1728 PINCTRL_GRP_I2C0_16,
1729 PINCTRL_GRP_SWDT0_10_RST,
1730 PINCTRL_GRP_SPI0_5_SS0,
1731 PINCTRL_GRP_TTC2_8_WAV,
1732 PINCTRL_GRP_UART0_16,
1733 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001734 PINCTRL_GRP_SDIO0_4BIT_2_0,
1735 PINCTRL_GRP_SDIO0_1BIT_2_0,
1736 END_OF_GROUPS,
1737 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001738 },
1739 [PINCTRL_PIN_68] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001740 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001741 PINCTRL_GRP_ETHERNET3_0,
1742 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001743 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001744 PINCTRL_GRP_RESERVED,
1745 PINCTRL_GRP_RESERVED,
1746 PINCTRL_GRP_GPIO0_68,
1747 PINCTRL_GRP_CAN1_17,
1748 PINCTRL_GRP_I2C1_17,
1749 PINCTRL_GRP_SWDT1_11_CLK,
1750 PINCTRL_GRP_SPI0_5,
1751 PINCTRL_GRP_TTC1_8_CLK,
1752 PINCTRL_GRP_UART1_17,
1753 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001754 PINCTRL_GRP_SDIO0_4BIT_2_0,
1755 PINCTRL_GRP_SDIO0_1BIT_2_1,
1756 END_OF_GROUPS,
1757 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001758 },
1759 [PINCTRL_PIN_69] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001760 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001761 PINCTRL_GRP_ETHERNET3_0,
1762 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001763 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001764 PINCTRL_GRP_SDIO1_1_WP,
1765 PINCTRL_GRP_RESERVED,
1766 PINCTRL_GRP_GPIO0_69,
1767 PINCTRL_GRP_CAN1_17,
1768 PINCTRL_GRP_I2C1_17,
1769 PINCTRL_GRP_SWDT1_11_RST,
1770 PINCTRL_GRP_SPI0_5,
1771 PINCTRL_GRP_TTC1_8_WAV,
1772 PINCTRL_GRP_UART1_17,
1773 PINCTRL_GRP_TRACE0_2,
Rajan Vajac82ce462018-02-22 01:06:52 -08001774 PINCTRL_GRP_SDIO0_4BIT_2_0,
1775 PINCTRL_GRP_SDIO0_1BIT_2_2,
1776 END_OF_GROUPS,
1777 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001778 },
1779 [PINCTRL_PIN_70] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001780 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001781 PINCTRL_GRP_ETHERNET3_0,
1782 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001783 PINCTRL_GRP_SDIO0_2,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001784 PINCTRL_GRP_SDIO1_1_PC,
1785 PINCTRL_GRP_RESERVED,
1786 PINCTRL_GRP_GPIO0_70,
1787 PINCTRL_GRP_CAN0_17,
1788 PINCTRL_GRP_I2C0_17,
1789 PINCTRL_GRP_SWDT0_11_CLK,
1790 PINCTRL_GRP_SPI1_5,
1791 PINCTRL_GRP_TTC0_8_CLK,
1792 PINCTRL_GRP_UART0_17,
1793 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001794 PINCTRL_GRP_SDIO0_4BIT_2_0,
1795 PINCTRL_GRP_SDIO0_1BIT_2_3,
1796 END_OF_GROUPS,
1797 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001798 },
1799 [PINCTRL_PIN_71] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001800 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001801 PINCTRL_GRP_ETHERNET3_0,
1802 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001803 PINCTRL_GRP_SDIO0_2,
1804 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001805 PINCTRL_GRP_RESERVED,
1806 PINCTRL_GRP_GPIO0_71,
1807 PINCTRL_GRP_CAN0_17,
1808 PINCTRL_GRP_I2C0_17,
1809 PINCTRL_GRP_SWDT0_11_RST,
1810 PINCTRL_GRP_SPI1_5_SS2,
1811 PINCTRL_GRP_TTC0_8_WAV,
1812 PINCTRL_GRP_UART0_17,
1813 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001814 PINCTRL_GRP_SDIO0_2,
1815 PINCTRL_GRP_SDIO0_4BIT_2_1,
1816 PINCTRL_GRP_SDIO0_1BIT_2_4,
1817 PINCTRL_GRP_SDIO1_1BIT_1_0,
1818 END_OF_GROUPS,
1819 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001820 },
1821 [PINCTRL_PIN_72] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001822 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001823 PINCTRL_GRP_ETHERNET3_0,
1824 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001825 PINCTRL_GRP_SDIO0_2,
1826 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001827 PINCTRL_GRP_RESERVED,
1828 PINCTRL_GRP_GPIO0_72,
1829 PINCTRL_GRP_CAN1_18,
1830 PINCTRL_GRP_I2C1_18,
1831 PINCTRL_GRP_SWDT1_12_CLK,
1832 PINCTRL_GRP_SPI1_5_SS1,
1833 PINCTRL_GRP_RESERVED,
1834 PINCTRL_GRP_UART1_18,
1835 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001836 PINCTRL_GRP_SDIO0_4BIT_2_1,
1837 PINCTRL_GRP_SDIO0_1BIT_2_5,
1838 PINCTRL_GRP_SDIO1_1BIT_1_1,
1839 END_OF_GROUPS,
1840 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001841 },
1842 [PINCTRL_PIN_73] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001843 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001844 PINCTRL_GRP_ETHERNET3_0,
1845 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001846 PINCTRL_GRP_SDIO0_2,
1847 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001848 PINCTRL_GRP_RESERVED,
1849 PINCTRL_GRP_GPIO0_73,
1850 PINCTRL_GRP_CAN1_18,
1851 PINCTRL_GRP_I2C1_18,
1852 PINCTRL_GRP_SWDT1_12_RST,
1853 PINCTRL_GRP_SPI1_5_SS0,
1854 PINCTRL_GRP_RESERVED,
1855 PINCTRL_GRP_UART1_18,
1856 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001857 PINCTRL_GRP_SDIO0_4BIT_2_1,
1858 PINCTRL_GRP_SDIO0_1BIT_2_6,
1859 PINCTRL_GRP_SDIO1_1BIT_1_2,
1860 END_OF_GROUPS,
1861 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001862 },
1863 [PINCTRL_PIN_74] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001864 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001865 PINCTRL_GRP_ETHERNET3_0,
1866 PINCTRL_GRP_USB1_0,
Rajan Vajac82ce462018-02-22 01:06:52 -08001867 PINCTRL_GRP_SDIO0_2,
1868 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001869 PINCTRL_GRP_RESERVED,
1870 PINCTRL_GRP_GPIO0_74,
1871 PINCTRL_GRP_CAN0_18,
1872 PINCTRL_GRP_I2C0_18,
1873 PINCTRL_GRP_SWDT0_12_CLK,
1874 PINCTRL_GRP_SPI1_5,
1875 PINCTRL_GRP_RESERVED,
1876 PINCTRL_GRP_UART0_18,
1877 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001878 PINCTRL_GRP_SDIO0_4BIT_2_1,
1879 PINCTRL_GRP_SDIO0_1BIT_2_7,
1880 PINCTRL_GRP_SDIO1_1BIT_1_3,
1881 END_OF_GROUPS,
1882 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001883 },
1884 [PINCTRL_PIN_75] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001885 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001886 PINCTRL_GRP_ETHERNET3_0,
1887 PINCTRL_GRP_USB1_0,
1888 PINCTRL_GRP_SDIO0_2_PC,
Rajan Vajac82ce462018-02-22 01:06:52 -08001889 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001890 PINCTRL_GRP_RESERVED,
1891 PINCTRL_GRP_GPIO0_75,
1892 PINCTRL_GRP_CAN0_18,
1893 PINCTRL_GRP_I2C0_18,
1894 PINCTRL_GRP_SWDT0_12_RST,
1895 PINCTRL_GRP_SPI1_5,
1896 PINCTRL_GRP_RESERVED,
1897 PINCTRL_GRP_UART0_18,
1898 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001899 PINCTRL_GRP_SDIO1_1BIT_1_0,
1900 PINCTRL_GRP_SDIO1_1BIT_1_1,
1901 PINCTRL_GRP_SDIO1_1BIT_1_2,
1902 PINCTRL_GRP_SDIO1_1BIT_1_3,
1903 END_OF_GROUPS,
1904 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001905 },
1906 [PINCTRL_PIN_76] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001907 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001908 PINCTRL_GRP_RESERVED,
1909 PINCTRL_GRP_RESERVED,
1910 PINCTRL_GRP_SDIO0_2_WP,
Rajan Vajac82ce462018-02-22 01:06:52 -08001911 PINCTRL_GRP_SDIO1_4BIT_1_0,
Rajan Vajad5dd8362018-01-30 04:16:31 -08001912 PINCTRL_GRP_RESERVED,
1913 PINCTRL_GRP_GPIO0_76,
1914 PINCTRL_GRP_CAN1_19,
1915 PINCTRL_GRP_I2C1_19,
1916 PINCTRL_GRP_MDIO0_0,
1917 PINCTRL_GRP_MDIO1_1,
1918 PINCTRL_GRP_MDIO2_0,
1919 PINCTRL_GRP_MDIO3_0,
1920 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001921 PINCTRL_GRP_SDIO1_1BIT_1_0,
1922 PINCTRL_GRP_SDIO1_1BIT_1_1,
1923 PINCTRL_GRP_SDIO1_1BIT_1_2,
1924 PINCTRL_GRP_SDIO1_1BIT_1_3,
1925 END_OF_GROUPS,
1926 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001927 },
1928 [PINCTRL_PIN_77] = {
Rajan Vajac82ce462018-02-22 01:06:52 -08001929 .groups = &((uint16_t []) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001930 PINCTRL_GRP_RESERVED,
1931 PINCTRL_GRP_RESERVED,
1932 PINCTRL_GRP_RESERVED,
1933 PINCTRL_GRP_SDIO1_1_CD,
1934 PINCTRL_GRP_RESERVED,
1935 PINCTRL_GRP_GPIO0_77,
1936 PINCTRL_GRP_CAN1_19,
1937 PINCTRL_GRP_I2C1_19,
1938 PINCTRL_GRP_MDIO0_0,
1939 PINCTRL_GRP_MDIO1_1,
1940 PINCTRL_GRP_MDIO2_0,
1941 PINCTRL_GRP_MDIO3_0,
1942 PINCTRL_GRP_RESERVED,
Rajan Vajac82ce462018-02-22 01:06:52 -08001943 END_OF_GROUPS,
1944 }),
Rajan Vajad5dd8362018-01-30 04:16:31 -08001945 },
1946};
1947
1948/**
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301949 * pm_api_pinctrl_get_num_pins() - PM call to request number of pins.
1950 * @npins: Number of pins.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001951 *
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301952 * This function is used by master to get number of pins.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001953 *
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301954 * Return: Returns success.
1955 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08001956 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05301957enum pm_ret_status pm_api_pinctrl_get_num_pins(uint32_t *npins)
Rajan Vajad5dd8362018-01-30 04:16:31 -08001958{
1959 *npins = MAX_PIN;
1960
1961 return PM_RET_SUCCESS;
1962}
1963
1964/**
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301965 * pm_api_pinctrl_get_num_functions() - PM call to request number of functions.
1966 * @nfuncs: Number of functions.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001967 *
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301968 * This function is used by master to get number of functions.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001969 *
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301970 * Return: Returns success.
1971 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08001972 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05301973enum pm_ret_status pm_api_pinctrl_get_num_functions(uint32_t *nfuncs)
Rajan Vajad5dd8362018-01-30 04:16:31 -08001974{
1975 *nfuncs = MAX_FUNCTION;
1976
1977 return PM_RET_SUCCESS;
1978}
1979
1980/**
1981 * pm_api_pinctrl_get_num_func_groups() - PM call to request number of
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301982 * function groups.
1983 * @fid: Function Id.
1984 * @ngroups: Number of function groups.
1985 *
1986 * This function is used by master to get number of function groups.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001987 *
Prasad Kummari7d0623a2023-06-09 14:32:00 +05301988 * Return: Returns success.
Rajan Vajad5dd8362018-01-30 04:16:31 -08001989 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08001990 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05301991enum pm_ret_status pm_api_pinctrl_get_num_func_groups(uint32_t fid,
1992 uint32_t *ngroups)
Rajan Vajad5dd8362018-01-30 04:16:31 -08001993{
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05301994 if (fid >= MAX_FUNCTION) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08001995 return PM_RET_ERROR_ARGS;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05301996 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08001997
Ronak Jain0ac90782022-05-06 04:45:59 -07001998 *ngroups = pinctrl_functions[fid].group_size;
Rajan Vajad5dd8362018-01-30 04:16:31 -08001999
2000 return PM_RET_SUCCESS;
2001}
2002
2003/**
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302004 * pm_api_pinctrl_get_function_name() - PM call to request a function name.
2005 * @fid: Function ID.
2006 * @name: Name of function (max 16 bytes).
Rajan Vajad5dd8362018-01-30 04:16:31 -08002007 *
2008 * This function is used by master to get name of function specified
2009 * by given function ID.
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302010 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08002011 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05302012void pm_api_pinctrl_get_function_name(uint32_t fid, char *name)
Rajan Vajad5dd8362018-01-30 04:16:31 -08002013{
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302014 if (fid >= MAX_FUNCTION) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002015 memcpy(name, END_OF_FUNCTION, FUNCTION_NAME_LEN);
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302016 } else {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002017 memcpy(name, pinctrl_functions[fid].name, FUNCTION_NAME_LEN);
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302018 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08002019}
2020
Rajan Vaja0ac2be12018-01-17 02:39:21 -08002021/**
Rajan Vajad5dd8362018-01-30 04:16:31 -08002022 * pm_api_pinctrl_get_function_groups() - PM call to request first 6 function
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302023 * groups of function Id.
2024 * @fid: Function ID.
2025 * @index: Index of next function groups.
2026 * @groups: Function groups.
Rajan Vajad5dd8362018-01-30 04:16:31 -08002027 *
2028 * This function is used by master to get function groups specified
2029 * by given function Id. This API will return 6 function groups with
2030 * a single response. To get other function groups, master should call
2031 * same API in loop with new function groups index till error is returned.
2032 *
2033 * E.g First call should have index 0 which will return function groups
2034 * 0, 1, 2, 3, 4 and 5. Next call, index should be 6 which will return
2035 * function groups 6, 7, 8, 9, 10 and 11 and so on.
2036 *
2037 * Return: Returns status, either success or error+reason.
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302038 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08002039 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05302040enum pm_ret_status pm_api_pinctrl_get_function_groups(uint32_t fid,
2041 uint32_t index,
Rajan Vajad5dd8362018-01-30 04:16:31 -08002042 uint16_t *groups)
2043{
Ronak Jain0ac90782022-05-06 04:45:59 -07002044 uint16_t grps;
2045 uint16_t end_of_grp_offset;
HariBabu Gattem9f9db612022-09-15 22:35:11 -07002046 uint16_t i;
Rajan Vajad5dd8362018-01-30 04:16:31 -08002047
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302048 if (fid >= MAX_FUNCTION) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002049 return PM_RET_ERROR_ARGS;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302050 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08002051
2052 memset(groups, END_OF_GROUPS, GROUPS_PAYLOAD_LEN);
2053
Ronak Jain0ac90782022-05-06 04:45:59 -07002054 grps = pinctrl_functions[fid].group_base;
2055 end_of_grp_offset = grps + pinctrl_functions[fid].group_size;
Rajan Vajad5dd8362018-01-30 04:16:31 -08002056
HariBabu Gattem9f9db612022-09-15 22:35:11 -07002057 for (i = 0U; i < NUM_GROUPS_PER_RESP; i++) {
Ronak Jain0ac90782022-05-06 04:45:59 -07002058 if ((grps + index + i) >= end_of_grp_offset) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002059 break;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302060 }
Ronak Jain0ac90782022-05-06 04:45:59 -07002061 groups[i] = (grps + index + i);
Rajan Vajad5dd8362018-01-30 04:16:31 -08002062 }
2063
2064 return PM_RET_SUCCESS;
2065}
2066
2067/**
2068 * pm_api_pinctrl_get_pin_groups() - PM call to request first 6 pin
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302069 * groups of pin.
2070 * @pin: Pin.
2071 * @index: Index of next pin groups.
2072 * @groups: pin groups.
Rajan Vajad5dd8362018-01-30 04:16:31 -08002073 *
2074 * This function is used by master to get pin groups specified
2075 * by given pin Id. This API will return 6 pin groups with
2076 * a single response. To get other pin groups, master should call
2077 * same API in loop with new pin groups index till error is returned.
2078 *
2079 * E.g First call should have index 0 which will return pin groups
2080 * 0, 1, 2, 3, 4 and 5. Next call, index should be 6 which will return
2081 * pin groups 6, 7, 8, 9, 10 and 11 and so on.
2082 *
2083 * Return: Returns status, either success or error+reason.
Prasad Kummari7d0623a2023-06-09 14:32:00 +05302084 *
Rajan Vajad5dd8362018-01-30 04:16:31 -08002085 */
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05302086enum pm_ret_status pm_api_pinctrl_get_pin_groups(uint32_t pin,
2087 uint32_t index,
Rajan Vajad5dd8362018-01-30 04:16:31 -08002088 uint16_t *groups)
2089{
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +05302090 uint32_t i;
Rajan Vajac82ce462018-02-22 01:06:52 -08002091 uint16_t *grps;
Rajan Vajad5dd8362018-01-30 04:16:31 -08002092
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302093 if (pin >= MAX_PIN) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002094 return PM_RET_ERROR_ARGS;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302095 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08002096
Rajan Vajad5dd8362018-01-30 04:16:31 -08002097 memset(groups, END_OF_GROUPS, GROUPS_PAYLOAD_LEN);
2098
Rajan Vajac82ce462018-02-22 01:06:52 -08002099 grps = *zynqmp_pin_groups[pin].groups;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302100 if (grps == NULL) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002101 return PM_RET_SUCCESS;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302102 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08002103
Rajan Vajac82ce462018-02-22 01:06:52 -08002104 /* Skip groups till index */
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302105 for (i = 0; i < index; i++) {
2106 if (grps[i] == (uint16_t)END_OF_GROUPS) {
Rajan Vajac82ce462018-02-22 01:06:52 -08002107 return PM_RET_SUCCESS;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302108 }
2109 }
Rajan Vajac82ce462018-02-22 01:06:52 -08002110
Rajan Vajad5dd8362018-01-30 04:16:31 -08002111 for (i = 0; i < NUM_GROUPS_PER_RESP; i++) {
Rajan Vajad5dd8362018-01-30 04:16:31 -08002112 groups[i] = grps[index + i];
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302113 if (groups[i] == (uint16_t)END_OF_GROUPS) {
Rajan Vajac82ce462018-02-22 01:06:52 -08002114 break;
Venkatesh Yadav Abbarapu987fad32022-04-29 13:52:00 +05302115 }
Rajan Vajad5dd8362018-01-30 04:16:31 -08002116 }
2117
2118 return PM_RET_SUCCESS;
2119}