1 From 3082ee40d024412e8c275f1945e4a06a638e81bb Mon Sep 17 00:00:00 2001
 
   2 From: Robin Gong <b38343@freescale.com>
 
   3 Date: Thu, 6 Mar 2014 19:36:02 +0800
 
   4 Subject: [PATCH 09/10] ENGR00301078-2: ARM: dts: imx6sl-evk: add support for
 
   6 Organization: O.S. Systems Software LTDA.
 
   8 move pmic device node from imx6sl-evk.dtsi to upper-level, and add
 
   9 another layer on imx6sl-evk to diff pfuze100 or pfuze200. Meanwhile
 
  10 only works in ldo-enable mode if using pfuze200, since 'SW1C' switch
 
  11 regulator is cut for cost-down which means VDDARM_IN and VDDSOC_IN have
 
  12 to share the same switch regulator
 
  14 Signed-off-by: Robin Gong <b38343@freescale.com>
 
  16 Upstream-Status: Pending
 
  18  arch/arm/boot/dts/Makefile               |   1 +
 
  19  arch/arm/boot/dts/imx6sl-evk-common.dtsi | 504 +++++++++++++++++++++++++++++++
 
  20  arch/arm/boot/dts/imx6sl-evk-pf200.dts   | 122 ++++++++
 
  21  arch/arm/boot/dts/imx6sl-evk.dts         | 497 +-----------------------------
 
  22  4 files changed, 630 insertions(+), 494 deletions(-)
 
  23  create mode 100644 arch/arm/boot/dts/imx6sl-evk-common.dtsi
 
  24  create mode 100644 arch/arm/boot/dts/imx6sl-evk-pf200.dts
 
  26 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
 
  27 index c744cda..c5f9a19 100644
 
  28 --- a/arch/arm/boot/dts/Makefile
 
  29 +++ b/arch/arm/boot/dts/Makefile
 
  30 @@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
 
  34 +       imx6sl-evk-pf200.dtb \
 
  36  dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
 
  38 diff --git a/arch/arm/boot/dts/imx6sl-evk-common.dtsi b/arch/arm/boot/dts/imx6sl-evk-common.dtsi
 
  40 index 0000000..a1a3969
 
  42 +++ b/arch/arm/boot/dts/imx6sl-evk-common.dtsi
 
  45 + * Copyright (C) 2014 Freescale Semiconductor, Inc.
 
  47 + * This program is free software; you can redistribute it and/or modify
 
  48 + * it under the terms of the GNU General Public License version 2 as
 
  49 + * published by the Free Software Foundation.
 
  54 +               reg = <0x80000000 0x40000000>;
 
  57 +       battery: max8903@0 {
 
  58 +               compatible = "fsl,max8903-charger";
 
  59 +               pinctrl-names = "default";
 
  60 +               dok_input = <&gpio4 13 1>;
 
  61 +               uok_input = <&gpio4 13 1>;
 
  62 +               chg_input = <&gpio4 15 1>;
 
  63 +               flt_input = <&gpio4 14 1>;
 
  64 +               fsl,dcm_always_high;
 
  71 +               compatible = "simple-bus";
 
  73 +               reg_lcd_3v3: lcd-3v3 {
 
  74 +                       compatible = "regulator-fixed";
 
  75 +                       regulator-name = "lcd-3v3";
 
  76 +                       gpio = <&gpio4 3 0>;
 
  80 +               reg_aud3v: wm8962_supply_3v15 {
 
  81 +                       compatible = "regulator-fixed";
 
  82 +                       regulator-name = "wm8962-supply-3v15";
 
  83 +                       regulator-min-microvolt = <3150000>;
 
  84 +                       regulator-max-microvolt = <3150000>;
 
  88 +               reg_aud4v: wm8962_supply_4v2 {
 
  89 +                       compatible = "regulator-fixed";
 
  90 +                       regulator-name = "wm8962-supply-4v2";
 
  91 +                       regulator-min-microvolt = <4325000>;
 
  92 +                       regulator-max-microvolt = <4325000>;
 
  96 +               reg_usb_otg1_vbus: usb_otg1_vbus {
 
  97 +                       compatible = "regulator-fixed";
 
  98 +                       regulator-name = "usb_otg1_vbus";
 
  99 +                       regulator-min-microvolt = <5000000>;
 
 100 +                       regulator-max-microvolt = <5000000>;
 
 101 +                       gpio = <&gpio4 0 0>;
 
 102 +                       enable-active-high;
 
 105 +               reg_usb_otg2_vbus: usb_otg2_vbus {
 
 106 +                       compatible = "regulator-fixed";
 
 107 +                       regulator-name = "usb_otg2_vbus";
 
 108 +                       regulator-min-microvolt = <5000000>;
 
 109 +                       regulator-max-microvolt = <5000000>;
 
 110 +                       gpio = <&gpio4 2 0>;
 
 111 +                       enable-active-high;
 
 116 +               compatible = "pwm-backlight";
 
 117 +               pwms = <&pwm1 0 5000000>;
 
 118 +               brightness-levels = <0 4 8 16 32 64 128 255>;
 
 119 +               default-brightness-level = <6>;
 
 123 +               compatible = "fsl,imx6sl-csi-v4l2";
 
 124 +               status = "disabled";
 
 128 +               compatible = "fsl,imx6sl-pxp-v4l2";
 
 133 +               compatible = "fsl,imx6q-sabresd-wm8962",
 
 134 +                          "fsl,imx-audio-wm8962";
 
 135 +               model = "wm8962-audio";
 
 136 +               ssi-controller = <&ssi2>;
 
 137 +               audio-codec = <&codec>;
 
 139 +                       "Headphone Jack", "HPOUTL",
 
 140 +                       "Headphone Jack", "HPOUTR",
 
 141 +                       "Ext Spk", "SPKOUTL",
 
 142 +                       "Ext Spk", "SPKOUTR",
 
 146 +               mux-int-port = <2>;
 
 147 +               mux-ext-port = <3>;
 
 148 +               hp-det-gpios = <&gpio4 19 1>;
 
 152 +               compatible = "fsl,imx-audio-spdif",
 
 153 +                          "fsl,imx6sl-evk-spdif";
 
 154 +               model = "imx-spdif";
 
 155 +               spdif-controller = <&spdif>;
 
 159 +       sii902x_reset: sii902x-reset {
 
 160 +               compatible = "gpio-reset";
 
 161 +               reset-gpios = <&gpio2 19 1>;
 
 162 +               reset-delay-us = <100000>;
 
 163 +               #reset-cells = <0>;
 
 168 +       pinctrl-names = "default";
 
 169 +       pinctrl-0 = <&pinctrl_audmux_1>;
 
 174 +       status = "disabled";
 
 178 +       fsl,spi-num-chipselects = <1>;
 
 179 +       cs-gpios = <&gpio4 11 0>;
 
 180 +       pinctrl-names = "default";
 
 181 +       pinctrl-0 = <&pinctrl_ecspi1_1>;
 
 185 +               #address-cells = <1>;
 
 187 +               compatible = "st,m25p32";
 
 188 +               spi-max-frequency = <20000000>;
 
 194 +       pinctrl-names = "default";
 
 195 +       pinctrl-0 = <&pinctrl_epdc_0>;
 
 196 +       V3P3-supply = <&V3P3_reg>;
 
 197 +       VCOM-supply = <&VCOM_reg>;
 
 198 +       DISPLAY-supply = <&DISPLAY_reg>;
 
 203 +       arm-supply = <&sw1a_reg>;
 
 204 +       soc-supply = <&sw1c_reg>;
 
 205 +       pu-supply = <&pu_dummy>; /* use pu_dummy if VDDSOC share with VDDPU */
 
 209 +       pinctrl-names = "default", "sleep";
 
 210 +       pinctrl-0 = <&pinctrl_fec_1>;
 
 211 +       pinctrl-1 = <&pinctrl_fec_1_sleep>;
 
 213 +       phy-reset-gpios = <&gpio4 21 0>; /* GPIO4_21 */
 
 214 +       phy-reset-duration = <1>;
 
 219 +       fsl,cpu_pupscr_sw2iso = <0xf>;
 
 220 +       fsl,cpu_pupscr_sw = <0xf>;
 
 221 +       fsl,cpu_pdnscr_iso2sw = <0x1>;
 
 222 +       fsl,cpu_pdnscr_iso = <0x1>;
 
 223 +       fsl,ldo-bypass = <1>; /* use ldo-bypass, u-boot will check it and configure */
 
 224 +       fsl,wdog-reset = <1>; /* watchdog select of reset source */
 
 225 +       pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 229 +       pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 233 +       clock-frequency = <100000>;
 
 234 +       pinctrl-names = "default";
 
 235 +       pinctrl-0 = <&pinctrl_i2c1_1>;
 
 239 +               compatible = "elan,elan-touch";
 
 241 +               interrupt-parent = <&gpio2>;
 
 242 +               interrupts = <10 2>;
 
 243 +               gpio_elan_cs = <&gpio2 9 0>;
 
 244 +               gpio_elan_rst = <&gpio4 4 0>;
 
 245 +               gpio_intr = <&gpio2 10 0>;
 
 250 +               compatible = "maxim,max17135";
 
 260 +               gpio_pmic_pwrgood = <&gpio2 13 0>;
 
 261 +               gpio_pmic_vcom_ctrl = <&gpio2 3 0>;
 
 262 +               gpio_pmic_wakeup = <&gpio2 14 0>;
 
 263 +               gpio_pmic_v3p3 = <&gpio2 7 0>;
 
 264 +               gpio_pmic_intr = <&gpio2 12 0>;
 
 267 +                       DISPLAY_reg: DISPLAY {
 
 268 +                               regulator-name = "DISPLAY";
 
 273 +                               regulator-name = "GVDD";
 
 278 +                               regulator-name = "GVEE";
 
 283 +                               regulator-name = "HVINN";
 
 288 +                               regulator-name = "HVINP";
 
 292 +                               regulator-name = "VCOM";
 
 293 +                               /* 2's-compliment, -4325000 */
 
 294 +                               regulator-min-microvolt = <0xffbe0178>;
 
 295 +                               /* 2's-compliment, -500000 */
 
 296 +                               regulator-max-microvolt = <0xfff85ee0>;
 
 301 +                               regulator-name = "VNEG";
 
 306 +                               regulator-name = "VPOS";
 
 310 +                               regulator-name = "V3P3";
 
 316 +               compatible = "fsl,mma8450";
 
 322 +       clock-frequency = <100000>;
 
 323 +       pinctrl-names = "default";
 
 324 +       pinctrl-0 = <&pinctrl_i2c2_1>;
 
 328 +               compatible = "wlf,wm8962";
 
 330 +               clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>;
 
 331 +               DCVDD-supply = <&vgen3_reg>;
 
 332 +               DBVDD-supply = <®_aud3v>;
 
 333 +               AVDD-supply = <&vgen3_reg>;
 
 334 +               CPVDD-supply = <&vgen3_reg>;
 
 335 +               MICVDD-supply = <®_aud3v>;
 
 336 +               PLLVDD-supply = <&vgen3_reg>;
 
 337 +               SPKVDD1-supply = <®_aud4v>;
 
 338 +               SPKVDD2-supply = <®_aud4v>;
 
 343 +               compatible = "SiI,sii902x";
 
 344 +               interrupt-parent = <&gpio2>;
 
 345 +               interrupts = <10 2>;
 
 346 +               mode_str ="1280x720M@60";
 
 347 +               bits-per-pixel = <32>;
 
 348 +               resets = <&sii902x_reset>;
 
 354 +       clock-frequency = <100000>;
 
 355 +       pinctrl-names = "default";
 
 356 +       pinctrl-0 = <&pinctrl_i2c3_1>;
 
 357 +       status = "disabled";
 
 359 +       ov564x: ov564x@3c {
 
 360 +               compatible = "ovti,ov564x";
 
 362 +               pinctrl-names = "default";
 
 363 +               pinctrl-0 = <&pinctrl_csi_0>;
 
 364 +               clocks = <&clks IMX6SL_CLK_CSI>;
 
 365 +               clock-names = "csi_mclk";
 
 366 +               AVDD-supply = <&vgen6_reg>;  /* 2.8v */
 
 367 +               DVDD-supply = <&vgen2_reg>;  /* 1.5v*/
 
 368 +               pwn-gpios = <&gpio1 25 1>;
 
 369 +               rst-gpios = <&gpio1 26 0>;
 
 377 +       pinctrl-names = "default", "sleep";
 
 378 +       pinctrl-0 = <&pinctrl_hog>;
 
 379 +       pinctrl-1 = <&pinctrl_hog_sleep>;
 
 382 +               pinctrl_hog: hoggrp {
 
 384 +                               MX6SL_PAD_KEY_ROW7__GPIO4_IO07    0x17059
 
 385 +                               MX6SL_PAD_KEY_COL7__GPIO4_IO06    0x17059
 
 386 +                               MX6SL_PAD_SD2_DAT7__GPIO5_IO00    0x17059
 
 387 +                               MX6SL_PAD_SD2_DAT6__GPIO4_IO29    0x17059
 
 388 +                               MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059
 
 389 +                               MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21  0x80000000
 
 390 +                               MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x110b0
 
 391 +                               MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03  0x80000000
 
 392 +                               MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000
 
 393 +                               MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000
 
 394 +                               MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000
 
 395 +                               MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000
 
 396 +                               MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0
 
 397 +                               MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000
 
 398 +                               MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x110b0
 
 399 +                               MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000
 
 400 +                               MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000
 
 401 +                               MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15  0x17000
 
 402 +                               MX6SL_PAD_FEC_RX_ER__GPIO4_IO19   0x1b0b0
 
 403 +                               MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0
 
 404 +                               MX6SL_PAD_KEY_COL4__GPIO4_IO00  0x80000000
 
 405 +                               MX6SL_PAD_KEY_COL5__GPIO4_IO02  0x80000000
 
 409 +               pinctrl_hog_sleep: hoggrp_sleep {
 
 411 +                               MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x3080
 
 412 +                               MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x3080
 
 413 +                               MX6SL_PAD_LCD_RESET__GPIO2_IO19   0x3080
 
 420 +       pinctrl-names = "default", "sleep";
 
 421 +       pinctrl-0 = <&pinctrl_kpp_1>;
 
 422 +       pinctrl-1 = <&pinctrl_kpp_1_sleep>;
 
 424 +                       0x00000067      /* KEY_UP */
 
 425 +                       0x0001006c      /* KEY_DOWN */
 
 426 +                       0x0002001c      /* KEY_ENTER */
 
 427 +                       0x01000066      /* KEY_HOME */
 
 428 +                       0x0101006a      /* KEY_RIGHT */
 
 429 +                       0x01020069      /* KEY_LEFT */
 
 430 +                       0x02000072      /* KEY_VOLUMEDOWN */
 
 431 +                       0x02010073      /* KEY_VOLUMEUP */
 
 437 +       pinctrl-names = "default";
 
 438 +       pinctrl-0 = <&pinctrl_lcdif_dat_0
 
 439 +                    &pinctrl_lcdif_ctrl_0>;
 
 440 +       lcd-supply = <®_lcd_3v3>;
 
 441 +       display = <&display>;
 
 445 +               bits-per-pixel = <16>;
 
 449 +                       native-mode = <&timing0>;
 
 451 +                               clock-frequency = <33500000>;
 
 454 +                               hback-porch = <89>;
 
 455 +                               hfront-porch = <164>;
 
 456 +                               vback-porch = <23>;
 
 457 +                               vfront-porch = <10>;
 
 460 +                               hsync-active = <0>;
 
 461 +                               vsync-active = <0>;
 
 463 +                               pixelclk-active = <0>;
 
 470 +       pinctrl-names = "default", "sleep";
 
 471 +       pinctrl-0 = <&pinctrl_pwm1_0>;
 
 472 +       pinctrl-1 = <&pinctrl_pwm1_0_sleep>;
 
 481 +       pinctrl-names = "default";
 
 482 +       pinctrl-0 = <&pinctrl_spdif_1>;
 
 487 +       fsl,mode = "i2s-slave";
 
 492 +       pinctrl-names = "default";
 
 493 +       pinctrl-0 = <&pinctrl_uart1_1>;
 
 498 +       vbus-supply = <®_usb_otg1_vbus>;
 
 499 +       pinctrl-names = "default";
 
 500 +       pinctrl-0 = <&pinctrl_usbotg1_1>;
 
 501 +       disable-over-current;
 
 502 +       imx6-usb-charger-detection;
 
 507 +       vbus-supply = <®_usb_otg2_vbus>;
 
 509 +       disable-over-current;
 
 514 +       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
 515 +       pinctrl-0 = <&pinctrl_usdhc1_1>;
 
 516 +       pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>;
 
 517 +       pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>;
 
 519 +       cd-gpios = <&gpio4 7 0>;
 
 520 +       wp-gpios = <&gpio4 6 0>;
 
 521 +       keep-power-in-suspend;
 
 522 +       enable-sdio-wakeup;
 
 527 +       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
 528 +       pinctrl-0 = <&pinctrl_usdhc2_1>;
 
 529 +       pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>;
 
 530 +       pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>;
 
 531 +       cd-gpios = <&gpio5 0 0>;
 
 532 +       wp-gpios = <&gpio4 29 0>;
 
 533 +       keep-power-in-suspend;
 
 534 +       enable-sdio-wakeup;
 
 539 +       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
 540 +       pinctrl-0 = <&pinctrl_usdhc3_1>;
 
 541 +       pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>;
 
 542 +       pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>;
 
 543 +       cd-gpios = <&gpio3 22 0>;
 
 544 +       keep-power-in-suspend;
 
 545 +       enable-sdio-wakeup;
 
 548 diff --git a/arch/arm/boot/dts/imx6sl-evk-pf200.dts b/arch/arm/boot/dts/imx6sl-evk-pf200.dts
 
 550 index 0000000..55d3081
 
 552 +++ b/arch/arm/boot/dts/imx6sl-evk-pf200.dts
 
 555 + * Copyright (C) 2013-2014 Freescale Semiconductor, Inc.
 
 557 + * This program is free software; you can redistribute it and/or modify
 
 558 + * it under the terms of the GNU General Public License version 2 as
 
 559 + * published by the Free Software Foundation.
 
 564 +#include "imx6sl.dtsi"
 
 565 +#include "imx6sl-evk-common.dtsi"
 
 568 +       model = "Freescale i.MX6 SoloLite EVK Board(PFUZE200)";
 
 569 +       compatible = "fsl,imx6sl-evk", "fsl,imx6sl";
 
 573 +       arm-supply = <®_arm>;
 
 574 +       soc-supply = <®_soc>;
 
 575 +       pu-supply = <®_pu>; /* use pu_dummy if VDDSOC share with VDDPU */
 
 579 +       fsl,ldo-bypass = <0>; /* use ldo-bypass, u-boot will check it and configure */
 
 580 +       fsl,wdog-reset = <1>; /* watchdog select of reset source */
 
 581 +       pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 585 +       pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 589 +       pmic: pfuze200@08 {
 
 590 +               compatible = "fsl,pfuze200";
 
 595 +                               regulator-min-microvolt = <300000>;
 
 596 +                               regulator-max-microvolt = <1875000>;
 
 598 +                               regulator-always-on;
 
 599 +                               regulator-ramp-delay = <6250>;
 
 603 +                               regulator-min-microvolt = <800000>;
 
 604 +                               regulator-max-microvolt = <3300000>;
 
 606 +                               regulator-always-on;
 
 610 +                               regulator-min-microvolt = <400000>;
 
 611 +                               regulator-max-microvolt = <1975000>;
 
 613 +                               regulator-always-on;
 
 617 +                               regulator-min-microvolt = <400000>;
 
 618 +                               regulator-max-microvolt = <1975000>;
 
 620 +                               regulator-always-on;
 
 624 +                               regulator-min-microvolt = <5000000>;
 
 625 +                               regulator-max-microvolt = <5150000>;
 
 629 +                               regulator-min-microvolt = <1000000>;
 
 630 +                               regulator-max-microvolt = <3000000>;
 
 632 +                               regulator-always-on;
 
 635 +                       vref_reg: vrefddr {
 
 637 +                               regulator-always-on;
 
 641 +                               regulator-min-microvolt = <800000>;
 
 642 +                               regulator-max-microvolt = <1550000>;
 
 646 +                               regulator-min-microvolt = <800000>;
 
 647 +                               regulator-max-microvolt = <1550000>;
 
 651 +                               regulator-min-microvolt = <1800000>;
 
 652 +                               regulator-max-microvolt = <3300000>;
 
 653 +                               regulator-always-on;
 
 657 +                               regulator-min-microvolt = <1800000>;
 
 658 +                               regulator-max-microvolt = <3300000>;
 
 659 +                               regulator-always-on;
 
 663 +                               regulator-min-microvolt = <1800000>;
 
 664 +                               regulator-max-microvolt = <3300000>;
 
 665 +                               regulator-always-on;
 
 669 +                               regulator-min-microvolt = <1800000>;
 
 670 +                               regulator-max-microvolt = <3300000>;
 
 671 +                               regulator-always-on;
 
 676 diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts
 
 677 index 4966f38..ed0ce89 100644
 
 678 --- a/arch/arm/boot/dts/imx6sl-evk.dts
 
 679 +++ b/arch/arm/boot/dts/imx6sl-evk.dts
 
 682 - * Copyright (C) 2013 Freescale Semiconductor, Inc.
 
 683 + * Copyright (C) 2013-2014 Freescale Semiconductor, Inc.
 
 685   * This program is free software; you can redistribute it and/or modify
 
 686   * it under the terms of the GNU General Public License version 2 as
 
 690  #include "imx6sl.dtsi"
 
 691 +#include "imx6sl-evk-common.dtsi"
 
 694 -       model = "Freescale i.MX6 SoloLite EVK Board";
 
 695 +       model = "Freescale i.MX6 SoloLite EVK Board(PFUZE100)";
 
 696         compatible = "fsl,imx6sl-evk", "fsl,imx6sl";
 
 699 -               reg = <0x80000000 0x40000000>;
 
 702 -       battery: max8903@0 {
 
 703 -               compatible = "fsl,max8903-charger";
 
 704 -               pinctrl-names = "default";
 
 705 -               dok_input = <&gpio4 13 1>;
 
 706 -               uok_input = <&gpio4 13 1>;
 
 707 -               chg_input = <&gpio4 15 1>;
 
 708 -               flt_input = <&gpio4 14 1>;
 
 709 -               fsl,dcm_always_high;
 
 715 -               compatible = "simple-bus";
 
 717 -               reg_lcd_3v3: lcd-3v3 {
 
 718 -                       compatible = "regulator-fixed";
 
 719 -                       regulator-name = "lcd-3v3";
 
 720 -                       gpio = <&gpio4 3 0>;
 
 721 -                       enable-active-high;
 
 724 -               reg_aud3v: wm8962_supply_3v15 {
 
 725 -                       compatible = "regulator-fixed";
 
 726 -                       regulator-name = "wm8962-supply-3v15";
 
 727 -                       regulator-min-microvolt = <3150000>;
 
 728 -                       regulator-max-microvolt = <3150000>;
 
 732 -               reg_aud4v: wm8962_supply_4v2 {
 
 733 -                       compatible = "regulator-fixed";
 
 734 -                       regulator-name = "wm8962-supply-4v2";
 
 735 -                       regulator-min-microvolt = <4325000>;
 
 736 -                       regulator-max-microvolt = <4325000>;
 
 740 -               reg_usb_otg1_vbus: usb_otg1_vbus {
 
 741 -                       compatible = "regulator-fixed";
 
 742 -                       regulator-name = "usb_otg1_vbus";
 
 743 -                       regulator-min-microvolt = <5000000>;
 
 744 -                       regulator-max-microvolt = <5000000>;
 
 745 -                       gpio = <&gpio4 0 0>;
 
 746 -                       enable-active-high;
 
 749 -               reg_usb_otg2_vbus: usb_otg2_vbus {
 
 750 -                       compatible = "regulator-fixed";
 
 751 -                       regulator-name = "usb_otg2_vbus";
 
 752 -                       regulator-min-microvolt = <5000000>;
 
 753 -                       regulator-max-microvolt = <5000000>;
 
 754 -                       gpio = <&gpio4 2 0>;
 
 755 -                       enable-active-high;
 
 760 -               compatible = "pwm-backlight";
 
 761 -               pwms = <&pwm1 0 5000000>;
 
 762 -               brightness-levels = <0 4 8 16 32 64 128 255>;
 
 763 -               default-brightness-level = <6>;
 
 767 -               compatible = "fsl,imx6sl-csi-v4l2";
 
 768 -               status = "disabled";
 
 772 -               compatible = "fsl,imx6sl-pxp-v4l2";
 
 777 -               compatible = "fsl,imx6q-sabresd-wm8962",
 
 778 -                          "fsl,imx-audio-wm8962";
 
 779 -               model = "wm8962-audio";
 
 780 -               ssi-controller = <&ssi2>;
 
 781 -               audio-codec = <&codec>;
 
 783 -                       "Headphone Jack", "HPOUTL",
 
 784 -                       "Headphone Jack", "HPOUTR",
 
 785 -                       "Ext Spk", "SPKOUTL",
 
 786 -                       "Ext Spk", "SPKOUTR",
 
 790 -               mux-int-port = <2>;
 
 791 -               mux-ext-port = <3>;
 
 792 -               hp-det-gpios = <&gpio4 19 1>;
 
 796 -               compatible = "fsl,imx-audio-spdif",
 
 797 -                          "fsl,imx6sl-evk-spdif";
 
 798 -               model = "imx-spdif";
 
 799 -               spdif-controller = <&spdif>;
 
 803 -       sii902x_reset: sii902x-reset {
 
 804 -               compatible = "gpio-reset";
 
 805 -               reset-gpios = <&gpio2 19 1>;
 
 806 -               reset-delay-us = <100000>;
 
 807 -               #reset-cells = <0>;
 
 812 -       pinctrl-names = "default";
 
 813 -       pinctrl-0 = <&pinctrl_audmux_1>;
 
 818 -       status = "disabled";
 
 822 -       fsl,spi-num-chipselects = <1>;
 
 823 -       cs-gpios = <&gpio4 11 0>;
 
 824 -       pinctrl-names = "default";
 
 825 -       pinctrl-0 = <&pinctrl_ecspi1_1>;
 
 829 -               #address-cells = <1>;
 
 831 -               compatible = "st,m25p32";
 
 832 -               spi-max-frequency = <20000000>;
 
 838 -       pinctrl-names = "default";
 
 839 -       pinctrl-0 = <&pinctrl_epdc_0>;
 
 840 -       V3P3-supply = <&V3P3_reg>;
 
 841 -       VCOM-supply = <&VCOM_reg>;
 
 842 -       DISPLAY-supply = <&DISPLAY_reg>;
 
 847 -       arm-supply = <&sw1a_reg>;
 
 848 -       soc-supply = <&sw1c_reg>;
 
 849 -       pu-supply = <&pu_dummy>; /* use pu_dummy if VDDSOC share with VDDPU */
 
 853 -       pinctrl-names = "default", "sleep";
 
 854 -       pinctrl-0 = <&pinctrl_fec_1>;
 
 855 -       pinctrl-1 = <&pinctrl_fec_1_sleep>;
 
 857 -       phy-reset-gpios = <&gpio4 21 0>; /* GPIO4_21 */
 
 858 -       phy-reset-duration = <1>;
 
 863 -       fsl,cpu_pupscr_sw2iso = <0xf>;
 
 864 -       fsl,cpu_pupscr_sw = <0xf>;
 
 865 -       fsl,cpu_pdnscr_iso2sw = <0x1>;
 
 866 -       fsl,cpu_pdnscr_iso = <0x1>;
 
 867 -       fsl,ldo-bypass = <1>; /* use ldo-bypass, u-boot will check it and configure */
 
 868 -       fsl,wdog-reset = <1>; /* watchdog select of reset source */
 
 869 -       pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 873 -       pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
 
 877 -       clock-frequency = <100000>;
 
 878 -       pinctrl-names = "default";
 
 879 -       pinctrl-0 = <&pinctrl_i2c1_1>;
 
 883                 compatible = "fsl,pfuze100";
 
 885 @@ -297,314 +116,4 @@
 
 891 -               compatible = "elan,elan-touch";
 
 893 -               interrupt-parent = <&gpio2>;
 
 894 -               interrupts = <10 2>;
 
 895 -               gpio_elan_cs = <&gpio2 9 0>;
 
 896 -               gpio_elan_rst = <&gpio4 4 0>;
 
 897 -               gpio_intr = <&gpio2 10 0>;
 
 902 -               compatible = "maxim,max17135";
 
 912 -               gpio_pmic_pwrgood = <&gpio2 13 0>;
 
 913 -               gpio_pmic_vcom_ctrl = <&gpio2 3 0>;
 
 914 -               gpio_pmic_wakeup = <&gpio2 14 0>;
 
 915 -               gpio_pmic_v3p3 = <&gpio2 7 0>;
 
 916 -               gpio_pmic_intr = <&gpio2 12 0>;
 
 919 -                       DISPLAY_reg: DISPLAY {
 
 920 -                               regulator-name = "DISPLAY";
 
 925 -                               regulator-name = "GVDD";
 
 930 -                               regulator-name = "GVEE";
 
 935 -                               regulator-name = "HVINN";
 
 940 -                               regulator-name = "HVINP";
 
 944 -                               regulator-name = "VCOM";
 
 945 -                               /* 2's-compliment, -4325000 */
 
 946 -                               regulator-min-microvolt = <0xffbe0178>;
 
 947 -                               /* 2's-compliment, -500000 */
 
 948 -                               regulator-max-microvolt = <0xfff85ee0>;
 
 953 -                               regulator-name = "VNEG";
 
 958 -                               regulator-name = "VPOS";
 
 962 -                               regulator-name = "V3P3";
 
 968 -               compatible = "fsl,mma8450";
 
 974 -       clock-frequency = <100000>;
 
 975 -       pinctrl-names = "default";
 
 976 -       pinctrl-0 = <&pinctrl_i2c2_1>;
 
 980 -               compatible = "wlf,wm8962";
 
 982 -               clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>;
 
 983 -               DCVDD-supply = <&vgen3_reg>;
 
 984 -               DBVDD-supply = <®_aud3v>;
 
 985 -               AVDD-supply = <&vgen3_reg>;
 
 986 -               CPVDD-supply = <&vgen3_reg>;
 
 987 -               MICVDD-supply = <®_aud3v>;
 
 988 -               PLLVDD-supply = <&vgen3_reg>;
 
 989 -               SPKVDD1-supply = <®_aud4v>;
 
 990 -               SPKVDD2-supply = <®_aud4v>;
 
 995 -               compatible = "SiI,sii902x";
 
 996 -               interrupt-parent = <&gpio2>;
 
 997 -               interrupts = <10 2>;
 
 998 -               mode_str ="1280x720M@60";
 
 999 -               bits-per-pixel = <32>;
 
1000 -               resets = <&sii902x_reset>;
 
1006 -       clock-frequency = <100000>;
 
1007 -       pinctrl-names = "default";
 
1008 -       pinctrl-0 = <&pinctrl_i2c3_1>;
 
1009 -       status = "disabled";
 
1011 -       ov564x: ov564x@3c {
 
1012 -               compatible = "ovti,ov564x";
 
1014 -               pinctrl-names = "default";
 
1015 -               pinctrl-0 = <&pinctrl_csi_0>;
 
1016 -               clocks = <&clks IMX6SL_CLK_CSI>;
 
1017 -               clock-names = "csi_mclk";
 
1018 -               AVDD-supply = <&vgen6_reg>;  /* 2.8v */
 
1019 -               DVDD-supply = <&vgen2_reg>;  /* 1.5v*/
 
1020 -               pwn-gpios = <&gpio1 25 1>;
 
1021 -               rst-gpios = <&gpio1 26 0>;
 
1023 -               mclk = <24000000>;
 
1024 -               mclk_source = <0>;
 
1029 -       pinctrl-names = "default", "sleep";
 
1030 -       pinctrl-0 = <&pinctrl_hog>;
 
1031 -       pinctrl-1 = <&pinctrl_hog_sleep>;
 
1034 -               pinctrl_hog: hoggrp {
 
1036 -                               MX6SL_PAD_KEY_ROW7__GPIO4_IO07    0x17059
 
1037 -                               MX6SL_PAD_KEY_COL7__GPIO4_IO06    0x17059
 
1038 -                               MX6SL_PAD_SD2_DAT7__GPIO5_IO00    0x17059
 
1039 -                               MX6SL_PAD_SD2_DAT6__GPIO4_IO29    0x17059
 
1040 -                               MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059
 
1041 -                               MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21  0x80000000
 
1042 -                               MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x110b0
 
1043 -                               MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03  0x80000000
 
1044 -                               MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000
 
1045 -                               MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000
 
1046 -                               MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000
 
1047 -                               MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000
 
1048 -                               MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0
 
1049 -                               MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000
 
1050 -                               MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x110b0
 
1051 -                               MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000
 
1052 -                               MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000
 
1053 -                               MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15  0x17000
 
1054 -                               MX6SL_PAD_FEC_RX_ER__GPIO4_IO19   0x1b0b0
 
1055 -                               MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0
 
1056 -                               MX6SL_PAD_KEY_COL4__GPIO4_IO00  0x80000000
 
1057 -                               MX6SL_PAD_KEY_COL5__GPIO4_IO02  0x80000000
 
1061 -               pinctrl_hog_sleep: hoggrp_sleep {
 
1063 -                               MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x3080
 
1064 -                               MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x3080
 
1065 -                               MX6SL_PAD_LCD_RESET__GPIO2_IO19   0x3080
 
1072 -       pinctrl-names = "default", "sleep";
 
1073 -       pinctrl-0 = <&pinctrl_kpp_1>;
 
1074 -       pinctrl-1 = <&pinctrl_kpp_1_sleep>;
 
1076 -                       0x00000067      /* KEY_UP */
 
1077 -                       0x0001006c      /* KEY_DOWN */
 
1078 -                       0x0002001c      /* KEY_ENTER */
 
1079 -                       0x01000066      /* KEY_HOME */
 
1080 -                       0x0101006a      /* KEY_RIGHT */
 
1081 -                       0x01020069      /* KEY_LEFT */
 
1082 -                       0x02000072      /* KEY_VOLUMEDOWN */
 
1083 -                       0x02010073      /* KEY_VOLUMEUP */
 
1089 -       pinctrl-names = "default";
 
1090 -       pinctrl-0 = <&pinctrl_lcdif_dat_0
 
1091 -                    &pinctrl_lcdif_ctrl_0>;
 
1092 -       lcd-supply = <®_lcd_3v3>;
 
1093 -       display = <&display>;
 
1096 -       display: display {
 
1097 -               bits-per-pixel = <16>;
 
1101 -                       native-mode = <&timing0>;
 
1102 -                       timing0: timing0 {
 
1103 -                               clock-frequency = <33500000>;
 
1106 -                               hback-porch = <89>;
 
1107 -                               hfront-porch = <164>;
 
1108 -                               vback-porch = <23>;
 
1109 -                               vfront-porch = <10>;
 
1112 -                               hsync-active = <0>;
 
1113 -                               vsync-active = <0>;
 
1115 -                               pixelclk-active = <0>;
 
1122 -       pinctrl-names = "default", "sleep";
 
1123 -       pinctrl-0 = <&pinctrl_pwm1_0>;
 
1124 -       pinctrl-1 = <&pinctrl_pwm1_0_sleep>;
 
1133 -       pinctrl-names = "default";
 
1134 -       pinctrl-0 = <&pinctrl_spdif_1>;
 
1139 -       fsl,mode = "i2s-slave";
 
1144 -       pinctrl-names = "default";
 
1145 -       pinctrl-0 = <&pinctrl_uart1_1>;
 
1150 -       vbus-supply = <®_usb_otg1_vbus>;
 
1151 -       pinctrl-names = "default";
 
1152 -       pinctrl-0 = <&pinctrl_usbotg1_1>;
 
1153 -       disable-over-current;
 
1154 -       imx6-usb-charger-detection;
 
1159 -       vbus-supply = <®_usb_otg2_vbus>;
 
1161 -       disable-over-current;
 
1166 -       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
1167 -       pinctrl-0 = <&pinctrl_usdhc1_1>;
 
1168 -       pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>;
 
1169 -       pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>;
 
1171 -       cd-gpios = <&gpio4 7 0>;
 
1172 -       wp-gpios = <&gpio4 6 0>;
 
1173 -       keep-power-in-suspend;
 
1174 -       enable-sdio-wakeup;
 
1179 -       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
1180 -       pinctrl-0 = <&pinctrl_usdhc2_1>;
 
1181 -       pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>;
 
1182 -       pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>;
 
1183 -       cd-gpios = <&gpio5 0 0>;
 
1184 -       wp-gpios = <&gpio4 29 0>;
 
1185 -       keep-power-in-suspend;
 
1186 -       enable-sdio-wakeup;
 
1191 -       pinctrl-names = "default", "state_100mhz", "state_200mhz";
 
1192 -       pinctrl-0 = <&pinctrl_usdhc3_1>;
 
1193 -       pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>;
 
1194 -       pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>;
 
1195 -       cd-gpios = <&gpio3 22 0>;
 
1196 -       keep-power-in-suspend;
 
1197 -       enable-sdio-wakeup;