[PATCH 2/2] clk: spacemit: register pm domain auxiliary driver

Iker Pedrosa ikerpedrosam at gmail.com
Thu Oct 15 09:58:00 PDT 2026


Tested on OrangePi RV2.

Tested-by: Iker Pedrosa <ikerpedrosam at gmail.com>
Reviewed-by: Iker Pedrosa <ikerpedrosam at gmail.com>

El jue, 8 oct 2026 a las 4:58, Yixun Lan (<dlan at kernel.org>) escribió:
>
> The APMU (Application Subsystem Power Management Unit) register region
> block contains the pm domain management capabilities, introduce a pm_name
> member inside CCU data to register a pm domain device via the auxiliary
> bus if that is needed - if pm_name is null, no device is registered.
>
> Signed-off-by: Yixun Lan <dlan at kernel.org>
> ---
>  drivers/clk/spacemit/ccu-k1.c     | 1 +
>  drivers/clk/spacemit/ccu-k3.c     | 1 +
>  drivers/clk/spacemit/ccu_common.c | 4 ++++
>  drivers/clk/spacemit/ccu_common.h | 1 +
>  4 files changed, 7 insertions(+)
>
> diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c
> index dee14d25f75d..9e2727521916 100644
> --- a/drivers/clk/spacemit/ccu-k1.c
> +++ b/drivers/clk/spacemit/ccu-k1.c
> @@ -972,6 +972,7 @@ static struct clk_hw *k1_ccu_apmu_hws[] = {
>
>  static const struct spacemit_ccu_data k1_ccu_apmu_data = {
>         .reset_name     = "k1-apmu-reset",
> +       .pm_name        = "k1-apmu-pmdomain",
>         .hws            = k1_ccu_apmu_hws,
>         .num            = ARRAY_SIZE(k1_ccu_apmu_hws),
>  };
> diff --git a/drivers/clk/spacemit/ccu-k3.c b/drivers/clk/spacemit/ccu-k3.c
> index 92b930d5ff30..e895d3ee6a28 100644
> --- a/drivers/clk/spacemit/ccu-k3.c
> +++ b/drivers/clk/spacemit/ccu-k3.c
> @@ -1449,6 +1449,7 @@ static struct clk_hw *k3_ccu_apmu_hws[] = {
>
>  static const struct spacemit_ccu_data k3_ccu_apmu_data = {
>         .reset_name     = "k3-apmu-reset",
> +       .pm_name        = "k3-apmu-pmdomain",
>         .hws            = k3_ccu_apmu_hws,
>         .num            = ARRAY_SIZE(k3_ccu_apmu_hws),
>  };
> diff --git a/drivers/clk/spacemit/ccu_common.c b/drivers/clk/spacemit/ccu_common.c
> index 56f3d081857e..38577fb7776a 100644
> --- a/drivers/clk/spacemit/ccu_common.c
> +++ b/drivers/clk/spacemit/ccu_common.c
> @@ -169,6 +169,10 @@ int spacemit_ccu_probe(struct platform_device *pdev, const char *compat)
>         if (ret)
>                 return dev_err_probe(dev, ret, "failed to register resets\n");
>
> +       ret = spacemit_ccu_aux_register(dev, base_regmap, data->pm_name);
> +       if (ret)
> +               return dev_err_probe(dev, ret, "failed to register pm domain\n");
> +
>         return 0;
>  }
>  EXPORT_SYMBOL_NS_GPL(spacemit_ccu_probe, "CLK_SPACEMIT");
> diff --git a/drivers/clk/spacemit/ccu_common.h b/drivers/clk/spacemit/ccu_common.h
> index 8691698e007d..221a92117b94 100644
> --- a/drivers/clk/spacemit/ccu_common.h
> +++ b/drivers/clk/spacemit/ccu_common.h
> @@ -41,6 +41,7 @@ static inline struct ccu_common *hw_to_ccu_common(struct clk_hw *hw)
>
>  struct spacemit_ccu_data {
>         const char *reset_name;
> +       const char *pm_name;
>         struct clk_hw **hws;
>         size_t num;
>  };
>
> --
> 2.56.0
>



More information about the linux-riscv mailing list