// 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 ,
/* JTAG IMCRs */
S32G_IMCR_JTAG_TMS = 562 ,
S32G_IMCR_JTAG_TCK = 572 ,
S32G_IMCR_JTAG_TDI = 573 ,
/* 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 */
S32G_IMCR_PFE_EMAC_0_MDIO = 837 ,
S32G_IMCR_PFE_EMAC_0_CRS = 836 ,
S32G_IMCR_PFE_EMAC_0_COL = 835 ,
S32G_IMCR_PFE_EMAC_0_RX_D0 = 841 ,
S32G_IMCR_PFE_EMAC_0_RX_D1 = 842 ,
S32G_IMCR_PFE_EMAC_0_RX_D2 = 843 ,
S32G_IMCR_PFE_EMAC_0_RX_D3 = 844 ,
S32G_IMCR_PFE_EMAC_0_RX_ER = 840 ,
S32G_IMCR_PFE_EMAC_0_RX_CLK = 839 ,
S32G_IMCR_PFE_EMAC_0_RX_DV = 845 ,
S32G_IMCR_PFE_EMAC_0_TX_CLK = 846 ,
S32G_IMCR_PFE_EMAC_0_REF_CLK = 838 ,
/* 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_LLCE_UART0_RXD = 790 ,
S32G_IMCR_LLCE_UART1_RXD = 791 ,
S32G_IMCR_LLCE_UART2_RXD = 792 ,
S32G_IMCR_LLCE_UART3_RXD = 793 ,
S32G_IMCR_LLCE_LPSPI2_PCS0 = 811 ,
S32G_IMCR_LLCE_LPSPI2_SCK = 816 ,
S32G_IMCR_LLCE_LPSPI2_SIN = 817 ,
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),
/* JTAG IMCRs */
S32_PINCTRL_PIN(S32G_IMCR_JTAG_TMS),
S32_PINCTRL_PIN(S32G_IMCR_JTAG_TCK),
S32_PINCTRL_PIN(S32G_IMCR_JTAG_TDI),
/* 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_LLCE_UART0_RXD),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_UART1_RXD),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_UART2_RXD),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_UART3_RXD),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_LPSPI2_PCS0),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_LPSPI2_SCK),
S32_PINCTRL_PIN(S32G_IMCR_LLCE_LPSPI2_SIN),
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_0_MDIO),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_CRS),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_COL),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_D0),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_D1),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_D2),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_D3),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_ER),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_CLK),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_RX_DV),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_TX_CLK),
S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_0_REF_CLK),
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" );
Messung V0.5 in Prozent C=99 H=98 G=98
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland