[PATCH v1 7/9] clk: s10: Refactor S10 clock driver
YUSLAIMI, ALIF ZAKUAN
alif.zakuan.yuslaimi at altera.com
Tue Apr 28 05:23:24 CEST 2026
Hi Tien Fong,
On 21/4/2026 5:30 pm, Chee, Tien Fong wrote:
> Hi Alif,
>
>
> On 3/4/2026 10:25 am, alif.zakuan.yuslaimi at altera.com wrote:
>> From: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
>>
>> Refactor Stratix10 clock manager driver to support driver model,
>> following
>> Agilex clock driver.
>>
>> Create a new clock driver, clk-s10.c, for Stratix10 which supports the
>> driver model. This allows several APIs such as enable/disable clock, and
>> get clock rate to be supported.
>>
>> This driver will be initialized during SPL to bring up the clock as early
>> as possible. The clock initialization process are refactored into this
>> new
>> driver from clock_manager_s10.c during clock driver probe.
>>
>> Excluding Stratix10 from legacy method of obtaining clkmgr base
>> address in
>> mach-socfpga/misc.c as the base address is already obtained during clock
>> driver probe during SPL initialization.
>>
>> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
>> ---
>> MAINTAINERS | 1 +
>> arch/arm/mach-socfpga/Kconfig | 2 +
>> arch/arm/mach-socfpga/clock_manager_s10.c | 449 ++-----------
>> .../include/mach/clock_manager_s10.h | 176 +-----
>> arch/arm/mach-socfpga/misc.c | 3 +-
>> arch/arm/mach-socfpga/spl_s10.c | 7 +-
>> drivers/clk/altera/Makefile | 1 +
>> drivers/clk/altera/clk-s10.c | 591 ++++++++++++++++++
>> drivers/clk/altera/clk-s10.h | 202 ++++++
>> 9 files changed, 861 insertions(+), 571 deletions(-)
>> create mode 100644 drivers/clk/altera/clk-s10.c
>> create mode 100644 drivers/clk/altera/clk-s10.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index c58d8f85e33..863e0b763d8 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -159,6 +159,7 @@ F: arch/arm/mach-socfpga/
>> F: board/altera/stratix10-socdk/
>> F: board/intel/agilex-socdk/
>> F: configs/socfpga_*
>> +F: drivers/clk/altera/
>> F: drivers/ddr/altera/
>> F: drivers/power/domain/altr-pmgr-agilex5.c
>> F: drivers/sysreset/sysreset_socfpga*
>> diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/
>> Kconfig
>> index aec0fb7b1c8..c7ecdc4055f 100644
>> --- a/arch/arm/mach-socfpga/Kconfig
>> +++ b/arch/arm/mach-socfpga/Kconfig
>> @@ -149,8 +149,10 @@ config ARCH_SOCFPGA_STRATIX10
>> select ARMV8_MULTIENTRY
>> select ARMV8_SET_SMPEN
>> select BINMAN if SPL_ATF
>> + select CLK
>> select FPGA_INTEL_SDM_MAILBOX
>> select GICV2
>> + select SPL_CLK if SPL
>> select ARCH_SOCFPGA_SOC64
>> [...]
>
>> diff --git a/drivers/clk/altera/clk-s10.h b/drivers/clk/altera/clk-s10.h
>> new file mode 100644
>> index 00000000000..f5be1e68500
>> --- /dev/null
>> +++ b/drivers/clk/altera/clk-s10.h
>> @@ -0,0 +1,202 @@
>> +/* SPDX-License-Identifier: GPL-2.0
>> + *
>> + * Copyright (C) 2026 Altera Corporation <www.altera.com>
>> + *
>> + */
>> +
>> +#ifndef _CLK_S10_
>> +#define _CLK_S10_
>> +
>> +#ifndef __ASSEMBLY__
>> +#include <linux/bitops.h>
>> +#endif
>> +
>> +#define COUNTER_FREQUENCY_REAL 400000000
>
>
> COUNTER_FREQUENCY_REAL 400000000 defined in clk-s10.h but never
> referenced in clk-s10.c.
>
> Example: https://github.com/u-boot/u-boot/blob/
> e3405917a1806971d9e72a94186b299f05581e1a/drivers/clk/altera/clk-
> agilex.c#L357
>
>
> Best regards,
>
> Tien Fong
>
Sure, I will implement this in Stratix10 clock driver as well, I will
include this in v2 submission after testing this.
Thanks,
Alif
More information about the U-Boot
mailing list