On Thu, Jun 26, 2025 at 04:54:38PM +0530, Aswin Murugan wrote:

> Added support for Qualcomm RPMH power domain driver, responsible
> for managing power domains on Qualcomm SoCs. This is a port of
> the Linux RPMHPD driver [1] and sa8775p related changes. The
> power domain driver currently has support to power on and off
> MMCX power domain; support for other power domains can be added
> in this driver.
> 
> [1]:
> https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pmdomain/qcom/rpmhpd.c?id=3d25d46a255a83f94d7d4d4216f38aafc8e116b
> 
> Signed-off-by: Balaji Selvanathan <[email protected]>
> Signed-off-by: Aswin Murugan <[email protected]>
> ---
>  drivers/power/domain/Kconfig       |   8 +
>  drivers/power/domain/Makefile      |   1 +
>  drivers/power/domain/qcom-rpmhpd.c | 271 +++++++++++++++++++++++++++++
>  3 files changed, 280 insertions(+)
>  create mode 100644 drivers/power/domain/qcom-rpmhpd.c
> 
> diff --git a/drivers/power/domain/Kconfig b/drivers/power/domain/Kconfig
> index 5f5218bd8b5..2e246c5bb73 100644
> --- a/drivers/power/domain/Kconfig
> +++ b/drivers/power/domain/Kconfig
> @@ -82,6 +82,14 @@ config MESON_SECURE_POWER_DOMAIN
>         Enable support for manipulating Amlogic Meson Secure power domains.
>         Support for Amlogic A1 series.
>  
> +config QCOM_POWER_DOMAIN
> +     bool "Enable the QCOM RPMH Power domain driver"
> +     depends on POWER_DOMAIN
> +     help
> +       Generic RPMH power domain implementation for QCOM devices.
> +       The RPMH power domain driver is responsible for managing power
> +       domains on Qualcomm SoCs.
> +
>  config SANDBOX_POWER_DOMAIN
>       bool "Enable the sandbox power domain test driver"
>       depends on POWER_DOMAIN && SANDBOX
> diff --git a/drivers/power/domain/Makefile b/drivers/power/domain/Makefile
> index 4d20c97d26c..ad355f88479 100644
> --- a/drivers/power/domain/Makefile
> +++ b/drivers/power/domain/Makefile
> @@ -14,6 +14,7 @@ obj-$(CONFIG_MTK_POWER_DOMAIN) += mtk-power-domain.o
>  obj-$(CONFIG_MESON_GX_VPU_POWER_DOMAIN) += meson-gx-pwrc-vpu.o
>  obj-$(CONFIG_MESON_EE_POWER_DOMAIN) += meson-ee-pwrc.o
>  obj-$(CONFIG_MESON_SECURE_POWER_DOMAIN) += meson-secure-pwrc.o
> +obj-$(CONFIG_QCOM_POWER_DOMAIN) += qcom-rpmhpd.o
>  obj-$(CONFIG_SANDBOX_POWER_DOMAIN) += sandbox-power-domain.o
>  obj-$(CONFIG_SANDBOX_POWER_DOMAIN) += sandbox-power-domain-test.o
>  obj-$(CONFIG_SCMI_POWER_DOMAIN) += scmi-power-domain.o
> diff --git a/drivers/power/domain/qcom-rpmhpd.c 
> b/drivers/power/domain/qcom-rpmhpd.c
> new file mode 100644
> index 00000000000..6653995f5ed
> --- /dev/null
> +++ b/drivers/power/domain/qcom-rpmhpd.c
> @@ -0,0 +1,271 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2018, The Linux Foundation. All rights reserved.
> +// Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
> +
> +#include <dm.h>
> +#include <dm/lists.h>
> +#include <power-domain.h>
> +#include <asm/io.h>
> +#include <linux/errno.h>
> +
> +#include <power-domain-uclass.h>
> +#include <soc/qcom/cmd-db.h>
> +#include <soc/qcom/rpmh.h>

This needs to depends on ARCH_SNAPDRAGON in Kconfig as it won't compile
on any other platform due to the includes.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to