summaryrefslogtreecommitdiff
path: root/board/st/stm32mp1/spl.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-08-16 11:23:58 -0400
committerTom Rini <trini@konsulko.com>2023-08-16 11:23:58 -0400
commit375fea811d3e45b47ee8a60f1f36a1d036660736 (patch)
treea1453abc075dc3c602124909a13413219f425841 /board/st/stm32mp1/spl.c
parent9b54b0e37b72aa9bfff09cbbe13465abfa143f84 (diff)
parent9e8cbea1a74516235820ccd50d513c961e43cb70 (diff)
Merge tag 'u-boot-stm32-20230816' of https://source.denx.de/u-boot/custodians/u-boot-stm
DHSOM: Power cycle Buck3 in reset DHCOM: Switch DWMAC RMII clock to MCO2 stm32f746: fix display pinmux stm32mp: psci: Inhibit PDDS because CSTBYDIS is set stm32mp1: DT alignment with v6.4 stm32mp1: add splashscreen with STMicroelectronics logo stm32mp1: clk: remove error for disabled clock in stm32mp1_clk_get_parent serial: stm32: Extend TC timeout
Diffstat (limited to 'board/st/stm32mp1/spl.c')
-rw-r--r--board/st/stm32mp1/spl.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/board/st/stm32mp1/spl.c b/board/st/stm32mp1/spl.c
index 747ec7e445a..8b4a529f759 100644
--- a/board/st/stm32mp1/spl.c
+++ b/board/st/stm32mp1/spl.c
@@ -5,6 +5,8 @@
#include <config.h>
#include <common.h>
+#include <power/pmic.h>
+#include <power/stpmic1.h>
#include <asm/arch/sys_proto.h>
#include "../common/stpmic1.h"
@@ -19,8 +21,15 @@ void board_vddcore_init(u32 voltage_mv)
int board_early_init_f(void)
{
- if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER))
- stpmic1_init(opp_voltage_mv);
+ if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER)) {
+ struct udevice *dev = stpmic1_init(opp_voltage_mv);
+
+ /* Keep vdd on during the reset cycle */
+ pmic_clrsetbits(dev,
+ STPMIC1_BUCKS_MRST_CR,
+ STPMIC1_MRST_BUCK(STPMIC1_BUCK3),
+ STPMIC1_MRST_BUCK(STPMIC1_BUCK3));
+ }
return 0;
}