[U-Boot] [PATCH V3 24/27] imx8m: soc: probe clock device in arch_cpu_init_dm

Schrempf Frieder frieder.schrempf at kontron.de
Wed Aug 28 15:20:22 UTC 2019


Hi Peng,

On 27.08.19 08:25, Peng Fan wrote:
> Because we need to get cpu freq in print_cpuinfo at very early stage,
> so we need to make sure the ccm be probed.
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
>   arch/arm/mach-imx/imx8m/soc.c | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
> index 3a54db4898..f904049120 100644
> --- a/arch/arm/mach-imx/imx8m/soc.c
> +++ b/arch/arm/mach-imx/imx8m/soc.c
> @@ -14,6 +14,7 @@
>   #include <asm/mach-imx/boot_mode.h>
>   #include <asm/mach-imx/syscounter.h>
>   #include <asm/armv8/mmu.h>
> +#include <dm/uclass.h>
>   #include <errno.h>
>   #include <fdt_support.h>
>   #include <fsl_wdog.h>
> @@ -228,6 +229,22 @@ static void imx_set_wdog_powerdown(bool enable)
>   	writew(enable, &wdog3->wmcr);
>   }
>   
> +int arch_cpu_init_dm(void)
> +{
> +	struct udevice *dev;
> +	int ret;
> +
> +	ret = uclass_get_device_by_name(UCLASS_CLK,
> +					"clock-controller at 30380000",
> +					&dev);

I just upgraded my working tree to v2019.10-rc3 + your v3 MX8MM patches. 
This somehow breaks things for me. The U-Boot proper hangs when calling 
uclass_get_device_by_name(). Removing this call makes the boot work again.
Do you have any idea what could be wrong? Do I miss something?

Thanks,
Frieder

> +	if (ret < 0) {
> +		printf("Failed to find clock node. Check device tree\n");
> +		return ret;
> +	}
> +
> +	return 0;
> +}
> +
>   int arch_cpu_init(void)
>   {
>   	struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
> 


More information about the U-Boot mailing list