aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2022-09-23 03:31:22 +0200
committerPatrice Chotard <patrice.chotard@foss.st.com>2022-10-18 08:20:35 +0200
commit34be2ada130bc2fcad958794e1c6675625984c3a (patch)
tree22afe4b43bec0dcc3c03f9e6da61feb3c1f9d591
parent0e49f5c26caf9972137a474065afd4bdfe5ec062 (diff)
downloadu-boot-34be2ada130bc2fcad958794e1c6675625984c3a.zip
u-boot-34be2ada130bc2fcad958794e1c6675625984c3a.tar.gz
u-boot-34be2ada130bc2fcad958794e1c6675625984c3a.tar.bz2
ARM: dts: stm32: Remove buck3 regulator-always-on on AV96
In case the regulator-always-on is present in regulator DT node, the regulator is always reconfigured to the voltage set in DT on probe, even if regulator_set_value() has been called before. Drop the property from AV96 U-Boot DT and enable the regulator manually in code, as the board already reconfigures the Buck3 regulator in code per PMIC NVM content instead. Fixes: 0adf10a87b1 ("ARM: dts: stm32: Configure Buck3 voltage per PMIC NVM on Avenger96") Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
-rw-r--r--arch/arm/dts/stm32mp15xx-dhcor-avenger96-u-boot.dtsi4
-rw-r--r--board/dhelectronics/dh_stm32mp1/board.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/dts/stm32mp15xx-dhcor-avenger96-u-boot.dtsi b/arch/arm/dts/stm32mp15xx-dhcor-avenger96-u-boot.dtsi
index 5bed53e..b6fceb9 100644
--- a/arch/arm/dts/stm32mp15xx-dhcor-avenger96-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp15xx-dhcor-avenger96-u-boot.dtsi
@@ -102,6 +102,10 @@
hnp-srp-disable;
};
+&vdd {
+ /delete-property/ regulator-always-on;
+};
+
&vdd_io {
u-boot,dm-spl;
};
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index 2bc0d7b..05f884c 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -595,6 +595,7 @@ static void board_init_regulator_av96(void)
/* Adjust Buck3 per preconfigured PMIC voltage from NVM. */
regulator_set_value(rdev, uv);
+ regulator_set_enable(rdev, true);
}
static void board_init_regulator(void)