diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2020-05-25 12:19:47 +0200 |
---|---|---|
committer | Patrick Delaunay <patrick.delaunay@st.com> | 2020-07-07 16:01:23 +0200 |
commit | 2f238327b7273656eb7670804fdb16de097b39b9 (patch) | |
tree | aa22d1365631b15a64d8e8459ddd8371b8079521 /board/st/stm32mp1 | |
parent | d1a4b09de6431fbc2f6a9dc53efe8d84cdd31134 (diff) |
board: stm32mp1: update vddcore in SPL
For board using STPMIC1, the vddcore is provided by BUCK1 of STPMIC1
and need to be updated for 800MHz support and only after the clock
tree initialization.
The VDDCORE voltage value is provided by clock driver, saved in global
variable opp_voltage_mv and udpated in SPL board_early_init_f(),
just after clock tree initialization.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Diffstat (limited to 'board/st/stm32mp1')
-rw-r--r-- | board/st/stm32mp1/spl.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/board/st/stm32mp1/spl.c b/board/st/stm32mp1/spl.c index fa25cefd28..9a83da8fd3 100644 --- a/board/st/stm32mp1/spl.c +++ b/board/st/stm32mp1/spl.c @@ -9,10 +9,19 @@ #include <asm/arch/sys_proto.h> #include "../common/stpmic1.h" +/* board early initialisation in board_f: need to use global variable */ +static u32 opp_voltage_mv __section(".data"); + +void board_vddcore_init(u32 voltage_mv) +{ + if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER_SUPPORT)) + opp_voltage_mv = voltage_mv; +} + int board_early_init_f(void) { if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER_SUPPORT)) - stpmic1_init(); + stpmic1_init(opp_voltage_mv); return 0; } |