ARM: dts: imx: ventana: add LTC3676 PMIC support
Subsystems (2)
PATCH 1/1 ARM: dts: imx: ventana: add LTC3676 PMIC support
All of the Gateworks Ventana boards based on the IMX6 SoC except for the GW54xx use the LTC3676 PMIC. Add a device-tree node with interrupt support for this PMIC. Additionally remove the simple-bus notation in the regulator nodes and any fixed regulators that are provided by the PMIC.
--- arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 132 ++++++++++++++++++++------- arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 165 ++++++++++++++++++++++++---------- arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 163 +++++++++++++++++++++++---------- arch/arm/boot/dts/imx6qdl-gw551x.dtsi | 132 +++++++++++++++++++++------ arch/arm/boot/dts/imx6qdl-gw552x.dtsi | 130 +++++++++++++++++++++------ arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 98 ++++++++++++++++++-- 6 files changed, 630 insertions(+), 190 deletions(-)
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi +102 -30
@@ -56,38 +56,29 @@ status = "okay"; }; - regulators { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - reg_3p3v: regulator at 0 { - compatible = "regulator-fixed"; - reg = <0>; - regulator-name = "3P3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; - reg_5p0v: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "5P0V"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - regulator-always-on; - }; + reg_5p0v: regulator-5p0v { + compatible = "regulator-fixed"; + regulator-name = "5P0V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; - reg_usb_otg_vbus: regulator at 2 { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "usb_otg_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; + reg_usb_otg_vbus: regulator-usb-otg-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; + enable-active-high; }; };
@@ -158,6 +149,81 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; + + pmic: ltc3676 at 3c { + compatible = "lltc,ltc3676"; + reg = <0x3c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pmic>; + interrupt-parent = <&gpio1>; + interrupts = <8 IRQ_TYPE_EDGE_FALLING>; + + regulators { + /* VDD_SOC (1+R1/R2 = 1.635) */ + reg_vdd_soc: sw1 { + regulator-name = "vddsoc"; + regulator-min-microvolt = <674400>; + regulator-max-microvolt = <1308000>; + lltc,fb-voltage-divider = <127000 200000>; + regulator-ramp-delay = <7000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_1P8 (1+R1/R2 = 2.505): GPS/VideoIn/ENET-PHY */ + reg_1p8v: sw2 { + regulator-name = "vdd1p8"; + regulator-min-microvolt = <1033310>; + regulator-max-microvolt = <2004000>; + lltc,fb-voltage-divider = <301000 200000>; + regulator-ramp-delay = <7000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_ARM (1+R1/R2 = 1.635) */ + reg_vdd_arm: sw3 { + regulator-name = "vddarm"; + regulator-min-microvolt = <674400>; + regulator-max-microvolt = <1308000>; + lltc,fb-voltage-divider = <127000 200000>; + regulator-ramp-delay = <7000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_DDR (1+R1/R2 = 2.105) */ + reg_vdd_ddr: sw4 { + regulator-name = "vddddr"; + regulator-min-microvolt = <868310>; + regulator-max-microvolt = <1684000>; + lltc,fb-voltage-divider = <221000 200000>; + regulator-ramp-delay = <7000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_2P5 (1+R1/R2 = 3.435): PCIe/ENET-PHY */ + reg_2p5v: ldo2 { + regulator-name = "vdd2p5"; + regulator-min-microvolt = <2490375>; + regulator-max-microvolt = <2490375>; + lltc,fb-voltage-divider = <487000 200000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_HIGH (1+R1/R2 = 4.17) */ + reg_3p0v: ldo4 { + regulator-name = "vdd3p0"; + regulator-min-microvolt = <3023250>; + regulator-max-microvolt = <3023250>; + lltc,fb-voltage-divider = <634000 200000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; }; &i2c3 {
@@ -312,6 +378,12 @@ >; }; + pinctrl_pmic: pmicgrp { + fsl,pins = < + MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x0001b0b0 /* PMIC_IRQ# */ + >; + }; + pinctrl_pps: ppsgrp { fsl,pins = < MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x1b0b1
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +117 -48
186 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +115 -48
184 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw551x.dtsi +106 -26
152 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw552x.dtsi +101 -29
150 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw553x.dtsi +89 -9
122 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH 1/1 ARM: dts: imx: ventana: add LTC3676 PMIC support
Quoted 14 lines · Tim Harvey
All of the Gateworks Ventana boards based on the IMX6 SoC except for the GW54xx use the LTC3676 PMIC. Add a device-tree node with interrupt support for this PMIC. Additionally remove the simple-bus notation in the regulator nodes and any fixed regulators that are provided by the PMIC.
Signed-off-by Tim Harvey <[email protected]>--- arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 132 ++++++++++++++++++++------- arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 165 ++++++++++++++++++++++++---------- arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 163 +++++++++++++++++++++++---------- arch/arm/boot/dts/imx6qdl-gw551x.dtsi | 132 +++++++++++++++++++++------ arch/arm/boot/dts/imx6qdl-gw552x.dtsi | 130 +++++++++++++++++++++------ arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 98 ++++++++++++++++++-- 6 files changed, 630 insertions(+), 190 deletions(-)
<snip>
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi line 153
Quoted 6 lines
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi +2
-0@@ -158,6 +149,81 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; + + pmic: ltc3676 at 3c {
The node name should be generic one, while label should be more specific. That said, we should follow the example in ltc3676 bindings doc to name the node as below.
ltc3676: pmic at 3c
I fixed all 6 occurrences and applied the patch.
Shawn
Quoted 6 lines
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi +6
-0+ compatible = "lltc,ltc3676"; + reg = <0x3c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pmic>; + interrupt-parent = <&gpio1>; + interrupts = <8 IRQ_TYPE_EDGE_FALLING>;