]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'imx-mxs/for-next'
authorThierry Reding <treding@nvidia.com>
Thu, 24 Oct 2013 13:00:55 +0000 (15:00 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 24 Oct 2013 13:00:55 +0000 (15:00 +0200)
Conflicts:
arch/arm/mach-imx/mach-imx6q.c

1  2 
arch/arm/Kconfig.debug
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx23.dtsi
arch/arm/boot/dts/imx28-evk.dts
arch/arm/boot/dts/imx28.dtsi
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-pcm037.c
include/linux/mfd/syscon/imx6q-iomuxc-gpr.h

diff --combined arch/arm/Kconfig.debug
index 2b3206824353f612d3c72e81eae0b1a157f9d1c7,d597c6b8488ba257fa37319d9afc7dc6362933a7..1ee020eec620a999d5284b666426c34b8667c1d3
@@@ -386,6 -386,13 +386,13 @@@ choic
                  when u-boot hands over to the kernel, the system
                  silently crashes, with no serial output at all.
  
+       config DEBUG_VF_UART
+               bool "Vybrid UART"
+               depends on SOC_VF610
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Vybrid based platforms.
        config DEBUG_NOMADIK_UART
                bool "Kernel low-level debugging messages via NOMADIK UART"
                depends on ARCH_NOMADIK
                  options; the platform specific options are deprecated
                  and will be soon removed.
  
 +      config DEBUG_LL_UART_EFM32
 +              bool "Kernel low-level debugging via efm32 UART"
 +              depends on ARCH_EFM32
 +              help
 +                Say Y here if you want the debug print routines to direct
 +                their output to an UART or USART port on efm32 based
 +                machines. Use the following addresses for DEBUG_UART_PHYS:
 +
 +                  0x4000c000 | USART0
 +                  0x4000c400 | USART1
 +                  0x4000c800 | USART2
 +                  0x4000e000 | UART0
 +                  0x4000e400 | UART1
 +
        config DEBUG_LL_UART_PL01X
                bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
                help
@@@ -899,7 -892,6 +906,7 @@@ config DEBUG_LL_INCLUD
        default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
        default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
        default "debug/exynos.S" if DEBUG_EXYNOS_UART
 +      default "debug/efm32.S" if DEBUG_LL_UART_EFM32
        default "debug/icedcc.S" if DEBUG_ICEDCC
        default "debug/imx.S" if DEBUG_IMX1_UART || \
                                 DEBUG_IMX25_UART || \
        default "debug/tegra.S" if DEBUG_TEGRA_UART
        default "debug/ux500.S" if DEBUG_UX500_UART
        default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
+       default "debug/vf.S" if DEBUG_VF_UART
        default "debug/vt8500.S" if DEBUG_VT8500_UART0
        default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
        default "mach/debug-macro.S"
@@@ -966,7 -959,6 +974,7 @@@ config DEBUG_UART_PHY
        default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
        default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
        default 0x20201000 if DEBUG_BCM2835
 +      default 0x4000e400 if DEBUG_LL_UART_EFM32
        default 0x40090000 if ARCH_LPC32XX
        default 0x40100000 if DEBUG_PXA_UART1
        default 0x42000000 if ARCH_GEMINI
        default 0xfff36000 if DEBUG_HIGHBANK_UART
        default 0xfffff700 if ARCH_IOP33X
        depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
 +              DEBUG_LL_UART_EFM32 || \
                DEBUG_UART_8250 || DEBUG_UART_PL01X
  
  config DEBUG_UART_VIRT
index 405c9eca170e0d82aa513f061f870131acf2157c,69a13c1b372b29279ab264bfe8a9ef359e55db70..f5d26e6821e6a0bac9a0a1da50e18ccf75632d0b
@@@ -41,8 -41,6 +41,8 @@@ dtb-$(CONFIG_ARCH_AT91)       += sama5d33ek.d
  dtb-$(CONFIG_ARCH_AT91)       += sama5d34ek.dtb
  dtb-$(CONFIG_ARCH_AT91)       += sama5d35ek.dtb
  
 +dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
 +
  dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
  dtb-$(CONFIG_ARCH_BCM) += bcm11351-brt.dtb \
        bcm28155-ap.dtb
@@@ -51,7 -49,6 +51,7 @@@ dtb-$(CONFIG_ARCH_DAVINCI) += da850-enb
  dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \
        dove-cubox.dtb \
        dove-d2plug.dtb \
 +      dove-d3plug.dtb \
        dove-dove-db.dtb
  dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
        exynos4210-smdkv310.dtb \
@@@ -104,8 -101,8 +104,8 @@@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood
        kirkwood-ts219-6282.dtb \
        kirkwood-openblocks_a6.dtb
  dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
 -dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 -      msm8960-cdp.dtb
 +dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \
 +      qcom-msm8960-cdp.dtb
  dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
        armada-370-mirabox.dtb \
        armada-370-netgear-rn102.dtb \
        armada-xp-axpwifiap.dtb \
        armada-xp-db.dtb \
        armada-xp-gp.dtb \
 +      armada-xp-matrix.dtb \
        armada-xp-openblocks-ax3-4.dtb
  dtb-$(CONFIG_ARCH_MXC) += \
        imx25-karo-tx25.dtb \
        imx53-mba53.dtb \
        imx53-qsb.dtb \
        imx53-smd.dtb \
+       imx6dl-gw51xx.dtb \
+       imx6dl-gw52xx.dtb \
+       imx6dl-gw53xx.dtb \
+       imx6dl-gw54xx.dtb \
        imx6dl-sabreauto.dtb \
        imx6dl-sabresd.dtb \
        imx6dl-wandboard.dtb \
        imx6q-arm2.dtb \
+       imx6q-gw51xx.dtb \
+       imx6q-gw52xx.dtb \
+       imx6q-gw53xx.dtb \
+       imx6q-gw5400-a.dtb \
+       imx6q-gw54xx.dtb \
        imx6q-phytec-pbab01.dtb \
        imx6q-sabreauto.dtb \
        imx6q-sabrelite.dtb \
        imx6q-sabresd.dtb \
        imx6q-sbc6x.dtb \
+       imx6q-udoo.dtb \
        imx6q-wandboard.dtb \
        imx6sl-evk.dtb \
+       vf610-cosmic.dtb \
        vf610-twr.dtb
  dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
        imx23-olinuxino.dtb \
        imx28-cfa10057.dtb \
        imx28-cfa10058.dtb \
        imx28-evk.dtb \
+       imx28-m28cu3.dtb \
        imx28-m28evk.dtb \
        imx28-sps1.dtb \
        imx28-tx28.dtb
@@@ -174,15 -182,9 +186,15 @@@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap242
        omap3-devkit8000.dtb \
        omap3-beagle-xm.dtb \
        omap3-evm.dtb \
 +      omap3-evm-37xx.dtb \
 +      omap3-n900.dtb \
 +      omap3-n9.dtb \
 +      omap3-n950.dtb \
        omap3-tobi.dtb \
 +      omap3-gta04.dtb \
        omap3-igep0020.dtb \
        omap3-igep0030.dtb \
 +      omap3-zoom3.dtb \
        omap4-panda.dtb \
        omap4-panda-a4.dtb \
        omap4-panda-es.dtb \
        am335x-evmsk.dtb \
        am335x-bone.dtb \
        am335x-boneblack.dtb \
 +      am335x-base0033.dtb \
        am3517-evm.dtb \
        am3517_mt_ventoux.dtb \
 -      am43x-epos-evm.dtb
 +      am43x-epos-evm.dtb \
 +      dra7-evm.dtb
  dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
  dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
  dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
 -      ste-hrefprev60.dtb \
 -      ste-hrefv60plus.dtb \
 +      ste-hrefprev60-stuib.dtb \
 +      ste-hrefprev60-tvk.dtb \
 +      ste-hrefv60plus-stuib.dtb \
 +      ste-hrefv60plus-tvk.dtb \
        ste-ccu8540.dtb \
        ste-ccu9540.dtb
  dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
 +dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
 +      s3c6410-smdk6410.dtb
  dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
 -      emev2-kzm9d-reference.dtb \
 +      r7s72100-genmai.dtb \
        r8a7740-armadillo800eva.dtb \
        r8a7778-bockw.dtb \
        r8a7778-bockw-reference.dtb \
        r8a7740-armadillo800eva-reference.dtb \
        r8a7779-marzen.dtb \
        r8a7779-marzen-reference.dtb \
 +      r8a7791-koelsch.dtb \
        r8a7790-lager.dtb \
        r8a7790-lager-reference.dtb \
        sh73a0-kzm9g.dtb \
        r8a73a4-ape6evm.dtb \
        r8a73a4-ape6evm-reference.dtb \
        sh7372-mackerel.dtb
 -dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d-reference.dtb
 -dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \
 +dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb
 +dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
 +      socfpga_cyclone5_socdk.dtb \
 +      socfpga_cyclone5_sockit.dtb \
        socfpga_vt.dtb
  dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
        spear1340-evb.dtb
@@@ -266,8 -259,7 +278,8 @@@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-har
        tegra30-beaver.dtb \
        tegra30-cardhu-a02.dtb \
        tegra30-cardhu-a04.dtb \
 -      tegra114-dalmore.dtb
 +      tegra114-dalmore.dtb \
 +      tegra124-venice2.dtb
  dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
        versatile-pb.dtb
  dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
index 07caf767d4289557d8696362fdb1c77f783f0a52,87faa6e8b6e7024dceb01c86f2c00aa10a882180..c96ceaef7ddf565b448f5b3ba707ff80824d3cf2
@@@ -9,7 -9,8 +9,8 @@@
   * http://www.gnu.org/copyleft/gpl.html
   */
  
- /include/ "skeleton.dtsi"
+ #include "skeleton.dtsi"
+ #include "imx23-pinfunc.h"
  
  / {
        interrupt-parent = <&icoll>;
                                duart_pins_a: duart@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x11a2 /* MX23_PAD_PWM0__DUART_RX */
-                                               0x11b2 /* MX23_PAD_PWM1__DUART_TX */
+                                               MX23_PAD_PWM0__DUART_RX
+                                               MX23_PAD_PWM1__DUART_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart0_pins_a: auart0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x01c0 /* MX23_PAD_AUART1_RX__AUART1_RX */
-                                               0x01d0 /* MX23_PAD_AUART1_TX__AUART1_TX */
-                                               0x01a0 /* MX23_PAD_AUART1_CTS__AUART1_CTS */
-                                               0x01b0 /* MX23_PAD_AUART1_RTS__AUART1_RTS */
+                                               MX23_PAD_AUART1_RX__AUART1_RX
+                                               MX23_PAD_AUART1_TX__AUART1_TX
+                                               MX23_PAD_AUART1_CTS__AUART1_CTS
+                                               MX23_PAD_AUART1_RTS__AUART1_RTS
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart0_2pins_a: auart0-2pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x01e2 /* MX23_PAD_I2C_SCL__AUART1_TX */
-                                               0x01f2 /* MX23_PAD_I2C_SDA__AUART1_RX */
+                                               MX23_PAD_I2C_SCL__AUART1_TX
+                                               MX23_PAD_I2C_SDA__AUART1_RX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                gpmi_pins_a: gpmi-nand@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0000 /* MX23_PAD_GPMI_D00__GPMI_D00 */
-                                               0x0010 /* MX23_PAD_GPMI_D01__GPMI_D01 */
-                                               0x0020 /* MX23_PAD_GPMI_D02__GPMI_D02 */
-                                               0x0030 /* MX23_PAD_GPMI_D03__GPMI_D03 */
-                                               0x0040 /* MX23_PAD_GPMI_D04__GPMI_D04 */
-                                               0x0050 /* MX23_PAD_GPMI_D05__GPMI_D05 */
-                                               0x0060 /* MX23_PAD_GPMI_D06__GPMI_D06 */
-                                               0x0070 /* MX23_PAD_GPMI_D07__GPMI_D07 */
-                                               0x0100 /* MX23_PAD_GPMI_CLE__GPMI_CLE */
-                                               0x0110 /* MX23_PAD_GPMI_ALE__GPMI_ALE */
-                                               0x0130 /* MX23_PAD_GPMI_RDY0__GPMI_RDY0 */
-                                               0x0140 /* MX23_PAD_GPMI_RDY1__GPMI_RDY1 */
-                                               0x0170 /* MX23_PAD_GPMI_WPN__GPMI_WPN */
-                                               0x0180 /* MX23_PAD_GPMI_WRN__GPMI_WRN */
-                                               0x0190 /* MX23_PAD_GPMI_RDN__GPMI_RDN */
-                                               0x21b0 /* MX23_PAD_GPMI_CE1N__GPMI_CE1N */
-                                               0x21c0 /* MX23_PAD_GPMI_CE0N__GPMI_CE0N */
+                                               MX23_PAD_GPMI_D00__GPMI_D00
+                                               MX23_PAD_GPMI_D01__GPMI_D01
+                                               MX23_PAD_GPMI_D02__GPMI_D02
+                                               MX23_PAD_GPMI_D03__GPMI_D03
+                                               MX23_PAD_GPMI_D04__GPMI_D04
+                                               MX23_PAD_GPMI_D05__GPMI_D05
+                                               MX23_PAD_GPMI_D06__GPMI_D06
+                                               MX23_PAD_GPMI_D07__GPMI_D07
+                                               MX23_PAD_GPMI_CLE__GPMI_CLE
+                                               MX23_PAD_GPMI_ALE__GPMI_ALE
+                                               MX23_PAD_GPMI_RDY0__GPMI_RDY0
+                                               MX23_PAD_GPMI_RDY1__GPMI_RDY1
+                                               MX23_PAD_GPMI_WPN__GPMI_WPN
+                                               MX23_PAD_GPMI_WRN__GPMI_WRN
+                                               MX23_PAD_GPMI_RDN__GPMI_RDN
+                                               MX23_PAD_GPMI_CE1N__GPMI_CE1N
+                                               MX23_PAD_GPMI_CE0N__GPMI_CE0N
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                gpmi_pins_fixup: gpmi-pins-fixup {
                                        fsl,pinmux-ids = <
-                                               0x0170 /* MX23_PAD_GPMI_WPN__GPMI_WPN */
-                                               0x0180 /* MX23_PAD_GPMI_WRN__GPMI_WRN */
-                                               0x0190 /* MX23_PAD_GPMI_RDN__GPMI_RDN */
+                                               MX23_PAD_GPMI_WPN__GPMI_WPN
+                                               MX23_PAD_GPMI_WRN__GPMI_WRN
+                                               MX23_PAD_GPMI_RDN__GPMI_RDN
                                        >;
-                                       fsl,drive-strength = <2>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
                                };
  
                                mmc0_4bit_pins_a: mmc0-4bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2020 /* MX23_PAD_SSP1_DATA0__SSP1_DATA0 */
-                                               0x2030 /* MX23_PAD_SSP1_DATA1__SSP1_DATA1 */
-                                               0x2040 /* MX23_PAD_SSP1_DATA2__SSP1_DATA2 */
-                                               0x2050 /* MX23_PAD_SSP1_DATA3__SSP1_DATA3 */
-                                               0x2000 /* MX23_PAD_SSP1_CMD__SSP1_CMD */
-                                               0x2060 /* MX23_PAD_SSP1_SCK__SSP1_SCK */
+                                               MX23_PAD_SSP1_DATA0__SSP1_DATA0
+                                               MX23_PAD_SSP1_DATA1__SSP1_DATA1
+                                               MX23_PAD_SSP1_DATA2__SSP1_DATA2
+                                               MX23_PAD_SSP1_DATA3__SSP1_DATA3
+                                               MX23_PAD_SSP1_CMD__SSP1_CMD
+                                               MX23_PAD_SSP1_SCK__SSP1_SCK
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mmc0_8bit_pins_a: mmc0-8bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2020 /* MX23_PAD_SSP1_DATA0__SSP1_DATA0 */
-                                               0x2030 /* MX23_PAD_SSP1_DATA1__SSP1_DATA1 */
-                                               0x2040 /* MX23_PAD_SSP1_DATA2__SSP1_DATA2 */
-                                               0x2050 /* MX23_PAD_SSP1_DATA3__SSP1_DATA3 */
-                                               0x0082 /* MX23_PAD_GPMI_D08__SSP1_DATA4 */
-                                               0x0092 /* MX23_PAD_GPMI_D09__SSP1_DATA5 */
-                                               0x00a2 /* MX23_PAD_GPMI_D10__SSP1_DATA6 */
-                                               0x00b2 /* MX23_PAD_GPMI_D11__SSP1_DATA7 */
-                                               0x2000 /* MX23_PAD_SSP1_CMD__SSP1_CMD */
-                                               0x2010 /* MX23_PAD_SSP1_DETECT__SSP1_DETECT */
-                                               0x2060 /* MX23_PAD_SSP1_SCK__SSP1_SCK */
+                                               MX23_PAD_SSP1_DATA0__SSP1_DATA0
+                                               MX23_PAD_SSP1_DATA1__SSP1_DATA1
+                                               MX23_PAD_SSP1_DATA2__SSP1_DATA2
+                                               MX23_PAD_SSP1_DATA3__SSP1_DATA3
+                                               MX23_PAD_GPMI_D08__SSP1_DATA4
+                                               MX23_PAD_GPMI_D09__SSP1_DATA5
+                                               MX23_PAD_GPMI_D10__SSP1_DATA6
+                                               MX23_PAD_GPMI_D11__SSP1_DATA7
+                                               MX23_PAD_SSP1_CMD__SSP1_CMD
+                                               MX23_PAD_SSP1_DETECT__SSP1_DETECT
+                                               MX23_PAD_SSP1_SCK__SSP1_SCK
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mmc0_pins_fixup: mmc0-pins-fixup {
                                        fsl,pinmux-ids = <
-                                               0x2010 /* MX23_PAD_SSP1_DETECT__SSP1_DETECT */
-                                               0x2060 /* MX23_PAD_SSP1_SCK__SSP1_SCK */
+                                               MX23_PAD_SSP1_DETECT__SSP1_DETECT
+                                               MX23_PAD_SSP1_SCK__SSP1_SCK
                                        >;
-                                       fsl,pull-up = <0>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                pwm2_pins_a: pwm2@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x11c0 /* MX23_PAD_PWM2__PWM2 */
+                                               MX23_PAD_PWM2__PWM2
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                lcdif_24bit_pins_a: lcdif-24bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x1000 /* MX23_PAD_LCD_D00__LCD_D0 */
-                                               0x1010 /* MX23_PAD_LCD_D01__LCD_D1 */
-                                               0x1020 /* MX23_PAD_LCD_D02__LCD_D2 */
-                                               0x1030 /* MX23_PAD_LCD_D03__LCD_D3 */
-                                               0x1040 /* MX23_PAD_LCD_D04__LCD_D4 */
-                                               0x1050 /* MX23_PAD_LCD_D05__LCD_D5 */
-                                               0x1060 /* MX23_PAD_LCD_D06__LCD_D6 */
-                                               0x1070 /* MX23_PAD_LCD_D07__LCD_D7 */
-                                               0x1080 /* MX23_PAD_LCD_D08__LCD_D8 */
-                                               0x1090 /* MX23_PAD_LCD_D09__LCD_D9 */
-                                               0x10a0 /* MX23_PAD_LCD_D10__LCD_D10 */
-                                               0x10b0 /* MX23_PAD_LCD_D11__LCD_D11 */
-                                               0x10c0 /* MX23_PAD_LCD_D12__LCD_D12 */
-                                               0x10d0 /* MX23_PAD_LCD_D13__LCD_D13 */
-                                               0x10e0 /* MX23_PAD_LCD_D14__LCD_D14 */
-                                               0x10f0 /* MX23_PAD_LCD_D15__LCD_D15 */
-                                               0x1100 /* MX23_PAD_LCD_D16__LCD_D16 */
-                                               0x1110 /* MX23_PAD_LCD_D17__LCD_D17 */
-                                               0x0081 /* MX23_PAD_GPMI_D08__LCD_D18 */
-                                               0x0091 /* MX23_PAD_GPMI_D09__LCD_D19 */
-                                               0x00a1 /* MX23_PAD_GPMI_D10__LCD_D20 */
-                                               0x00b1 /* MX23_PAD_GPMI_D11__LCD_D21 */
-                                               0x00c1 /* MX23_PAD_GPMI_D12__LCD_D22 */
-                                               0x00d1 /* MX23_PAD_GPMI_D13__LCD_D23 */
-                                               0x1160 /* MX23_PAD_LCD_DOTCK__LCD_DOTCK */
-                                               0x1170 /* MX23_PAD_LCD_ENABLE__LCD_ENABLE */
-                                               0x1180 /* MX23_PAD_LCD_HSYNC__LCD_HSYNC */
-                                               0x1190 /* MX23_PAD_LCD_VSYNC__LCD_VSYNC */
+                                               MX23_PAD_LCD_D00__LCD_D00
+                                               MX23_PAD_LCD_D01__LCD_D01
+                                               MX23_PAD_LCD_D02__LCD_D02
+                                               MX23_PAD_LCD_D03__LCD_D03
+                                               MX23_PAD_LCD_D04__LCD_D04
+                                               MX23_PAD_LCD_D05__LCD_D05
+                                               MX23_PAD_LCD_D06__LCD_D06
+                                               MX23_PAD_LCD_D07__LCD_D07
+                                               MX23_PAD_LCD_D08__LCD_D08
+                                               MX23_PAD_LCD_D09__LCD_D09
+                                               MX23_PAD_LCD_D10__LCD_D10
+                                               MX23_PAD_LCD_D11__LCD_D11
+                                               MX23_PAD_LCD_D12__LCD_D12
+                                               MX23_PAD_LCD_D13__LCD_D13
+                                               MX23_PAD_LCD_D14__LCD_D14
+                                               MX23_PAD_LCD_D15__LCD_D15
+                                               MX23_PAD_LCD_D16__LCD_D16
+                                               MX23_PAD_LCD_D17__LCD_D17
+                                               MX23_PAD_GPMI_D08__LCD_D18
+                                               MX23_PAD_GPMI_D09__LCD_D19
+                                               MX23_PAD_GPMI_D10__LCD_D20
+                                               MX23_PAD_GPMI_D11__LCD_D21
+                                               MX23_PAD_GPMI_D12__LCD_D22
+                                               MX23_PAD_GPMI_D13__LCD_D23
+                                               MX23_PAD_LCD_DOTCK__LCD_DOTCK
+                                               MX23_PAD_LCD_ENABLE__LCD_ENABLE
+                                               MX23_PAD_LCD_HSYNC__LCD_HSYNC
+                                               MX23_PAD_LCD_VSYNC__LCD_VSYNC
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                spi2_pins_a: spi2@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0182 /* MX23_PAD_GPMI_WRN__SSP2_SCK */
-                                               0x0142 /* MX23_PAD_GPMI_RDY1__SSP2_CMD */
-                                               0x0002 /* MX23_PAD_GPMI_D00__SSP2_DATA0 */
-                                               0x0032 /* MX23_PAD_GPMI_D03__SSP2_DATA3 */
+                                               MX23_PAD_GPMI_WRN__SSP2_SCK
+                                               MX23_PAD_GPMI_RDY1__SSP2_CMD
+                                               MX23_PAD_GPMI_D00__SSP2_DATA0
+                                               MX23_PAD_GPMI_D03__SSP2_DATA3
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
                        };
  
                                reg = <0x80050000 0x2000>;
                                interrupts = <36 37 38 39 40 41 42 43 44>;
                                status = "disabled";
 +                              clocks = <&clks 26>;
                        };
  
                        spdif@80054000 {
index aa33393903a87cec3bcef3bb7f5138a779230d96,1f63845b8ce08c3cc23aaeff334d9ee02b56e45e..4267c2b05d600ac8bfb9cf2612a3b72977d7dc0e
@@@ -10,7 -10,7 +10,7 @@@
   */
  
  /dts-v1/;
/include/ "imx28.dtsi"
#include "imx28.dtsi"
  
  / {
        model = "Freescale i.MX28 Evaluation Kit";
                                hog_pins_a: hog@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x20d3 /* MX28_PAD_SSP1_CMD__GPIO_2_13 */
-                                               0x20f3 /* MX28_PAD_SSP1_DATA3__GPIO_2_15 */
-                                               0x40d3 /* MX28_PAD_ENET0_RX_CLK__GPIO_4_13 */
-                                               0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */
-                                               0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
-                                               0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */
-                                               0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */
+                                               MX28_PAD_SSP1_CMD__GPIO_2_13
+                                               MX28_PAD_SSP1_DATA3__GPIO_2_15
+                                               MX28_PAD_ENET0_RX_CLK__GPIO_4_13
+                                               MX28_PAD_SSP1_SCK__GPIO_2_12
+                                               MX28_PAD_PWM3__GPIO_3_28
+                                               MX28_PAD_LCD_RESET__GPIO_3_30
+                                               MX28_PAD_AUART2_RX__GPIO_3_8
+                                               MX28_PAD_AUART2_TX__GPIO_3_9
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                led_pin_gpio3_5: led_gpio3_5@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
+                                               MX28_PAD_AUART1_TX__GPIO_3_5
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                gpmi_pins_evk: gpmi-nand-evk@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0110 /* MX28_PAD_GPMI_CE1N__GPMI_CE1N */
-                                               0x0150 /* MX28_PAD_GPMI_RDY1__GPMI_READY1 */
+                                               MX28_PAD_GPMI_CE1N__GPMI_CE1N
+                                               MX28_PAD_GPMI_RDY1__GPMI_READY1
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                lcdif_pins_evk: lcdif-evk@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
-                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
-                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
-                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                               MX28_PAD_LCD_RD_E__LCD_VSYNC
+                                               MX28_PAD_LCD_WR_RWN__LCD_HSYNC
+                                               MX28_PAD_LCD_RS__LCD_DOTCLK
+                                               MX28_PAD_LCD_CS__LCD_ENABLE
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
                        };
  
                        };
  
                        lradc@80050000 {
+                               fsl,lradc-touchscreen-wires = <4>;
                                status = "okay";
 +                              fsl,lradc-touchscreen-wires = <4>;
 +                              fsl,ave-ctrl = <4>;
 +                              fsl,ave-delay = <2>;
 +                              fsl,settling = <10>;
                        };
  
                        i2c0: i2c@80058000 {
  
        ahb@80080000 {
                usb0: usb@80080000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb0_id_pins_a>;
                        vbus-supply = <&reg_usb0_vbus>;
                        status = "okay";
                };
index 175deefb048b4349762d73ceaaebfdd0d6309080,1c5ed9dbebb579194ece138c39bb35a5050c0ab3..cda19c8b0a470ecb6900255c8a9eb17b85bdf9dc
@@@ -9,7 -9,8 +9,8 @@@
   * http://www.gnu.org/copyleft/gpl.html
   */
  
- /include/ "skeleton.dtsi"
+ #include "skeleton.dtsi"
+ #include "imx28-pinfunc.h"
  
  / {
        interrupt-parent = <&icoll>;
                                duart_pins_a: duart@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3102 /* MX28_PAD_PWM0__DUART_RX */
-                                               0x3112 /* MX28_PAD_PWM1__DUART_TX */
+                                               MX28_PAD_PWM0__DUART_RX
+                                               MX28_PAD_PWM1__DUART_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                duart_pins_b: duart@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
-                                               0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
+                                               MX28_PAD_AUART0_CTS__DUART_RX
+                                               MX28_PAD_AUART0_RTS__DUART_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                duart_4pins_a: duart-4pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
-                                               0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
-                                               0x3002 /* MX28_PAD_AUART0_RX__DUART_CTS */
-                                               0x3012 /* MX28_PAD_AUART0_TX__DUART_RTS */
+                                               MX28_PAD_AUART0_CTS__DUART_RX
+                                               MX28_PAD_AUART0_RTS__DUART_TX
+                                               MX28_PAD_AUART0_RX__DUART_CTS
+                                               MX28_PAD_AUART0_TX__DUART_RTS
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                gpmi_pins_a: gpmi-nand@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0000 /* MX28_PAD_GPMI_D00__GPMI_D0 */
-                                               0x0010 /* MX28_PAD_GPMI_D01__GPMI_D1 */
-                                               0x0020 /* MX28_PAD_GPMI_D02__GPMI_D2 */
-                                               0x0030 /* MX28_PAD_GPMI_D03__GPMI_D3 */
-                                               0x0040 /* MX28_PAD_GPMI_D04__GPMI_D4 */
-                                               0x0050 /* MX28_PAD_GPMI_D05__GPMI_D5 */
-                                               0x0060 /* MX28_PAD_GPMI_D06__GPMI_D6 */
-                                               0x0070 /* MX28_PAD_GPMI_D07__GPMI_D7 */
-                                               0x0100 /* MX28_PAD_GPMI_CE0N__GPMI_CE0N */
-                                               0x0140 /* MX28_PAD_GPMI_RDY0__GPMI_READY0 */
-                                               0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
-                                               0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
-                                               0x01a0 /* MX28_PAD_GPMI_ALE__GPMI_ALE */
-                                               0x01b0 /* MX28_PAD_GPMI_CLE__GPMI_CLE */
-                                               0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
+                                               MX28_PAD_GPMI_D00__GPMI_D0
+                                               MX28_PAD_GPMI_D01__GPMI_D1
+                                               MX28_PAD_GPMI_D02__GPMI_D2
+                                               MX28_PAD_GPMI_D03__GPMI_D3
+                                               MX28_PAD_GPMI_D04__GPMI_D4
+                                               MX28_PAD_GPMI_D05__GPMI_D5
+                                               MX28_PAD_GPMI_D06__GPMI_D6
+                                               MX28_PAD_GPMI_D07__GPMI_D7
+                                               MX28_PAD_GPMI_CE0N__GPMI_CE0N
+                                               MX28_PAD_GPMI_RDY0__GPMI_READY0
+                                               MX28_PAD_GPMI_RDN__GPMI_RDN
+                                               MX28_PAD_GPMI_WRN__GPMI_WRN
+                                               MX28_PAD_GPMI_ALE__GPMI_ALE
+                                               MX28_PAD_GPMI_CLE__GPMI_CLE
+                                               MX28_PAD_GPMI_RESETN__GPMI_RESETN
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                gpmi_status_cfg: gpmi-status-cfg {
                                        fsl,pinmux-ids = <
-                                               0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
-                                               0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
-                                               0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
+                                               MX28_PAD_GPMI_RDN__GPMI_RDN
+                                               MX28_PAD_GPMI_WRN__GPMI_WRN
+                                               MX28_PAD_GPMI_RESETN__GPMI_RESETN
                                        >;
-                                       fsl,drive-strength = <2>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
                                };
  
                                auart0_pins_a: auart0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
-                                               0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
-                                               0x3020 /* MX28_PAD_AUART0_CTS__AUART0_CTS */
-                                               0x3030 /* MX28_PAD_AUART0_RTS__AUART0_RTS */
+                                               MX28_PAD_AUART0_RX__AUART0_RX
+                                               MX28_PAD_AUART0_TX__AUART0_TX
+                                               MX28_PAD_AUART0_CTS__AUART0_CTS
+                                               MX28_PAD_AUART0_RTS__AUART0_RTS
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart0_2pins_a: auart0-2pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
-                                               0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
+                                               MX28_PAD_AUART0_RX__AUART0_RX
+                                               MX28_PAD_AUART0_TX__AUART0_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart1_pins_a: auart1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
-                                               0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
-                                               0x3060 /* MX28_PAD_AUART1_CTS__AUART1_CTS */
-                                               0x3070 /* MX28_PAD_AUART1_RTS__AUART1_RTS */
+                                               MX28_PAD_AUART1_RX__AUART1_RX
+                                               MX28_PAD_AUART1_TX__AUART1_TX
+                                               MX28_PAD_AUART1_CTS__AUART1_CTS
+                                               MX28_PAD_AUART1_RTS__AUART1_RTS
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart1_2pins_a: auart1-2pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
-                                               0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
+                                               MX28_PAD_AUART1_RX__AUART1_RX
+                                               MX28_PAD_AUART1_TX__AUART1_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart2_2pins_a: auart2-2pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2101 /* MX28_PAD_SSP2_SCK__AUART2_RX */
-                                               0x2111 /* MX28_PAD_SSP2_MOSI__AUART2_TX */
+                                               MX28_PAD_SSP2_SCK__AUART2_RX
+                                               MX28_PAD_SSP2_MOSI__AUART2_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart2_2pins_b: auart2-2pins@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3080 /* MX28_PAD_AUART2_RX__AUART2_RX */
-                                               0x3090 /* MX28_PAD_AUART2_TX__AUART2_TX */
+                                               MX28_PAD_AUART2_RX__AUART2_RX
+                                               MX28_PAD_AUART2_TX__AUART2_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart3_pins_a: auart3@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x30c0 /* MX28_PAD_AUART3_RX__AUART3_RX */
-                                               0x30d0 /* MX28_PAD_AUART3_TX__AUART3_TX */
-                                               0x30e0 /* MX28_PAD_AUART3_CTS__AUART3_CTS */
-                                               0x30f0 /* MX28_PAD_AUART3_RTS__AUART3_RTS */
+                                               MX28_PAD_AUART3_RX__AUART3_RX
+                                               MX28_PAD_AUART3_TX__AUART3_TX
+                                               MX28_PAD_AUART3_CTS__AUART3_CTS
+                                               MX28_PAD_AUART3_RTS__AUART3_RTS
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart3_2pins_a: auart3-2pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2121 /* MX28_PAD_SSP2_MISO__AUART3_RX */
-                                               0x2131 /* MX28_PAD_SSP2_SS0__AUART3_TX */
+                                               MX28_PAD_SSP2_MISO__AUART3_RX
+                                               MX28_PAD_SSP2_SS0__AUART3_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart3_2pins_b: auart3-2pins@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x30c0 /* MX28_PAD_AUART3_RX__AUART3_RX */
-                                               0x30d0 /* MX28_PAD_AUART3_TX__AUART3_TX */
+                                               MX28_PAD_AUART3_RX__AUART3_RX
+                                               MX28_PAD_AUART3_TX__AUART3_TX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                auart4_2pins_a: auart4@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2181 /* MX28_PAD_SSP3_SCK__AUART4_TX */
-                                               0x2191 /* MX28_PAD_SSP3_MOSI__AUART4_RX */
+                                               MX28_PAD_SSP3_SCK__AUART4_TX
+                                               MX28_PAD_SSP3_MOSI__AUART4_RX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                mac0_pins_a: mac0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x4000 /* MX28_PAD_ENET0_MDC__ENET0_MDC */
-                                               0x4010 /* MX28_PAD_ENET0_MDIO__ENET0_MDIO */
-                                               0x4020 /* MX28_PAD_ENET0_RX_EN__ENET0_RX_EN */
-                                               0x4030 /* MX28_PAD_ENET0_RXD0__ENET0_RXD0 */
-                                               0x4040 /* MX28_PAD_ENET0_RXD1__ENET0_RXD1 */
-                                               0x4060 /* MX28_PAD_ENET0_TX_EN__ENET0_TX_EN */
-                                               0x4070 /* MX28_PAD_ENET0_TXD0__ENET0_TXD0 */
-                                               0x4080 /* MX28_PAD_ENET0_TXD1__ENET0_TXD1 */
-                                               0x4100 /* MX28_PAD_ENET_CLK__CLKCTRL_ENET */
+                                               MX28_PAD_ENET0_MDC__ENET0_MDC
+                                               MX28_PAD_ENET0_MDIO__ENET0_MDIO
+                                               MX28_PAD_ENET0_RX_EN__ENET0_RX_EN
+                                               MX28_PAD_ENET0_RXD0__ENET0_RXD0
+                                               MX28_PAD_ENET0_RXD1__ENET0_RXD1
+                                               MX28_PAD_ENET0_TX_EN__ENET0_TX_EN
+                                               MX28_PAD_ENET0_TXD0__ENET0_TXD0
+                                               MX28_PAD_ENET0_TXD1__ENET0_TXD1
+                                               MX28_PAD_ENET_CLK__CLKCTRL_ENET
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mac1_pins_a: mac1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x40f1 /* MX28_PAD_ENET0_CRS__ENET1_RX_EN */
-                                               0x4091 /* MX28_PAD_ENET0_RXD2__ENET1_RXD0 */
-                                               0x40a1 /* MX28_PAD_ENET0_RXD3__ENET1_RXD1 */
-                                               0x40e1 /* MX28_PAD_ENET0_COL__ENET1_TX_EN */
-                                               0x40b1 /* MX28_PAD_ENET0_TXD2__ENET1_TXD0 */
-                                               0x40c1 /* MX28_PAD_ENET0_TXD3__ENET1_TXD1 */
+                                               MX28_PAD_ENET0_CRS__ENET1_RX_EN
+                                               MX28_PAD_ENET0_RXD2__ENET1_RXD0
+                                               MX28_PAD_ENET0_RXD3__ENET1_RXD1
+                                               MX28_PAD_ENET0_COL__ENET1_TX_EN
+                                               MX28_PAD_ENET0_TXD2__ENET1_TXD0
+                                               MX28_PAD_ENET0_TXD3__ENET1_TXD1
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mmc0_8bit_pins_a: mmc0-8bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
-                                               0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
-                                               0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
-                                               0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
-                                               0x2040 /* MX28_PAD_SSP0_DATA4__SSP0_D4 */
-                                               0x2050 /* MX28_PAD_SSP0_DATA5__SSP0_D5 */
-                                               0x2060 /* MX28_PAD_SSP0_DATA6__SSP0_D6 */
-                                               0x2070 /* MX28_PAD_SSP0_DATA7__SSP0_D7 */
-                                               0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
-                                               0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
-                                               0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
+                                               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 = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mmc0_4bit_pins_a: mmc0-4bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
-                                               0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
-                                               0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
-                                               0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
-                                               0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
-                                               0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
-                                               0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
+                                               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_CMD__SSP0_CMD
+                                               MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
+                                               MX28_PAD_SSP0_SCK__SSP0_SCK
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                mmc0_cd_cfg: mmc0-cd-cfg {
                                        fsl,pinmux-ids = <
-                                               0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
+                                               MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
                                        >;
-                                       fsl,pull-up = <0>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                mmc0_sck_cfg: mmc0-sck-cfg {
                                        fsl,pinmux-ids = <
-                                               0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
+                                               MX28_PAD_SSP0_SCK__SSP0_SCK
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
+                               };
+                               mmc2_4bit_pins_a: mmc2-4bit@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_SSP0_DATA4__SSP2_D0
+                                               MX28_PAD_SSP1_SCK__SSP2_D1
+                                               MX28_PAD_SSP1_CMD__SSP2_D2
+                                               MX28_PAD_SSP0_DATA5__SSP2_D3
+                                               MX28_PAD_SSP0_DATA6__SSP2_CMD
+                                               MX28_PAD_AUART1_RX__SSP2_CARD_DETECT
+                                               MX28_PAD_SSP0_DATA7__SSP2_SCK
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
+                               };
+                               mmc2_cd_cfg: mmc2-cd-cfg {
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_AUART1_RX__SSP2_CARD_DETECT
+                                       >;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
+                               };
+                               mmc2_sck_cfg: mmc2-sck-cfg {
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_SSP0_DATA7__SSP2_SCK
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                i2c0_pins_a: i2c0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3180 /* MX28_PAD_I2C0_SCL__I2C0_SCL */
-                                               0x3190 /* MX28_PAD_I2C0_SDA__I2C0_SDA */
+                                               MX28_PAD_I2C0_SCL__I2C0_SCL
+                                               MX28_PAD_I2C0_SDA__I2C0_SDA
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                i2c0_pins_b: i2c0@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3001 /* MX28_PAD_AUART0_RX__I2C0_SCL */
-                                               0x3011 /* MX28_PAD_AUART0_TX__I2C0_SDA */
+                                               MX28_PAD_AUART0_RX__I2C0_SCL
+                                               MX28_PAD_AUART0_TX__I2C0_SDA
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                i2c1_pins_a: i2c1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3101 /* MX28_PAD_PWM0__I2C1_SCL */
-                                               0x3111 /* MX28_PAD_PWM1__I2C1_SDA */
+                                               MX28_PAD_PWM0__I2C1_SCL
+                                               MX28_PAD_PWM1__I2C1_SDA
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                saif0_pins_a: saif0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3140 /* MX28_PAD_SAIF0_MCLK__SAIF0_MCLK */
-                                               0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
-                                               0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
-                                               0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
+                                               MX28_PAD_SAIF0_MCLK__SAIF0_MCLK
+                                               MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK
+                                               MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK
+                                               MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                saif0_pins_b: saif0@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
-                                               0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
-                                               0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
+                                               MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK
+                                               MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK
+                                               MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                saif1_pins_a: saif1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x31a0 /* MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 */
+                                               MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                pwm0_pins_a: pwm0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3100 /* MX28_PAD_PWM0__PWM_0 */
+                                               MX28_PAD_PWM0__PWM_0
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                pwm2_pins_a: pwm2@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3120 /* MX28_PAD_PWM2__PWM_2 */
+                                               MX28_PAD_PWM2__PWM_2
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                pwm3_pins_a: pwm3@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x31c0 /* MX28_PAD_PWM3__PWM_3 */
+                                               MX28_PAD_PWM3__PWM_3
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                pwm3_pins_b: pwm3@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3141 /* MX28_PAD_SAIF0_MCLK__PWM3 */
+                                               MX28_PAD_SAIF0_MCLK__PWM_3
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                pwm4_pins_a: pwm4@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x31d0 /* MX28_PAD_PWM4__PWM_4 */
+                                               MX28_PAD_PWM4__PWM_4
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                lcdif_24bit_pins_a: lcdif-24bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
-                                               0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
-                                               0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
-                                               0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
-                                               0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
-                                               0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
-                                               0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
-                                               0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
-                                               0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
-                                               0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
-                                               0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
-                                               0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
-                                               0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
-                                               0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
-                                               0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
-                                               0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
-                                               0x1100 /* MX28_PAD_LCD_D16__LCD_D16 */
-                                               0x1110 /* MX28_PAD_LCD_D17__LCD_D17 */
-                                               0x1120 /* MX28_PAD_LCD_D18__LCD_D18 */
-                                               0x1130 /* MX28_PAD_LCD_D19__LCD_D19 */
-                                               0x1140 /* MX28_PAD_LCD_D20__LCD_D20 */
-                                               0x1150 /* MX28_PAD_LCD_D21__LCD_D21 */
-                                               0x1160 /* MX28_PAD_LCD_D22__LCD_D22 */
-                                               0x1170 /* MX28_PAD_LCD_D23__LCD_D23 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                               MX28_PAD_LCD_D00__LCD_D0
+                                               MX28_PAD_LCD_D01__LCD_D1
+                                               MX28_PAD_LCD_D02__LCD_D2
+                                               MX28_PAD_LCD_D03__LCD_D3
+                                               MX28_PAD_LCD_D04__LCD_D4
+                                               MX28_PAD_LCD_D05__LCD_D5
+                                               MX28_PAD_LCD_D06__LCD_D6
+                                               MX28_PAD_LCD_D07__LCD_D7
+                                               MX28_PAD_LCD_D08__LCD_D8
+                                               MX28_PAD_LCD_D09__LCD_D9
+                                               MX28_PAD_LCD_D10__LCD_D10
+                                               MX28_PAD_LCD_D11__LCD_D11
+                                               MX28_PAD_LCD_D12__LCD_D12
+                                               MX28_PAD_LCD_D13__LCD_D13
+                                               MX28_PAD_LCD_D14__LCD_D14
+                                               MX28_PAD_LCD_D15__LCD_D15
+                                               MX28_PAD_LCD_D16__LCD_D16
+                                               MX28_PAD_LCD_D17__LCD_D17
+                                               MX28_PAD_LCD_D18__LCD_D18
+                                               MX28_PAD_LCD_D19__LCD_D19
+                                               MX28_PAD_LCD_D20__LCD_D20
+                                               MX28_PAD_LCD_D21__LCD_D21
+                                               MX28_PAD_LCD_D22__LCD_D22
+                                               MX28_PAD_LCD_D23__LCD_D23
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                lcdif_16bit_pins_a: lcdif-16bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
-                                               0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
-                                               0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
-                                               0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
-                                               0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
-                                               0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
-                                               0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
-                                               0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
-                                               0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
-                                               0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
-                                               0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
-                                               0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
-                                               0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
-                                               0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
-                                               0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
-                                               0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                               MX28_PAD_LCD_D00__LCD_D0
+                                               MX28_PAD_LCD_D01__LCD_D1
+                                               MX28_PAD_LCD_D02__LCD_D2
+                                               MX28_PAD_LCD_D03__LCD_D3
+                                               MX28_PAD_LCD_D04__LCD_D4
+                                               MX28_PAD_LCD_D05__LCD_D5
+                                               MX28_PAD_LCD_D06__LCD_D6
+                                               MX28_PAD_LCD_D07__LCD_D7
+                                               MX28_PAD_LCD_D08__LCD_D8
+                                               MX28_PAD_LCD_D09__LCD_D9
+                                               MX28_PAD_LCD_D10__LCD_D10
+                                               MX28_PAD_LCD_D11__LCD_D11
+                                               MX28_PAD_LCD_D12__LCD_D12
+                                               MX28_PAD_LCD_D13__LCD_D13
+                                               MX28_PAD_LCD_D14__LCD_D14
+                                               MX28_PAD_LCD_D15__LCD_D15
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                lcdif_sync_pins_a: lcdif-sync@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
-                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
-                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
-                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                               MX28_PAD_LCD_RS__LCD_DOTCLK
+                                               MX28_PAD_LCD_CS__LCD_ENABLE
+                                               MX28_PAD_LCD_RD_E__LCD_VSYNC
+                                               MX28_PAD_LCD_WR_RWN__LCD_HSYNC
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                can0_pins_a: can0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0161 /* MX28_PAD_GPMI_RDY2__CAN0_TX */
-                                               0x0171 /* MX28_PAD_GPMI_RDY3__CAN0_RX */
+                                               MX28_PAD_GPMI_RDY2__CAN0_TX
+                                               MX28_PAD_GPMI_RDY3__CAN0_RX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                can1_pins_a: can1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x0121 /* MX28_PAD_GPMI_CE2N__CAN1_TX */
-                                               0x0131 /* MX28_PAD_GPMI_CE3N__CAN1_RX */
+                                               MX28_PAD_GPMI_CE2N__CAN1_TX
+                                               MX28_PAD_GPMI_CE3N__CAN1_RX
                                        >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_4mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                spi2_pins_a: spi2@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2100 /* MX28_PAD_SSP2_SCK__SSP2_SCK */
-                                               0x2110 /* MX28_PAD_SSP2_MOSI__SSP2_CMD */
-                                               0x2120 /* MX28_PAD_SSP2_MISO__SSP2_D0 */
-                                               0x2130 /* MX28_PAD_SSP2_SS0__SSP2_D3 */
+                                               MX28_PAD_SSP2_SCK__SSP2_SCK
+                                               MX28_PAD_SSP2_MOSI__SSP2_CMD
+                                               MX28_PAD_SSP2_MISO__SSP2_D0
+                                               MX28_PAD_SSP2_SS0__SSP2_D3
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
  
                                spi3_pins_a: spi3@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x3082 /* MX28_PAD_AUART2_RX__SSP3_D4 */
-                                               0x3092 /* MX28_PAD_AUART2_TX__SSP3_D5 */
-                                               0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
-                                               0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
-                                               0x21A0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
-                                               0x21B0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
+                                               MX28_PAD_AUART2_RX__SSP3_D4
+                                               MX28_PAD_AUART2_TX__SSP3_D5
+                                               MX28_PAD_SSP3_SCK__SSP3_SCK
+                                               MX28_PAD_SSP3_MOSI__SSP3_CMD
+                                               MX28_PAD_SSP3_MISO__SSP3_D0
+                                               MX28_PAD_SSP3_SS0__SSP3_D3
                                        >;
-                                       fsl,drive-strength = <1>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                usbphy0_pins_a: usbphy0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2152 /* MX28_PAD_SSP2_SS2__USB0_OVERCURRENT */
+                                               MX28_PAD_SSP2_SS2__USB0_OVERCURRENT
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                usbphy0_pins_b: usbphy0@1 {
                                        reg = <1>;
                                        fsl,pinmux-ids = <
-                                               0x3061 /* MX28_PAD_AUART1_CTS__USB0_OVERCURRENT */
+                                               MX28_PAD_AUART1_CTS__USB0_OVERCURRENT
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
  
                                usbphy1_pins_a: usbphy1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
-                                               0x2142 /* MX28_PAD_SSP2_SS1__USB1_OVERCURRENT */
+                                               MX28_PAD_SSP2_SS1__USB1_OVERCURRENT
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
+                               };
+                               usb0_id_pins_a: usb0id@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_AUART1_RTS__USB0_ID
                                        >;
-                                       fsl,drive-strength = <2>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
                        };
  
                                interrupts = <10 14 15 16 17 18 19
                                                20 21 22 23 24 25>;
                                status = "disabled";
 +                              clocks = <&clks 41>;
                        };
  
                        spdif: spdif@80054000 {
index a91909b956017326e02101e528a59e34cde72905,270f78667dc60efeda197d270ae38358c0af2a5b..7a6e6f71006893a9c2a54d4a17166762c4647977
@@@ -4,13 -4,14 +4,14 @@@ config ARCH_MX
        select ARM_CPU_SUSPEND if PM
        select ARM_PATCH_PHYS_VIRT
        select AUTO_ZRELADDR if !ZBOOT_ROM
 -      select CLKDEV_LOOKUP
        select CLKSRC_MMIO
 +      select COMMON_CLK
        select GENERIC_ALLOCATOR
        select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_CHIP
        select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7
        select MULTI_IRQ_HANDLER
+       select SOC_BUS
        select SPARSE_IRQ
        select USE_OF
        help
@@@ -24,7 -25,7 +25,7 @@@ config MXC_IRQ_PRIO
        help
          Select this if you want to use prioritized IRQ handling.
          This feature prevents higher priority ISR to be interrupted
-         by lower priority IRQ even IRQF_DISABLED flag is not set.
+         by lower priority IRQ.
          This may be useful in embedded applications, where are strong
          requirements for timing.
          Say N here, unless you have a specialized requirement.
@@@ -92,12 -93,14 +93,12 @@@ config MACH_MX2
  config SOC_IMX1
        bool
        select ARCH_MX1
 -      select COMMON_CLK
        select CPU_ARM920T
        select IMX_HAVE_IOMUX_V1
        select MXC_AVIC
  
  config SOC_IMX21
        bool
 -      select COMMON_CLK
        select CPU_ARM926T
        select IMX_HAVE_IOMUX_V1
        select MXC_AVIC
@@@ -106,6 -109,7 +107,6 @@@ config SOC_IMX2
        bool
        select ARCH_MX25
        select ARCH_MXC_IOMUX_V3
 -      select COMMON_CLK
        select CPU_ARM926T
        select MXC_AVIC
  
@@@ -113,6 -117,7 +114,6 @@@ config SOC_IMX2
        bool
        select ARCH_HAS_CPUFREQ
        select ARCH_HAS_OPP
 -      select COMMON_CLK
        select CPU_ARM926T
        select IMX_HAVE_IOMUX_V1
        select MACH_MX27
  
  config SOC_IMX31
        bool
 -      select COMMON_CLK
        select CPU_V6
        select IMX_HAVE_PLATFORM_MXC_RNGA
        select MXC_AVIC
  config SOC_IMX35
        bool
        select ARCH_MXC_IOMUX_V3
 -      select COMMON_CLK
        select CPU_V6K
        select HAVE_EPIT
        select MXC_AVIC
@@@ -138,6 -145,7 +139,6 @@@ config SOC_IMX
        select ARCH_HAS_CPUFREQ
        select ARCH_HAS_OPP
        select ARCH_MXC_IOMUX_V3
 -      select COMMON_CLK
        select CPU_V7
        select MXC_TZIC
  
@@@ -784,6 -792,7 +785,6 @@@ config SOC_IMX6
        select ARM_ERRATA_764369 if SMP
        select ARM_ERRATA_775420
        select ARM_GIC
 -      select COMMON_CLK
        select CPU_V7
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select HAVE_IMX_SRC
        select HAVE_SMP
        select MFD_SYSCON
+       select MIGHT_HAVE_PCI
+       select PCI_DOMAINS if PCI
        select PINCTRL
        select PINCTRL_IMX6Q
        select PL310_ERRATA_588369 if CACHE_PL310
index eae56423f0aeebf0c8ad82a698d6f4684b4238f7,1ac719d3f568e1cc8a4ab03b4577226fc82fb517..170f13f7215784e2aa2d35e433d92c7586bf9d01
@@@ -23,8 -23,9 +23,9 @@@
  #include <linux/of_address.h>
  #include <linux/of_irq.h>
  #include <linux/of_platform.h>
- #include <linux/pm_opp.h>
 -#include <linux/opp.h>
+ #include <linux/pci.h>
  #include <linux/phy.h>
++#include <linux/pm_opp.h>
  #include <linux/reboot.h>
  #include <linux/regmap.h>
  #include <linux/micrel_phy.h>
  #include "cpuidle.h"
  #include "hardware.h"
  
- static u32 chip_revision;
- int imx6q_revision(void)
- {
-       return chip_revision;
- }
- static void __init imx6q_init_revision(void)
- {
-       u32 rev = imx_anatop_get_digprog();
-       switch (rev & 0xff) {
-       case 0:
-               chip_revision = IMX_CHIP_REVISION_1_0;
-               break;
-       case 1:
-               chip_revision = IMX_CHIP_REVISION_1_1;
-               break;
-       case 2:
-               chip_revision = IMX_CHIP_REVISION_1_2;
-               break;
-       default:
-               chip_revision = IMX_CHIP_REVISION_UNKNOWN;
-       }
-       mxc_set_cpu_type(rev >> 16 & 0xff);
- }
- static void imx6q_restart(enum reboot_mode mode, const char *cmd)
- {
-       struct device_node *np;
-       void __iomem *wdog_base;
-       np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-wdt");
-       wdog_base = of_iomap(np, 0);
-       if (!wdog_base)
-               goto soft;
-       imx_src_prepare_restart();
-       /* enable wdog */
-       writew_relaxed(1 << 2, wdog_base);
-       /* write twice to ensure the request will not get ignored */
-       writew_relaxed(1 << 2, wdog_base);
-       /* wait for reset to assert ... */
-       mdelay(500);
-       pr_err("Watchdog reset failed to assert reset\n");
-       /* delay to allow the serial port to show the message */
-       mdelay(50);
- soft:
-       /* we'll take a jump through zero as a poor second */
-       soft_restart(0);
- }
  /* For imx6q sabrelite board: set KSZ9021RN RGMII pad skew */
  static int ksz9021rn_phy_fixup(struct phy_device *phydev)
  {
@@@ -137,6 -80,34 +80,34 @@@ static int ksz9031rn_phy_fixup(struct p
        return 0;
  }
  
+ /*
+  * fixup for PLX PEX8909 bridge to configure GPIO1-7 as output High
+  * as they are used for slots1-7 PERST#
+  */
+ static void ventana_pciesw_early_fixup(struct pci_dev *dev)
+ {
+       u32 dw;
+       if (!of_machine_is_compatible("gw,ventana"))
+               return;
+       if (dev->devfn != 0)
+               return;
+       pci_read_config_dword(dev, 0x62c, &dw);
+       dw |= 0xaaa8; // GPIO1-7 outputs
+       pci_write_config_dword(dev, 0x62c, dw);
+       pci_read_config_dword(dev, 0x644, &dw);
+       dw |= 0xfe;   // GPIO1-7 output high
+       pci_write_config_dword(dev, 0x644, dw);
+       msleep(100);
+ }
+ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8609, ventana_pciesw_early_fixup);
+ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8606, ventana_pciesw_early_fixup);
+ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8604, ventana_pciesw_early_fixup);
  static int ar8031_phy_fixup(struct phy_device *dev)
  {
        u16 val;
@@@ -190,12 -161,20 +161,20 @@@ static void __init imx6q_1588_init(void
  
  static void __init imx6q_init_machine(void)
  {
+       struct device *parent;
        imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q",
-                             imx6q_revision());
+                             imx_get_soc_revision());
+       mxc_arch_reset_init_dt();
+       parent = imx_soc_device_init();
+       if (parent == NULL)
+               pr_warn("failed to initialize soc device\n");
  
        imx6q_enet_phy_init();
  
-       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+       of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
  
        imx_anatop_init();
        imx6q_pm_init();
@@@ -227,7 -206,7 +206,7 @@@ static void __init imx6q_opp_check_1p2g
        val = readl_relaxed(base + OCOTP_CFG3);
        val >>= OCOTP_CFG3_SPEED_SHIFT;
        if ((val & 0x3) != OCOTP_CFG3_SPEED_1P2GHZ)
 -              if (opp_disable(cpu_dev, 1200000000))
 +              if (dev_pm_opp_disable(cpu_dev, 1200000000))
                        pr_warn("failed to disable 1.2 GHz OPP\n");
  
  put_node:
@@@ -270,7 -249,7 +249,7 @@@ static void __init imx6q_init_late(void
         * WAIT mode is broken on TO 1.0 and 1.1, so there is no point
         * to run cpuidle on them.
         */
-       if (imx6q_revision() > IMX_CHIP_REVISION_1_1)
+       if (imx_get_soc_revision() > IMX_CHIP_REVISION_1_1)
                imx6q_cpuidle_init();
  
        if (IS_ENABLED(CONFIG_ARM_IMX6Q_CPUFREQ)) {
@@@ -287,7 -266,7 +266,7 @@@ static void __init imx6q_map_io(void
  
  static void __init imx6q_init_irq(void)
  {
-       imx6q_init_revision();
+       imx_init_revision_from_anatop();
        imx_init_l2cache();
        imx_src_init();
        imx_gpc_init();
@@@ -307,5 -286,5 +286,5 @@@ DT_MACHINE_START(IMX6Q, "Freescale i.MX
        .init_machine   = imx6q_init_machine,
        .init_late      = imx6q_init_late,
        .dt_compat      = imx6q_dt_compat,
-       .restart        = imx6q_restart,
+       .restart        = mxc_restart,
  MACHINE_END
index 20cc53f4cee1f1372c619925d0fe74e47eafd075,45303bd629022d66ef167d0830f5c6088c5c44d8..639a3dfb00923317871724f1848ace2d9c7e0125
@@@ -23,7 -23,7 +23,7 @@@
  #include <linux/smsc911x.h>
  #include <linux/interrupt.h>
  #include <linux/i2c.h>
 -#include <linux/i2c/at24.h>
 +#include <linux/platform_data/at24.h>
  #include <linux/delay.h>
  #include <linux/spi/spi.h>
  #include <linux/irq.h>
@@@ -371,8 -371,7 +371,7 @@@ static int pcm970_sdhc1_init(struct dev
  #endif
  
        ret = request_irq(gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_SCK6)), detect_irq,
-                       IRQF_DISABLED | IRQF_TRIGGER_FALLING,
-                               "sdhc-detect", data);
+                       IRQF_TRIGGER_FALLING, "sdhc-detect", data);
        if (ret)
                goto err_gpio_free_2;
  
index e00e9f362fd50641e3dbf79722e06cfa9a752fb5,7086b2248c8f0c00867f17d3fa90757cceca64cd..b6d36b38b99c3a055fd15a8b50ded667745f9c5a
  
  #define IMX6Q_GPR5_L2_CLK_STOP                        BIT(8)
  
 +#define IMX6Q_GPR8_TX_SWING_LOW                       (0x7f << 25)
 +#define IMX6Q_GPR8_TX_SWING_FULL              (0x7f << 18)
 +#define IMX6Q_GPR8_TX_DEEMPH_GEN2_6DB         (0x3f << 12)
 +#define IMX6Q_GPR8_TX_DEEMPH_GEN2_3P5DB               (0x3f << 6)
 +#define IMX6Q_GPR8_TX_DEEMPH_GEN1             (0x3f << 0)
 +
  #define IMX6Q_GPR9_TZASC2_BYP                 BIT(1)
  #define IMX6Q_GPR9_TZASC1_BYP                 BIT(0)
  
  #define IMX6Q_GPR12_ARMP_AHB_CLK_EN           BIT(26)
  #define IMX6Q_GPR12_ARMP_ATB_CLK_EN           BIT(25)
  #define IMX6Q_GPR12_ARMP_APB_CLK_EN           BIT(24)
 +#define IMX6Q_GPR12_DEVICE_TYPE                       (0xf << 12)
  #define IMX6Q_GPR12_PCIE_CTL_2                        BIT(10)
 +#define IMX6Q_GPR12_LOS_LEVEL                 (0x1f << 4)
  
  #define IMX6Q_GPR13_SDMA_STOP_REQ             BIT(30)
  #define IMX6Q_GPR13_CAN2_STOP_REQ             BIT(29)
  #define IMX6Q_GPR13_SATA_TX_LVL_1_240_V               (0x1f << 2)
  #define IMX6Q_GPR13_SATA_MPLL_CLK_EN          BIT(1)
  #define IMX6Q_GPR13_SATA_TX_EDGE_RATE         BIT(0)
+ /* For imx6sl iomux gpr register field define */
+ #define IMX6SL_GPR1_FEC_CLOCK_MUX1_SEL_MASK    (0x3 << 17)
+ #define IMX6SL_GPR1_FEC_CLOCK_MUX2_SEL_MASK    (0x1 << 14)
  #endif /* __LINUX_IMX6Q_IOMUXC_GPR_H */