// SPDX-License-Identifier: GPL-2.0+
//
// imx53 pinctrl driver based on imx pinmux core
//
// Copyright (C) 2012 Freescale Semiconductor, Inc.
// Copyright (C) 2012 Linaro, Inc.
//
// Author: Dong Aisheng <dong.aisheng@linaro.org>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>
#include "pinctrl-imx.h"
enum imx53_pads {
MX53_PAD_RESERVE0 = 0 ,
MX53_PAD_RESERVE1 = 1 ,
MX53_PAD_RESERVE2 = 2 ,
MX53_PAD_RESERVE3 = 3 ,
MX53_PAD_RESERVE4 = 4 ,
MX53_PAD_RESERVE5 = 5 ,
MX53_PAD_RESERVE6 = 6 ,
MX53_PAD_RESERVE7 = 7 ,
MX53_PAD_GPIO_19 = 8 ,
MX53_PAD_KEY_COL0 = 9 ,
MX53_PAD_KEY_ROW0 = 10 ,
MX53_PAD_KEY_COL1 = 11 ,
MX53_PAD_KEY_ROW1 = 12 ,
MX53_PAD_KEY_COL2 = 13 ,
MX53_PAD_KEY_ROW2 = 14 ,
MX53_PAD_KEY_COL3 = 15 ,
MX53_PAD_KEY_ROW3 = 16 ,
MX53_PAD_KEY_COL4 = 17 ,
MX53_PAD_KEY_ROW4 = 18 ,
MX53_PAD_DI0_DISP_CLK = 19 ,
MX53_PAD_DI0_PIN15 = 20 ,
MX53_PAD_DI0_PIN2 = 21 ,
MX53_PAD_DI0_PIN3 = 22 ,
MX53_PAD_DI0_PIN4 = 23 ,
MX53_PAD_DISP0_DAT0 = 24 ,
MX53_PAD_DISP0_DAT1 = 25 ,
MX53_PAD_DISP0_DAT2 = 26 ,
MX53_PAD_DISP0_DAT3 = 27 ,
MX53_PAD_DISP0_DAT4 = 28 ,
MX53_PAD_DISP0_DAT5 = 29 ,
MX53_PAD_DISP0_DAT6 = 30 ,
MX53_PAD_DISP0_DAT7 = 31 ,
MX53_PAD_DISP0_DAT8 = 32 ,
MX53_PAD_DISP0_DAT9 = 33 ,
MX53_PAD_DISP0_DAT10 = 34 ,
MX53_PAD_DISP0_DAT11 = 35 ,
MX53_PAD_DISP0_DAT12 = 36 ,
MX53_PAD_DISP0_DAT13 = 37 ,
MX53_PAD_DISP0_DAT14 = 38 ,
MX53_PAD_DISP0_DAT15 = 39 ,
MX53_PAD_DISP0_DAT16 = 40 ,
MX53_PAD_DISP0_DAT17 = 41 ,
MX53_PAD_DISP0_DAT18 = 42 ,
MX53_PAD_DISP0_DAT19 = 43 ,
MX53_PAD_DISP0_DAT20 = 44 ,
MX53_PAD_DISP0_DAT21 = 45 ,
MX53_PAD_DISP0_DAT22 = 46 ,
MX53_PAD_DISP0_DAT23 = 47 ,
MX53_PAD_CSI0_PIXCLK = 48 ,
MX53_PAD_CSI0_MCLK = 49 ,
MX53_PAD_CSI0_DATA_EN = 50 ,
MX53_PAD_CSI0_VSYNC = 51 ,
MX53_PAD_CSI0_DAT4 = 52 ,
MX53_PAD_CSI0_DAT5 = 53 ,
MX53_PAD_CSI0_DAT6 = 54 ,
MX53_PAD_CSI0_DAT7 = 55 ,
MX53_PAD_CSI0_DAT8 = 56 ,
MX53_PAD_CSI0_DAT9 = 57 ,
MX53_PAD_CSI0_DAT10 = 58 ,
MX53_PAD_CSI0_DAT11 = 59 ,
MX53_PAD_CSI0_DAT12 = 60 ,
MX53_PAD_CSI0_DAT13 = 61 ,
MX53_PAD_CSI0_DAT14 = 62 ,
MX53_PAD_CSI0_DAT15 = 63 ,
MX53_PAD_CSI0_DAT16 = 64 ,
MX53_PAD_CSI0_DAT17 = 65 ,
MX53_PAD_CSI0_DAT18 = 66 ,
MX53_PAD_CSI0_DAT19 = 67 ,
MX53_PAD_EIM_A25 = 68 ,
MX53_PAD_EIM_EB2 = 69 ,
MX53_PAD_EIM_D16 = 70 ,
MX53_PAD_EIM_D17 = 71 ,
MX53_PAD_EIM_D18 = 72 ,
MX53_PAD_EIM_D19 = 73 ,
MX53_PAD_EIM_D20 = 74 ,
MX53_PAD_EIM_D21 = 75 ,
MX53_PAD_EIM_D22 = 76 ,
MX53_PAD_EIM_D23 = 77 ,
MX53_PAD_EIM_EB3 = 78 ,
MX53_PAD_EIM_D24 = 79 ,
MX53_PAD_EIM_D25 = 80 ,
MX53_PAD_EIM_D26 = 81 ,
MX53_PAD_EIM_D27 = 82 ,
MX53_PAD_EIM_D28 = 83 ,
MX53_PAD_EIM_D29 = 84 ,
MX53_PAD_EIM_D30 = 85 ,
MX53_PAD_EIM_D31 = 86 ,
MX53_PAD_EIM_A24 = 87 ,
MX53_PAD_EIM_A23 = 88 ,
MX53_PAD_EIM_A22 = 89 ,
MX53_PAD_EIM_A21 = 90 ,
MX53_PAD_EIM_A20 = 91 ,
MX53_PAD_EIM_A19 = 92 ,
MX53_PAD_EIM_A18 = 93 ,
MX53_PAD_EIM_A17 = 94 ,
MX53_PAD_EIM_A16 = 95 ,
MX53_PAD_EIM_CS0 = 96 ,
MX53_PAD_EIM_CS1 = 97 ,
MX53_PAD_EIM_OE = 98 ,
MX53_PAD_EIM_RW = 99 ,
MX53_PAD_EIM_LBA = 100 ,
MX53_PAD_EIM_EB0 = 101 ,
MX53_PAD_EIM_EB1 = 102 ,
MX53_PAD_EIM_DA0 = 103 ,
MX53_PAD_EIM_DA1 = 104 ,
MX53_PAD_EIM_DA2 = 105 ,
MX53_PAD_EIM_DA3 = 106 ,
MX53_PAD_EIM_DA4 = 107 ,
MX53_PAD_EIM_DA5 = 108 ,
MX53_PAD_EIM_DA6 = 109 ,
MX53_PAD_EIM_DA7 = 110 ,
MX53_PAD_EIM_DA8 = 111 ,
MX53_PAD_EIM_DA9 = 112 ,
MX53_PAD_EIM_DA10 = 113 ,
MX53_PAD_EIM_DA11 = 114 ,
MX53_PAD_EIM_DA12 = 115 ,
MX53_PAD_EIM_DA13 = 116 ,
MX53_PAD_EIM_DA14 = 117 ,
MX53_PAD_EIM_DA15 = 118 ,
MX53_PAD_NANDF_WE_B = 119 ,
MX53_PAD_NANDF_RE_B = 120 ,
MX53_PAD_EIM_WAIT = 121 ,
MX53_PAD_RESERVE8 = 122 ,
MX53_PAD_LVDS1_TX3_P = 123 ,
MX53_PAD_LVDS1_TX2_P = 124 ,
MX53_PAD_LVDS1_CLK_P = 125 ,
MX53_PAD_LVDS1_TX1_P = 126 ,
MX53_PAD_LVDS1_TX0_P = 127 ,
MX53_PAD_LVDS0_TX3_P = 128 ,
MX53_PAD_LVDS0_CLK_P = 129 ,
MX53_PAD_LVDS0_TX2_P = 130 ,
MX53_PAD_LVDS0_TX1_P = 131 ,
MX53_PAD_LVDS0_TX0_P = 132 ,
MX53_PAD_GPIO_10 = 133 ,
MX53_PAD_GPIO_11 = 134 ,
MX53_PAD_GPIO_12 = 135 ,
MX53_PAD_GPIO_13 = 136 ,
MX53_PAD_GPIO_14 = 137 ,
MX53_PAD_NANDF_CLE = 138 ,
MX53_PAD_NANDF_ALE = 139 ,
MX53_PAD_NANDF_WP_B = 140 ,
MX53_PAD_NANDF_RB0 = 141 ,
MX53_PAD_NANDF_CS0 = 142 ,
MX53_PAD_NANDF_CS1 = 143 ,
MX53_PAD_NANDF_CS2 = 144 ,
MX53_PAD_NANDF_CS3 = 145 ,
MX53_PAD_FEC_MDIO = 146 ,
MX53_PAD_FEC_REF_CLK = 147 ,
MX53_PAD_FEC_RX_ER = 148 ,
MX53_PAD_FEC_CRS_DV = 149 ,
MX53_PAD_FEC_RXD1 = 150 ,
MX53_PAD_FEC_RXD0 = 151 ,
MX53_PAD_FEC_TX_EN = 152 ,
MX53_PAD_FEC_TXD1 = 153 ,
MX53_PAD_FEC_TXD0 = 154 ,
MX53_PAD_FEC_MDC = 155 ,
MX53_PAD_PATA_DIOW = 156 ,
MX53_PAD_PATA_DMACK = 157 ,
MX53_PAD_PATA_DMARQ = 158 ,
MX53_PAD_PATA_BUFFER_EN = 159 ,
MX53_PAD_PATA_INTRQ = 160 ,
MX53_PAD_PATA_DIOR = 161 ,
MX53_PAD_PATA_RESET_B = 162 ,
MX53_PAD_PATA_IORDY = 163 ,
MX53_PAD_PATA_DA_0 = 164 ,
MX53_PAD_PATA_DA_1 = 165 ,
MX53_PAD_PATA_DA_2 = 166 ,
MX53_PAD_PATA_CS_0 = 167 ,
MX53_PAD_PATA_CS_1 = 168 ,
MX53_PAD_PATA_DATA0 = 169 ,
MX53_PAD_PATA_DATA1 = 170 ,
MX53_PAD_PATA_DATA2 = 171 ,
MX53_PAD_PATA_DATA3 = 172 ,
MX53_PAD_PATA_DATA4 = 173 ,
MX53_PAD_PATA_DATA5 = 174 ,
MX53_PAD_PATA_DATA6 = 175 ,
MX53_PAD_PATA_DATA7 = 176 ,
MX53_PAD_PATA_DATA8 = 177 ,
MX53_PAD_PATA_DATA9 = 178 ,
MX53_PAD_PATA_DATA10 = 179 ,
MX53_PAD_PATA_DATA11 = 180 ,
MX53_PAD_PATA_DATA12 = 181 ,
MX53_PAD_PATA_DATA13 = 182 ,
MX53_PAD_PATA_DATA14 = 183 ,
MX53_PAD_PATA_DATA15 = 184 ,
MX53_PAD_SD1_DATA0 = 185 ,
MX53_PAD_SD1_DATA1 = 186 ,
MX53_PAD_SD1_CMD = 187 ,
MX53_PAD_SD1_DATA2 = 188 ,
MX53_PAD_SD1_CLK = 189 ,
MX53_PAD_SD1_DATA3 = 190 ,
MX53_PAD_SD2_CLK = 191 ,
MX53_PAD_SD2_CMD = 192 ,
MX53_PAD_SD2_DATA3 = 193 ,
MX53_PAD_SD2_DATA2 = 194 ,
MX53_PAD_SD2_DATA1 = 195 ,
MX53_PAD_SD2_DATA0 = 196 ,
MX53_PAD_GPIO_0 = 197 ,
MX53_PAD_GPIO_1 = 198 ,
MX53_PAD_GPIO_9 = 199 ,
MX53_PAD_GPIO_3 = 200 ,
MX53_PAD_GPIO_6 = 201 ,
MX53_PAD_GPIO_2 = 202 ,
MX53_PAD_GPIO_4 = 203 ,
MX53_PAD_GPIO_5 = 204 ,
MX53_PAD_GPIO_7 = 205 ,
MX53_PAD_GPIO_8 = 206 ,
MX53_PAD_GPIO_16 = 207 ,
MX53_PAD_GPIO_17 = 208 ,
MX53_PAD_GPIO_18 = 209 ,
};
/* Pad names for the pinmux subsystem */
static const struct pinctrl_pin_desc imx53_pinctrl_pads[] = {
IMX_PINCTRL_PIN(MX53_PAD_RESERVE0),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE1),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE2),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE3),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE4),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE5),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE6),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE7),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_19),
IMX_PINCTRL_PIN(MX53_PAD_KEY_COL0),
IMX_PINCTRL_PIN(MX53_PAD_KEY_ROW0),
IMX_PINCTRL_PIN(MX53_PAD_KEY_COL1),
IMX_PINCTRL_PIN(MX53_PAD_KEY_ROW1),
IMX_PINCTRL_PIN(MX53_PAD_KEY_COL2),
IMX_PINCTRL_PIN(MX53_PAD_KEY_ROW2),
IMX_PINCTRL_PIN(MX53_PAD_KEY_COL3),
IMX_PINCTRL_PIN(MX53_PAD_KEY_ROW3),
IMX_PINCTRL_PIN(MX53_PAD_KEY_COL4),
IMX_PINCTRL_PIN(MX53_PAD_KEY_ROW4),
IMX_PINCTRL_PIN(MX53_PAD_DI0_DISP_CLK),
IMX_PINCTRL_PIN(MX53_PAD_DI0_PIN15),
IMX_PINCTRL_PIN(MX53_PAD_DI0_PIN2),
IMX_PINCTRL_PIN(MX53_PAD_DI0_PIN3),
IMX_PINCTRL_PIN(MX53_PAD_DI0_PIN4),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT0),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT1),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT2),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT3),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT4),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT5),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT6),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT7),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT8),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT9),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT10),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT11),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT12),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT13),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT14),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT15),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT16),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT17),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT18),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT19),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT20),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT21),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT22),
IMX_PINCTRL_PIN(MX53_PAD_DISP0_DAT23),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_PIXCLK),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_MCLK),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DATA_EN),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_VSYNC),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT4),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT5),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT6),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT7),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT8),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT9),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT10),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT11),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT12),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT13),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT14),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT15),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT16),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT17),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT18),
IMX_PINCTRL_PIN(MX53_PAD_CSI0_DAT19),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A25),
IMX_PINCTRL_PIN(MX53_PAD_EIM_EB2),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D16),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D17),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D18),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D19),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D20),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D21),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D22),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D23),
IMX_PINCTRL_PIN(MX53_PAD_EIM_EB3),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D24),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D25),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D26),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D27),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D28),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D29),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D30),
IMX_PINCTRL_PIN(MX53_PAD_EIM_D31),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A24),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A23),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A22),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A21),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A20),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A19),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A18),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A17),
IMX_PINCTRL_PIN(MX53_PAD_EIM_A16),
IMX_PINCTRL_PIN(MX53_PAD_EIM_CS0),
IMX_PINCTRL_PIN(MX53_PAD_EIM_CS1),
IMX_PINCTRL_PIN(MX53_PAD_EIM_OE),
IMX_PINCTRL_PIN(MX53_PAD_EIM_RW),
IMX_PINCTRL_PIN(MX53_PAD_EIM_LBA),
IMX_PINCTRL_PIN(MX53_PAD_EIM_EB0),
IMX_PINCTRL_PIN(MX53_PAD_EIM_EB1),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA0),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA1),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA2),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA3),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA4),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA5),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA6),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA7),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA8),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA9),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA10),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA11),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA12),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA13),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA14),
IMX_PINCTRL_PIN(MX53_PAD_EIM_DA15),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_WE_B),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_RE_B),
IMX_PINCTRL_PIN(MX53_PAD_EIM_WAIT),
IMX_PINCTRL_PIN(MX53_PAD_RESERVE8),
IMX_PINCTRL_PIN(MX53_PAD_LVDS1_TX3_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS1_TX2_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS1_CLK_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS1_TX1_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS1_TX0_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS0_TX3_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS0_CLK_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS0_TX2_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS0_TX1_P),
IMX_PINCTRL_PIN(MX53_PAD_LVDS0_TX0_P),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_10),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_11),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_12),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_13),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_14),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_CLE),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_ALE),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_WP_B),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_RB0),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_CS0),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_CS1),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_CS2),
IMX_PINCTRL_PIN(MX53_PAD_NANDF_CS3),
IMX_PINCTRL_PIN(MX53_PAD_FEC_MDIO),
IMX_PINCTRL_PIN(MX53_PAD_FEC_REF_CLK),
IMX_PINCTRL_PIN(MX53_PAD_FEC_RX_ER),
IMX_PINCTRL_PIN(MX53_PAD_FEC_CRS_DV),
IMX_PINCTRL_PIN(MX53_PAD_FEC_RXD1),
IMX_PINCTRL_PIN(MX53_PAD_FEC_RXD0),
IMX_PINCTRL_PIN(MX53_PAD_FEC_TX_EN),
IMX_PINCTRL_PIN(MX53_PAD_FEC_TXD1),
IMX_PINCTRL_PIN(MX53_PAD_FEC_TXD0),
IMX_PINCTRL_PIN(MX53_PAD_FEC_MDC),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DIOW),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DMACK),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DMARQ),
IMX_PINCTRL_PIN(MX53_PAD_PATA_BUFFER_EN),
IMX_PINCTRL_PIN(MX53_PAD_PATA_INTRQ),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DIOR),
IMX_PINCTRL_PIN(MX53_PAD_PATA_RESET_B),
IMX_PINCTRL_PIN(MX53_PAD_PATA_IORDY),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DA_0),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DA_1),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DA_2),
IMX_PINCTRL_PIN(MX53_PAD_PATA_CS_0),
IMX_PINCTRL_PIN(MX53_PAD_PATA_CS_1),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA0),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA1),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA2),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA3),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA4),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA5),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA6),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA7),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA8),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA9),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA10),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA11),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA12),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA13),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA14),
IMX_PINCTRL_PIN(MX53_PAD_PATA_DATA15),
IMX_PINCTRL_PIN(MX53_PAD_SD1_DATA0),
IMX_PINCTRL_PIN(MX53_PAD_SD1_DATA1),
IMX_PINCTRL_PIN(MX53_PAD_SD1_CMD),
IMX_PINCTRL_PIN(MX53_PAD_SD1_DATA2),
IMX_PINCTRL_PIN(MX53_PAD_SD1_CLK),
IMX_PINCTRL_PIN(MX53_PAD_SD1_DATA3),
IMX_PINCTRL_PIN(MX53_PAD_SD2_CLK),
IMX_PINCTRL_PIN(MX53_PAD_SD2_CMD),
IMX_PINCTRL_PIN(MX53_PAD_SD2_DATA3),
IMX_PINCTRL_PIN(MX53_PAD_SD2_DATA2),
IMX_PINCTRL_PIN(MX53_PAD_SD2_DATA1),
IMX_PINCTRL_PIN(MX53_PAD_SD2_DATA0),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_0),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_1),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_9),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_3),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_6),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_2),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_4),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_5),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_7),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_8),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_16),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_17),
IMX_PINCTRL_PIN(MX53_PAD_GPIO_18),
};
static const struct imx_pinctrl_soc_info imx53_pinctrl_info = {
.pins = imx53_pinctrl_pads,
.npins = ARRAY_SIZE(imx53_pinctrl_pads),
.gpr_compatible = "fsl,imx53-iomuxc-gpr" ,
};
static const struct of_device_id imx53_pinctrl_of_match[] = {
{ .compatible = "fsl,imx53-iomuxc" , },
{ /* sentinel */ }
};
static int imx53_pinctrl_probe(struct platform_device *pdev)
{
return imx_pinctrl_probe(pdev, &imx53_pinctrl_info);
}
static struct platform_driver imx53_pinctrl_driver = {
.driver = {
.name = "imx53-pinctrl" ,
.of_match_table = imx53_pinctrl_of_match,
.suppress_bind_attrs = true ,
},
.probe = imx53_pinctrl_probe,
};
static int __init imx53_pinctrl_init(void )
{
return platform_driver_register(&imx53_pinctrl_driver);
}
arch_initcall(imx53_pinctrl_init);
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland