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