ARM: dts: stm32: Repair PMIC configuration on AV96
authorMarek Vasut <marex@denx.de>
Wed, 22 Apr 2020 10:45:54 +0000 (12:45 +0200)
committerAlexandre Torgue <alexandre.torgue@st.com>
Wed, 29 Apr 2020 07:43:53 +0000 (09:43 +0200)
The vdd PMIC buck regulator was misconfigured, which caused instability
of the board and malfunction of high-speed interfaces, like the RGMII.
Configure the PMIC correctly to repair these problems. Also add missing
Enpirion regulator for the IO voltage into the DT.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/boot/dts/stm32mp157a-avenger96.dts

index aba3895..380ce14 100644 (file)
                        default-state = "off";
                };
        };
+
+       /* Enpirion EP3A8LQI U2 on the DHCOR */
+       vdd_io: regulator-buck-io {
+               compatible = "regulator-fixed";
+               regulator-name = "buck-io";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vdd>;
+       };
 };
 
 &ethernet0 {
 
                        vdd: buck3 {
                                regulator-name = "vdd";
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
+                               regulator-min-microvolt = <2900000>;
+                               regulator-max-microvolt = <2900000>;
                                regulator-always-on;
                                regulator-initial-mode = <0>;
                                regulator-over-current-protection;
                                regulator-name = "vbus_otg";
                                interrupts = <IT_OCP_OTG 0>;
                                interrupt-parent = <&pmic>;
+                               regulator-active-discharge = <1>;
                        };
 
                        vbus_sw: pwr_sw2 {
 };
 
 &pwr_regulators {
-       vdd-supply = <&vdd>;
+       vdd-supply = <&vdd_io>;
        vdd_3v3_usbfs-supply = <&vdd_usb>;
 };