]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: dts: mxs: add pinctrl header files
authorLothar Waßmann <LW@KARO-electronics.de>
Thu, 19 Sep 2013 06:59:47 +0000 (08:59 +0200)
committerShawn Guo <shawn.guo@linaro.org>
Thu, 26 Sep 2013 05:01:36 +0000 (13:01 +0800)
Remove the list of possible pin configurations from the documentation
file and create header files containing those definitions.
This eliminates the need for error-prone manual lookup of those values
in the documentation and guarantees consistency between the human
readable representation of the pad function in the .dts file and the
actual binary value used in DT.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Documentation/devicetree/bindings/pinctrl/fsl,mxs-pinctrl.txt
arch/arm/boot/dts/imx23-pinfunc.h [new file with mode: 0644]
arch/arm/boot/dts/imx28-pinfunc.h [new file with mode: 0644]
arch/arm/boot/dts/mxs-pinfunc.h [new file with mode: 0644]

index 3077370c89af75c22b60fd59f83ea1dc841eea37..1e70a8aff2600ec72eba7e5f707da425aa19fc4e 100644 (file)
@@ -59,16 +59,16 @@ Required subnode-properties:
 
 Optional subnode-properties:
 - fsl,drive-strength: Integer.
-    0: mA
-    1: mA
-    2: 12 mA
-    3: 16 mA
+    0: MXS_DRIVE_4mA
+    1: MXS_DRIVE_8mA
+    2: MXS_DRIVE_12mA
+    3: MXS_DRIVE_16mA
 - fsl,voltage: Integer.
-    0: 1.8 V
-    1: 3.3 V
+    0: MXS_VOLTAGE_LOW  - 1.8 V
+    1: MXS_VOLTAGE_HIGH - 3.3 V
 - fsl,pull-up: Integer.
-    0: Disable the internal pull-up
-    1: Enable the internal pull-up
+    0: MXS_PULL_DISABLE - Disable the internal pull-up
+    1: MXS_PULL_ENABLE  - Enable the internal pull-up
 
 Note that when enabling the pull-up, the internal pad keeper gets disabled.
 Also, some pins doesn't have a pull up, in that case, setting the fsl,pull-up
@@ -85,23 +85,32 @@ pinctrl@80018000 {
        mmc0_8bit_pins_a: mmc0-8bit@0 {
                reg = <0>;
                fsl,pinmux-ids = <
-                       0x2000 0x2010 0x2020 0x2030
-                       0x2040 0x2050 0x2060 0x2070
-                       0x2080 0x2090 0x20a0>;
-               fsl,drive-strength = <1>;
-               fsl,voltage = <1>;
-               fsl,pull-up = <1>;
+                       MX28_PAD_SSP0_DATA0__SSP0_D0
+                       MX28_PAD_SSP0_DATA1__SSP0_D1
+                       MX28_PAD_SSP0_DATA2__SSP0_D2
+                       MX28_PAD_SSP0_DATA3__SSP0_D3
+                       MX28_PAD_SSP0_DATA4__SSP0_D4
+                       MX28_PAD_SSP0_DATA5__SSP0_D5
+                       MX28_PAD_SSP0_DATA6__SSP0_D6
+                       MX28_PAD_SSP0_DATA7__SSP0_D7
+                       MX28_PAD_SSP0_CMD__SSP0_CMD
+                       MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
+                       MX28_PAD_SSP0_SCK__SSP0_SCK
+               >;
+               fsl,drive-strength = <MXS_DRIVE_4mA>;
+               fsl,voltage = <MXS_VOLTAGE_HIGH>;
+               fsl,pull-up = <MXS_PULL_ENABLE>;
        };
 
        mmc_cd_cfg: mmc-cd-cfg {
-               fsl,pinmux-ids = <0x2090>;
-               fsl,pull-up = <0>;
+               fsl,pinmux-ids = <MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT>;
+               fsl,pull-up = <MXS_PULL_DISABLE>;
        };
 
        mmc_sck_cfg: mmc-sck-cfg {
-               fsl,pinmux-ids = <0x20a0>;
-               fsl,drive-strength = <2>;
-               fsl,pull-up = <0>;
+               fsl,pinmux-ids = <MX28_PAD_SSP0_SCK__SSP0_SCK>;
+               fsl,drive-strength = <MXS_DRIVE_12mA>;
+               fsl,pull-up = <MXS_PULL_DISABLE>;
        };
 };
 
@@ -112,811 +121,7 @@ adjusting the configuration for pins card-detection and clock from what group
 node mmc0-8bit defines.  Only the configuration properties to be adjusted need
 to be listed in the config nodes.
 
