El Fri, Jul 15, 2022 at 05:14:25PM +0200, Quentin Schulz deia:
> From: Quentin Schulz <quentin.sch...@theobroma-systems.com>
> 
> This makes sure regulators that need to be turned on or off at boot are
> turned on or off in the SPL.
> 
> This may be required for the SPL to do some operations, such as finding
> possible loading media for U-Boot proper.
> 
> Cc: Quentin Schulz <foss+ub...@0leil.net>
> Signed-off-by: Quentin Schulz <quentin.sch...@theobroma-systems.com>
> ---
>

Tested on a Rock-Pi-4B and didn't see any regression.
Tested-by: Xavier Drudis Ferran <xdru...@tinet.cat>
 
>  - RFC because only tested on Puma Haikou RK3399
> 
>  common/spl/spl.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index c8c463f80b..762e9918c7 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -37,6 +37,9 @@
>  #include <fdt_support.h>
>  #include <bootcount.h>
>  #include <wdt.h>
> +#if CONFIG_IS_ENABLED(DM_REGULATOR)
> +#include <power/regulator.h>
> +#endif
>  
>  DECLARE_GLOBAL_DATA_PTR;
>  
> @@ -766,6 +769,15 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>       if (CONFIG_IS_ENABLED(GPIO_HOG))
>               gpio_hog_probe_all();
>  
> +     if (CONFIG_IS_ENABLED(DM_REGULATOR)) {
> +             if (regulators_enable_boot_on(false))
> +                     debug("%s: Cannot enable boot on regulator\n",
> +                           __func__);
> +             if (regulators_enable_boot_off(false))
> +                     debug("%s: Cannot enable boot off regulator\n",
> +                           __func__);
> +     }
> +
>  #if CONFIG_IS_ENABLED(BOARD_INIT)
>       spl_board_init();
>  #endif
> -- 
> 2.36.1
> 

Reply via email to