1 From 37e501e8c4e1f1511e017aa0a7def38895a47fa6 Mon Sep 17 00:00:00 2001
2 From: Robin Gong <b38343@freescale.com>
3 Date: Thu, 6 Mar 2014 18:59:30 +0800
4 Subject: [PATCH 08/10] ENGR00301078-1: ARM: dts: imx6dl-sabresd: add support
5 for pfuze200 on mx6dl-sabresd
6 Organization: O.S. Systems Software LTDA.
8 move pmic device node from imx6qdl-sabresd.dtsi to up-level, and add
9 another layer on imx6dl-sabresd to diff pfuze100 or pfuze200. Meanwhile
10 only work 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>
15 (cherry picked from commit 32e4e161b087bfdcea74bd80f0b24c341092c96b)
17 Upstream-Status: Pending
19 arch/arm/boot/dts/Makefile | 1 +
20 arch/arm/boot/dts/imx6dl-sabresd-common.dtsi | 130 ++++++++++++++++++++
21 arch/arm/boot/dts/imx6dl-sabresd-pf200.dts | 126 +++++++++++++++++++
22 arch/arm/boot/dts/imx6dl-sabresd.dts | 175 ++++++++++++---------------
23 arch/arm/boot/dts/imx6q-sabresd.dts | 101 ++++++++++++++++
24 arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 99 ---------------
25 6 files changed, 435 insertions(+), 197 deletions(-)
26 create mode 100644 arch/arm/boot/dts/imx6dl-sabresd-common.dtsi
27 create mode 100644 arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
29 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
30 index f43b68b..c744cda 100644
31 --- a/arch/arm/boot/dts/Makefile
32 +++ b/arch/arm/boot/dts/Makefile
33 @@ -120,6 +120,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
35 imx6dl-sabresd-hdcp.dtb \
36 imx6dl-sabresd-ldo.dtb \
37 + imx6dl-sabresd-pf200.dtb \
38 imx6dl-wandboard.dtb \
41 diff --git a/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi b/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi
43 index 0000000..2a07534
45 +++ b/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi
48 + * Copyright (C) 2014 Freescale Semiconductor, Inc.
50 + * This program is free software; you can redistribute it and/or modify
51 + * it under the terms of the GNU General Public License version 2 as
52 + * published by the Free Software Foundation.
56 + offset-charger = <1485>;
57 + offset-discharger = <1464>;
58 + offset-usb-charger = <1285>;
63 + compatible = "maxim,max17135";
73 + SENSOR-supply = <®_sensor>;
74 + gpio_pmic_pwrgood = <&gpio2 21 0>;
75 + gpio_pmic_vcom_ctrl = <&gpio3 17 0>;
76 + gpio_pmic_wakeup = <&gpio3 20 0>;
77 + gpio_pmic_v3p3 = <&gpio2 20 0>;
78 + gpio_pmic_intr = <&gpio2 25 0>;
81 + DISPLAY_reg: DISPLAY {
82 + regulator-name = "DISPLAY";
87 + regulator-name = "GVDD";
92 + regulator-name = "GVEE";
97 + regulator-name = "HVINN";
102 + regulator-name = "HVINP";
106 + regulator-name = "VCOM";
107 + /* 2's-compliment, -4325000 */
108 + regulator-min-microvolt = <0xffbe0178>;
109 + /* 2's-compliment, -500000 */
110 + regulator-max-microvolt = <0xfff85ee0>;
115 + regulator-name = "VNEG";
120 + regulator-name = "VPOS";
124 + regulator-name = "V3P3";
131 + pinctrl-names = "default";
132 + pinctrl-0 = <&pinctrl_hog_1>, <&pinctrl_hog_2>;
135 + pinctrl_hog_2: hoggrp-2 {
138 + MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
139 + MX6QDL_PAD_EIM_D17__GPIO3_IO17 0x80000000
140 + MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
141 + MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x80000000
142 + MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x80000000
144 + MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000
145 + MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x80000000
146 + MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x170b0
153 + pinctrl-names = "default";
154 + pinctrl-0 = <&pinctrl_epdc_0>;
155 + V3P3-supply = <&V3P3_reg>;
156 + VCOM-supply = <&VCOM_reg>;
157 + DISPLAY-supply = <&DISPLAY_reg>;
177 diff --git a/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
179 index 0000000..499f7d3
181 +++ b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
184 + * Copyright (C) 2014 Freescale Semiconductor, Inc.
186 + * This program is free software; you can redistribute it and/or modify
187 + * it under the terms of the GNU General Public License version 2 as
188 + * published by the Free Software Foundation.
193 +#include "imx6dl.dtsi"
194 +#include "imx6qdl-sabresd.dtsi"
195 +#include "imx6dl-sabresd-common.dtsi"
198 + model = "Freescale i.MX6 DualLite SABRE Smart Device Board(PFUZE200)";
199 + compatible = "fsl,imx6dl-sabresd", "fsl,imx6dl";
203 + arm-supply = <®_arm>;
204 + soc-supply = <®_soc>;
205 + pu-supply = <®_pu>; /* use pu_dummy if VDDSOC share with VDDPU */
209 + fsl,ldo-bypass = <0>; /* use ldo-bypass, u-boot will check it and configure */
210 + fsl,wdog-reset = <1>; /* watchdog select of reset source */
211 + pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
215 + pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
219 + pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
223 + pmic: pfuze200@08 {
224 + compatible = "fsl,pfuze200";
229 + regulator-min-microvolt = <300000>;
230 + regulator-max-microvolt = <1875000>;
232 + regulator-always-on;
233 + regulator-ramp-delay = <6250>;
237 + regulator-min-microvolt = <800000>;
238 + regulator-max-microvolt = <3300000>;
240 + regulator-always-on;
244 + regulator-min-microvolt = <400000>;
245 + regulator-max-microvolt = <1975000>;
247 + regulator-always-on;
251 + regulator-min-microvolt = <400000>;
252 + regulator-max-microvolt = <1975000>;
254 + regulator-always-on;
258 + regulator-min-microvolt = <5000000>;
259 + regulator-max-microvolt = <5150000>;
263 + regulator-min-microvolt = <1000000>;
264 + regulator-max-microvolt = <3000000>;
266 + regulator-always-on;
269 + vref_reg: vrefddr {
271 + regulator-always-on;
275 + regulator-min-microvolt = <800000>;
276 + regulator-max-microvolt = <1550000>;
280 + regulator-min-microvolt = <800000>;
281 + regulator-max-microvolt = <1550000>;
285 + regulator-min-microvolt = <1800000>;
286 + regulator-max-microvolt = <3300000>;
290 + regulator-min-microvolt = <1800000>;
291 + regulator-max-microvolt = <3300000>;
292 + regulator-always-on;
296 + regulator-min-microvolt = <1800000>;
297 + regulator-max-microvolt = <3300000>;
298 + regulator-always-on;
302 + regulator-min-microvolt = <1800000>;
303 + regulator-max-microvolt = <3300000>;
304 + regulator-always-on;
309 diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts
310 index 5713c71..b4c738d 100644
311 --- a/arch/arm/boot/dts/imx6dl-sabresd.dts
312 +++ b/arch/arm/boot/dts/imx6dl-sabresd.dts
315 - * Copyright (C) 2013 Freescale Semiconductor, Inc.
316 + * Copyright (C) 2013-2014 Freescale Semiconductor, Inc.
318 * This program is free software; you can redistribute it and/or modify
319 * it under the terms of the GNU General Public License version 2 as
320 @@ -10,131 +10,110 @@
322 #include "imx6dl.dtsi"
323 #include "imx6qdl-sabresd.dtsi"
324 +#include "imx6dl-sabresd-common.dtsi"
327 - model = "Freescale i.MX6 DualLite SABRE Smart Device Board";
328 + model = "Freescale i.MX6 DualLite SABRE Smart Device Board(PFUZE100)";
329 compatible = "fsl,imx6dl-sabresd", "fsl,imx6dl";
333 - offset-charger = <1485>;
334 - offset-discharger = <1464>;
335 - offset-usb-charger = <1285>;
340 - compatible = "maxim,max17135";
350 - SENSOR-supply = <®_sensor>;
351 - gpio_pmic_pwrgood = <&gpio2 21 0>;
352 - gpio_pmic_vcom_ctrl = <&gpio3 17 0>;
353 - gpio_pmic_wakeup = <&gpio3 20 0>;
354 - gpio_pmic_v3p3 = <&gpio2 20 0>;
355 - gpio_pmic_intr = <&gpio2 25 0>;
357 + pmic: pfuze100@08 {
358 + compatible = "fsl,pfuze100";
362 - DISPLAY_reg: DISPLAY {
363 - regulator-name = "DISPLAY";
365 + regulator-min-microvolt = <300000>;
366 + regulator-max-microvolt = <1875000>;
368 + regulator-always-on;
369 + regulator-ramp-delay = <6250>;
374 - regulator-name = "GVDD";
376 + regulator-min-microvolt = <300000>;
377 + regulator-max-microvolt = <1875000>;
379 + regulator-always-on;
380 + regulator-ramp-delay = <6250>;
385 - regulator-name = "GVEE";
387 + regulator-min-microvolt = <800000>;
388 + regulator-max-microvolt = <3300000>;
390 + regulator-always-on;
395 - regulator-name = "HVINN";
397 + regulator-min-microvolt = <400000>;
398 + regulator-max-microvolt = <1975000>;
400 + regulator-always-on;
405 - regulator-name = "HVINP";
407 + regulator-min-microvolt = <400000>;
408 + regulator-max-microvolt = <1975000>;
410 + regulator-always-on;
414 - regulator-name = "VCOM";
415 - /* 2's-compliment, -4325000 */
416 - regulator-min-microvolt = <0xffbe0178>;
417 - /* 2's-compliment, -500000 */
418 - regulator-max-microvolt = <0xfff85ee0>;
420 + regulator-min-microvolt = <800000>;
421 + regulator-max-microvolt = <3300000>;
426 - regulator-name = "VNEG";
428 + regulator-min-microvolt = <5000000>;
429 + regulator-max-microvolt = <5150000>;
434 - regulator-name = "VPOS";
436 + regulator-min-microvolt = <1000000>;
437 + regulator-max-microvolt = <3000000>;
439 + regulator-always-on;
443 - regulator-name = "V3P3";
444 + vref_reg: vrefddr {
446 + regulator-always-on;
453 - pinctrl-names = "default";
454 - pinctrl-0 = <&pinctrl_hog_1>, <&pinctrl_hog_2>;
457 - pinctrl_hog_2: hoggrp-2 {
460 - MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
461 - MX6QDL_PAD_EIM_D17__GPIO3_IO17 0x80000000
462 - MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
463 - MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x80000000
464 - MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x80000000
466 - MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000
467 - MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x80000000
468 - MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x170b0
474 + regulator-min-microvolt = <800000>;
475 + regulator-max-microvolt = <1550000>;
479 - pinctrl-names = "default";
480 - pinctrl-0 = <&pinctrl_epdc_0>;
481 - V3P3-supply = <&V3P3_reg>;
482 - VCOM-supply = <&VCOM_reg>;
483 - DISPLAY-supply = <&DISPLAY_reg>;
487 + regulator-min-microvolt = <800000>;
488 + regulator-max-microvolt = <1550000>;
496 + regulator-min-microvolt = <1800000>;
497 + regulator-max-microvolt = <3300000>;
504 + regulator-min-microvolt = <1800000>;
505 + regulator-max-microvolt = <3300000>;
506 + regulator-always-on;
513 + regulator-min-microvolt = <1800000>;
514 + regulator-max-microvolt = <3300000>;
515 + regulator-always-on;
521 + regulator-min-microvolt = <1800000>;
522 + regulator-max-microvolt = <3300000>;
523 + regulator-always-on;
528 diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts
529 index 072e7d3..5e5ff56 100644
530 --- a/arch/arm/boot/dts/imx6q-sabresd.dts
531 +++ b/arch/arm/boot/dts/imx6q-sabresd.dts
533 offset-usb-charger = <1685>;
537 + pmic: pfuze100@08 {
538 + compatible = "fsl,pfuze100";
543 + regulator-min-microvolt = <300000>;
544 + regulator-max-microvolt = <1875000>;
546 + regulator-always-on;
547 + regulator-ramp-delay = <6250>;
551 + regulator-min-microvolt = <300000>;
552 + regulator-max-microvolt = <1875000>;
554 + regulator-always-on;
555 + regulator-ramp-delay = <6250>;
559 + regulator-min-microvolt = <800000>;
560 + regulator-max-microvolt = <3300000>;
562 + regulator-always-on;
566 + regulator-min-microvolt = <400000>;
567 + regulator-max-microvolt = <1975000>;
569 + regulator-always-on;
573 + regulator-min-microvolt = <400000>;
574 + regulator-max-microvolt = <1975000>;
576 + regulator-always-on;
580 + regulator-min-microvolt = <800000>;
581 + regulator-max-microvolt = <3300000>;
585 + regulator-min-microvolt = <5000000>;
586 + regulator-max-microvolt = <5150000>;
590 + regulator-min-microvolt = <1000000>;
591 + regulator-max-microvolt = <3000000>;
593 + regulator-always-on;
596 + vref_reg: vrefddr {
598 + regulator-always-on;
602 + regulator-min-microvolt = <800000>;
603 + regulator-max-microvolt = <1550000>;
607 + regulator-min-microvolt = <800000>;
608 + regulator-max-microvolt = <1550000>;
612 + regulator-min-microvolt = <1800000>;
613 + regulator-max-microvolt = <3300000>;
617 + regulator-min-microvolt = <1800000>;
618 + regulator-max-microvolt = <3300000>;
619 + regulator-always-on;
623 + regulator-min-microvolt = <1800000>;
624 + regulator-max-microvolt = <3300000>;
625 + regulator-always-on;
629 + regulator-min-microvolt = <1800000>;
630 + regulator-max-microvolt = <3300000>;
631 + regulator-always-on;
640 diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
641 index 66b6145..5d774e5 100644
642 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
643 +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
644 @@ -405,105 +405,6 @@
648 - pmic: pfuze100@08 {
649 - compatible = "fsl,pfuze100";
654 - regulator-min-microvolt = <300000>;
655 - regulator-max-microvolt = <1875000>;
657 - regulator-always-on;
658 - regulator-ramp-delay = <6250>;
662 - regulator-min-microvolt = <300000>;
663 - regulator-max-microvolt = <1875000>;
665 - regulator-always-on;
666 - regulator-ramp-delay = <6250>;
670 - regulator-min-microvolt = <800000>;
671 - regulator-max-microvolt = <3300000>;
673 - regulator-always-on;
677 - regulator-min-microvolt = <400000>;
678 - regulator-max-microvolt = <1975000>;
680 - regulator-always-on;
684 - regulator-min-microvolt = <400000>;
685 - regulator-max-microvolt = <1975000>;
687 - regulator-always-on;
691 - regulator-min-microvolt = <800000>;
692 - regulator-max-microvolt = <3300000>;
696 - regulator-min-microvolt = <5000000>;
697 - regulator-max-microvolt = <5150000>;
701 - regulator-min-microvolt = <1000000>;
702 - regulator-max-microvolt = <3000000>;
704 - regulator-always-on;
707 - vref_reg: vrefddr {
709 - regulator-always-on;
713 - regulator-min-microvolt = <800000>;
714 - regulator-max-microvolt = <1550000>;
718 - regulator-min-microvolt = <800000>;
719 - regulator-max-microvolt = <1550000>;
723 - regulator-min-microvolt = <1800000>;
724 - regulator-max-microvolt = <3300000>;
728 - regulator-min-microvolt = <1800000>;
729 - regulator-max-microvolt = <3300000>;
730 - regulator-always-on;
734 - regulator-min-microvolt = <1800000>;
735 - regulator-max-microvolt = <3300000>;
736 - regulator-always-on;
740 - regulator-min-microvolt = <1800000>;
741 - regulator-max-microvolt = <3300000>;
742 - regulator-always-on;
748 compatible = "eeti,egalax_ts";