From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pascal PAILLET-LME Subject: [PATCH v2 2/3] ARM: dts: stm32: add stpmic1 support on stm32mp157a dk1 board Date: Tue, 9 Apr 2019 09:07:03 +0000 Message-ID: <1554800820-5412-3-git-send-email-p.paillet@st.com> References: <1554800820-5412-1-git-send-email-p.paillet@st.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <1554800820-5412-1-git-send-email-p.paillet@st.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: "mcoquelin.stm32@gmail.com" , Alexandre TORGUE , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "linux@armlinux.org.uk" , "horms+renesas@verge.net.au" , "olof@lixom.net" , "arnd@arndb.de" , "geert+renesas@glider.be" , "biju.das@bp.renesas.com" , Yannick FERTRE , "m.szyprowski@samsung.com" , "linus.walleij@linaro.org" , "linux-arm-kernel@lists.infradead.org" Cc: Pascal PAILLET-LME , "linux-stm32@st-md-mailman.stormreply.com" List-Id: devicetree@vger.kernel.org This patch adds stpmic1 support on stm32mp157a dk1 board. The STPMIC1 is a PMIC from STMicroelectronics. The STPMIC1 integrates 10 regulators, 3 power switches, a watchdog and an input for a power on key. The DMAs are disabled because the PMIC generates a very few traffic and DMA channels may lack for other usage. Signed-off-by: Pascal Paillet --- arch/arm/boot/dts/stm32mp157a-dk1.dts | 158 ++++++++++++++++++++++++++++++= ++-- 1 file changed, 150 insertions(+), 8 deletions(-) diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm3= 2mp157a-dk1.dts index 1b1886d..4bb91ab 100644 --- a/arch/arm/boot/dts/stm32mp157a-dk1.dts +++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts @@ -9,6 +9,7 @@ #include "stm32mp157c.dtsi" #include "stm32mp157-pinctrl.dtsi" #include +#include =20 / { model =3D "STMicroelectronics STM32MP157A-DK1 Discovery Board"; @@ -36,14 +37,6 @@ default-state =3D "off"; }; }; - - v3v3: regulator-3v3 { - compatible =3D "regulator-fixed"; - regulator-name =3D "v3v3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - regulator-always-on; - }; }; =20 ðernet0 { @@ -65,6 +58,155 @@ }; }; =20 + +&i2c4 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c4_pins_a>; + i2c-scl-rising-time-ns =3D <185>; + i2c-scl-falling-time-ns =3D <20>; + status =3D "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + pmic: stpmic@33 { + compatible =3D "st,stpmic1"; + reg =3D <0x33>; + interrupts-extended =3D <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells =3D <2>; + status =3D "okay"; + + regulators { + compatible =3D "st,stpmic1-regulators"; + ldo1-supply =3D <&v3v3>; + ldo3-supply =3D <&vdd_ddr>; + ldo6-supply =3D <&v3v3>; + pwr_sw1-supply =3D <&bst_out>; + pwr_sw2-supply =3D <&bst_out>; + + vddcore: buck1 { + regulator-name =3D "vddcore"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1350000>; + regulator-always-on; + regulator-initial-mode =3D <0>; + regulator-over-current-protection; + }; + + vdd_ddr: buck2 { + regulator-name =3D "vdd_ddr"; + regulator-min-microvolt =3D <1350000>; + regulator-max-microvolt =3D <1350000>; + regulator-always-on; + regulator-initial-mode =3D <0>; + regulator-over-current-protection; + }; + + vdd: buck3 { + regulator-name =3D "vdd"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + st,mask-reset; + regulator-initial-mode =3D <0>; + regulator-over-current-protection; + }; + + v3v3: buck4 { + regulator-name =3D "v3v3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-over-current-protection; + regulator-initial-mode =3D <0>; + }; + + v1v8_audio: ldo1 { + regulator-name =3D "v1v8_audio"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + interrupts =3D ; + }; + + v3v3_hdmi: ldo2 { + regulator-name =3D "v3v3_hdmi"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + interrupts =3D ; + }; + + vtt_ddr: ldo3 { + regulator-name =3D "vtt_ddr"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <750000>; + regulator-always-on; + regulator-over-current-protection; + }; + + vdd_usb: ldo4 { + regulator-name =3D "vdd_usb"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + interrupts =3D ; + }; + + vdda: ldo5 { + regulator-name =3D "vdda"; + regulator-min-microvolt =3D <2900000>; + regulator-max-microvolt =3D <2900000>; + interrupts =3D ; + regulator-boot-on; + }; + + v1v2_hdmi: ldo6 { + regulator-name =3D "v1v2_hdmi"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + interrupts =3D ; + }; + + vref_ddr: vref_ddr { + regulator-name =3D "vref_ddr"; + regulator-always-on; + regulator-over-current-protection; + }; + + bst_out: boost { + regulator-name =3D "bst_out"; + interrupts =3D ; + }; + + vbus_otg: pwr_sw1 { + regulator-name =3D "vbus_otg"; + interrupts =3D ; + }; + + vbus_sw: pwr_sw2 { + regulator-name =3D "vbus_sw"; + interrupts =3D ; + regulator-active-discharge; + }; + }; + + onkey { + compatible =3D "st,stpmic1-onkey"; + interrupts =3D , ; + interrupt-names =3D "onkey-falling", "onkey-rising"; + power-off-time-sec =3D <10>; + status =3D "okay"; + }; + + watchdog { + compatible =3D "st,stpmic1-wdt"; + status =3D "disabled"; + }; + }; +}; + &ipcc { status =3D "okay"; }; --=20 1.9.1