[PATCH v1] clk: altera: agilex: Exclude AGILEX_L4_SYS_FREE_CLK from enable/disable operations
Chee, Tien Fong
tienfong.chee at altera.com
Tue Feb 10 08:16:48 CET 2026
On 3/2/2026 3:59 pm, alif.zakuan.yuslaimi at altera.com wrote:
> From: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
>
> AGILEX_L4_SYS_FREE_CLK is a free-running clock with no gate control in
> hardware, therefore attempting to enable or disable it is not applicable.
>
> Update the clock driver to explicitly exclude this clock ID from
> enable/disable operations by returning -EOPNOTSUPP in bitmask_from_clk_id()
> and treating this as a no-op in the socfpga_clk_enable() and
> socfpga_clk_disable() functions.
>
> This prevents unnecessary register access for clocks that cannot be gated
> and ensures clean handling when the clock is present in the device tree.
>
> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
> ---
> drivers/clk/altera/clk-agilex.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/clk/altera/clk-agilex.c b/drivers/clk/altera/clk-agilex.c
> index fdbf834bb2f..88423292c0b 100644
> --- a/drivers/clk/altera/clk-agilex.c
> +++ b/drivers/clk/altera/clk-agilex.c
> @@ -728,6 +728,8 @@ static int bitmask_from_clk_id(struct clk *clk)
> plat->pllgrp = CLKMGR_PERPLL_EN;
> plat->bitmask = CLKMGR_PERPLLGRP_EN_NANDCLK_MASK;
> break;
> + case AGILEX_L4_SYS_FREE_CLK:
> + return -EOPNOTSUPP;
> default:
> return -ENXIO;
> }
> @@ -742,6 +744,9 @@ static int socfpga_clk_enable(struct clk *clk)
> int ret;
>
> ret = bitmask_from_clk_id(clk);
> + if (ret == -EOPNOTSUPP)
> + return 0;
> +
> if (ret)
> return ret;
>
> @@ -757,6 +762,9 @@ static int socfpga_clk_disable(struct clk *clk)
> int ret;
>
> ret = bitmask_from_clk_id(clk);
> + if (ret == -EOPNOTSUPP)
> + return 0;
> +
> if (ret)
> return ret;
>
Reviewed-by: Tien Fong Chee <tien.fong.chee at altera.com>
Best regards,
Tien Fong
More information about the U-Boot
mailing list