-Valid values for i.MX28 pinmux-id:
-
-pinmux                                         id
-------                                         --
-MX28_PAD_GPMI_D00__GPMI_D0                     0x0000
-MX28_PAD_GPMI_D01__GPMI_D1                     0x0010
-MX28_PAD_GPMI_D02__GPMI_D2                     0x0020
-MX28_PAD_GPMI_D03__GPMI_D3                     0x0030
-MX28_PAD_GPMI_D04__GPMI_D4                     0x0040
-MX28_PAD_GPMI_D05__GPMI_D5                     0x0050
-MX28_PAD_GPMI_D06__GPMI_D6                     0x0060
-MX28_PAD_GPMI_D07__GPMI_D7                     0x0070
-MX28_PAD_GPMI_CE0N__GPMI_CE0N                  0x0100
-MX28_PAD_GPMI_CE1N__GPMI_CE1N                  0x0110
-MX28_PAD_GPMI_CE2N__GPMI_CE2N                  0x0120
-MX28_PAD_GPMI_CE3N__GPMI_CE3N                  0x0130
-MX28_PAD_GPMI_RDY0__GPMI_READY0                        0x0140
-MX28_PAD_GPMI_RDY1__GPMI_READY1                        0x0150
-MX28_PAD_GPMI_RDY2__GPMI_READY2                        0x0160
-MX28_PAD_GPMI_RDY3__GPMI_READY3                        0x0170
-MX28_PAD_GPMI_RDN__GPMI_RDN                    0x0180
-MX28_PAD_GPMI_WRN__GPMI_WRN                    0x0190
-MX28_PAD_GPMI_ALE__GPMI_ALE                    0x01a0
-MX28_PAD_GPMI_CLE__GPMI_CLE                    0x01b0
-MX28_PAD_GPMI_RESETN__GPMI_RESETN              0x01c0
-MX28_PAD_LCD_D00__LCD_D0                       0x1000
-MX28_PAD_LCD_D01__LCD_D1                       0x1010
-MX28_PAD_LCD_D02__LCD_D2                       0x1020
-MX28_PAD_LCD_D03__LCD_D3                       0x1030
-MX28_PAD_LCD_D04__LCD_D4                       0x1040
-MX28_PAD_LCD_D05__LCD_D5                       0x1050
-MX28_PAD_LCD_D06__LCD_D6                       0x1060
-MX28_PAD_LCD_D07__LCD_D7                       0x1070
-MX28_PAD_LCD_D08__LCD_D8                       0x1080
-MX28_PAD_LCD_D09__LCD_D9                       0x1090
-MX28_PAD_LCD_D10__LCD_D10                      0x10a0
-MX28_PAD_LCD_D11__LCD_D11                      0x10b0
-MX28_PAD_LCD_D12__LCD_D12                      0x10c0
-MX28_PAD_LCD_D13__LCD_D13                      0x10d0
-MX28_PAD_LCD_D14__LCD_D14                      0x10e0
-MX28_PAD_LCD_D15__LCD_D15                      0x10f0
-MX28_PAD_LCD_D16__LCD_D16                      0x1100
-MX28_PAD_LCD_D17__LCD_D17                      0x1110
-MX28_PAD_LCD_D18__LCD_D18                      0x1120
-MX28_PAD_LCD_D19__LCD_D19                      0x1130
-MX28_PAD_LCD_D20__LCD_D20                      0x1140
-MX28_PAD_LCD_D21__LCD_D21                      0x1150
-MX28_PAD_LCD_D22__LCD_D22                      0x1160
-MX28_PAD_LCD_D23__LCD_D23                      0x1170
-MX28_PAD_LCD_RD_E__LCD_RD_E                    0x1180
-MX28_PAD_LCD_WR_RWN__LCD_WR_RWN                        0x1190
-MX28_PAD_LCD_RS__LCD_RS                                0x11a0
-MX28_PAD_LCD_CS__LCD_CS                                0x11b0
-MX28_PAD_LCD_VSYNC__LCD_VSYNC                  0x11c0
-MX28_PAD_LCD_HSYNC__LCD_HSYNC                  0x11d0
-MX28_PAD_LCD_DOTCLK__LCD_DOTCLK                        0x11e0
-MX28_PAD_LCD_ENABLE__LCD_ENABLE                        0x11f0
-MX28_PAD_SSP0_DATA0__SSP0_D0                   0x2000
-MX28_PAD_SSP0_DATA1__SSP0_D1                   0x2010
-MX28_PAD_SSP0_DATA2__SSP0_D2                   0x2020
-MX28_PAD_SSP0_DATA3__SSP0_D3                   0x2030
-MX28_PAD_SSP0_DATA4__SSP0_D4                   0x2040
-MX28_PAD_SSP0_DATA5__SSP0_D5                   0x2050
-MX28_PAD_SSP0_DATA6__SSP0_D6                   0x2060
-MX28_PAD_SSP0_DATA7__SSP0_D7                   0x2070
-MX28_PAD_SSP0_CMD__SSP0_CMD                    0x2080
-MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT         0x2090
-MX28_PAD_SSP0_SCK__SSP0_SCK                    0x20a0
-MX28_PAD_SSP1_SCK__SSP1_SCK                    0x20c0
-MX28_PAD_SSP1_CMD__SSP1_CMD                    0x20d0
-MX28_PAD_SSP1_DATA0__SSP1_D0                   0x20e0
-MX28_PAD_SSP1_DATA3__SSP1_D3                   0x20f0
-MX28_PAD_SSP2_SCK__SSP2_SCK                    0x2100
-MX28_PAD_SSP2_MOSI__SSP2_CMD                   0x2110
-MX28_PAD_SSP2_MISO__SSP2_D0                    0x2120
-MX28_PAD_SSP2_SS0__SSP2_D3                     0x2130
-MX28_PAD_SSP2_SS1__SSP2_D4                     0x2140
-MX28_PAD_SSP2_SS2__SSP2_D5                     0x2150
-MX28_PAD_SSP3_SCK__SSP3_SCK                    0x2180
-MX28_PAD_SSP3_MOSI__SSP3_CMD                   0x2190
-MX28_PAD_SSP3_MISO__SSP3_D0                    0x21a0
-MX28_PAD_SSP3_SS0__SSP3_D3                     0x21b0
-MX28_PAD_AUART0_RX__AUART0_RX                  0x3000
-MX28_PAD_AUART0_TX__AUART0_TX                  0x3010
-MX28_PAD_AUART0_CTS__AUART0_CTS                        0x3020
-MX28_PAD_AUART0_RTS__AUART0_RTS                        0x3030
-MX28_PAD_AUART1_RX__AUART1_RX                  0x3040
-MX28_PAD_AUART1_TX__AUART1_TX                  0x3050
-MX28_PAD_AUART1_CTS__AUART1_CTS                        0x3060
-MX28_PAD_AUART1_RTS__AUART1_RTS                        0x3070
-MX28_PAD_AUART2_RX__AUART2_RX                  0x3080
-MX28_PAD_AUART2_TX__AUART2_TX                  0x3090
-MX28_PAD_AUART2_CTS__AUART2_CTS                        0x30a0
-MX28_PAD_AUART2_RTS__AUART2_RTS                        0x30b0
-MX28_PAD_AUART3_RX__AUART3_RX                  0x30c0
-MX28_PAD_AUART3_TX__AUART3_TX                  0x30d0
-MX28_PAD_AUART3_CTS__AUART3_CTS                        0x30e0
-MX28_PAD_AUART3_RTS__AUART3_RTS                        0x30f0
-MX28_PAD_PWM0__PWM_0                           0x3100
-MX28_PAD_PWM1__PWM_1                           0x3110
-MX28_PAD_PWM2__PWM_2                           0x3120
-MX28_PAD_SAIF0_MCLK__SAIF0_MCLK                        0x3140
-MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK              0x3150
-MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK            0x3160
-MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0            0x3170
-MX28_PAD_I2C0_SCL__I2C0_SCL                    0x3180
-MX28_PAD_I2C0_SDA__I2C0_SDA                    0x3190
-MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0            0x31a0
-MX28_PAD_SPDIF__SPDIF_TX                       0x31b0
-MX28_PAD_PWM3__PWM_3                           0x31c0
-MX28_PAD_PWM4__PWM_4                           0x31d0
-MX28_PAD_LCD_RESET__LCD_RESET                  0x31e0
-MX28_PAD_ENET0_MDC__ENET0_MDC                  0x4000
-MX28_PAD_ENET0_MDIO__ENET0_MDIO                        0x4010
-MX28_PAD_ENET0_RX_EN__ENET0_RX_EN              0x4020
-MX28_PAD_ENET0_RXD0__ENET0_RXD0                        0x4030
-MX28_PAD_ENET0_RXD1__ENET0_RXD1                        0x4040
-MX28_PAD_ENET0_TX_CLK__ENET0_TX_CLK            0x4050
-MX28_PAD_ENET0_TX_EN__ENET0_TX_EN              0x4060
-MX28_PAD_ENET0_TXD0__ENET0_TXD0                        0x4070
-MX28_PAD_ENET0_TXD1__ENET0_TXD1                        0x4080
-MX28_PAD_ENET0_RXD2__ENET0_RXD2                        0x4090
-MX28_PAD_ENET0_RXD3__ENET0_RXD3                        0x40a0
-MX28_PAD_ENET0_TXD2__ENET0_TXD2                        0x40b0
-MX28_PAD_ENET0_TXD3__ENET0_TXD3                        0x40c0
-MX28_PAD_ENET0_RX_CLK__ENET0_RX_CLK            0x40d0
-MX28_PAD_ENET0_COL__ENET0_COL                  0x40e0
-MX28_PAD_ENET0_CRS__ENET0_CRS                  0x40f0
-MX28_PAD_ENET_CLK__CLKCTRL_ENET                        0x4100
-MX28_PAD_JTAG_RTCK__JTAG_RTCK                  0x4140
-MX28_PAD_EMI_D00__EMI_DATA0                    0x5000
-MX28_PAD_EMI_D01__EMI_DATA1                    0x5010
-MX28_PAD_EMI_D02__EMI_DATA2                    0x5020
-MX28_PAD_EMI_D03__EMI_DATA3                    0x5030
-MX28_PAD_EMI_D04__EMI_DATA4                    0x5040
-MX28_PAD_EMI_D05__EMI_DATA5                    0x5050
-MX28_PAD_EMI_D06__EMI_DATA6                    0x5060
-MX28_PAD_EMI_D07__EMI_DATA7                    0x5070
-MX28_PAD_EMI_D08__EMI_DATA8                    0x5080
-MX28_PAD_EMI_D09__EMI_DATA9                    0x5090
-MX28_PAD_EMI_D10__EMI_DATA10                   0x50a0
-MX28_PAD_EMI_D11__EMI_DATA11                   0x50b0
-MX28_PAD_EMI_D12__EMI_DATA12                   0x50c0
-MX28_PAD_EMI_D13__EMI_DATA13                   0x50d0
-MX28_PAD_EMI_D14__EMI_DATA14                   0x50e0
-MX28_PAD_EMI_D15__EMI_DATA15                   0x50f0
-MX28_PAD_EMI_ODT0__EMI_ODT0                    0x5100
-MX28_PAD_EMI_DQM0__EMI_DQM0                    0x5110
-MX28_PAD_EMI_ODT1__EMI_ODT1                    0x5120
-MX28_PAD_EMI_DQM1__EMI_DQM1                    0x5130
-MX28_PAD_EMI_DDR_OPEN_FB__EMI_DDR_OPEN_FEEDBACK        0x5140
-MX28_PAD_EMI_CLK__EMI_CLK                      0x5150
-MX28_PAD_EMI_DQS0__EMI_DQS0                    0x5160
-MX28_PAD_EMI_DQS1__EMI_DQS1                    0x5170
-MX28_PAD_EMI_DDR_OPEN__EMI_DDR_OPEN            0x51a0
-MX28_PAD_EMI_A00__EMI_ADDR0                    0x6000
-MX28_PAD_EMI_A01__EMI_ADDR1                    0x6010
-MX28_PAD_EMI_A02__EMI_ADDR2                    0x6020
-MX28_PAD_EMI_A03__EMI_ADDR3                    0x6030
-MX28_PAD_EMI_A04__EMI_ADDR4                    0x6040
-MX28_PAD_EMI_A05__EMI_ADDR5                    0x6050
-MX28_PAD_EMI_A06__EMI_ADDR6                    0x6060
-MX28_PAD_EMI_A07__EMI_ADDR7                    0x6070
-MX28_PAD_EMI_A08__EMI_ADDR8                    0x6080
-MX28_PAD_EMI_A09__EMI_ADDR9                    0x6090
-MX28_PAD_EMI_A10__EMI_ADDR10                   0x60a0
-MX28_PAD_EMI_A11__EMI_ADDR11                   0x60b0
-MX28_PAD_EMI_A12__EMI_ADDR12                   0x60c0
-MX28_PAD_EMI_A13__EMI_ADDR13                   0x60d0
-MX28_PAD_EMI_A14__EMI_ADDR14                   0x60e0
-MX28_PAD_EMI_BA0__EMI_BA0                      0x6100
-MX28_PAD_EMI_BA1__EMI_BA1                      0x6110
-MX28_PAD_EMI_BA2__EMI_BA2                      0x6120
-MX28_PAD_EMI_CASN__EMI_CASN                    0x6130
-MX28_PAD_EMI_RASN__EMI_RASN                    0x6140
-MX28_PAD_EMI_WEN__EMI_WEN                      0x6150
-MX28_PAD_EMI_CE0N__EMI_CE0N                    0x6160
-MX28_PAD_EMI_CE1N__EMI_CE1N                    0x6170
-MX28_PAD_EMI_CKE__EMI_CKE                      0x6180
-MX28_PAD_GPMI_D00__SSP1_D0                     0x0001
-MX28_PAD_GPMI_D01__SSP1_D1                     0x0011
-MX28_PAD_GPMI_D02__SSP1_D2                     0x0021
-MX28_PAD_GPMI_D03__SSP1_D3                     0x0031
-MX28_PAD_GPMI_D04__SSP1_D4                     0x0041
-MX28_PAD_GPMI_D05__SSP1_D5                     0x0051
-MX28_PAD_GPMI_D06__SSP1_D6                     0x0061
-MX28_PAD_GPMI_D07__SSP1_D7                     0x0071
-MX28_PAD_GPMI_CE0N__SSP3_D0                    0x0101
-MX28_PAD_GPMI_CE1N__SSP3_D3                    0x0111
-MX28_PAD_GPMI_CE2N__CAN1_TX                    0x0121
-MX28_PAD_GPMI_CE3N__CAN1_RX                    0x0131
-MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT           0x0141
-MX28_PAD_GPMI_RDY1__SSP1_CMD                   0x0151
-MX28_PAD_GPMI_RDY2__CAN0_TX                    0x0161
-MX28_PAD_GPMI_RDY3__CAN0_RX                    0x0171
-MX28_PAD_GPMI_RDN__SSP3_SCK                    0x0181
-MX28_PAD_GPMI_WRN__SSP1_SCK                    0x0191
-MX28_PAD_GPMI_ALE__SSP3_D1                     0x01a1
-MX28_PAD_GPMI_CLE__SSP3_D2                     0x01b1
-MX28_PAD_GPMI_RESETN__SSP3_CMD                 0x01c1
-MX28_PAD_LCD_D03__ETM_DA8                      0x1031
-MX28_PAD_LCD_D04__ETM_DA9                      0x1041
-MX28_PAD_LCD_D08__ETM_DA3                      0x1081
-MX28_PAD_LCD_D09__ETM_DA4                      0x1091
-MX28_PAD_LCD_D20__ENET1_1588_EVENT2_OUT                0x1141
-MX28_PAD_LCD_D21__ENET1_1588_EVENT2_IN         0x1151
-MX28_PAD_LCD_D22__ENET1_1588_EVENT3_OUT                0x1161
-MX28_PAD_LCD_D23__ENET1_1588_EVENT3_IN         0x1171
-MX28_PAD_LCD_RD_E__LCD_VSYNC                   0x1181
-MX28_PAD_LCD_WR_RWN__LCD_HSYNC                 0x1191
-MX28_PAD_LCD_RS__LCD_DOTCLK                    0x11a1
-MX28_PAD_LCD_CS__LCD_ENABLE                    0x11b1
-MX28_PAD_LCD_VSYNC__SAIF1_SDATA0               0x11c1
-MX28_PAD_LCD_HSYNC__SAIF1_SDATA1               0x11d1
-MX28_PAD_LCD_DOTCLK__SAIF1_MCLK                        0x11e1
-MX28_PAD_SSP0_DATA4__SSP2_D0                   0x2041
-MX28_PAD_SSP0_DATA5__SSP2_D3                   0x2051
-MX28_PAD_SSP0_DATA6__SSP2_CMD                  0x2061
-MX28_PAD_SSP0_DATA7__SSP2_SCK                  0x2071
-MX28_PAD_SSP1_SCK__SSP2_D1                     0x20c1
-MX28_PAD_SSP1_CMD__SSP2_D2                     0x20d1
-MX28_PAD_SSP1_DATA0__SSP2_D6                   0x20e1
-MX28_PAD_SSP1_DATA3__SSP2_D7                   0x20f1
-MX28_PAD_SSP2_SCK__AUART2_RX                   0x2101
-MX28_PAD_SSP2_MOSI__AUART2_TX                  0x2111
-MX28_PAD_SSP2_MISO__AUART3_RX                  0x2121
-MX28_PAD_SSP2_SS0__AUART3_TX                   0x2131
-MX28_PAD_SSP2_SS1__SSP2_D1                     0x2141
-MX28_PAD_SSP2_SS2__SSP2_D2                     0x2151
-MX28_PAD_SSP3_SCK__AUART4_TX                   0x2181
-MX28_PAD_SSP3_MOSI__AUART4_RX                  0x2191
-MX28_PAD_SSP3_MISO__AUART4_RTS                 0x21a1
-MX28_PAD_SSP3_SS0__AUART4_CTS                  0x21b1
-MX28_PAD_AUART0_RX__I2C0_SCL                   0x3001
-MX28_PAD_AUART0_TX__I2C0_SDA                   0x3011
-MX28_PAD_AUART0_CTS__AUART4_RX                 0x3021
-MX28_PAD_AUART0_RTS__AUART4_TX                 0x3031
-MX28_PAD_AUART1_RX__SSP2_CARD_DETECT           0x3041
-MX28_PAD_AUART1_TX__SSP3_CARD_DETECT           0x3051
-MX28_PAD_AUART1_CTS__USB0_OVERCURRENT          0x3061
-MX28_PAD_AUART1_RTS__USB0_ID                   0x3071
-MX28_PAD_AUART2_RX__SSP3_D1                    0x3081
-MX28_PAD_AUART2_TX__SSP3_D2                    0x3091
-MX28_PAD_AUART2_CTS__I2C1_SCL                  0x30a1
-MX28_PAD_AUART2_RTS__I2C1_SDA                  0x30b1
-MX28_PAD_AUART3_RX__CAN0_TX                    0x30c1
-MX28_PAD_AUART3_TX__CAN0_RX                    0x30d1
-MX28_PAD_AUART3_CTS__CAN1_TX                   0x30e1
-MX28_PAD_AUART3_RTS__CAN1_RX                   0x30f1
-MX28_PAD_PWM0__I2C1_SCL                                0x3101
-MX28_PAD_PWM1__I2C1_SDA                                0x3111
-MX28_PAD_PWM2__USB0_ID                         0x3121
-MX28_PAD_SAIF0_MCLK__PWM_3                     0x3141
-MX28_PAD_SAIF0_LRCLK__PWM_4                    0x3151
-MX28_PAD_SAIF0_BITCLK__PWM_5                   0x3161
-MX28_PAD_SAIF0_SDATA0__PWM_6                   0x3171
-MX28_PAD_I2C0_SCL__TIMROT_ROTARYA              0x3181
-MX28_PAD_I2C0_SDA__TIMROT_ROTARYB              0x3191
-MX28_PAD_SAIF1_SDATA0__PWM_7                   0x31a1
-MX28_PAD_LCD_RESET__LCD_VSYNC                  0x31e1
-MX28_PAD_ENET0_MDC__GPMI_CE4N                  0x4001
-MX28_PAD_ENET0_MDIO__GPMI_CE5N                 0x4011
-MX28_PAD_ENET0_RX_EN__GPMI_CE6N                        0x4021
-MX28_PAD_ENET0_RXD0__GPMI_CE7N                 0x4031
-MX28_PAD_ENET0_RXD1__GPMI_READY4               0x4041
-MX28_PAD_ENET0_TX_CLK__HSADC_TRIGGER           0x4051
-MX28_PAD_ENET0_TX_EN__GPMI_READY5              0x4061
-MX28_PAD_ENET0_TXD0__GPMI_READY6               0x4071
-MX28_PAD_ENET0_TXD1__GPMI_READY7               0x4081
-MX28_PAD_ENET0_RXD2__ENET1_RXD0                        0x4091
-MX28_PAD_ENET0_RXD3__ENET1_RXD1                        0x40a1
-MX28_PAD_ENET0_TXD2__ENET1_TXD0                        0x40b1
-MX28_PAD_ENET0_TXD3__ENET1_TXD1                        0x40c1
-MX28_PAD_ENET0_RX_CLK__ENET0_RX_ER             0x40d1
-MX28_PAD_ENET0_COL__ENET1_TX_EN                        0x40e1
-MX28_PAD_ENET0_CRS__ENET1_RX_EN                        0x40f1
-MX28_PAD_GPMI_CE2N__ENET0_RX_ER                        0x0122
-MX28_PAD_GPMI_CE3N__SAIF1_MCLK                 0x0132
-MX28_PAD_GPMI_RDY0__USB0_ID                    0x0142
-MX28_PAD_GPMI_RDY2__ENET0_TX_ER                        0x0162
-MX28_PAD_GPMI_RDY3__HSADC_TRIGGER              0x0172
-MX28_PAD_GPMI_ALE__SSP3_D4                     0x01a2
-MX28_PAD_GPMI_CLE__SSP3_D5                     0x01b2
-MX28_PAD_LCD_D00__ETM_DA0                      0x1002
-MX28_PAD_LCD_D01__ETM_DA1                      0x1012
-MX28_PAD_LCD_D02__ETM_DA2                      0x1022
-MX28_PAD_LCD_D03__ETM_DA3                      0x1032
-MX28_PAD_LCD_D04__ETM_DA4                      0x1042
-MX28_PAD_LCD_D05__ETM_DA5                      0x1052
-MX28_PAD_LCD_D06__ETM_DA6                      0x1062
-MX28_PAD_LCD_D07__ETM_DA7                      0x1072
-MX28_PAD_LCD_D08__ETM_DA8                      0x1082
-MX28_PAD_LCD_D09__ETM_DA9                      0x1092
-MX28_PAD_LCD_D10__ETM_DA10                     0x10a2
-MX28_PAD_LCD_D11__ETM_DA11                     0x10b2
-MX28_PAD_LCD_D12__ETM_DA12                     0x10c2
-MX28_PAD_LCD_D13__ETM_DA13                     0x10d2
-MX28_PAD_LCD_D14__ETM_DA14                     0x10e2
-MX28_PAD_LCD_D15__ETM_DA15                     0x10f2
-MX28_PAD_LCD_D16__ETM_DA7                      0x1102
-MX28_PAD_LCD_D17__ETM_DA6                      0x1112
-MX28_PAD_LCD_D18__ETM_DA5                      0x1122
-MX28_PAD_LCD_D19__ETM_DA4                      0x1132
-MX28_PAD_LCD_D20__ETM_DA3                      0x1142
-MX28_PAD_LCD_D21__ETM_DA2                      0x1152
-MX28_PAD_LCD_D22__ETM_DA1                      0x1162
-MX28_PAD_LCD_D23__ETM_DA0                      0x1172
-MX28_PAD_LCD_RD_E__ETM_TCTL                    0x1182
-MX28_PAD_LCD_WR_RWN__ETM_TCLK                  0x1192
-MX28_PAD_LCD_HSYNC__ETM_TCTL                   0x11d2
-MX28_PAD_LCD_DOTCLK__ETM_TCLK                  0x11e2
-MX28_PAD_SSP1_SCK__ENET0_1588_EVENT2_OUT       0x20c2
-MX28_PAD_SSP1_CMD__ENET0_1588_EVENT2_IN                0x20d2
-MX28_PAD_SSP1_DATA0__ENET0_1588_EVENT3_OUT     0x20e2
-MX28_PAD_SSP1_DATA3__ENET0_1588_EVENT3_IN      0x20f2
-MX28_PAD_SSP2_SCK__SAIF0_SDATA1                        0x2102
-MX28_PAD_SSP2_MOSI__SAIF0_SDATA2               0x2112
-MX28_PAD_SSP2_MISO__SAIF1_SDATA1               0x2122
-MX28_PAD_SSP2_SS0__SAIF1_SDATA2                        0x2132
-MX28_PAD_SSP2_SS1__USB1_OVERCURRENT            0x2142
-MX28_PAD_SSP2_SS2__USB0_OVERCURRENT            0x2152
-MX28_PAD_SSP3_SCK__ENET1_1588_EVENT0_OUT       0x2182
-MX28_PAD_SSP3_MOSI__ENET1_1588_EVENT0_IN       0x2192
-MX28_PAD_SSP3_MISO__ENET1_1588_EVENT1_OUT      0x21a2
-MX28_PAD_SSP3_SS0__ENET1_1588_EVENT1_IN                0x21b2
-MX28_PAD_AUART0_RX__DUART_CTS                  0x3002
-MX28_PAD_AUART0_TX__DUART_RTS                  0x3012
-MX28_PAD_AUART0_CTS__DUART_RX                  0x3022
-MX28_PAD_AUART0_RTS__DUART_TX                  0x3032
-MX28_PAD_AUART1_RX__PWM_0                      0x3042
-MX28_PAD_AUART1_TX__PWM_1                      0x3052
-MX28_PAD_AUART1_CTS__TIMROT_ROTARYA            0x3062
-MX28_PAD_AUART1_RTS__TIMROT_ROTARYB            0x3072
-MX28_PAD_AUART2_RX__SSP3_D4                    0x3082
-MX28_PAD_AUART2_TX__SSP3_D5                    0x3092
-MX28_PAD_AUART2_CTS__SAIF1_BITCLK              0x30a2
-MX28_PAD_AUART2_RTS__SAIF1_LRCLK               0x30b2
-MX28_PAD_AUART3_RX__ENET0_1588_EVENT0_OUT      0x30c2
-MX28_PAD_AUART3_TX__ENET0_1588_EVENT0_IN       0x30d2
-MX28_PAD_AUART3_CTS__ENET0_1588_EVENT1_OUT     0x30e2
-MX28_PAD_AUART3_RTS__ENET0_1588_EVENT1_IN      0x30f2
-MX28_PAD_PWM0__DUART_RX                                0x3102
-MX28_PAD_PWM1__DUART_TX                                0x3112
-MX28_PAD_PWM2__USB1_OVERCURRENT                        0x3122
-MX28_PAD_SAIF0_MCLK__AUART4_CTS                        0x3142
-MX28_PAD_SAIF0_LRCLK__AUART4_RTS               0x3152
-MX28_PAD_SAIF0_BITCLK__AUART4_RX               0x3162
-MX28_PAD_SAIF0_SDATA0__AUART4_TX               0x3172
-MX28_PAD_I2C0_SCL__DUART_RX                    0x3182
-MX28_PAD_I2C0_SDA__DUART_TX                    0x3192
-MX28_PAD_SAIF1_SDATA0__SAIF0_SDATA1            0x31a2
-MX28_PAD_SPDIF__ENET1_RX_ER                    0x31b2
-MX28_PAD_ENET0_MDC__SAIF0_SDATA1               0x4002
-MX28_PAD_ENET0_MDIO__SAIF0_SDATA2              0x4012
-MX28_PAD_ENET0_RX_EN__SAIF1_SDATA1             0x4022
-MX28_PAD_ENET0_RXD0__SAIF1_SDATA2              0x4032
-MX28_PAD_ENET0_TX_CLK__ENET0_1588_EVENT2_OUT   0x4052
-MX28_PAD_ENET0_RXD2__ENET0_1588_EVENT0_OUT     0x4092
-MX28_PAD_ENET0_RXD3__ENET0_1588_EVENT0_IN      0x40a2
-MX28_PAD_ENET0_TXD2__ENET0_1588_EVENT1_OUT     0x40b2
-MX28_PAD_ENET0_TXD3__ENET0_1588_EVENT1_IN      0x40c2
-MX28_PAD_ENET0_RX_CLK__ENET0_1588_EVENT2_IN    0x40d2
-MX28_PAD_ENET0_COL__ENET0_1588_EVENT3_OUT      0x40e2
-MX28_PAD_ENET0_CRS__ENET0_1588_EVENT3_IN       0x40f2
-MX28_PAD_GPMI_D00__GPIO_0_0                    0x0003
-MX28_PAD_GPMI_D01__GPIO_0_1                    0x0013
-MX28_PAD_GPMI_D02__GPIO_0_2                    0x0023
-MX28_PAD_GPMI_D03__GPIO_0_3                    0x0033
-MX28_PAD_GPMI_D04__GPIO_0_4                    0x0043
-MX28_PAD_GPMI_D05__GPIO_0_5                    0x0053
-MX28_PAD_GPMI_D06__GPIO_0_6                    0x0063
-MX28_PAD_GPMI_D07__GPIO_0_7                    0x0073
-MX28_PAD_GPMI_CE0N__GPIO_0_16                  0x0103
-MX28_PAD_GPMI_CE1N__GPIO_0_17                  0x0113
-MX28_PAD_GPMI_CE2N__GPIO_0_18                  0x0123
-MX28_PAD_GPMI_CE3N__GPIO_0_19                  0x0133
-MX28_PAD_GPMI_RDY0__GPIO_0_20                  0x0143
-MX28_PAD_GPMI_RDY1__GPIO_0_21                  0x0153
-MX28_PAD_GPMI_RDY2__GPIO_0_22                  0x0163
-MX28_PAD_GPMI_RDY3__GPIO_0_23                  0x0173
-MX28_PAD_GPMI_RDN__GPIO_0_24                   0x0183
-MX28_PAD_GPMI_WRN__GPIO_0_25                   0x0193
-MX28_PAD_GPMI_ALE__GPIO_0_26                   0x01a3
-MX28_PAD_GPMI_CLE__GPIO_0_27                   0x01b3
-MX28_PAD_GPMI_RESETN__GPIO_0_28                        0x01c3
-MX28_PAD_LCD_D00__GPIO_1_0                     0x1003
-MX28_PAD_LCD_D01__GPIO_1_1                     0x1013
-MX28_PAD_LCD_D02__GPIO_1_2                     0x1023
-MX28_PAD_LCD_D03__GPIO_1_3                     0x1033
-MX28_PAD_LCD_D04__GPIO_1_4                     0x1043
-MX28_PAD_LCD_D05__GPIO_1_5                     0x1053
-MX28_PAD_LCD_D06__GPIO_1_6                     0x1063
-MX28_PAD_LCD_D07__GPIO_1_7                     0x1073
-MX28_PAD_LCD_D08__GPIO_1_8                     0x1083
-MX28_PAD_LCD_D09__GPIO_1_9                     0x1093
-MX28_PAD_LCD_D10__GPIO_1_10                    0x10a3
-MX28_PAD_LCD_D11__GPIO_1_11                    0x10b3
-MX28_PAD_LCD_D12__GPIO_1_12                    0x10c3
-MX28_PAD_LCD_D13__GPIO_1_13                    0x10d3
-MX28_PAD_LCD_D14__GPIO_1_14                    0x10e3
-MX28_PAD_LCD_D15__GPIO_1_15                    0x10f3
-MX28_PAD_LCD_D16__GPIO_1_16                    0x1103
-MX28_PAD_LCD_D17__GPIO_1_17                    0x1113
-MX28_PAD_LCD_D18__GPIO_1_18                    0x1123
-MX28_PAD_LCD_D19__GPIO_1_19                    0x1133
-MX28_PAD_LCD_D20__GPIO_1_20                    0x1143
-MX28_PAD_LCD_D21__GPIO_1_21                    0x1153
-MX28_PAD_LCD_D22__GPIO_1_22                    0x1163
-MX28_PAD_LCD_D23__GPIO_1_23                    0x1173
-MX28_PAD_LCD_RD_E__GPIO_1_24                   0x1183
-MX28_PAD_LCD_WR_RWN__GPIO_1_25                 0x1193
-MX28_PAD_LCD_RS__GPIO_1_26                     0x11a3
-MX28_PAD_LCD_CS__GPIO_1_27                     0x11b3
-MX28_PAD_LCD_VSYNC__GPIO_1_28                  0x11c3
-MX28_PAD_LCD_HSYNC__GPIO_1_29                  0x11d3
-MX28_PAD_LCD_DOTCLK__GPIO_1_30                 0x11e3
-MX28_PAD_LCD_ENABLE__GPIO_1_31                 0x11f3
-MX28_PAD_SSP0_DATA0__GPIO_2_0                  0x2003
-MX28_PAD_SSP0_DATA1__GPIO_2_1                  0x2013
-MX28_PAD_SSP0_DATA2__GPIO_2_2                  0x2023
-MX28_PAD_SSP0_DATA3__GPIO_2_3                  0x2033
-MX28_PAD_SSP0_DATA4__GPIO_2_4                  0x2043
-MX28_PAD_SSP0_DATA5__GPIO_2_5                  0x2053
-MX28_PAD_SSP0_DATA6__GPIO_2_6                  0x2063
-MX28_PAD_SSP0_DATA7__GPIO_2_7                  0x2073
-MX28_PAD_SSP0_CMD__GPIO_2_8                    0x2083
-MX28_PAD_SSP0_DETECT__GPIO_2_9                 0x2093
-MX28_PAD_SSP0_SCK__GPIO_2_10                   0x20a3
-MX28_PAD_SSP1_SCK__GPIO_2_12                   0x20c3
-MX28_PAD_SSP1_CMD__GPIO_2_13                   0x20d3
-MX28_PAD_SSP1_DATA0__GPIO_2_14                 0x20e3
-MX28_PAD_SSP1_DATA3__GPIO_2_15                 0x20f3
-MX28_PAD_SSP2_SCK__GPIO_2_16                   0x2103
-MX28_PAD_SSP2_MOSI__GPIO_2_17                  0x2113
-MX28_PAD_SSP2_MISO__GPIO_2_18                  0x2123
-MX28_PAD_SSP2_SS0__GPIO_2_19                   0x2133
-MX28_PAD_SSP2_SS1__GPIO_2_20                   0x2143
-MX28_PAD_SSP2_SS2__GPIO_2_21                   0x2153
-MX28_PAD_SSP3_SCK__GPIO_2_24                   0x2183
-MX28_PAD_SSP3_MOSI__GPIO_2_25                  0x2193
-MX28_PAD_SSP3_MISO__GPIO_2_26                  0x21a3
-MX28_PAD_SSP3_SS0__GPIO_2_27                   0x21b3
-MX28_PAD_AUART0_RX__GPIO_3_0                   0x3003
-MX28_PAD_AUART0_TX__GPIO_3_1                   0x3013
-MX28_PAD_AUART0_CTS__GPIO_3_2                  0x3023
-MX28_PAD_AUART0_RTS__GPIO_3_3                  0x3033
-MX28_PAD_AUART1_RX__GPIO_3_4                   0x3043
-MX28_PAD_AUART1_TX__GPIO_3_5                   0x3053
-MX28_PAD_AUART1_CTS__GPIO_3_6                  0x3063
-MX28_PAD_AUART1_RTS__GPIO_3_7                  0x3073
-MX28_PAD_AUART2_RX__GPIO_3_8                   0x3083
-MX28_PAD_AUART2_TX__GPIO_3_9                   0x3093
-MX28_PAD_AUART2_CTS__GPIO_3_10                 0x30a3
-MX28_PAD_AUART2_RTS__GPIO_3_11                 0x30b3
-MX28_PAD_AUART3_RX__GPIO_3_12                  0x30c3
-MX28_PAD_AUART3_TX__GPIO_3_13                  0x30d3
-MX28_PAD_AUART3_CTS__GPIO_3_14                 0x30e3
-MX28_PAD_AUART3_RTS__GPIO_3_15                 0x30f3
-MX28_PAD_PWM0__GPIO_3_16                       0x3103
-MX28_PAD_PWM1__GPIO_3_17                       0x3113
-MX28_PAD_PWM2__GPIO_3_18                       0x3123
-MX28_PAD_SAIF0_MCLK__GPIO_3_20                 0x3143
-MX28_PAD_SAIF0_LRCLK__GPIO_3_21                        0x3153
-MX28_PAD_SAIF0_BITCLK__GPIO_3_22               0x3163
-MX28_PAD_SAIF0_SDATA0__GPIO_3_23               0x3173
-MX28_PAD_I2C0_SCL__GPIO_3_24                   0x3183
-MX28_PAD_I2C0_SDA__GPIO_3_25                   0x3193
-MX28_PAD_SAIF1_SDATA0__GPIO_3_26               0x31a3
-MX28_PAD_SPDIF__GPIO_3_27                      0x31b3
-MX28_PAD_PWM3__GPIO_3_28                       0x31c3
-MX28_PAD_PWM4__GPIO_3_29                       0x31d3
-MX28_PAD_LCD_RESET__GPIO_3_30                  0x31e3
-MX28_PAD_ENET0_MDC__GPIO_4_0                   0x4003
-MX28_PAD_ENET0_MDIO__GPIO_4_1                  0x4013
-MX28_PAD_ENET0_RX_EN__GPIO_4_2                 0x4023
-MX28_PAD_ENET0_RXD0__GPIO_4_3                  0x4033
-MX28_PAD_ENET0_RXD1__GPIO_4_4                  0x4043
-MX28_PAD_ENET0_TX_CLK__GPIO_4_5                        0x4053
-MX28_PAD_ENET0_TX_EN__GPIO_4_6                 0x4063
-MX28_PAD_ENET0_TXD0__GPIO_4_7                  0x4073
-MX28_PAD_ENET0_TXD1__GPIO_4_8                  0x4083
-MX28_PAD_ENET0_RXD2__GPIO_4_9                  0x4093
-MX28_PAD_ENET0_RXD3__GPIO_4_10                 0x40a3
-MX28_PAD_ENET0_TXD2__GPIO_4_11                 0x40b3
-MX28_PAD_ENET0_TXD3__GPIO_4_12                 0x40c3
-MX28_PAD_ENET0_RX_CLK__GPIO_4_13               0x40d3
-MX28_PAD_ENET0_COL__GPIO_4_14                  0x40e3
-MX28_PAD_ENET0_CRS__GPIO_4_15                  0x40f3
-MX28_PAD_ENET_CLK__GPIO_4_16                   0x4103
-MX28_PAD_JTAG_RTCK__GPIO_4_20                  0x4143
-
-Valid values for i.MX23 pinmux-id:
-
-pinmux                                         id
-------                                         --
-MX23_PAD_GPMI_D00__GPMI_D00                    0x0000
-MX23_PAD_GPMI_D01__GPMI_D01                    0x0010
-MX23_PAD_GPMI_D02__GPMI_D02                    0x0020
-MX23_PAD_GPMI_D03__GPMI_D03                    0x0030
-MX23_PAD_GPMI_D04__GPMI_D04                    0x0040
-MX23_PAD_GPMI_D05__GPMI_D05                    0x0050
-MX23_PAD_GPMI_D06__GPMI_D06                    0x0060
-MX23_PAD_GPMI_D07__GPMI_D07                    0x0070
-MX23_PAD_GPMI_D08__GPMI_D08                    0x0080
-MX23_PAD_GPMI_D09__GPMI_D09                    0x0090
-MX23_PAD_GPMI_D10__GPMI_D10                    0x00a0
-MX23_PAD_GPMI_D11__GPMI_D11                    0x00b0
-MX23_PAD_GPMI_D12__GPMI_D12                    0x00c0
-MX23_PAD_GPMI_D13__GPMI_D13                    0x00d0
-MX23_PAD_GPMI_D14__GPMI_D14                    0x00e0
-MX23_PAD_GPMI_D15__GPMI_D15                    0x00f0
-MX23_PAD_GPMI_CLE__GPMI_CLE                    0x0100
-MX23_PAD_GPMI_ALE__GPMI_ALE                    0x0110
-MX23_PAD_GPMI_CE2N__GPMI_CE2N                  0x0120
-MX23_PAD_GPMI_RDY0__GPMI_RDY0                  0x0130
-MX23_PAD_GPMI_RDY1__GPMI_RDY1                  0x0140
-MX23_PAD_GPMI_RDY2__GPMI_RDY2                  0x0150
-MX23_PAD_GPMI_RDY3__GPMI_RDY3                  0x0160
-MX23_PAD_GPMI_WPN__GPMI_WPN                    0x0170
-MX23_PAD_GPMI_WRN__GPMI_WRN                    0x0180
-MX23_PAD_GPMI_RDN__GPMI_RDN                    0x0190
-MX23_PAD_AUART1_CTS__AUART1_CTS                        0x01a0
-MX23_PAD_AUART1_RTS__AUART1_RTS                        0x01b0
-MX23_PAD_AUART1_RX__AUART1_RX                  0x01c0
-MX23_PAD_AUART1_TX__AUART1_TX                  0x01d0
-MX23_PAD_I2C_SCL__I2C_SCL                      0x01e0
-MX23_PAD_I2C_SDA__I2C_SDA                      0x01f0
-MX23_PAD_LCD_D00__LCD_D00                      0x1000
-MX23_PAD_LCD_D01__LCD_D01                      0x1010
-MX23_PAD_LCD_D02__LCD_D02                      0x1020
-MX23_PAD_LCD_D03__LCD_D03                      0x1030
-MX23_PAD_LCD_D04__LCD_D04                      0x1040
-MX23_PAD_LCD_D05__LCD_D05                      0x1050
-MX23_PAD_LCD_D06__LCD_D06                      0x1060
-MX23_PAD_LCD_D07__LCD_D07                      0x1070
-MX23_PAD_LCD_D08__LCD_D08                      0x1080
-MX23_PAD_LCD_D09__LCD_D09                      0x1090
-MX23_PAD_LCD_D10__LCD_D10                      0x10a0
-MX23_PAD_LCD_D11__LCD_D11                      0x10b0
-MX23_PAD_LCD_D12__LCD_D12                      0x10c0
-MX23_PAD_LCD_D13__LCD_D13                      0x10d0
-MX23_PAD_LCD_D14__LCD_D14                      0x10e0
-MX23_PAD_LCD_D15__LCD_D15                      0x10f0
-MX23_PAD_LCD_D16__LCD_D16                      0x1100
-MX23_PAD_LCD_D17__LCD_D17                      0x1110
-MX23_PAD_LCD_RESET__LCD_RESET                  0x1120
-MX23_PAD_LCD_RS__LCD_RS                                0x1130
-MX23_PAD_LCD_WR__LCD_WR                                0x1140
-MX23_PAD_LCD_CS__LCD_CS                                0x1150
-MX23_PAD_LCD_DOTCK__LCD_DOTCK                  0x1160
-MX23_PAD_LCD_ENABLE__LCD_ENABLE                        0x1170
-MX23_PAD_LCD_HSYNC__LCD_HSYNC                  0x1180
-MX23_PAD_LCD_VSYNC__LCD_VSYNC                  0x1190
-MX23_PAD_PWM0__PWM0                            0x11a0
-MX23_PAD_PWM1__PWM1                            0x11b0
-MX23_PAD_PWM2__PWM2                            0x11c0
-MX23_PAD_PWM3__PWM3                            0x11d0
-MX23_PAD_PWM4__PWM4                            0x11e0
-MX23_PAD_SSP1_CMD__SSP1_CMD                    0x2000
-MX23_PAD_SSP1_DETECT__SSP1_DETECT              0x2010
-MX23_PAD_SSP1_DATA0__SSP1_DATA0                        0x2020
-MX23_PAD_SSP1_DATA1__SSP1_DATA1                        0x2030
-MX23_PAD_SSP1_DATA2__SSP1_DATA2                        0x2040
-MX23_PAD_SSP1_DATA3__SSP1_DATA3                        0x2050
-MX23_PAD_SSP1_SCK__SSP1_SCK                    0x2060
-MX23_PAD_ROTARYA__ROTARYA                      0x2070
-MX23_PAD_ROTARYB__ROTARYB                      0x2080
-MX23_PAD_EMI_A00__EMI_A00                      0x2090
-MX23_PAD_EMI_A01__EMI_A01                      0x20a0
-MX23_PAD_EMI_A02__EMI_A02                      0x20b0
-MX23_PAD_EMI_A03__EMI_A03                      0x20c0
-MX23_PAD_EMI_A04__EMI_A04                      0x20d0
-MX23_PAD_EMI_A05__EMI_A05                      0x20e0
-MX23_PAD_EMI_A06__EMI_A06                      0x20f0
-MX23_PAD_EMI_A07__EMI_A07                      0x2100
-MX23_PAD_EMI_A08__EMI_A08                      0x2110
-MX23_PAD_EMI_A09__EMI_A09                      0x2120
-MX23_PAD_EMI_A10__EMI_A10                      0x2130
-MX23_PAD_EMI_A11__EMI_A11                      0x2140
-MX23_PAD_EMI_A12__EMI_A12                      0x2150
-MX23_PAD_EMI_BA0__EMI_BA0                      0x2160
-MX23_PAD_EMI_BA1__EMI_BA1                      0x2170
-MX23_PAD_EMI_CASN__EMI_CASN                    0x2180
-MX23_PAD_EMI_CE0N__EMI_CE0N                    0x2190
-MX23_PAD_EMI_CE1N__EMI_CE1N                    0x21a0
-MX23_PAD_GPMI_CE1N__GPMI_CE1N                  0x21b0
-MX23_PAD_GPMI_CE0N__GPMI_CE0N                  0x21c0
-MX23_PAD_EMI_CKE__EMI_CKE                      0x21d0
-MX23_PAD_EMI_RASN__EMI_RASN                    0x21e0
-MX23_PAD_EMI_WEN__EMI_WEN                      0x21f0
-MX23_PAD_EMI_D00__EMI_D00                      0x3000
-MX23_PAD_EMI_D01__EMI_D01                      0x3010
-MX23_PAD_EMI_D02__EMI_D02                      0x3020
-MX23_PAD_EMI_D03__EMI_D03                      0x3030
-MX23_PAD_EMI_D04__EMI_D04                      0x3040
-MX23_PAD_EMI_D05__EMI_D05                      0x3050
-MX23_PAD_EMI_D06__EMI_D06                      0x3060
-MX23_PAD_EMI_D07__EMI_D07                      0x3070
-MX23_PAD_EMI_D08__EMI_D08                      0x3080
-MX23_PAD_EMI_D09__EMI_D09                      0x3090
-MX23_PAD_EMI_D10__EMI_D10                      0x30a0
-MX23_PAD_EMI_D11__EMI_D11                      0x30b0
-MX23_PAD_EMI_D12__EMI_D12                      0x30c0
-MX23_PAD_EMI_D13__EMI_D13                      0x30d0
-MX23_PAD_EMI_D14__EMI_D14                      0x30e0
-MX23_PAD_EMI_D15__EMI_D15                      0x30f0
-MX23_PAD_EMI_DQM0__EMI_DQM0                    0x3100
-MX23_PAD_EMI_DQM1__EMI_DQM1                    0x3110
-MX23_PAD_EMI_DQS0__EMI_DQS0                    0x3120
-MX23_PAD_EMI_DQS1__EMI_DQS1                    0x3130
-MX23_PAD_EMI_CLK__EMI_CLK                      0x3140
-MX23_PAD_EMI_CLKN__EMI_CLKN                    0x3150
-MX23_PAD_GPMI_D00__LCD_D8                      0x0001
-MX23_PAD_GPMI_D01__LCD_D9                      0x0011
-MX23_PAD_GPMI_D02__LCD_D10                     0x0021
-MX23_PAD_GPMI_D03__LCD_D11                     0x0031
-MX23_PAD_GPMI_D04__LCD_D12                     0x0041
-MX23_PAD_GPMI_D05__LCD_D13                     0x0051
-MX23_PAD_GPMI_D06__LCD_D14                     0x0061
-MX23_PAD_GPMI_D07__LCD_D15                     0x0071
-MX23_PAD_GPMI_D08__LCD_D18                     0x0081
-MX23_PAD_GPMI_D09__LCD_D19                     0x0091
-MX23_PAD_GPMI_D10__LCD_D20                     0x00a1
-MX23_PAD_GPMI_D11__LCD_D21                     0x00b1
-MX23_PAD_GPMI_D12__LCD_D22                     0x00c1
-MX23_PAD_GPMI_D13__LCD_D23                     0x00d1
-MX23_PAD_GPMI_D14__AUART2_RX                   0x00e1
-MX23_PAD_GPMI_D15__AUART2_TX                   0x00f1
-MX23_PAD_GPMI_CLE__LCD_D16                     0x0101
-MX23_PAD_GPMI_ALE__LCD_D17                     0x0111
-MX23_PAD_GPMI_CE2N__ATA_A2                     0x0121
-MX23_PAD_AUART1_RTS__IR_CLK                    0x01b1
-MX23_PAD_AUART1_RX__IR_RX                      0x01c1
-MX23_PAD_AUART1_TX__IR_TX                      0x01d1
-MX23_PAD_I2C_SCL__GPMI_RDY2                    0x01e1
-MX23_PAD_I2C_SDA__GPMI_CE2N                    0x01f1
-MX23_PAD_LCD_D00__ETM_DA8                      0x1001
-MX23_PAD_LCD_D01__ETM_DA9                      0x1011
-MX23_PAD_LCD_D02__ETM_DA10                     0x1021
-MX23_PAD_LCD_D03__ETM_DA11                     0x1031
-MX23_PAD_LCD_D04__ETM_DA12                     0x1041
-MX23_PAD_LCD_D05__ETM_DA13                     0x1051
-MX23_PAD_LCD_D06__ETM_DA14                     0x1061
-MX23_PAD_LCD_D07__ETM_DA15                     0x1071
-MX23_PAD_LCD_D08__ETM_DA0                      0x1081
-MX23_PAD_LCD_D09__ETM_DA1                      0x1091
-MX23_PAD_LCD_D10__ETM_DA2                      0x10a1
-MX23_PAD_LCD_D11__ETM_DA3                      0x10b1
-MX23_PAD_LCD_D12__ETM_DA4                      0x10c1
-MX23_PAD_LCD_D13__ETM_DA5                      0x10d1
-MX23_PAD_LCD_D14__ETM_DA6                      0x10e1
-MX23_PAD_LCD_D15__ETM_DA7                      0x10f1
-MX23_PAD_LCD_RESET__ETM_TCTL                   0x1121
-MX23_PAD_LCD_RS__ETM_TCLK                      0x1131
-MX23_PAD_LCD_DOTCK__GPMI_RDY3                  0x1161
-MX23_PAD_LCD_ENABLE__I2C_SCL                   0x1171
-MX23_PAD_LCD_HSYNC__I2C_SDA                    0x1181
-MX23_PAD_LCD_VSYNC__LCD_BUSY                   0x1191
-MX23_PAD_PWM0__ROTARYA                         0x11a1
-MX23_PAD_PWM1__ROTARYB                         0x11b1
-MX23_PAD_PWM2__GPMI_RDY3                       0x11c1
-MX23_PAD_PWM3__ETM_TCTL                                0x11d1
-MX23_PAD_PWM4__ETM_TCLK                                0x11e1
-MX23_PAD_SSP1_DETECT__GPMI_CE3N                        0x2011
-MX23_PAD_SSP1_DATA1__I2C_SCL                   0x2031
-MX23_PAD_SSP1_DATA2__I2C_SDA                   0x2041
-MX23_PAD_ROTARYA__AUART2_RTS                   0x2071
-MX23_PAD_ROTARYB__AUART2_CTS                   0x2081
-MX23_PAD_GPMI_D00__SSP2_DATA0                  0x0002
-MX23_PAD_GPMI_D01__SSP2_DATA1                  0x0012
-MX23_PAD_GPMI_D02__SSP2_DATA2                  0x0022
-MX23_PAD_GPMI_D03__SSP2_DATA3                  0x0032
-MX23_PAD_GPMI_D04__SSP2_DATA4                  0x0042
-MX23_PAD_GPMI_D05__SSP2_DATA5                  0x0052
-MX23_PAD_GPMI_D06__SSP2_DATA6                  0x0062
-MX23_PAD_GPMI_D07__SSP2_DATA7                  0x0072
-MX23_PAD_GPMI_D08__SSP1_DATA4                  0x0082
-MX23_PAD_GPMI_D09__SSP1_DATA5                  0x0092
-MX23_PAD_GPMI_D10__SSP1_DATA6                  0x00a2
-MX23_PAD_GPMI_D11__SSP1_DATA7                  0x00b2
-MX23_PAD_GPMI_D15__GPMI_CE3N                   0x00f2
-MX23_PAD_GPMI_RDY0__SSP2_DETECT                        0x0132
-MX23_PAD_GPMI_RDY1__SSP2_CMD                   0x0142
-MX23_PAD_GPMI_WRN__SSP2_SCK                    0x0182
-MX23_PAD_AUART1_CTS__SSP1_DATA4                        0x01a2
-MX23_PAD_AUART1_RTS__SSP1_DATA5                        0x01b2
-MX23_PAD_AUART1_RX__SSP1_DATA6                 0x01c2
-MX23_PAD_AUART1_TX__SSP1_DATA7                 0x01d2
-MX23_PAD_I2C_SCL__AUART1_TX                    0x01e2
-MX23_PAD_I2C_SDA__AUART1_RX                    0x01f2
-MX23_PAD_LCD_D08__SAIF2_SDATA0                 0x1082
-MX23_PAD_LCD_D09__SAIF1_SDATA0                 0x1092
-MX23_PAD_LCD_D10__SAIF_MCLK_BITCLK             0x10a2
-MX23_PAD_LCD_D11__SAIF_LRCLK                   0x10b2
-MX23_PAD_LCD_D12__SAIF2_SDATA1                 0x10c2
-MX23_PAD_LCD_D13__SAIF2_SDATA2                 0x10d2
-MX23_PAD_LCD_D14__SAIF1_SDATA2                 0x10e2
-MX23_PAD_LCD_D15__SAIF1_SDATA1                 0x10f2
-MX23_PAD_LCD_D16__SAIF_ALT_BITCLK              0x1102
-MX23_PAD_LCD_RESET__GPMI_CE3N                  0x1122
-MX23_PAD_PWM0__DUART_RX                                0x11a2
-MX23_PAD_PWM1__DUART_TX                                0x11b2
-MX23_PAD_PWM3__AUART1_CTS                      0x11d2
-MX23_PAD_PWM4__AUART1_RTS                      0x11e2
-MX23_PAD_SSP1_CMD__JTAG_TDO                    0x2002
-MX23_PAD_SSP1_DETECT__USB_OTG_ID               0x2012
-MX23_PAD_SSP1_DATA0__JTAG_TDI                  0x2022
-MX23_PAD_SSP1_DATA1__JTAG_TCLK                 0x2032
-MX23_PAD_SSP1_DATA2__JTAG_RTCK                 0x2042
-MX23_PAD_SSP1_DATA3__JTAG_TMS                  0x2052
-MX23_PAD_SSP1_SCK__JTAG_TRST                   0x2062
-MX23_PAD_ROTARYA__SPDIF                                0x2072
-MX23_PAD_ROTARYB__GPMI_CE3N                    0x2082
-MX23_PAD_GPMI_D00__GPIO_0_0                    0x0003
-MX23_PAD_GPMI_D01__GPIO_0_1                    0x0013
-MX23_PAD_GPMI_D02__GPIO_0_2                    0x0023
-MX23_PAD_GPMI_D03__GPIO_0_3                    0x0033
-MX23_PAD_GPMI_D04__GPIO_0_4                    0x0043
-MX23_PAD_GPMI_D05__GPIO_0_5                    0x0053
-MX23_PAD_GPMI_D06__GPIO_0_6                    0x0063
-MX23_PAD_GPMI_D07__GPIO_0_7                    0x0073
-MX23_PAD_GPMI_D08__GPIO_0_8                    0x0083
-MX23_PAD_GPMI_D09__GPIO_0_9                    0x0093
-MX23_PAD_GPMI_D10__GPIO_0_10                   0x00a3
-MX23_PAD_GPMI_D11__GPIO_0_11                   0x00b3
-MX23_PAD_GPMI_D12__GPIO_0_12                   0x00c3
-MX23_PAD_GPMI_D13__GPIO_0_13                   0x00d3
-MX23_PAD_GPMI_D14__GPIO_0_14                   0x00e3
-MX23_PAD_GPMI_D15__GPIO_0_15                   0x00f3
-MX23_PAD_GPMI_CLE__GPIO_0_16                   0x0103
-MX23_PAD_GPMI_ALE__GPIO_0_17                   0x0113
-MX23_PAD_GPMI_CE2N__GPIO_0_18                  0x0123
-MX23_PAD_GPMI_RDY0__GPIO_0_19                  0x0133
-MX23_PAD_GPMI_RDY1__GPIO_0_20                  0x0143
-MX23_PAD_GPMI_RDY2__GPIO_0_21                  0x0153
-MX23_PAD_GPMI_RDY3__GPIO_0_22                  0x0163
-MX23_PAD_GPMI_WPN__GPIO_0_23                   0x0173
-MX23_PAD_GPMI_WRN__GPIO_0_24                   0x0183
-MX23_PAD_GPMI_RDN__GPIO_0_25                   0x0193
-MX23_PAD_AUART1_CTS__GPIO_0_26                 0x01a3
-MX23_PAD_AUART1_RTS__GPIO_0_27                 0x01b3
-MX23_PAD_AUART1_RX__GPIO_0_28                  0x01c3
-MX23_PAD_AUART1_TX__GPIO_0_29                  0x01d3
-MX23_PAD_I2C_SCL__GPIO_0_30                    0x01e3
-MX23_PAD_I2C_SDA__GPIO_0_31                    0x01f3
-MX23_PAD_LCD_D00__GPIO_1_0                     0x1003
-MX23_PAD_LCD_D01__GPIO_1_1                     0x1013
-MX23_PAD_LCD_D02__GPIO_1_2                     0x1023
-MX23_PAD_LCD_D03__GPIO_1_3                     0x1033
-MX23_PAD_LCD_D04__GPIO_1_4                     0x1043
-MX23_PAD_LCD_D05__GPIO_1_5                     0x1053
-MX23_PAD_LCD_D06__GPIO_1_6                     0x1063
-MX23_PAD_LCD_D07__GPIO_1_7                     0x1073
-MX23_PAD_LCD_D08__GPIO_1_8                     0x1083
-MX23_PAD_LCD_D09__GPIO_1_9                     0x1093
-MX23_PAD_LCD_D10__GPIO_1_10                    0x10a3
-MX23_PAD_LCD_D11__GPIO_1_11                    0x10b3
-MX23_PAD_LCD_D12__GPIO_1_12                    0x10c3
-MX23_PAD_LCD_D13__GPIO_1_13                    0x10d3
-MX23_PAD_LCD_D14__GPIO_1_14                    0x10e3
-MX23_PAD_LCD_D15__GPIO_1_15                    0x10f3
-MX23_PAD_LCD_D16__GPIO_1_16                    0x1103
-MX23_PAD_LCD_D17__GPIO_1_17                    0x1113
-MX23_PAD_LCD_RESET__GPIO_1_18                  0x1123
-MX23_PAD_LCD_RS__GPIO_1_19                     0x1133
-MX23_PAD_LCD_WR__GPIO_1_20                     0x1143
-MX23_PAD_LCD_CS__GPIO_1_21                     0x1153
-MX23_PAD_LCD_DOTCK__GPIO_1_22                  0x1163
-MX23_PAD_LCD_ENABLE__GPIO_1_23                 0x1173
-MX23_PAD_LCD_HSYNC__GPIO_1_24                  0x1183
-MX23_PAD_LCD_VSYNC__GPIO_1_25                  0x1193
-MX23_PAD_PWM0__GPIO_1_26                       0x11a3
-MX23_PAD_PWM1__GPIO_1_27                       0x11b3
-MX23_PAD_PWM2__GPIO_1_28                       0x11c3
-MX23_PAD_PWM3__GPIO_1_29                       0x11d3
-MX23_PAD_PWM4__GPIO_1_30                       0x11e3
-MX23_PAD_SSP1_CMD__GPIO_2_0                    0x2003
-MX23_PAD_SSP1_DETECT__GPIO_2_1                 0x2013
-MX23_PAD_SSP1_DATA0__GPIO_2_2                  0x2023
-MX23_PAD_SSP1_DATA1__GPIO_2_3                  0x2033
-MX23_PAD_SSP1_DATA2__GPIO_2_4                  0x2043
-MX23_PAD_SSP1_DATA3__GPIO_2_5                  0x2053
-MX23_PAD_SSP1_SCK__GPIO_2_6                    0x2063
-MX23_PAD_ROTARYA__GPIO_2_7                     0x2073
-MX23_PAD_ROTARYB__GPIO_2_8                     0x2083
-MX23_PAD_EMI_A00__GPIO_2_9                     0x2093
-MX23_PAD_EMI_A01__GPIO_2_10                    0x20a3
-MX23_PAD_EMI_A02__GPIO_2_11                    0x20b3
-MX23_PAD_EMI_A03__GPIO_2_12                    0x20c3
-MX23_PAD_EMI_A04__GPIO_2_13                    0x20d3
-MX23_PAD_EMI_A05__GPIO_2_14                    0x20e3
-MX23_PAD_EMI_A06__GPIO_2_15                    0x20f3
-MX23_PAD_EMI_A07__GPIO_2_16                    0x2103
-MX23_PAD_EMI_A08__GPIO_2_17                    0x2113
-MX23_PAD_EMI_A09__GPIO_2_18                    0x2123
-MX23_PAD_EMI_A10__GPIO_2_19                    0x2133
-MX23_PAD_EMI_A11__GPIO_2_20                    0x2143
-MX23_PAD_EMI_A12__GPIO_2_21                    0x2153
-MX23_PAD_EMI_BA0__GPIO_2_22                    0x2163
-MX23_PAD_EMI_BA1__GPIO_2_23                    0x2173
-MX23_PAD_EMI_CASN__GPIO_2_24                   0x2183
-MX23_PAD_EMI_CE0N__GPIO_2_25                   0x2193
-MX23_PAD_EMI_CE1N__GPIO_2_26                   0x21a3
-MX23_PAD_GPMI_CE1N__GPIO_2_27                  0x21b3
-MX23_PAD_GPMI_CE0N__GPIO_2_28                  0x21c3
-MX23_PAD_EMI_CKE__GPIO_2_29                    0x21d3
-MX23_PAD_EMI_RASN__GPIO_2_30                   0x21e3
-MX23_PAD_EMI_WEN__GPIO_2_31                    0x21f3
+Valid values for i.MX28/i.MX23 pinmux-id are defined in
+arch/arm/boot/dts/imx28-pinfunc.h and arch/arm/boot/dts/imx23-pinfunc.h.
+The definitions for the padconfig properties can be found in
+arch/arm/boot/dts/mxs-pinfunc.h.
diff --git a/arch/arm/boot/dts/imx23-pinfunc.h b/arch/arm/boot/dts/imx23-pinfunc.h
new file mode 100644 (file)
index 0000000..5c0f32c
--- /dev/null
@@ -0,0 +1,333 @@
+/*
+ * Header providing constants for i.MX23 pinctrl bindings.
+ *
+ * Copyright (C) 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#ifndef __DT_BINDINGS_MX23_PINCTRL_H__
+#define __DT_BINDINGS_MX23_PINCTRL_H__
+
+#include "mxs-pinfunc.h"
+
+#define MX23_PAD_GPMI_D00__GPMI_D00                    0x0000
+#define MX23_PAD_GPMI_D01__GPMI_D01                    0x0010
+#define MX23_PAD_GPMI_D02__GPMI_D02                    0x0020
+#define MX23_PAD_GPMI_D03__GPMI_D03                    0x0030
+#define MX23_PAD_GPMI_D04__GPMI_D04                    0x0040
+#define MX23_PAD_GPMI_D05__GPMI_D05                    0x0050
+#define MX23_PAD_GPMI_D06__GPMI_D06                    0x0060
+#define MX23_PAD_GPMI_D07__GPMI_D07                    0x0070
+#define MX23_PAD_GPMI_D08__GPMI_D08                    0x0080
+#define MX23_PAD_GPMI_D09__GPMI_D09                    0x0090
+#define MX23_PAD_GPMI_D10__GPMI_D10                    0x00a0
+#define MX23_PAD_GPMI_D11__GPMI_D11                    0x00b0
+#define MX23_PAD_GPMI_D12__GPMI_D12                    0x00c0
+#define MX23_PAD_GPMI_D13__GPMI_D13                    0x00d0
+#define MX23_PAD_GPMI_D14__GPMI_D14                    0x00e0
+#define MX23_PAD_GPMI_D15__GPMI_D15                    0x00f0
+#define MX23_PAD_GPMI_CLE__GPMI_CLE                    0x0100
+#define MX23_PAD_GPMI_ALE__GPMI_ALE                    0x0110
+#define MX23_PAD_GPMI_CE2N__GPMI_CE2N                  0x0120
+#define MX23_PAD_GPMI_RDY0__GPMI_RDY0                  0x0130
+#define MX23_PAD_GPMI_RDY1__GPMI_RDY1                  0x0140
+#define MX23_PAD_GPMI_RDY2__GPMI_RDY2                  0x0150
+#define MX23_PAD_GPMI_RDY3__GPMI_RDY3                  0x0160
+#define MX23_PAD_GPMI_WPN__GPMI_WPN                    0x0170
+#define MX23_PAD_GPMI_WRN__GPMI_WRN                    0x0180
+#define MX23_PAD_GPMI_RDN__GPMI_RDN                    0x0190
+#define MX23_PAD_AUART1_CTS__AUART1_CTS                        0x01a0
+#define MX23_PAD_AUART1_RTS__AUART1_RTS                        0x01b0
+#define MX23_PAD_AUART1_RX__AUART1_RX                  0x01c0
+#define MX23_PAD_AUART1_TX__AUART1_TX                  0x01d0
+#define MX23_PAD_I2C_SCL__I2C_SCL                      0x01e0
+#define MX23_PAD_I2C_SDA__I2C_SDA                      0x01f0
+#define MX23_PAD_LCD_D00__LCD_D00                      0x1000
+#define MX23_PAD_LCD_D01__LCD_D01                      0x1010
+#define MX23_PAD_LCD_D02__LCD_D02                      0x1020
+#define MX23_PAD_LCD_D03__LCD_D03                      0x1030
+#define MX23_PAD_LCD_D04__LCD_D04                      0x1040
+#define MX23_PAD_LCD_D05__LCD_D05                      0x1050
+#define MX23_PAD_LCD_D06__LCD_D06                      0x1060
+#define MX23_PAD_LCD_D07__LCD_D07                      0x1070
+#define MX23_PAD_LCD_D08__LCD_D08                      0x1080
+#define MX23_PAD_LCD_D09__LCD_D09                      0x1090
+#define MX23_PAD_LCD_D10__LCD_D10                      0x10a0
+#define MX23_PAD_LCD_D11__LCD_D11                      0x10b0
+#define MX23_PAD_LCD_D12__LCD_D12                      0x10c0
+#define MX23_PAD_LCD_D13__LCD_D13                      0x10d0
+#define MX23_PAD_LCD_D14__LCD_D14                      0x10e0
+#define MX23_PAD_LCD_D15__LCD_D15                      0x10f0
+#define MX23_PAD_LCD_D16__LCD_D16                      0x1100
+#define MX23_PAD_LCD_D17__LCD_D17                      0x1110
+#define MX23_PAD_LCD_RESET__LCD_RESET                  0x1120
+#define MX23_PAD_LCD_RS__LCD_RS                                0x1130
+#define MX23_PAD_LCD_WR__LCD_WR                                0x1140
+#define MX23_PAD_LCD_CS__LCD_CS                                0x1150
+#define MX23_PAD_LCD_DOTCK__LCD_DOTCK                  0x1160
+#define MX23_PAD_LCD_ENABLE__LCD_ENABLE                        0x1170
+#define MX23_PAD_LCD_HSYNC__LCD_HSYNC                  0x1180
+#define MX23_PAD_LCD_VSYNC__LCD_VSYNC                  0x1190
+#define MX23_PAD_PWM0__PWM0                            0x11a0
+#define MX23_PAD_PWM1__PWM1                            0x11b0
+#define MX23_PAD_PWM2__PWM2                            0x11c0
+#define MX23_PAD_PWM3__PWM3                            0x11d0
+#define MX23_PAD_PWM4__PWM4                            0x11e0
+#define MX23_PAD_SSP1_CMD__SSP1_CMD                    0x2000
+#define MX23_PAD_SSP1_DETECT__SSP1_DETECT              0x2010
+#define MX23_PAD_SSP1_DATA0__SSP1_DATA0                        0x2020
+#define MX23_PAD_SSP1_DATA1__SSP1_DATA1                        0x2030
+#define MX23_PAD_SSP1_DATA2__SSP1_DATA2                        0x2040
+#define MX23_PAD_SSP1_DATA3__SSP1_DATA3                        0x2050
+#define MX23_PAD_SSP1_SCK__SSP1_SCK                    0x2060
+#define MX23_PAD_ROTARYA__ROTARYA                      0x2070
+#define MX23_PAD_ROTARYB__ROTARYB                      0x2080
+#define MX23_PAD_EMI_A00__EMI_A00                      0x2090
+#define MX23_PAD_EMI_A01__EMI_A01                      0x20a0
+#define MX23_PAD_EMI_A02__EMI_A02                      0x20b0
+#define MX23_PAD_EMI_A03__EMI_A03                      0x20c0
+#define MX23_PAD_EMI_A04__EMI_A04                      0x20d0
+#define MX23_PAD_EMI_A05__EMI_A05                      0x20e0
+#define MX23_PAD_EMI_A06__EMI_A06                      0x20f0
+#define MX23_PAD_EMI_A07__EMI_A07                      0x2100
+#define MX23_PAD_EMI_A08__EMI_A08                      0x2110
+#define MX23_PAD_EMI_A09__EMI_A09                      0x2120
+#define MX23_PAD_EMI_A10__EMI_A10                      0x2130
+#define MX23_PAD_EMI_A11__EMI_A11                      0x2140
+#define MX23_PAD_EMI_A12__EMI_A12                      0x2150
+#define MX23_PAD_EMI_BA0__EMI_BA0                      0x2160
+#define MX23_PAD_EMI_BA1__EMI_BA1                      0x2170
+#define MX23_PAD_EMI_CASN__EMI_CASN                    0x2180
+#define MX23_PAD_EMI_CE0N__EMI_CE0N                    0x2190
+#define MX23_PAD_EMI_CE1N__EMI_CE1N                    0x21a0
+#define MX23_PAD_GPMI_CE1N__GPMI_CE1N                  0x21b0
+#define MX23_PAD_GPMI_CE0N__GPMI_CE0N                  0x21c0
+#define MX23_PAD_EMI_CKE__EMI_CKE                      0x21d0
+#define MX23_PAD_EMI_RASN__EMI_RASN                    0x21e0
+#define MX23_PAD_EMI_WEN__EMI_WEN                      0x21f0
+#define MX23_PAD_EMI_D00__EMI_D00                      0x3000
+#define MX23_PAD_EMI_D01__EMI_D01                      0x3010
+#define MX23_PAD_EMI_D02__EMI_D02                      0x3020
+#define MX23_PAD_EMI_D03__EMI_D03                      0x3030
+#define MX23_PAD_EMI_D04__EMI_D04                      0x3040
+#define MX23_PAD_EMI_D05__EMI_D05                      0x3050
+#define MX23_PAD_EMI_D06__EMI_D06                      0x3060
+#define MX23_PAD_EMI_D07__EMI_D07                      0x3070
+#define MX23_PAD_EMI_D08__EMI_D08                      0x3080
+#define MX23_PAD_EMI_D09__EMI_D09                      0x3090
+#define MX23_PAD_EMI_D10__EMI_D10                      0x30a0
+#define MX23_PAD_EMI_D11__EMI_D11                      0x30b0
+#define MX23_PAD_EMI_D12__EMI_D12                      0x30c0
+#define MX23_PAD_EMI_D13__EMI_D13                      0x30d0
+#define MX23_PAD_EMI_D14__EMI_D14                      0x30e0
+#define MX23_PAD_EMI_D15__EMI_D15                      0x30f0
+#define MX23_PAD_EMI_DQM0__EMI_DQM0                    0x3100
+#define MX23_PAD_EMI_DQM1__EMI_DQM1                    0x3110
+#define MX23_PAD_EMI_DQS0__EMI_DQS0                    0x3120
+#define MX23_PAD_EMI_DQS1__EMI_DQS1                    0x3130
+#define MX23_PAD_EMI_CLK__EMI_CLK                      0x3140
+#define MX23_PAD_EMI_CLKN__EMI_CLKN                    0x3150
+#define MX23_PAD_GPMI_D00__LCD_D8                      0x0001
+#define MX23_PAD_GPMI_D01__LCD_D9                      0x0011
+#define MX23_PAD_GPMI_D02__LCD_D10                     0x0021
+#define MX23_PAD_GPMI_D03__LCD_D11                     0x0031
+#define MX23_PAD_GPMI_D04__LCD_D12                     0x0041
+#define MX23_PAD_GPMI_D05__LCD_D13                     0x0051
+#define MX23_PAD_GPMI_D06__LCD_D14                     0x0061
+#define MX23_PAD_GPMI_D07__LCD_D15                     0x0071
+#define MX23_PAD_GPMI_D08__LCD_D18                     0x0081
+#define MX23_PAD_GPMI_D09__LCD_D19                     0x0091
+#define MX23_PAD_GPMI_D10__LCD_D20                     0x00a1
+#define MX23_PAD_GPMI_D11__LCD_D21                     0x00b1
+#define MX23_PAD_GPMI_D12__LCD_D22                     0x00c1
+#define MX23_PAD_GPMI_D13__LCD_D23                     0x00d1
+#define MX23_PAD_GPMI_D14__AUART2_RX                   0x00e1
+#define MX23_PAD_GPMI_D15__AUART2_TX                   0x00f1
+#define MX23_PAD_GPMI_CLE__LCD_D16                     0x0101
+#define MX23_PAD_GPMI_ALE__LCD_D17                     0x0111
+#define MX23_PAD_GPMI_CE2N__ATA_A2                     0x0121
+#define MX23_PAD_AUART1_RTS__IR_CLK                    0x01b1
+#define MX23_PAD_AUART1_RX__IR_RX                      0x01c1
+#define MX23_PAD_AUART1_TX__IR_TX                      0x01d1
+#define MX23_PAD_I2C_SCL__GPMI_RDY2                    0x01e1
+#define MX23_PAD_I2C_SDA__GPMI_CE2N                    0x01f1
+#define MX23_PAD_LCD_D00__ETM_DA8                      0x1001
+#define MX23_PAD_LCD_D01__ETM_DA9                      0x1011
+#define MX23_PAD_LCD_D02__ETM_DA10                     0x1021
+#define MX23_PAD_LCD_D03__ETM_DA11                     0x1031
+#define MX23_PAD_LCD_D04__ETM_DA12                     0x1041
+#define MX23_PAD_LCD_D05__ETM_DA13                     0x1051
+#define MX23_PAD_LCD_D06__ETM_DA14                     0x1061
+#define MX23_PAD_LCD_D07__ETM_DA15                     0x1071
+#define MX23_PAD_LCD_D08__ETM_DA0                      0x1081
+#define MX23_PAD_LCD_D09__ETM_DA1                      0x1091
+#define MX23_PAD_LCD_D10__ETM_DA2                      0x10a1
+#define MX23_PAD_LCD_D11__ETM_DA3                      0x10b1
+#define MX23_PAD_LCD_D12__ETM_DA4                      0x10c1
+#define MX23_PAD_LCD_D13__ETM_DA5                      0x10d1
+#define MX23_PAD_LCD_D14__ETM_DA6                      0x10e1
+#define MX23_PAD_LCD_D15__ETM_DA7                      0x10f1
+#define MX23_PAD_LCD_RESET__ETM_TCTL                   0x1121
+#define MX23_PAD_LCD_RS__ETM_TCLK                      0x1131
+#define MX23_PAD_LCD_DOTCK__GPMI_RDY3                  0x1161
+#define MX23_PAD_LCD_ENABLE__I2C_SCL                   0x1171
+#define MX23_PAD_LCD_HSYNC__I2C_SDA                    0x1181
+#define MX23_PAD_LCD_VSYNC__LCD_BUSY                   0x1191
+#define MX23_PAD_PWM0__ROTARYA                         0x11a1
+#define MX23_PAD_PWM1__ROTARYB                         0x11b1
+#define MX23_PAD_PWM2__GPMI_RDY3                       0x11c1
+#define MX23_PAD_PWM3__ETM_TCTL                                0x11d1
+#define MX23_PAD_PWM4__ETM_TCLK                                0x11e1
+#define MX23_PAD_SSP1_DETECT__GPMI_CE3N                        0x2011
+#define MX23_PAD_SSP1_DATA1__I2C_SCL                   0x2031
+#define MX23_PAD_SSP1_DATA2__I2C_SDA                   0x2041
+#define MX23_PAD_ROTARYA__AUART2_RTS                   0x2071
+#define MX23_PAD_ROTARYB__AUART2_CTS                   0x2081
+#define MX23_PAD_GPMI_D00__SSP2_DATA0                  0x0002
+#define MX23_PAD_GPMI_D01__SSP2_DATA1                  0x0012
+#define MX23_PAD_GPMI_D02__SSP2_DATA2                  0x0022
+#define MX23_PAD_GPMI_D03__SSP2_DATA3                  0x0032
+#define MX23_PAD_GPMI_D04__SSP2_DATA4                  0x0042
+#define MX23_PAD_GPMI_D05__SSP2_DATA5                  0x0052
+#define MX23_PAD_GPMI_D06__SSP2_DATA6                  0x0062
+#define MX23_PAD_GPMI_D07__SSP2_DATA7                  0x0072
+#define MX23_PAD_GPMI_D08__SSP1_DATA4                  0x0082
+#define MX23_PAD_GPMI_D09__SSP1_DATA5                  0x0092
+#define MX23_PAD_GPMI_D10__SSP1_DATA6                  0x00a2
+#define MX23_PAD_GPMI_D11__SSP1_DATA7                  0x00b2
+#define MX23_PAD_GPMI_D15__GPMI_CE3N                   0x00f2
+#define MX23_PAD_GPMI_RDY0__SSP2_DETECT                        0x0132
+#define MX23_PAD_GPMI_RDY1__SSP2_CMD                   0x0142
+#define MX23_PAD_GPMI_WRN__SSP2_SCK                    0x0182
+#define MX23_PAD_AUART1_CTS__SSP1_DATA4                        0x01a2
+#define MX23_PAD_AUART1_RTS__SSP1_DATA5                        0x01b2
+#define MX23_PAD_AUART1_RX__SSP1_DATA6                 0x01c2
+#define MX23_PAD_AUART1_TX__SSP1_DATA7                 0x01d2
+#define MX23_PAD_I2C_SCL__AUART1_TX                    0x01e2
+#define MX23_PAD_I2C_SDA__AUART1_RX                    0x01f2
+#define MX23_PAD_LCD_D08__SAIF2_SDATA0                 0x1082
+#define MX23_PAD_LCD_D09__SAIF1_SDATA0                 0x1092
+#define MX23_PAD_LCD_D10__SAIF_MCLK_BITCLK             0x10a2
+#define MX23_PAD_LCD_D11__SAIF_LRCLK                   0x10b2
+#define MX23_PAD_LCD_D12__SAIF2_SDATA1                 0x10c2
+#define MX23_PAD_LCD_D13__SAIF2_SDATA2                 0x10d2
+#define MX23_PAD_LCD_D14__SAIF1_SDATA2                 0x10e2
+#define MX23_PAD_LCD_D15__SAIF1_SDATA1                 0x10f2
+#define MX23_PAD_LCD_D16__SAIF_ALT_BITCLK              0x1102
+#define MX23_PAD_LCD_RESET__GPMI_CE3N                  0x1122
+#define MX23_PAD_PWM0__DUART_RX                                0x11a2
+#define MX23_PAD_PWM1__DUART_TX                                0x11b2
+#define MX23_PAD_PWM3__AUART1_CTS                      0x11d2
+#define MX23_PAD_PWM4__AUART1_RTS                      0x11e2
+#define MX23_PAD_SSP1_CMD__JTAG_TDO                    0x2002
+#define MX23_PAD_SSP1_DETECT__USB_OTG_ID               0x2012
+#define MX23_PAD_SSP1_DATA0__JTAG_TDI                  0x2022
+#define MX23_PAD_SSP1_DATA1__JTAG_TCLK                 0x2032
+#define MX23_PAD_SSP1_DATA2__JTAG_RTCK                 0x2042
+#define MX23_PAD_SSP1_DATA3__JTAG_TMS                  0x2052
+#define MX23_PAD_SSP1_SCK__JTAG_TRST                   0x2062
+#define MX23_PAD_ROTARYA__SPDIF                                0x2072
+#define MX23_PAD_ROTARYB__GPMI_CE3N                    0x2082
+#define MX23_PAD_GPMI_D00__GPIO_0_0                    0x0003
+#define MX23_PAD_GPMI_D01__GPIO_0_1                    0x0013
+#define MX23_PAD_GPMI_D02__GPIO_0_2                    0x0023
+#define MX23_PAD_GPMI_D03__GPIO_0_3                    0x0033
+#define MX23_PAD_GPMI_D04__GPIO_0_4                    0x0043
+#define MX23_PAD_GPMI_D05__GPIO_0_5                    0x0053
+#define MX23_PAD_GPMI_D06__GPIO_0_6                    0x0063
+#define MX23_PAD_GPMI_D07__GPIO_0_7                    0x0073
+#define MX23_PAD_GPMI_D08__GPIO_0_8                    0x0083
+#define MX23_PAD_GPMI_D09__GPIO_0_9                    0x0093
+#define MX23_PAD_GPMI_D10__GPIO_0_10                   0x00a3
+#define MX23_PAD_GPMI_D11__GPIO_0_11                   0x00b3
+#define MX23_PAD_GPMI_D12__GPIO_0_12                   0x00c3
+#define MX23_PAD_GPMI_D13__GPIO_0_13                   0x00d3
+#define MX23_PAD_GPMI_D14__GPIO_0_14                   0x00e3
+#define MX23_PAD_GPMI_D15__GPIO_0_15                   0x00f3
+#define MX23_PAD_GPMI_CLE__GPIO_0_16                   0x0103
+#define MX23_PAD_GPMI_ALE__GPIO_0_17                   0x0113
+#define MX23_PAD_GPMI_CE2N__GPIO_0_18                  0x0123
+#define MX23_PAD_GPMI_RDY0__GPIO_0_19                  0x0133
+#define MX23_PAD_GPMI_RDY1__GPIO_0_20                  0x0143
+#define MX23_PAD_GPMI_RDY2__GPIO_0_21                  0x0153
+#define MX23_PAD_GPMI_RDY3__GPIO_0_22                  0x0163
+#define MX23_PAD_GPMI_WPN__GPIO_0_23                   0x0173
+#define MX23_PAD_GPMI_WRN__GPIO_0_24                   0x0183
+#define MX23_PAD_GPMI_RDN__GPIO_0_25                   0x0193
+#define MX23_PAD_AUART1_CTS__GPIO_0_26                 0x01a3
+#define MX23_PAD_AUART1_RTS__GPIO_0_27                 0x01b3
+#define MX23_PAD_AUART1_RX__GPIO_0_28                  0x01c3
+#define MX23_PAD_AUART1_TX__GPIO_0_29                  0x01d3
+#define MX23_PAD_I2C_SCL__GPIO_0_30                    0x01e3
+#define MX23_PAD_I2C_SDA__GPIO_0_31                    0x01f3
+#define MX23_PAD_LCD_D00__GPIO_1_0                     0x1003
+#define MX23_PAD_LCD_D01__GPIO_1_1                     0x1013
+#define MX23_PAD_LCD_D02__GPIO_1_2                     0x1023
+#define MX23_PAD_LCD_D03__GPIO_1_3                     0x1033
+#define MX23_PAD_LCD_D04__GPIO_1_4                     0x1043
+#define MX23_PAD_LCD_D05__GPIO_1_5                     0x1053
+#define MX23_PAD_LCD_D06__GPIO_1_6                     0x1063
+#define MX23_PAD_LCD_D07__GPIO_1_7                     0x1073
+#define MX23_PAD_LCD_D08__GPIO_1_8                     0x1083
+#define MX23_PAD_LCD_D09__GPIO_1_9                     0x1093
+#define MX23_PAD_LCD_D10__GPIO_1_10                    0x10a3
+#define MX23_PAD_LCD_D11__GPIO_1_11                    0x10b3
+#define MX23_PAD_LCD_D12__GPIO_1_12                    0x10c3
+#define MX23_PAD_LCD_D13__GPIO_1_13                    0x10d3
+#define MX23_PAD_LCD_D14__GPIO_1_14                    0x10e3
+#define MX23_PAD_LCD_D15__GPIO_1_15                    0x10f3
+#define MX23_PAD_LCD_D16__GPIO_1_16                    0x1103
+#define MX23_PAD_LCD_D17__GPIO_1_17                    0x1113
+#define MX23_PAD_LCD_RESET__GPIO_1_18                  0x1123
+#define MX23_PAD_LCD_RS__GPIO_1_19                     0x1133
+#define MX23_PAD_LCD_WR__GPIO_1_20                     0x1143
+#define MX23_PAD_LCD_CS__GPIO_1_21                     0x1153
+#define MX23_PAD_LCD_DOTCK__GPIO_1_22                  0x1163
+#define MX23_PAD_LCD_ENABLE__GPIO_1_23                 0x1173
+#define MX23_PAD_LCD_HSYNC__GPIO_1_24                  0x1183
+#define MX23_PAD_LCD_VSYNC__GPIO_1_25                  0x1193
+#define MX23_PAD_PWM0__GPIO_1_26                       0x11a3
+#define MX23_PAD_PWM1__GPIO_1_27                       0x11b3
+#define MX23_PAD_PWM2__GPIO_1_28                       0x11c3
+#define MX23_PAD_PWM3__GPIO_1_29                       0x11d3
+#define MX23_PAD_PWM4__GPIO_1_30                       0x11e3
+#define MX23_PAD_SSP1_CMD__GPIO_2_0                    0x2003
+#define MX23_PAD_SSP1_DETECT__GPIO_2_1                 0x2013
+#define MX23_PAD_SSP1_DATA0__GPIO_2_2                  0x2023
+#define MX23_PAD_SSP1_DATA1__GPIO_2_3                  0x2033
+#define MX23_PAD_SSP1_DATA2__GPIO_2_4                  0x2043
+#define MX23_PAD_SSP1_DATA3__GPIO_2_5                  0x2053
+#define MX23_PAD_SSP1_SCK__GPIO_2_6                    0x2063
+#define MX23_PAD_ROTARYA__GPIO_2_7                     0x2073
+#define MX23_PAD_ROTARYB__GPIO_2_8                     0x2083
+#define MX23_PAD_EMI_A00__GPIO_2_9                     0x2093
+#define MX23_PAD_EMI_A01__GPIO_2_10                    0x20a3
+#define MX23_PAD_EMI_A02__GPIO_2_11                    0x20b3
+#define MX23_PAD_EMI_A03__GPIO_2_12                    0x20c3
+#define MX23_PAD_EMI_A04__GPIO_2_13                    0x20d3
+#define MX23_PAD_EMI_A05__GPIO_2_14                    0x20e3
+#define MX23_PAD_EMI_A06__GPIO_2_15                    0x20f3
+#define MX23_PAD_EMI_A07__GPIO_2_16                    0x2103
+#define MX23_PAD_EMI_A08__GPIO_2_17                    0x2113
+#define MX23_PAD_EMI_A09__GPIO_2_18                    0x2123
+#define MX23_PAD_EMI_A10__GPIO_2_19                    0x2133
+#define MX23_PAD_EMI_A11__GPIO_2_20                    0x2143
+#define MX23_PAD_EMI_A12__GPIO_2_21                    0x2153
+#define MX23_PAD_EMI_BA0__GPIO_2_22                    0x2163
+#define MX23_PAD_EMI_BA1__GPIO_2_23                    0x2173
+#define MX23_PAD_EMI_CASN__GPIO_2_24                   0x2183
+#define MX23_PAD_EMI_CE0N__GPIO_2_25                   0x2193
+#define MX23_PAD_EMI_CE1N__GPIO_2_26                   0x21a3
+#define MX23_PAD_GPMI_CE1N__GPIO_2_27                  0x21b3
+#define MX23_PAD_GPMI_CE0N__GPIO_2_28                  0x21c3
+#define MX23_PAD_EMI_CKE__GPIO_2_29                    0x21d3
+#define MX23_PAD_EMI_RASN__GPIO_2_30                   0x21e3
+#define MX23_PAD_EMI_WEN__GPIO_2_31                    0x21f3
+
+#endif /* __DT_BINDINGS_MX23_PINCTRL_H__ */
diff --git a/arch/arm/boot/dts/imx28-pinfunc.h b/arch/arm/boot/dts/imx28-pinfunc.h
new file mode 100644 (file)
index 0000000..e11f69b
--- /dev/null
@@ -0,0 +1,506 @@
+/*
+ * Header providing constants for i.MX28 pinctrl bindings.
+ *
+ * Copyright (C) 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#ifndef __DT_BINDINGS_MX28_PINCTRL_H__
+#define __DT_BINDINGS_MX28_PINCTRL_H__
+
+#include "mxs-pinfunc.h"
+
+#define MX28_PAD_GPMI_D00__GPMI_D0                     0x0000
+#define MX28_PAD_GPMI_D01__GPMI_D1                     0x0010
+#define MX28_PAD_GPMI_D02__GPMI_D2                     0x0020
+#define MX28_PAD_GPMI_D03__GPMI_D3                     0x0030
+#define MX28_PAD_GPMI_D04__GPMI_D4                     0x0040
+#define MX28_PAD_GPMI_D05__GPMI_D5                     0x0050
+#define MX28_PAD_GPMI_D06__GPMI_D6                     0x0060
+#define MX28_PAD_GPMI_D07__GPMI_D7                     0x0070
+#define MX28_PAD_GPMI_CE0N__GPMI_CE0N                  0x0100
+#define MX28_PAD_GPMI_CE1N__GPMI_CE1N                  0x0110
+#define MX28_PAD_GPMI_CE2N__GPMI_CE2N                  0x0120
+#define MX28_PAD_GPMI_CE3N__GPMI_CE3N                  0x0130
+#define MX28_PAD_GPMI_RDY0__GPMI_READY0                        0x0140
+#define MX28_PAD_GPMI_RDY1__GPMI_READY1                        0x0150
+#define MX28_PAD_GPMI_RDY2__GPMI_READY2                        0x0160
+#define MX28_PAD_GPMI_RDY3__GPMI_READY3                        0x0170
+#define MX28_PAD_GPMI_RDN__GPMI_RDN                    0x0180
+#define MX28_PAD_GPMI_WRN__GPMI_WRN                    0x0190
+#define MX28_PAD_GPMI_ALE__GPMI_ALE                    0x01a0
+#define MX28_PAD_GPMI_CLE__GPMI_CLE                    0x01b0
+#define MX28_PAD_GPMI_RESETN__GPMI_RESETN              0x01c0
+#define MX28_PAD_LCD_D00__LCD_D0                       0x1000
+#define MX28_PAD_LCD_D01__LCD_D1                       0x1010
+#define MX28_PAD_LCD_D02__LCD_D2                       0x1020
+#define MX28_PAD_LCD_D03__LCD_D3                       0x1030
+#define MX28_PAD_LCD_D04__LCD_D4                       0x1040
+#define MX28_PAD_LCD_D05__LCD_D5                       0x1050
+#define MX28_PAD_LCD_D06__LCD_D6                       0x1060
+#define MX28_PAD_LCD_D07__LCD_D7                       0x1070
+#define MX28_PAD_LCD_D08__LCD_D8                       0x1080
+#define MX28_PAD_LCD_D09__LCD_D9                       0x1090
+#define MX28_PAD_LCD_D10__LCD_D10                      0x10a0
+#define MX28_PAD_LCD_D11__LCD_D11                      0x10b0
+#define MX28_PAD_LCD_D12__LCD_D12                      0x10c0
+#define MX28_PAD_LCD_D13__LCD_D13                      0x10d0
+#define MX28_PAD_LCD_D14__LCD_D14                      0x10e0
+#define MX28_PAD_LCD_D15__LCD_D15                      0x10f0
+#define MX28_PAD_LCD_D16__LCD_D16                      0x1100
+#define MX28_PAD_LCD_D17__LCD_D17                      0x1110
+#define MX28_PAD_LCD_D18__LCD_D18                      0x1120
+#define MX28_PAD_LCD_D19__LCD_D19                      0x1130
+#define MX28_PAD_LCD_D20__LCD_D20                      0x1140
+#define MX28_PAD_LCD_D21__LCD_D21                      0x1150
+#define MX28_PAD_LCD_D22__LCD_D22                      0x1160
+#define MX28_PAD_LCD_D23__LCD_D23                      0x1170
+#define MX28_PAD_LCD_RD_E__LCD_RD_E                    0x1180
+#define MX28_PAD_LCD_WR_RWN__LCD_WR_RWN                        0x1190
+#define MX28_PAD_LCD_RS__LCD_RS                                0x11a0
+#define MX28_PAD_LCD_CS__LCD_CS                                0x11b0
+#define MX28_PAD_LCD_VSYNC__LCD_VSYNC                  0x11c0
+#define MX28_PAD_LCD_HSYNC__LCD_HSYNC                  0x11d0
+#define MX28_PAD_LCD_DOTCLK__LCD_DOTCLK                        0x11e0
+#define MX28_PAD_LCD_ENABLE__LCD_ENABLE                        0x11f0
+#define MX28_PAD_SSP0_DATA0__SSP0_D0                   0x2000
+#define MX28_PAD_SSP0_DATA1__SSP0_D1                   0x2010
+#define MX28_PAD_SSP0_DATA2__SSP0_D2                   0x2020
+#define MX28_PAD_SSP0_DATA3__SSP0_D3                   0x2030
+#define MX28_PAD_SSP0_DATA4__SSP0_D4                   0x2040
+#define MX28_PAD_SSP0_DATA5__SSP0_D5                   0x2050
+#define MX28_PAD_SSP0_DATA6__SSP0_D6                   0x2060
+#define MX28_PAD_SSP0_DATA7__SSP0_D7                   0x2070
+#define MX28_PAD_SSP0_CMD__SSP0_CMD                    0x2080
+#define MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT         0x2090
+#define MX28_PAD_SSP0_SCK__SSP0_SCK                    0x20a0
+#define MX28_PAD_SSP1_SCK__SSP1_SCK                    0x20c0
+#define MX28_PAD_SSP1_CMD__SSP1_CMD                    0x20d0
+#define MX28_PAD_SSP1_DATA0__SSP1_D0                   0x20e0
+#define MX28_PAD_SSP1_DATA3__SSP1_D3                   0x20f0
+#define MX28_PAD_SSP2_SCK__SSP2_SCK                    0x2100
+#define MX28_PAD_SSP2_MOSI__SSP2_CMD                   0x2110
+#define MX28_PAD_SSP2_MISO__SSP2_D0                    0x2120
+#define MX28_PAD_SSP2_SS0__SSP2_D3                     0x2130
+#define MX28_PAD_SSP2_SS1__SSP2_D4                     0x2140
+#define MX28_PAD_SSP2_SS2__SSP2_D5                     0x2150
+#define MX28_PAD_SSP3_SCK__SSP3_SCK                    0x2180
+#define MX28_PAD_SSP3_MOSI__SSP3_CMD                   0x2190
+#define MX28_PAD_SSP3_MISO__SSP3_D0                    0x21a0
+#define MX28_PAD_SSP3_SS0__SSP3_D3                     0x21b0
+#define MX28_PAD_AUART0_RX__AUART0_RX                  0x3000
+#define MX28_PAD_AUART0_TX__AUART0_TX                  0x3010
+#define MX28_PAD_AUART0_CTS__AUART0_CTS                        0x3020
+#define MX28_PAD_AUART0_RTS__AUART0_RTS                        0x3030
+#define MX28_PAD_AUART1_RX__AUART1_RX                  0x3040
+#define MX28_PAD_AUART1_TX__AUART1_TX                  0x3050
+#define MX28_PAD_AUART1_CTS__AUART1_CTS                        0x3060
+#define MX28_PAD_AUART1_RTS__AUART1_RTS                        0x3070
+#define MX28_PAD_AUART2_RX__AUART2_RX                  0x3080
+#define MX28_PAD_AUART2_TX__AUART2_TX                  0x3090
+#define MX28_PAD_AUART2_CTS__AUART2_CTS                        0x30a0
+#define MX28_PAD_AUART2_RTS__AUART2_RTS                        0x30b0
+#define MX28_PAD_AUART3_RX__AUART3_RX                  0x30c0
+#define MX28_PAD_AUART3_TX__AUART3_TX                  0x30d0
+#define MX28_PAD_AUART3_CTS__AUART3_CTS                        0x30e0
+#define MX28_PAD_AUART3_RTS__AUART3_RTS                        0x30f0
+#define MX28_PAD_PWM0__PWM_0                           0x3100
+#define MX28_PAD_PWM1__PWM_1                           0x3110
+#define MX28_PAD_PWM2__PWM_2                           0x3120
+#define MX28_PAD_SAIF0_MCLK__SAIF0_MCLK                        0x3140
+#define MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK              0x3150
+#define MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK            0x3160
+#define MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0            0x3170
+#define MX28_PAD_I2C0_SCL__I2C0_SCL                    0x3180
+#define MX28_PAD_I2C0_SDA__I2C0_SDA                    0x3190
+#define MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0            0x31a0
+#define MX28_PAD_SPDIF__SPDIF_TX                       0x31b0
+#define MX28_PAD_PWM3__PWM_3                           0x31c0
+#define MX28_PAD_PWM4__PWM_4                           0x31d0
+#define MX28_PAD_LCD_RESET__LCD_RESET                  0x31e0
+#define MX28_PAD_ENET0_MDC__ENET0_MDC                  0x4000
+#define MX28_PAD_ENET0_MDIO__ENET0_MDIO                        0x4010
+#define MX28_PAD_ENET0_RX_EN__ENET0_RX_EN              0x4020
+#define MX28_PAD_ENET0_RXD0__ENET0_RXD0                        0x4030
+#define MX28_PAD_ENET0_RXD1__ENET0_RXD1                        0x4040
+#define MX28_PAD_ENET0_TX_CLK__ENET0_TX_CLK            0x4050
+#define MX28_PAD_ENET0_TX_EN__ENET0_TX_EN              0x4060
+#define MX28_PAD_ENET0_TXD0__ENET0_TXD0                        0x4070
+#define MX28_PAD_ENET0_TXD1__ENET0_TXD1                        0x4080
+#define MX28_PAD_ENET0_RXD2__ENET0_RXD2                        0x4090
+#define MX28_PAD_ENET0_RXD3__ENET0_RXD3                        0x40a0
+#define MX28_PAD_ENET0_TXD2__ENET0_TXD2                        0x40b0
+#define MX28_PAD_ENET0_TXD3__ENET0_TXD3                        0x40c0
+#define MX28_PAD_ENET0_RX_CLK__ENET0_RX_CLK            0x40d0
+#define MX28_PAD_ENET0_COL__ENET0_COL                  0x40e0
+#define MX28_PAD_ENET0_CRS__ENET0_CRS                  0x40f0
+#define MX28_PAD_ENET_CLK__CLKCTRL_ENET                        0x4100
+#define MX28_PAD_JTAG_RTCK__JTAG_RTCK                  0x4140
+#define MX28_PAD_EMI_D00__EMI_DATA0                    0x5000
+#define MX28_PAD_EMI_D01__EMI_DATA1                    0x5010
+#define MX28_PAD_EMI_D02__EMI_DATA2                    0x5020
+#define MX28_PAD_EMI_D03__EMI_DATA3                    0x5030
+#define MX28_PAD_EMI_D04__EMI_DATA4                    0x5040
+#define MX28_PAD_EMI_D05__EMI_DATA5                    0x5050
+#define MX28_PAD_EMI_D06__EMI_DATA6                    0x5060
+#define MX28_PAD_EMI_D07__EMI_DATA7                    0x5070
+#define MX28_PAD_EMI_D08__EMI_DATA8                    0x5080
+#define MX28_PAD_EMI_D09__EMI_DATA9                    0x5090
+#define MX28_PAD_EMI_D10__EMI_DATA10                   0x50a0
+#define MX28_PAD_EMI_D11__EMI_DATA11                   0x50b0
+#define MX28_PAD_EMI_D12__EMI_DATA12                   0x50c0
+#define MX28_PAD_EMI_D13__EMI_DATA13                   0x50d0
+#define MX28_PAD_EMI_D14__EMI_DATA14                   0x50e0
+#define MX28_PAD_EMI_D15__EMI_DATA15                   0x50f0
+#define MX28_PAD_EMI_ODT0__EMI_ODT0                    0x5100
+#define MX28_PAD_EMI_DQM0__EMI_DQM0                    0x5110
+#define MX28_PAD_EMI_ODT1__EMI_ODT1                    0x5120
+#define MX28_PAD_EMI_DQM1__EMI_DQM1                    0x5130
+#define MX28_PAD_EMI_DDR_OPEN_FB__EMI_DDR_OPEN_FEEDBACK        0x5140
+#define MX28_PAD_EMI_CLK__EMI_CLK                      0x5150
+#define MX28_PAD_EMI_DQS0__EMI_DQS0                    0x5160
+#define MX28_PAD_EMI_DQS1__EMI_DQS1                    0x5170
+#define MX28_PAD_EMI_DDR_OPEN__EMI_DDR_OPEN            0x51a0
+#define MX28_PAD_EMI_A00__EMI_ADDR0                    0x6000
+#define MX28_PAD_EMI_A01__EMI_ADDR1                    0x6010
+#define MX28_PAD_EMI_A02__EMI_ADDR2                    0x6020
+#define MX28_PAD_EMI_A03__EMI_ADDR3                    0x6030
+#define MX28_PAD_EMI_A04__EMI_ADDR4                    0x6040
+#define MX28_PAD_EMI_A05__EMI_ADDR5                    0x6050
+#define MX28_PAD_EMI_A06__EMI_ADDR6                    0x6060
+#define MX28_PAD_EMI_A07__EMI_ADDR7                    0x6070
+#define MX28_PAD_EMI_A08__EMI_ADDR8                    0x6080
+#define MX28_PAD_EMI_A09__EMI_ADDR9                    0x6090
+#define MX28_PAD_EMI_A10__EMI_ADDR10                   0x60a0
+#define MX28_PAD_EMI_A11__EMI_ADDR11                   0x60b0
+#define MX28_PAD_EMI_A12__EMI_ADDR12                   0x60c0
+#define MX28_PAD_EMI_A13__EMI_ADDR13                   0x60d0
+#define MX28_PAD_EMI_A14__EMI_ADDR14                   0x60e0
+#define MX28_PAD_EMI_BA0__EMI_BA0                      0x6100
+#define MX28_PAD_EMI_BA1__EMI_BA1                      0x6110
+#define MX28_PAD_EMI_BA2__EMI_BA2                      0x6120
+#define MX28_PAD_EMI_CASN__EMI_CASN                    0x6130
+#define MX28_PAD_EMI_RASN__EMI_RASN                    0x6140
+#define MX28_PAD_EMI_WEN__EMI_WEN                      0x6150
+#define MX28_PAD_EMI_CE0N__EMI_CE0N                    0x6160
+#define MX28_PAD_EMI_CE1N__EMI_CE1N                    0x6170
+#define MX28_PAD_EMI_CKE__EMI_CKE                      0x6180
+#define MX28_PAD_GPMI_D00__SSP1_D0                     0x0001
+#define MX28_PAD_GPMI_D01__SSP1_D1                     0x0011
+#define MX28_PAD_GPMI_D02__SSP1_D2                     0x0021
+#define MX28_PAD_GPMI_D03__SSP1_D3                     0x0031
+#define MX28_PAD_GPMI_D04__SSP1_D4                     0x0041
+#define MX28_PAD_GPMI_D05__SSP1_D5                     0x0051
+#define MX28_PAD_GPMI_D06__SSP1_D6                     0x0061
+#define MX28_PAD_GPMI_D07__SSP1_D7                     0x0071
+#define MX28_PAD_GPMI_CE0N__SSP3_D0                    0x0101
+#define MX28_PAD_GPMI_CE1N__SSP3_D3                    0x0111
+#define MX28_PAD_GPMI_CE2N__CAN1_TX                    0x0121
+#define MX28_PAD_GPMI_CE3N__CAN1_RX                    0x0131
+#define MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT           0x0141
+#define MX28_PAD_GPMI_RDY1__SSP1_CMD                   0x0151
+#define MX28_PAD_GPMI_RDY2__CAN0_TX                    0x0161
+#define MX28_PAD_GPMI_RDY3__CAN0_RX                    0x0171
+#define MX28_PAD_GPMI_RDN__SSP3_SCK                    0x0181
+#define MX28_PAD_GPMI_WRN__SSP1_SCK                    0x0191
+#define MX28_PAD_GPMI_ALE__SSP3_D1                     0x01a1
+#define MX28_PAD_GPMI_CLE__SSP3_D2                     0x01b1
+#define MX28_PAD_GPMI_RESETN__SSP3_CMD                 0x01c1
+#define MX28_PAD_LCD_D03__ETM_DA8                      0x1031
+#define MX28_PAD_LCD_D04__ETM_DA9                      0x1041
+#define MX28_PAD_LCD_D08__ETM_DA3                      0x1081
+#define MX28_PAD_LCD_D09__ETM_DA4                      0x1091
+#define MX28_PAD_LCD_D20__ENET1_1588_EVENT2_OUT                0x1141
+#define MX28_PAD_LCD_D21__ENET1_1588_EVENT2_IN         0x1151
+#define MX28_PAD_LCD_D22__ENET1_1588_EVENT3_OUT                0x1161
+#define MX28_PAD_LCD_D23__ENET1_1588_EVENT3_IN         0x1171
+#define MX28_PAD_LCD_RD_E__LCD_VSYNC                   0x1181
+#define MX28_PAD_LCD_WR_RWN__LCD_HSYNC                 0x1191
+#define MX28_PAD_LCD_RS__LCD_DOTCLK                    0x11a1
+#define MX28_PAD_LCD_CS__LCD_ENABLE                    0x11b1
+#define MX28_PAD_LCD_VSYNC__SAIF1_SDATA0               0x11c1
+#define MX28_PAD_LCD_HSYNC__SAIF1_SDATA1               0x11d1
+#define MX28_PAD_LCD_DOTCLK__SAIF1_MCLK                        0x11e1
+#define MX28_PAD_SSP0_DATA4__SSP2_D0                   0x2041
+#define MX28_PAD_SSP0_DATA5__SSP2_D3                   0x2051
+#define MX28_PAD_SSP0_DATA6__SSP2_CMD                  0x2061
+#define MX28_PAD_SSP0_DATA7__SSP2_SCK                  0x2071
+#define MX28_PAD_SSP1_SCK__SSP2_D1                     0x20c1
+#define MX28_PAD_SSP1_CMD__SSP2_D2                     0x20d1
+#define MX28_PAD_SSP1_DATA0__SSP2_D6                   0x20e1
+#define MX28_PAD_SSP1_DATA3__SSP2_D7                   0x20f1
+#define MX28_PAD_SSP2_SCK__AUART2_RX                   0x2101
+#define MX28_PAD_SSP2_MOSI__AUART2_TX                  0x2111
+#define MX28_PAD_SSP2_MISO__AUART3_RX                  0x2121
+#define MX28_PAD_SSP2_SS0__AUART3_TX                   0x2131
+#define MX28_PAD_SSP2_SS1__SSP2_D1                     0x2141
+#define MX28_PAD_SSP2_SS2__SSP2_D2                     0x2151
+#define MX28_PAD_SSP3_SCK__AUART4_TX                   0x2181
+#define MX28_PAD_SSP3_MOSI__AUART4_RX                  0x2191
+#define MX28_PAD_SSP3_MISO__AUART4_RTS                 0x21a1
+#define MX28_PAD_SSP3_SS0__AUART4_CTS                  0x21b1
+#define MX28_PAD_AUART0_RX__I2C0_SCL                   0x3001
+#define MX28_PAD_AUART0_TX__I2C0_SDA                   0x3011
+#define MX28_PAD_AUART0_CTS__AUART4_RX                 0x3021
+#define MX28_PAD_AUART0_RTS__AUART4_TX                 0x3031
+#define MX28_PAD_AUART1_RX__SSP2_CARD_DETECT           0x3041
+#define MX28_PAD_AUART1_TX__SSP3_CARD_DETECT           0x3051
+#define MX28_PAD_AUART1_CTS__USB0_OVERCURRENT          0x3061
+#define MX28_PAD_AUART1_RTS__USB0_ID                   0x3071
+#define MX28_PAD_AUART2_RX__SSP3_D1                    0x3081
+#define MX28_PAD_AUART2_TX__SSP3_D2                    0x3091
+#define MX28_PAD_AUART2_CTS__I2C1_SCL                  0x30a1
+#define MX28_PAD_AUART2_RTS__I2C1_SDA                  0x30b1
+#define MX28_PAD_AUART3_RX__CAN0_TX                    0x30c1
+#define MX28_PAD_AUART3_TX__CAN0_RX                    0x30d1
+#define MX28_PAD_AUART3_CTS__CAN1_TX                   0x30e1
+#define MX28_PAD_AUART3_RTS__CAN1_RX                   0x30f1
+#define MX28_PAD_PWM0__I2C1_SCL                                0x3101
+#define MX28_PAD_PWM1__I2C1_SDA                                0x3111
+#define MX28_PAD_PWM2__USB0_ID                         0x3121
+#define MX28_PAD_SAIF0_MCLK__PWM_3                     0x3141
+#define MX28_PAD_SAIF0_LRCLK__PWM_4                    0x3151
+#define MX28_PAD_SAIF0_BITCLK__PWM_5                   0x3161
+#define MX28_PAD_SAIF0_SDATA0__PWM_6                   0x3171
+#define MX28_PAD_I2C0_SCL__TIMROT_ROTARYA              0x3181
+#define MX28_PAD_I2C0_SDA__TIMROT_ROTARYB              0x3191
+#define MX28_PAD_SAIF1_SDATA0__PWM_7                   0x31a1
+#define MX28_PAD_LCD_RESET__LCD_VSYNC                  0x31e1
+#define MX28_PAD_ENET0_MDC__GPMI_CE4N                  0x4001
+#define MX28_PAD_ENET0_MDIO__GPMI_CE5N                 0x4011
+#define MX28_PAD_ENET0_RX_EN__GPMI_CE6N                        0x4021
+#define MX28_PAD_ENET0_RXD0__GPMI_CE7N                 0x4031
+#define MX28_PAD_ENET0_RXD1__GPMI_READY4               0x4041
+#define MX28_PAD_ENET0_TX_CLK__HSADC_TRIGGER           0x4051
+#define MX28_PAD_ENET0_TX_EN__GPMI_READY5              0x4061
+#define MX28_PAD_ENET0_TXD0__GPMI_READY6               0x4071
+#define MX28_PAD_ENET0_TXD1__GPMI_READY7               0x4081
+#define MX28_PAD_ENET0_RXD2__ENET1_RXD0                        0x4091
+#define MX28_PAD_ENET0_RXD3__ENET1_RXD1                        0x40a1
+#define MX28_PAD_ENET0_TXD2__ENET1_TXD0                        0x40b1
+#define MX28_PAD_ENET0_TXD3__ENET1_TXD1                        0x40c1
+#define MX28_PAD_ENET0_RX_CLK__ENET0_RX_ER             0x40d1
+#define MX28_PAD_ENET0_COL__ENET1_TX_EN                        0x40e1
+#define MX28_PAD_ENET0_CRS__ENET1_RX_EN                        0x40f1
+#define MX28_PAD_GPMI_CE2N__ENET0_RX_ER                        0x0122
+#define MX28_PAD_GPMI_CE3N__SAIF1_MCLK                 0x0132
+#define MX28_PAD_GPMI_RDY0__USB0_ID                    0x0142
+#define MX28_PAD_GPMI_RDY2__ENET0_TX_ER                        0x0162
+#define MX28_PAD_GPMI_RDY3__HSADC_TRIGGER              0x0172
+#define MX28_PAD_GPMI_ALE__SSP3_D4                     0x01a2
+#define MX28_PAD_GPMI_CLE__SSP3_D5                     0x01b2
+#define MX28_PAD_LCD_D00__ETM_DA0                      0x1002
+#define MX28_PAD_LCD_D01__ETM_DA1                      0x1012
+#define MX28_PAD_LCD_D02__ETM_DA2                      0x1022
+#define MX28_PAD_LCD_D03__ETM_DA3                      0x1032
+#define MX28_PAD_LCD_D04__ETM_DA4                      0x1042
+#define MX28_PAD_LCD_D05__ETM_DA5                      0x1052
+#define MX28_PAD_LCD_D06__ETM_DA6                      0x1062
+#define MX28_PAD_LCD_D07__ETM_DA7                      0x1072
+#define MX28_PAD_LCD_D08__ETM_DA8                      0x1082
+#define MX28_PAD_LCD_D09__ETM_DA9                      0x1092
+#define MX28_PAD_LCD_D10__ETM_DA10                     0x10a2
+#define MX28_PAD_LCD_D11__ETM_DA11                     0x10b2
+#define MX28_PAD_LCD_D12__ETM_DA12                     0x10c2
+#define MX28_PAD_LCD_D13__ETM_DA13                     0x10d2
+#define MX28_PAD_LCD_D14__ETM_DA14                     0x10e2
+#define MX28_PAD_LCD_D15__ETM_DA15                     0x10f2
+#define MX28_PAD_LCD_D16__ETM_DA7                      0x1102
+#define MX28_PAD_LCD_D17__ETM_DA6                      0x1112
+#define MX28_PAD_LCD_D18__ETM_DA5                      0x1122
+#define MX28_PAD_LCD_D19__ETM_DA4                      0x1132
+#define MX28_PAD_LCD_D20__ETM_DA3                      0x1142
+#define MX28_PAD_LCD_D21__ETM_DA2                      0x1152
+#define MX28_PAD_LCD_D22__ETM_DA1                      0x1162
+#define MX28_PAD_LCD_D23__ETM_DA0                      0x1172
+#define MX28_PAD_LCD_RD_E__ETM_TCTL                    0x1182
+#define MX28_PAD_LCD_WR_RWN__ETM_TCLK                  0x1192
+#define MX28_PAD_LCD_HSYNC__ETM_TCTL                   0x11d2
+#define MX28_PAD_LCD_DOTCLK__ETM_TCLK                  0x11e2
+#define MX28_PAD_SSP1_SCK__ENET0_1588_EVENT2_OUT       0x20c2
+#define MX28_PAD_SSP1_CMD__ENET0_1588_EVENT2_IN                0x20d2
+#define MX28_PAD_SSP1_DATA0__ENET0_1588_EVENT3_OUT     0x20e2
+#define MX28_PAD_SSP1_DATA3__ENET0_1588_EVENT3_IN      0x20f2
+#define MX28_PAD_SSP2_SCK__SAIF0_SDATA1                        0x2102
+#define MX28_PAD_SSP2_MOSI__SAIF0_SDATA2               0x2112
+#define MX28_PAD_SSP2_MISO__SAIF1_SDATA1               0x2122
+#define MX28_PAD_SSP2_SS0__SAIF1_SDATA2                        0x2132
+#define MX28_PAD_SSP2_SS1__USB1_OVERCURRENT            0x2142
+#define MX28_PAD_SSP2_SS2__USB0_OVERCURRENT            0x2152
+#define MX28_PAD_SSP3_SCK__ENET1_1588_EVENT0_OUT       0x2182
+#define MX28_PAD_SSP3_MOSI__ENET1_1588_EVENT0_IN       0x2192
+#define MX28_PAD_SSP3_MISO__ENET1_1588_EVENT1_OUT      0x21a2
+#define MX28_PAD_SSP3_SS0__ENET1_1588_EVENT1_IN                0x21b2
+#define MX28_PAD_AUART0_RX__DUART_CTS                  0x3002
+#define MX28_PAD_AUART0_TX__DUART_RTS                  0x3012
+#define MX28_PAD_AUART0_CTS__DUART_RX                  0x3022
+#define MX28_PAD_AUART0_RTS__DUART_TX                  0x3032
+#define MX28_PAD_AUART1_RX__PWM_0                      0x3042
+#define MX28_PAD_AUART1_TX__PWM_1                      0x3052
+#define MX28_PAD_AUART1_CTS__TIMROT_ROTARYA            0x3062
+#define MX28_PAD_AUART1_RTS__TIMROT_ROTARYB            0x3072
+#define MX28_PAD_AUART2_RX__SSP3_D4                    0x3082
+#define MX28_PAD_AUART2_TX__SSP3_D5                    0x3092
+#define MX28_PAD_AUART2_CTS__SAIF1_BITCLK              0x30a2
+#define MX28_PAD_AUART2_RTS__SAIF1_LRCLK               0x30b2
+#define MX28_PAD_AUART3_RX__ENET0_1588_EVENT0_OUT      0x30c2
+#define MX28_PAD_AUART3_TX__ENET0_1588_EVENT0_IN       0x30d2
+#define MX28_PAD_AUART3_CTS__ENET0_1588_EVENT1_OUT     0x30e2
+#define MX28_PAD_AUART3_RTS__ENET0_1588_EVENT1_IN      0x30f2
+#define MX28_PAD_PWM0__DUART_RX                                0x3102
+#define MX28_PAD_PWM1__DUART_TX                                0x3112
+#define MX28_PAD_PWM2__USB1_OVERCURRENT                        0x3122
+#define MX28_PAD_SAIF0_MCLK__AUART4_CTS                        0x3142
+#define MX28_PAD_SAIF0_LRCLK__AUART4_RTS               0x3152
+#define MX28_PAD_SAIF0_BITCLK__AUART4_RX               0x3162
+#define MX28_PAD_SAIF0_SDATA0__AUART4_TX               0x3172
+#define MX28_PAD_I2C0_SCL__DUART_RX                    0x3182
+#define MX28_PAD_I2C0_SDA__DUART_TX                    0x3192
+#define MX28_PAD_SAIF1_SDATA0__SAIF0_SDATA1            0x31a2
+#define MX28_PAD_SPDIF__ENET1_RX_ER                    0x31b2
+#define MX28_PAD_ENET0_MDC__SAIF0_SDATA1               0x4002
+#define MX28_PAD_ENET0_MDIO__SAIF0_SDATA2              0x4012
+#define MX28_PAD_ENET0_RX_EN__SAIF1_SDATA1             0x4022
+#define MX28_PAD_ENET0_RXD0__SAIF1_SDATA2              0x4032
+#define MX28_PAD_ENET0_TX_CLK__ENET0_1588_EVENT2_OUT   0x4052
+#define MX28_PAD_ENET0_RXD2__ENET0_1588_EVENT0_OUT     0x4092
+#define MX28_PAD_ENET0_RXD3__ENET0_1588_EVENT0_IN      0x40a2
+#define MX28_PAD_ENET0_TXD2__ENET0_1588_EVENT1_OUT     0x40b2
+#define MX28_PAD_ENET0_TXD3__ENET0_1588_EVENT1_IN      0x40c2
+#define MX28_PAD_ENET0_RX_CLK__ENET0_1588_EVENT2_IN    0x40d2
+#define MX28_PAD_ENET0_COL__ENET0_1588_EVENT3_OUT      0x40e2
+#define MX28_PAD_ENET0_CRS__ENET0_1588_EVENT3_IN       0x40f2
+#define MX28_PAD_GPMI_D00__GPIO_0_0                    0x0003
+#define MX28_PAD_GPMI_D01__GPIO_0_1                    0x0013
+#define MX28_PAD_GPMI_D02__GPIO_0_2                    0x0023
+#define MX28_PAD_GPMI_D03__GPIO_0_3                    0x0033
+#define MX28_PAD_GPMI_D04__GPIO_0_4                    0x0043
+#define MX28_PAD_GPMI_D05__GPIO_0_5                    0x0053
+#define MX28_PAD_GPMI_D06__GPIO_0_6                    0x0063
+#define MX28_PAD_GPMI_D07__GPIO_0_7                    0x0073
+#define MX28_PAD_GPMI_CE0N__GPIO_0_16                  0x0103
+#define MX28_PAD_GPMI_CE1N__GPIO_0_17                  0x0113
+#define MX28_PAD_GPMI_CE2N__GPIO_0_18                  0x0123
+#define MX28_PAD_GPMI_CE3N__GPIO_0_19                  0x0133
+#define MX28_PAD_GPMI_RDY0__GPIO_0_20                  0x0143
+#define MX28_PAD_GPMI_RDY1__GPIO_0_21                  0x0153
+#define MX28_PAD_GPMI_RDY2__GPIO_0_22                  0x0163
+#define MX28_PAD_GPMI_RDY3__GPIO_0_23                  0x0173
+#define MX28_PAD_GPMI_RDN__GPIO_0_24                   0x0183
+#define MX28_PAD_GPMI_WRN__GPIO_0_25                   0x0193
+#define MX28_PAD_GPMI_ALE__GPIO_0_26                   0x01a3
+#define MX28_PAD_GPMI_CLE__GPIO_0_27                   0x01b3
+#define MX28_PAD_GPMI_RESETN__GPIO_0_28                        0x01c3
+#define MX28_PAD_LCD_D00__GPIO_1_0                     0x1003
+#define MX28_PAD_LCD_D01__GPIO_1_1                     0x1013
+#define MX28_PAD_LCD_D02__GPIO_1_2                     0x1023
+#define MX28_PAD_LCD_D03__GPIO_1_3                     0x1033
+#define MX28_PAD_LCD_D04__GPIO_1_4                     0x1043
+#define MX28_PAD_LCD_D05__GPIO_1_5                     0x1053
+#define MX28_PAD_LCD_D06__GPIO_1_6                     0x1063
+#define MX28_PAD_LCD_D07__GPIO_1_7                     0x1073
+#define MX28_PAD_LCD_D08__GPIO_1_8                     0x1083
+#define MX28_PAD_LCD_D09__GPIO_1_9                     0x1093
+#define MX28_PAD_LCD_D10__GPIO_1_10                    0x10a3
+#define MX28_PAD_LCD_D11__GPIO_1_11                    0x10b3
+#define MX28_PAD_LCD_D12__GPIO_1_12                    0x10c3
+#define MX28_PAD_LCD_D13__GPIO_1_13                    0x10d3
+#define MX28_PAD_LCD_D14__GPIO_1_14                    0x10e3
+#define MX28_PAD_LCD_D15__GPIO_1_15                    0x10f3
+#define MX28_PAD_LCD_D16__GPIO_1_16                    0x1103
+#define MX28_PAD_LCD_D17__GPIO_1_17                    0x1113
+#define MX28_PAD_LCD_D18__GPIO_1_18                    0x1123
+#define MX28_PAD_LCD_D19__GPIO_1_19                    0x1133
+#define MX28_PAD_LCD_D20__GPIO_1_20                    0x1143
+#define MX28_PAD_LCD_D21__GPIO_1_21                    0x1153
+#define MX28_PAD_LCD_D22__GPIO_1_22                    0x1163
+#define MX28_PAD_LCD_D23__GPIO_1_23                    0x1173
+#define MX28_PAD_LCD_RD_E__GPIO_1_24                   0x1183
+#define MX28_PAD_LCD_WR_RWN__GPIO_1_25                 0x1193
+#define MX28_PAD_LCD_RS__GPIO_1_26                     0x11a3
+#define MX28_PAD_LCD_CS__GPIO_1_27                     0x11b3
+#define MX28_PAD_LCD_VSYNC__GPIO_1_28                  0x11c3
+#define MX28_PAD_LCD_HSYNC__GPIO_1_29                  0x11d3
+#define MX28_PAD_LCD_DOTCLK__GPIO_1_30                 0x11e3
+#define MX28_PAD_LCD_ENABLE__GPIO_1_31                 0x11f3
+#define MX28_PAD_SSP0_DATA0__GPIO_2_0                  0x2003
+#define MX28_PAD_SSP0_DATA1__GPIO_2_1                  0x2013
+#define MX28_PAD_SSP0_DATA2__GPIO_2_2                  0x2023
+#define MX28_PAD_SSP0_DATA3__GPIO_2_3                  0x2033
+#define MX28_PAD_SSP0_DATA4__GPIO_2_4                  0x2043
+#define MX28_PAD_SSP0_DATA5__GPIO_2_5                  0x2053
+#define MX28_PAD_SSP0_DATA6__GPIO_2_6                  0x2063
+#define MX28_PAD_SSP0_DATA7__GPIO_2_7                  0x2073
+#define MX28_PAD_SSP0_CMD__GPIO_2_8                    0x2083
+#define MX28_PAD_SSP0_DETECT__GPIO_2_9                 0x2093
+#define MX28_PAD_SSP0_SCK__GPIO_2_10                   0x20a3
+#define MX28_PAD_SSP1_SCK__GPIO_2_12                   0x20c3
+#define MX28_PAD_SSP1_CMD__GPIO_2_13                   0x20d3
+#define MX28_PAD_SSP1_DATA0__GPIO_2_14                 0x20e3
+#define MX28_PAD_SSP1_DATA3__GPIO_2_15                 0x20f3
+#define MX28_PAD_SSP2_SCK__GPIO_2_16                   0x2103
+#define MX28_PAD_SSP2_MOSI__GPIO_2_17                  0x2113
+#define MX28_PAD_SSP2_MISO__GPIO_2_18                  0x2123
+#define MX28_PAD_SSP2_SS0__GPIO_2_19                   0x2133
+#define MX28_PAD_SSP2_SS1__GPIO_2_20                   0x2143
+#define MX28_PAD_SSP2_SS2__GPIO_2_21                   0x2153
+#define MX28_PAD_SSP3_SCK__GPIO_2_24                   0x2183
+#define MX28_PAD_SSP3_MOSI__GPIO_2_25                  0x2193
+#define MX28_PAD_SSP3_MISO__GPIO_2_26                  0x21a3
+#define MX28_PAD_SSP3_SS0__GPIO_2_27                   0x21b3
+#define MX28_PAD_AUART0_RX__GPIO_3_0                   0x3003
+#define MX28_PAD_AUART0_TX__GPIO_3_1                   0x3013
+#define MX28_PAD_AUART0_CTS__GPIO_3_2                  0x3023
+#define MX28_PAD_AUART0_RTS__GPIO_3_3                  0x3033
+#define MX28_PAD_AUART1_RX__GPIO_3_4                   0x3043
+#define MX28_PAD_AUART1_TX__GPIO_3_5                   0x3053
+#define MX28_PAD_AUART1_CTS__GPIO_3_6                  0x3063
+#define MX28_PAD_AUART1_RTS__GPIO_3_7                  0x3073
+#define MX28_PAD_AUART2_RX__GPIO_3_8                   0x3083
+#define MX28_PAD_AUART2_TX__GPIO_3_9                   0x3093
+#define MX28_PAD_AUART2_CTS__GPIO_3_10                 0x30a3
+#define MX28_PAD_AUART2_RTS__GPIO_3_11                 0x30b3
+#define MX28_PAD_AUART3_RX__GPIO_3_12                  0x30c3
+#define MX28_PAD_AUART3_TX__GPIO_3_13                  0x30d3
+#define MX28_PAD_AUART3_CTS__GPIO_3_14                 0x30e3
+#define MX28_PAD_AUART3_RTS__GPIO_3_15                 0x30f3
+#define MX28_PAD_PWM0__GPIO_3_16                       0x3103
+#define MX28_PAD_PWM1__GPIO_3_17                       0x3113
+#define MX28_PAD_PWM2__GPIO_3_18                       0x3123
+#define MX28_PAD_SAIF0_MCLK__GPIO_3_20                 0x3143
+#define MX28_PAD_SAIF0_LRCLK__GPIO_3_21                        0x3153
+#define MX28_PAD_SAIF0_BITCLK__GPIO_3_22               0x3163
+#define MX28_PAD_SAIF0_SDATA0__GPIO_3_23               0x3173
+#define MX28_PAD_I2C0_SCL__GPIO_3_24                   0x3183
+#define MX28_PAD_I2C0_SDA__GPIO_3_25                   0x3193
+#define MX28_PAD_SAIF1_SDATA0__GPIO_3_26               0x31a3
+#define MX28_PAD_SPDIF__GPIO_3_27                      0x31b3
+#define MX28_PAD_PWM3__GPIO_3_28                       0x31c3
+#define MX28_PAD_PWM4__GPIO_3_29                       0x31d3
+#define MX28_PAD_LCD_RESET__GPIO_3_30                  0x31e3
+#define MX28_PAD_ENET0_MDC__GPIO_4_0                   0x4003
+#define MX28_PAD_ENET0_MDIO__GPIO_4_1                  0x4013
+#define MX28_PAD_ENET0_RX_EN__GPIO_4_2                 0x4023
+#define MX28_PAD_ENET0_RXD0__GPIO_4_3                  0x4033
+#define MX28_PAD_ENET0_RXD1__GPIO_4_4                  0x4043
+#define MX28_PAD_ENET0_TX_CLK__GPIO_4_5                        0x4053
+#define MX28_PAD_ENET0_TX_EN__GPIO_4_6                 0x4063
+#define MX28_PAD_ENET0_TXD0__GPIO_4_7                  0x4073
+#define MX28_PAD_ENET0_TXD1__GPIO_4_8                  0x4083
+#define MX28_PAD_ENET0_RXD2__GPIO_4_9                  0x4093
+#define MX28_PAD_ENET0_RXD3__GPIO_4_10                 0x40a3
+#define MX28_PAD_ENET0_TXD2__GPIO_4_11                 0x40b3
+#define MX28_PAD_ENET0_TXD3__GPIO_4_12                 0x40c3
+#define MX28_PAD_ENET0_RX_CLK__GPIO_4_13               0x40d3
+#define MX28_PAD_ENET0_COL__GPIO_4_14                  0x40e3
+#define MX28_PAD_ENET0_CRS__GPIO_4_15                  0x40f3
+#define MX28_PAD_ENET_CLK__GPIO_4_16                   0x4103
+#define MX28_PAD_JTAG_RTCK__GPIO_4_20                  0x4143
+
+#endif /* __DT_BINDINGS_MX28_PINCTRL_H__ */
diff --git a/arch/arm/boot/dts/mxs-pinfunc.h b/arch/arm/boot/dts/mxs-pinfunc.h
new file mode 100644 (file)
index 0000000..c6da987
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Header providing constants for i.MX28 pinctrl bindings.
+ *
+ * Copyright (C) 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#ifndef __DT_BINDINGS_MXS_PINCTRL_H__
+#define __DT_BINDINGS_MXS_PINCTRL_H__
+
+/* fsl,drive-strength property */
+#define MXS_DRIVE_4mA          0
+#define MXS_DRIVE_8mA          1
+#define MXS_DRIVE_12mA         2
+#define MXS_DRIVE_16mA         3
+
+/* fsl,voltage property */
+#define MXS_VOLTAGE_LOW                0
+#define MXS_VOLTAGE_HIGH       1
+
+/* fsl,pull-up property */
+#define MXS_PULL_DISABLE       0
+#define MXS_PULL_ENABLE                1
+
+#endif /* __DT_BINDINGS_MXS_PINCTRL_H__ */