|  | // SPDX-License-Identifier: GPL-2.0-or-later | 
|  | /* | 
|  | * NXP S32G pinctrl driver | 
|  | * | 
|  | * Copyright 2015-2016 Freescale Semiconductor, Inc. | 
|  | * Copyright 2017-2018, 2020-2022 NXP | 
|  | * Copyright (C) 2022 SUSE LLC | 
|  | */ | 
|  |  | 
|  | #include <linux/err.h> | 
|  | #include <linux/init.h> | 
|  | #include <linux/io.h> | 
|  | #include <linux/module.h> | 
|  | #include <linux/of.h> | 
|  | #include <linux/platform_device.h> | 
|  | #include <linux/pinctrl/pinctrl.h> | 
|  |  | 
|  | #include "pinctrl-s32.h" | 
|  |  | 
|  | enum s32_pins { | 
|  | S32G_MSCR_PA_00 =  0, | 
|  | S32G_MSCR_PA_01 =  1, | 
|  | S32G_MSCR_PA_02 =  2, | 
|  | S32G_MSCR_PA_03 =  3, | 
|  | S32G_MSCR_PA_04 =  4, | 
|  | S32G_MSCR_PA_05 =  5, | 
|  | S32G_MSCR_PA_06 =  6, | 
|  | S32G_MSCR_PA_07 =  7, | 
|  | S32G_MSCR_PA_08 =  8, | 
|  | S32G_MSCR_PA_09 =  9, | 
|  | S32G_MSCR_PA_10 =  10, | 
|  | S32G_MSCR_PA_11 =  11, | 
|  | S32G_MSCR_PA_12 =  12, | 
|  | S32G_MSCR_PA_13 =  13, | 
|  | S32G_MSCR_PA_14 =  14, | 
|  | S32G_MSCR_PA_15 =  15, | 
|  | S32G_MSCR_PB_00 =  16, | 
|  | S32G_MSCR_PB_01 =  17, | 
|  | S32G_MSCR_PB_02 =  18, | 
|  | S32G_MSCR_PB_03 =  19, | 
|  | S32G_MSCR_PB_04 =  20, | 
|  | S32G_MSCR_PB_05 =  21, | 
|  | S32G_MSCR_PB_06 =  22, | 
|  | S32G_MSCR_PB_07 =  23, | 
|  | S32G_MSCR_PB_08 =  24, | 
|  | S32G_MSCR_PB_09 =  25, | 
|  | S32G_MSCR_PB_10 =  26, | 
|  | S32G_MSCR_PB_11 =  27, | 
|  | S32G_MSCR_PB_12 =  28, | 
|  | S32G_MSCR_PB_13 =  29, | 
|  | S32G_MSCR_PB_14 =  30, | 
|  | S32G_MSCR_PB_15 =  31, | 
|  | S32G_MSCR_PC_00 =  32, | 
|  | S32G_MSCR_PC_01 =  33, | 
|  | S32G_MSCR_PC_02 =  34, | 
|  | S32G_MSCR_PC_03 =  35, | 
|  | S32G_MSCR_PC_04 =  36, | 
|  | S32G_MSCR_PC_05 =  37, | 
|  | S32G_MSCR_PC_06 =  38, | 
|  | S32G_MSCR_PC_07 =  39, | 
|  | S32G_MSCR_PC_08 =  40, | 
|  | S32G_MSCR_PC_09 =  41, | 
|  | S32G_MSCR_PC_10 =  42, | 
|  | S32G_MSCR_PC_11 =  43, | 
|  | S32G_MSCR_PC_12 =  44, | 
|  | S32G_MSCR_PC_13 =  45, | 
|  | S32G_MSCR_PC_14 =  46, | 
|  | S32G_MSCR_PC_15 =  47, | 
|  | S32G_MSCR_PD_00 =  48, | 
|  | S32G_MSCR_PD_01 =  49, | 
|  | S32G_MSCR_PD_02 =  50, | 
|  | S32G_MSCR_PD_03 =  51, | 
|  | S32G_MSCR_PD_04 =  52, | 
|  | S32G_MSCR_PD_05 =  53, | 
|  | S32G_MSCR_PD_06 =  54, | 
|  | S32G_MSCR_PD_07 =  55, | 
|  | S32G_MSCR_PD_08 =  56, | 
|  | S32G_MSCR_PD_09 =  57, | 
|  | S32G_MSCR_PD_10 =  58, | 
|  | S32G_MSCR_PD_11 =  59, | 
|  | S32G_MSCR_PD_12 =  60, | 
|  | S32G_MSCR_PD_13 =  61, | 
|  | S32G_MSCR_PD_14 =  62, | 
|  | S32G_MSCR_PD_15 =  63, | 
|  | S32G_MSCR_PE_00 =  64, | 
|  | S32G_MSCR_PE_01 =  65, | 
|  | S32G_MSCR_PE_02 =  66, | 
|  | S32G_MSCR_PE_03 =  67, | 
|  | S32G_MSCR_PE_04 =  68, | 
|  | S32G_MSCR_PE_05 =  69, | 
|  | S32G_MSCR_PE_06 =  70, | 
|  | S32G_MSCR_PE_07 =  71, | 
|  | S32G_MSCR_PE_08 =  72, | 
|  | S32G_MSCR_PE_09 =  73, | 
|  | S32G_MSCR_PE_10 =  74, | 
|  | S32G_MSCR_PE_11 =  75, | 
|  | S32G_MSCR_PE_12 =  76, | 
|  | S32G_MSCR_PE_13 =  77, | 
|  | S32G_MSCR_PE_14 =  78, | 
|  | S32G_MSCR_PE_15 =  79, | 
|  | S32G_MSCR_PF_00 =  80, | 
|  | S32G_MSCR_PF_01 =  81, | 
|  | S32G_MSCR_PF_02 =  82, | 
|  | S32G_MSCR_PF_03 =  83, | 
|  | S32G_MSCR_PF_04 =  84, | 
|  | S32G_MSCR_PF_05 =  85, | 
|  | S32G_MSCR_PF_06 =  86, | 
|  | S32G_MSCR_PF_07 =  87, | 
|  | S32G_MSCR_PF_08 =  88, | 
|  | S32G_MSCR_PF_09 =  89, | 
|  | S32G_MSCR_PF_10 =  90, | 
|  | S32G_MSCR_PF_11 =  91, | 
|  | S32G_MSCR_PF_12 =  92, | 
|  | S32G_MSCR_PF_13 =  93, | 
|  | S32G_MSCR_PF_14 =  94, | 
|  | S32G_MSCR_PF_15 =  95, | 
|  | S32G_MSCR_PG_00 =  96, | 
|  | S32G_MSCR_PG_01 =  97, | 
|  | S32G_MSCR_PG_02 =  98, | 
|  | S32G_MSCR_PG_03 =  99, | 
|  | S32G_MSCR_PG_04 =  100, | 
|  | S32G_MSCR_PG_05 =  101, | 
|  | S32G_MSCR_PH_00 =  112, | 
|  | S32G_MSCR_PH_01 =  113, | 
|  | S32G_MSCR_PH_02 =  114, | 
|  | S32G_MSCR_PH_03 =  115, | 
|  | S32G_MSCR_PH_04 =  116, | 
|  | S32G_MSCR_PH_05 =  117, | 
|  | S32G_MSCR_PH_06 =  118, | 
|  | S32G_MSCR_PH_07 =  119, | 
|  | S32G_MSCR_PH_08 =  120, | 
|  | S32G_MSCR_PH_09 =  121, | 
|  | S32G_MSCR_PH_10 =  122, | 
|  | S32G_MSCR_PJ_00 =  144, | 
|  | S32G_MSCR_PJ_01 =  145, | 
|  | S32G_MSCR_PJ_02 =  146, | 
|  | S32G_MSCR_PJ_03 =  147, | 
|  | S32G_MSCR_PJ_04 =  148, | 
|  | S32G_MSCR_PJ_05 =  149, | 
|  | S32G_MSCR_PJ_06 =  150, | 
|  | S32G_MSCR_PJ_07 =  151, | 
|  | S32G_MSCR_PJ_08 =  152, | 
|  | S32G_MSCR_PJ_09 =  153, | 
|  | S32G_MSCR_PJ_10 =  154, | 
|  | S32G_MSCR_PJ_11 =  155, | 
|  | S32G_MSCR_PJ_12 =  156, | 
|  | S32G_MSCR_PJ_13 =  157, | 
|  | S32G_MSCR_PJ_14 =  158, | 
|  | S32G_MSCR_PJ_15 =  159, | 
|  | S32G_MSCR_PK_00 =  160, | 
|  | S32G_MSCR_PK_01 =  161, | 
|  | S32G_MSCR_PK_02 =  162, | 
|  | S32G_MSCR_PK_03 =  163, | 
|  | S32G_MSCR_PK_04 =  164, | 
|  | S32G_MSCR_PK_05 =  165, | 
|  | S32G_MSCR_PK_06 =  166, | 
|  | S32G_MSCR_PK_07 =  167, | 
|  | S32G_MSCR_PK_08 =  168, | 
|  | S32G_MSCR_PK_09 =  169, | 
|  | S32G_MSCR_PK_10 =  170, | 
|  | S32G_MSCR_PK_11 =  171, | 
|  | S32G_MSCR_PK_12 =  172, | 
|  | S32G_MSCR_PK_13 =  173, | 
|  | S32G_MSCR_PK_14 =  174, | 
|  | S32G_MSCR_PK_15 =  175, | 
|  | S32G_MSCR_PL_00 =  176, | 
|  | S32G_MSCR_PL_01 =  177, | 
|  | S32G_MSCR_PL_02 =  178, | 
|  | S32G_MSCR_PL_03 =  179, | 
|  | S32G_MSCR_PL_04 =  180, | 
|  | S32G_MSCR_PL_05 =  181, | 
|  | S32G_MSCR_PL_06 =  182, | 
|  | S32G_MSCR_PL_07 =  183, | 
|  | S32G_MSCR_PL_08 =  184, | 
|  | S32G_MSCR_PL_09 =  185, | 
|  | S32G_MSCR_PL_10 =  186, | 
|  | S32G_MSCR_PL_11 =  187, | 
|  | S32G_MSCR_PL_12 =  188, | 
|  | S32G_MSCR_PL_13 =  189, | 
|  | S32G_MSCR_PL_14 =  190, | 
|  |  | 
|  | S32G_IMCR_QSPI_A_DATA0 = 540, | 
|  | S32G_IMCR_QSPI_A_DATA1 = 541, | 
|  | S32G_IMCR_QSPI_A_DATA2 = 542, | 
|  | S32G_IMCR_QSPI_A_DATA3 = 543, | 
|  | S32G_IMCR_QSPI_A_DATA4 = 544, | 
|  | S32G_IMCR_QSPI_A_DATA5 = 545, | 
|  | S32G_IMCR_QSPI_A_DATA6 = 546, | 
|  | S32G_IMCR_QSPI_A_DATA7 = 547, | 
|  | S32G_IMCR_QSPI_DQS_A = 548, | 
|  | S32G_IMCR_QSPI_B_DATA0 = 552, | 
|  | S32G_IMCR_QSPI_B_DATA1 = 554, | 
|  | S32G_IMCR_QSPI_B_DATA2 = 551, | 
|  | S32G_IMCR_QSPI_B_DATA3 = 553, | 
|  | S32G_IMCR_QSPI_B_DATA4 = 557, | 
|  | S32G_IMCR_QSPI_B_DATA5 = 550, | 
|  | S32G_IMCR_QSPI_B_DATA6 = 556, | 
|  | S32G_IMCR_QSPI_B_DATA7 = 555, | 
|  | S32G_IMCR_QSPI_DQS_B = 558, | 
|  | S32G_IMCR_BOOT_BOOTMOD0 = 560, | 
|  | S32G_IMCR_BOOT_BOOTMOD1 = 561, | 
|  | S32G_IMCR_I2C0_SCL = 566, | 
|  | S32G_IMCR_I2C0_SDA = 565, | 
|  | S32G_IMCR_LIN0_RX = 512, | 
|  | S32G_IMCR_USDHC_CMD = 515, | 
|  | S32G_IMCR_USDHC_DAT0 = 516, | 
|  | S32G_IMCR_USDHC_DAT1 = 517, | 
|  | S32G_IMCR_USDHC_DAT2 = 520, | 
|  | S32G_IMCR_USDHC_DAT3 = 521, | 
|  | S32G_IMCR_USDHC_DAT4 = 522, | 
|  | S32G_IMCR_USDHC_DAT5 = 523, | 
|  | S32G_IMCR_USDHC_DAT6 = 519, | 
|  | S32G_IMCR_USDHC_DAT7 = 518, | 
|  | S32G_IMCR_USDHC_DQS = 524, | 
|  | S32G_IMCR_CAN0_RXD = 513, | 
|  | S32G_IMCR_CAN1_RXD = 631, | 
|  | S32G_IMCR_CAN2_RXD = 632, | 
|  | S32G_IMCR_CAN3_RXD = 633, | 
|  | /* GMAC0 */ | 
|  | S32G_IMCR_Ethernet_MDIO = 527, | 
|  | S32G_IMCR_Ethernet_CRS = 526, | 
|  | S32G_IMCR_Ethernet_COL = 525, | 
|  | S32G_IMCR_Ethernet_RX_D0 = 531, | 
|  | S32G_IMCR_Ethernet_RX_D1 = 532, | 
|  | S32G_IMCR_Ethernet_RX_D2 = 533, | 
|  | S32G_IMCR_Ethernet_RX_D3 = 534, | 
|  | S32G_IMCR_Ethernet_RX_ER = 528, | 
|  | S32G_IMCR_Ethernet_RX_CLK = 529, | 
|  | S32G_IMCR_Ethernet_RX_DV = 530, | 
|  | S32G_IMCR_Ethernet_TX_CLK = 538, | 
|  | S32G_IMCR_Ethernet_REF_CLK = 535, | 
|  | /* PFE EMAC 0 MII */ | 
|  | /* PFE EMAC 1 MII */ | 
|  | S32G_IMCR_PFE_EMAC_1_MDIO = 857, | 
|  | S32G_IMCR_PFE_EMAC_1_CRS = 856, | 
|  | S32G_IMCR_PFE_EMAC_1_COL = 855, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_D0 = 861, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_D1 = 862, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_D2 = 863, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_D3 = 864, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_ER = 860, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_CLK = 859, | 
|  | S32G_IMCR_PFE_EMAC_1_RX_DV = 865, | 
|  | S32G_IMCR_PFE_EMAC_1_TX_CLK = 866, | 
|  | S32G_IMCR_PFE_EMAC_1_REF_CLK = 858, | 
|  | /* PFE EMAC 2 MII */ | 
|  | S32G_IMCR_PFE_EMAC_2_MDIO = 877, | 
|  | S32G_IMCR_PFE_EMAC_2_CRS = 876, | 
|  | S32G_IMCR_PFE_EMAC_2_COL = 875, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_D0 = 881, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_D1 = 882, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_D2 = 883, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_D3 = 884, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_ER = 880, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_CLK = 879, | 
|  | S32G_IMCR_PFE_EMAC_2_RX_DV = 885, | 
|  | S32G_IMCR_PFE_EMAC_2_TX_CLK = 886, | 
|  | S32G_IMCR_PFE_EMAC_2_REF_CLK = 878, | 
|  |  | 
|  | S32G_IMCR_FlexRay0_A_RX = 785, | 
|  | S32G_IMCR_FlexRay0_B_RX = 786, | 
|  | S32G_IMCR_FlexTimer0_CH0 = 655, | 
|  | S32G_IMCR_FlexTimer1_CH0 = 665, | 
|  | S32G_IMCR_FlexTimer0_CH1 = 656, | 
|  | S32G_IMCR_FlexTimer1_CH1 = 666, | 
|  | S32G_IMCR_FlexTimer0_CH2 = 657, | 
|  | S32G_IMCR_FlexTimer1_CH2 = 667, | 
|  | S32G_IMCR_FlexTimer0_CH3 = 658, | 
|  | S32G_IMCR_FlexTimer1_CH3 = 668, | 
|  | S32G_IMCR_FlexTimer0_CH4 = 659, | 
|  | S32G_IMCR_FlexTimer1_CH4 = 669, | 
|  | S32G_IMCR_FlexTimer0_CH5 = 660, | 
|  | S32G_IMCR_FlexTimer1_CH5 = 670, | 
|  | S32G_IMCR_FlexTimer0_EXTCLK = 661, | 
|  | S32G_IMCR_FlexTimer1_EXTCLK = 671, | 
|  | S32G_IMCR_I2C1_SCL = 717, | 
|  | S32G_IMCR_I2C1_SDA = 718, | 
|  | S32G_IMCR_I2C2_SCL = 719, | 
|  | S32G_IMCR_I2C2_SDA = 720, | 
|  | S32G_IMCR_I2C3_SCL = 721, | 
|  | S32G_IMCR_I2C3_SDA = 722, | 
|  | S32G_IMCR_I2C4_SCL = 723, | 
|  | S32G_IMCR_I2C4_SDA = 724, | 
|  | S32G_IMCR_LIN1_RX = 736, | 
|  | S32G_IMCR_LIN2_RX = 737, | 
|  | S32G_IMCR_DSPI0_PCS0 = 980, | 
|  | S32G_IMCR_DSPI0_SCK = 981, | 
|  | S32G_IMCR_DSPI0_SIN = 982, | 
|  | S32G_IMCR_DSPI1_PCS0 = 985, | 
|  | S32G_IMCR_DSPI1_SCK = 986, | 
|  | S32G_IMCR_DSPI1_SIN = 987, | 
|  | S32G_IMCR_DSPI2_PCS0 = 990, | 
|  | S32G_IMCR_DSPI2_SCK = 991, | 
|  | S32G_IMCR_DSPI2_SIN = 992, | 
|  | S32G_IMCR_DSPI3_PCS0 = 995, | 
|  | S32G_IMCR_DSPI3_SCK = 996, | 
|  | S32G_IMCR_DSPI3_SIN = 997, | 
|  | S32G_IMCR_DSPI4_PCS0 = 1000, | 
|  | S32G_IMCR_DSPI4_SCK = 1001, | 
|  | S32G_IMCR_DSPI4_SIN = 1002, | 
|  | S32G_IMCR_DSPI5_PCS0 = 1005, | 
|  | S32G_IMCR_DSPI5_SCK = 1006, | 
|  | S32G_IMCR_DSPI5_SIN = 1007, | 
|  | S32G_IMCR_LLCE_CAN0_RXD = 745, | 
|  | S32G_IMCR_LLCE_CAN1_RXD = 746, | 
|  | S32G_IMCR_LLCE_CAN2_RXD = 747, | 
|  | S32G_IMCR_LLCE_CAN3_RXD = 748, | 
|  | S32G_IMCR_LLCE_CAN4_RXD = 749, | 
|  | S32G_IMCR_LLCE_CAN5_RXD = 750, | 
|  | S32G_IMCR_LLCE_CAN6_RXD = 751, | 
|  | S32G_IMCR_LLCE_CAN7_RXD = 752, | 
|  | S32G_IMCR_LLCE_CAN8_RXD = 753, | 
|  | S32G_IMCR_LLCE_CAN9_RXD = 754, | 
|  | S32G_IMCR_LLCE_CAN10_RXD = 755, | 
|  | S32G_IMCR_LLCE_CAN11_RXD = 756, | 
|  | S32G_IMCR_LLCE_CAN12_RXD = 757, | 
|  | S32G_IMCR_LLCE_CAN13_RXD = 758, | 
|  | S32G_IMCR_LLCE_CAN14_RXD = 759, | 
|  | S32G_IMCR_LLCE_CAN15_RXD = 760, | 
|  | S32G_IMCR_USB_CLK = 895, | 
|  | S32G_IMCR_USB_DATA0 = 896, | 
|  | S32G_IMCR_USB_DATA1 = 897, | 
|  | S32G_IMCR_USB_DATA2 = 898, | 
|  | S32G_IMCR_USB_DATA3 = 899, | 
|  | S32G_IMCR_USB_DATA4 = 900, | 
|  | S32G_IMCR_USB_DATA5 = 901, | 
|  | S32G_IMCR_USB_DATA6 = 902, | 
|  | S32G_IMCR_USB_DATA7 = 903, | 
|  | S32G_IMCR_USB_DIR = 904, | 
|  | S32G_IMCR_USB_NXT = 905, | 
|  |  | 
|  | S32G_IMCR_SIUL_EIRQ0 =  910, | 
|  | S32G_IMCR_SIUL_EIRQ1 =  911, | 
|  | S32G_IMCR_SIUL_EIRQ2 =  912, | 
|  | S32G_IMCR_SIUL_EIRQ3 =  913, | 
|  | S32G_IMCR_SIUL_EIRQ4 =  914, | 
|  | S32G_IMCR_SIUL_EIRQ5 =  915, | 
|  | S32G_IMCR_SIUL_EIRQ6 =  916, | 
|  | S32G_IMCR_SIUL_EIRQ7 =  917, | 
|  | S32G_IMCR_SIUL_EIRQ8 =  918, | 
|  | S32G_IMCR_SIUL_EIRQ9 =  919, | 
|  | S32G_IMCR_SIUL_EIRQ10 =  920, | 
|  | S32G_IMCR_SIUL_EIRQ11 =  921, | 
|  | S32G_IMCR_SIUL_EIRQ12 =  922, | 
|  | S32G_IMCR_SIUL_EIRQ13 =  923, | 
|  | S32G_IMCR_SIUL_EIRQ14 =  924, | 
|  | S32G_IMCR_SIUL_EIRQ15 =  925, | 
|  | S32G_IMCR_SIUL_EIRQ16 =  926, | 
|  | S32G_IMCR_SIUL_EIRQ17 =  927, | 
|  | S32G_IMCR_SIUL_EIRQ18 =  928, | 
|  | S32G_IMCR_SIUL_EIRQ19 =  929, | 
|  | S32G_IMCR_SIUL_EIRQ20 =  930, | 
|  | S32G_IMCR_SIUL_EIRQ21 =  931, | 
|  | S32G_IMCR_SIUL_EIRQ22 =  932, | 
|  | S32G_IMCR_SIUL_EIRQ23 =  933, | 
|  | S32G_IMCR_SIUL_EIRQ24 =  934, | 
|  | S32G_IMCR_SIUL_EIRQ25 =  935, | 
|  | S32G_IMCR_SIUL_EIRQ26 =  936, | 
|  | S32G_IMCR_SIUL_EIRQ27 =  937, | 
|  | S32G_IMCR_SIUL_EIRQ28 =  938, | 
|  | S32G_IMCR_SIUL_EIRQ29 =  939, | 
|  | S32G_IMCR_SIUL_EIRQ30 =  940, | 
|  | S32G_IMCR_SIUL_EIRQ31 =  941, | 
|  | }; | 
|  |  | 
|  | /* Pad names for the pinmux subsystem */ | 
|  | static const struct pinctrl_pin_desc s32_pinctrl_pads_siul2[] = { | 
|  |  | 
|  | /* SIUL2_0 pins. */ | 
|  |  | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PA_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PB_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PC_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PD_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PE_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PF_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PG_05), | 
|  |  | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA6), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA7), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_DQS_A), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA6), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA7), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_QSPI_DQS_B), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C0_SCL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C0_SDA), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LIN0_RX), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_CMD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT6), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT7), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USDHC_DQS), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_CAN0_RXD), | 
|  | /* GMAC0 */ | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_MDIO), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_CRS), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_COL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_ER), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_DV), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_TX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_Ethernet_REF_CLK), | 
|  |  | 
|  | /* SIUL2_1 pins. */ | 
|  |  | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PH_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PJ_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_14), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PK_15), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_00), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_01), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_02), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_03), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_04), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_05), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_06), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_07), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_08), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_09), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_10), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_11), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_12), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_13), | 
|  | S32_PINCTRL_PIN(S32G_MSCR_PL_14), | 
|  |  | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexRay0_A_RX), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexRay0_B_RX), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_EXTCLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_EXTCLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C1_SCL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C1_SDA), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C2_SCL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C2_SDA), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C3_SCL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C3_SDA), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C4_SCL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_I2C4_SDA), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LIN1_RX), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LIN2_RX), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI0_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI0_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI0_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI1_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI1_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI1_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI2_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI2_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI2_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI3_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI3_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI3_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI4_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI4_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI4_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI5_PCS0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI5_SCK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_DSPI5_SIN), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN0_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN1_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN2_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN3_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN4_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN5_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN6_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN7_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN8_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN9_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN10_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN11_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN12_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN13_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN14_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN15_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_CAN1_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_CAN2_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_CAN3_RXD), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA6), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DATA7), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_DIR), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_USB_NXT), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_MDIO), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_CRS), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_COL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_ER), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_DV), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_TX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_REF_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_MDIO), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_CRS), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_COL), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_ER), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_DV), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_TX_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_REF_CLK), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ0), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ1), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ2), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ3), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ4), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ5), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ6), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ7), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ8), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ9), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ10), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ11), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ12), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ13), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ14), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ15), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ16), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ17), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ18), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ19), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ20), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ21), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ22), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ23), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ24), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ25), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ26), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ27), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ28), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ29), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ30), | 
|  | S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ31), | 
|  | }; | 
|  |  | 
|  | static const struct s32_pin_range s32_pin_ranges_siul2[] = { | 
|  | /* MSCR pin ID ranges */ | 
|  | S32_PIN_RANGE(0, 101), | 
|  | S32_PIN_RANGE(112, 122), | 
|  | S32_PIN_RANGE(144, 190), | 
|  | /* IMCR pin ID ranges */ | 
|  | S32_PIN_RANGE(512, 595), | 
|  | S32_PIN_RANGE(631, 909), | 
|  | S32_PIN_RANGE(942, 1007), | 
|  | }; | 
|  |  | 
|  | static const struct s32_pinctrl_soc_data s32_pinctrl_data = { | 
|  | .pins = s32_pinctrl_pads_siul2, | 
|  | .npins = ARRAY_SIZE(s32_pinctrl_pads_siul2), | 
|  | .mem_pin_ranges = s32_pin_ranges_siul2, | 
|  | .mem_regions = ARRAY_SIZE(s32_pin_ranges_siul2), | 
|  | }; | 
|  |  | 
|  | static const struct of_device_id s32_pinctrl_of_match[] = { | 
|  | { | 
|  | .compatible = "nxp,s32g2-siul2-pinctrl", | 
|  | .data = &s32_pinctrl_data, | 
|  | }, | 
|  | { /* sentinel */ } | 
|  | }; | 
|  | MODULE_DEVICE_TABLE(of, s32_pinctrl_of_match); | 
|  |  | 
|  | static int s32g_pinctrl_probe(struct platform_device *pdev) | 
|  | { | 
|  | const struct s32_pinctrl_soc_data *soc_data; | 
|  |  | 
|  | soc_data = of_device_get_match_data(&pdev->dev); | 
|  |  | 
|  | return s32_pinctrl_probe(pdev, soc_data); | 
|  | } | 
|  |  | 
|  | static const struct dev_pm_ops s32g_pinctrl_pm_ops = { | 
|  | LATE_SYSTEM_SLEEP_PM_OPS(s32_pinctrl_suspend, s32_pinctrl_resume) | 
|  | }; | 
|  |  | 
|  | static struct platform_driver s32g_pinctrl_driver = { | 
|  | .driver = { | 
|  | .name = "s32g-siul2-pinctrl", | 
|  | .of_match_table = s32_pinctrl_of_match, | 
|  | .pm = pm_sleep_ptr(&s32g_pinctrl_pm_ops), | 
|  | .suppress_bind_attrs = true, | 
|  | }, | 
|  | .probe = s32g_pinctrl_probe, | 
|  | }; | 
|  | builtin_platform_driver(s32g_pinctrl_driver); | 
|  |  | 
|  | MODULE_AUTHOR("Matthew Nunez <matthew.nunez@nxp.com>"); | 
|  | MODULE_DESCRIPTION("NXP S32G pinctrl driver"); | 
|  | MODULE_LICENSE("GPL"); |