[PATCH v3 08/11] socfpga: arria10: Replace delays with busy waiting in cm_full_cfg

Chee, Tien Fong tien.fong.chee at intel.com
Mon Jun 20 10:40:22 CEST 2022


Hi,

> -----Original Message-----
> From: Paweł Anikiel <pan at semihalf.com>
> Sent: Friday, 17 June, 2022 6:47 PM
> To: Vasut, Marek <marex at denx.de>; simon.k.r.goldschmidt at gmail.com;
> Chee, Tien Fong <tien.fong.chee at intel.com>; michal.simek at xilinx.com
> Cc: u-boot at lists.denx.de; sjg at chromium.org; festevam at denx.de;
> jagan at amarulasolutions.com; andre.przywara at arm.com; Armstrong, Neil
> <narmstrong at baylibre.com>; pbrobinson at gmail.com;
> tharvey at gateworks.com; paul.liu at linaro.org; christianshewitt at gmail.com;
> adrian.fiergolski at fastree3d.com; marek.behun at nic.cz; Denk, Wolfgang
> <wd at denx.de>; Lim, Elly Siew Chin <elly.siew.chin.lim at intel.com>;
> upstream at semihalf.com; amstan at chromium.org; Paweł Anikiel
> <pan at semihalf.com>
> Subject: [PATCH v3 08/11] socfpga: arria10: Replace delays with busy waiting
> in cm_full_cfg
> 
> Using udelay while the clocks aren't fully configured causes the timer system
> to save the wrong clock rate. Use sdelay and wait_on_value instead (the
> values used in these functions were found experimentally).
> 
> Signed-off-by: Paweł Anikiel <pan at semihalf.com>
> ---
>  arch/arm/mach-socfpga/clock_manager_arria10.c | 31 +++++++++++++-----
> -
>  1 file changed, 22 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/mach-socfpga/clock_manager_arria10.c
> b/arch/arm/mach-socfpga/clock_manager_arria10.c
> index 58d5d3fd8a..b48a2b47bc 100644
> --- a/arch/arm/mach-socfpga/clock_manager_arria10.c
> +++ b/arch/arm/mach-socfpga/clock_manager_arria10.c

Did you try to call timer_init() after cm_basic_init() in board_init_f? If that's working, then no change is required to fix this clock issue.

Thanks.

Best regards,
Tien Fong.


More information about the U-Boot mailing list