[PATCH V2 19/26] imx: imx8ulp_evk: Power down the domains may used in u-boot

Stefano Babic sbabic at denx.de
Tue Apr 12 19:10:26 CEST 2022


Hi Peng,Ye,

On 06.04.22 08:30, Peng Fan (OSS) wrote:
> From: Ye Li <ye.li at nxp.com>
> 
> Since ATF power domain will hold the enable counter for each power domain,
> We need to power off them before entering kernel to avoid this
> power domain can't be really powered off.
> 
> Signed-off-by: Ye Li <ye.li at nxp.com>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
>   board/freescale/imx8ulp_evk/imx8ulp_evk.c | 30 +++++++++++++++++++++++
>   1 file changed, 30 insertions(+)
> 
> diff --git a/board/freescale/imx8ulp_evk/imx8ulp_evk.c b/board/freescale/imx8ulp_evk/imx8ulp_evk.c
> index b61a4cfbe8d..1bd308148f3 100644
> --- a/board/freescale/imx8ulp_evk/imx8ulp_evk.c
> +++ b/board/freescale/imx8ulp_evk/imx8ulp_evk.c
> @@ -13,6 +13,8 @@
>   #include <miiphy.h>
>   #include <netdev.h>
>   #include <asm/gpio.h>
> +#include <power-domain.h>
> +#include <dt-bindings/power/imx8ulp-power.h>

But which patch is adding the file above ? I cannot find it, it is not 
part of this series and of course build is broken without it.

Best regards,
Stefano

>   DECLARE_GLOBAL_DATA_PTR;
>   
> @@ -129,3 +131,31 @@ int board_late_init(void)
>   {
>   	return 0;
>   }
> +
> +void board_quiesce_devices(void)
> +{
> +	/* Disable the power domains may used in u-boot before entering kernel */
> +#if CONFIG_IS_ENABLED(POWER_DOMAIN)
> +	struct udevice *scmi_devpd;
> +	int ret, i;
> +	struct power_domain pd;
> +	ulong ids[] = { IMX8ULP_PD_FLEXSPI2, IMX8ULP_PD_USB0, IMX8ULP_PD_USDHC0,
> +			IMX8ULP_PD_USDHC1, IMX8ULP_PD_USDHC2_USB1, IMX8ULP_PD_DCNANO,
> +			IMX8ULP_PD_MIPI_DSI };
> +
> +	ret = uclass_get_device(UCLASS_POWER_DOMAIN, 0, &scmi_devpd);
> +	if (ret) {
> +		printf("Cannot get scmi devpd: err=%d\n", ret);
> +		return;
> +	}
> +
> +	pd.dev = scmi_devpd;
> +
> +	for (i = 0; i < ARRAY_SIZE(ids); i++) {
> +		pd.id = ids[i];
> +		ret = power_domain_off(&pd);
> +		if (ret)
> +			printf("power_domain_off %lu failed: err=%d\n", ids[i], ret);
> +	}
> +#endif
> +}

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list