[PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings

Le Qi posted 1 patch 2 weeks, 2 days ago
There is a newer version of this series
drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
1 file changed, 9 insertions(+)
[PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings
Posted by Le Qi 2 weeks, 2 days ago
Add the QCS615 domain table to the in-kernel pd-mapper so that audio
subsystems no longer rely on the userspace pd-mapper daemon.
This enables proper initialization of ADSP and CDSP domains directly
from the kernel.

Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
---
 drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
index 1bcbe69688d2..884a2db9bb08 100644
--- a/drivers/soc/qcom/qcom_pd_mapper.c
+++ b/drivers/soc/qcom/qcom_pd_mapper.c
@@ -401,6 +401,14 @@ static const struct qcom_pdm_domain_data *qcs404_domains[] = {
 	NULL,
 };
 
+static const struct qcom_pdm_domain_data *qcs615_domains[] = {
+	&adsp_audio_pd,
+	&adsp_root_pd,
+	&adsp_sensor_pd,
+	&cdsp_root_pd,
+	NULL,
+};
+
 static const struct qcom_pdm_domain_data *sc7180_domains[] = {
 	&adsp_audio_pd,
 	&adsp_root_pd_pdr,
@@ -572,6 +580,7 @@ static const struct of_device_id qcom_pdm_domains[] __maybe_unused = {
 	{ .compatible = "qcom,qcm2290", .data = qcm2290_domains, },
 	{ .compatible = "qcom,qcm6490", .data = sc7280_domains, },
 	{ .compatible = "qcom,qcs404", .data = qcs404_domains, },
+	{ .compatible = "qcom,qcs615", .data = qcs615_domains, },
 	{ .compatible = "qcom,sc7180", .data = sc7180_domains, },
 	{ .compatible = "qcom,sc7280", .data = sc7280_domains, },
 	{ .compatible = "qcom,sc8180x", .data = sc8180x_domains, },
-- 
2.34.1
Re: [PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings
Posted by Konrad Dybcio 2 weeks, 2 days ago
On 1/22/26 12:13 PM, Le Qi wrote:
> Add the QCS615 domain table to the in-kernel pd-mapper so that audio
> subsystems no longer rely on the userspace pd-mapper daemon.
> This enables proper initialization of ADSP and CDSP domains directly
> from the kernel.
> 
> Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
> ---
>  drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
> index 1bcbe69688d2..884a2db9bb08 100644
> --- a/drivers/soc/qcom/qcom_pd_mapper.c
> +++ b/drivers/soc/qcom/qcom_pd_mapper.c
> @@ -401,6 +401,14 @@ static const struct qcom_pdm_domain_data *qcs404_domains[] = {
>  	NULL,
>  };
>  
> +static const struct qcom_pdm_domain_data *qcs615_domains[] = {
> +	&adsp_audio_pd,
> +	&adsp_root_pd,
> +	&adsp_sensor_pd,
> +	&cdsp_root_pd,
> +	NULL,
> +};

No modem_xyz?

Konrad
Re: [PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings
Posted by Dmitry Baryshkov 2 weeks ago
On Thu, Jan 22, 2026 at 01:07:45PM +0100, Konrad Dybcio wrote:
> On 1/22/26 12:13 PM, Le Qi wrote:
> > Add the QCS615 domain table to the in-kernel pd-mapper so that audio
> > subsystems no longer rely on the userspace pd-mapper daemon.
> > This enables proper initialization of ADSP and CDSP domains directly
> > from the kernel.
> > 
> > Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
> > ---
> >  drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
> > index 1bcbe69688d2..884a2db9bb08 100644
> > --- a/drivers/soc/qcom/qcom_pd_mapper.c
> > +++ b/drivers/soc/qcom/qcom_pd_mapper.c
> > @@ -401,6 +401,14 @@ static const struct qcom_pdm_domain_data *qcs404_domains[] = {
> >  	NULL,
> >  };
> >  
> > +static const struct qcom_pdm_domain_data *qcs615_domains[] = {
> > +	&adsp_audio_pd,
> > +	&adsp_root_pd,
> > +	&adsp_sensor_pd,
> > +	&cdsp_root_pd,
> > +	NULL,
> > +};
> 
> No modem_xyz?

There definitely should be mpss_root_pd / mpss_wlan_pd, otherwise modem
will not load WiFi firmware.

-- 
With best wishes
Dmitry
Re: [PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings
Posted by Le Qi 1 week, 4 days ago
On 1/24/2026 4:03 AM, Dmitry Baryshkov wrote:
> On Thu, Jan 22, 2026 at 01:07:45PM +0100, Konrad Dybcio wrote:
>> On 1/22/26 12:13 PM, Le Qi wrote:
>>> Add the QCS615 domain table to the in-kernel pd-mapper so that audio
>>> subsystems no longer rely on the userspace pd-mapper daemon.
>>> This enables proper initialization of ADSP and CDSP domains directly
>>> from the kernel.
>>>
>>> Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
>>> ---
>>>   drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
>>>   1 file changed, 9 insertions(+)
>>>
>>> diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
>>> index 1bcbe69688d2..884a2db9bb08 100644
>>> --- a/drivers/soc/qcom/qcom_pd_mapper.c
>>> +++ b/drivers/soc/qcom/qcom_pd_mapper.c
>>> @@ -401,6 +401,14 @@ static const struct qcom_pdm_domain_data *qcs404_domains[] = {
>>>   	NULL,
>>>   };
>>>   
>>> +static const struct qcom_pdm_domain_data *qcs615_domains[] = {
>>> +	&adsp_audio_pd,
>>> +	&adsp_root_pd,
>>> +	&adsp_sensor_pd,
>>> +	&cdsp_root_pd,
>>> +	NULL,
>>> +};
>>
>> No modem_xyz?
> 
> There definitely should be mpss_root_pd / mpss_wlan_pd, otherwise modem
> will not load WiFi firmware.
> 

Hi Konrad and Dmitry, This board does not contain an MPSS. WiFi is 
handled by an independent WLAN module, which has its own internal PMU 
and is already supported.

-- 
Thx and BRs,
Le Qi
Re: [PATCH v1] arm64: qcom: pd-mapper: Add QCS615 power domain mappings
Posted by Konrad Dybcio 1 week, 4 days ago
On 1/27/26 9:03 AM, Le Qi wrote:
> On 1/24/2026 4:03 AM, Dmitry Baryshkov wrote:
>> On Thu, Jan 22, 2026 at 01:07:45PM +0100, Konrad Dybcio wrote:
>>> On 1/22/26 12:13 PM, Le Qi wrote:
>>>> Add the QCS615 domain table to the in-kernel pd-mapper so that audio
>>>> subsystems no longer rely on the userspace pd-mapper daemon.
>>>> This enables proper initialization of ADSP and CDSP domains directly
>>>> from the kernel.
>>>>
>>>> Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
>>>> ---
>>>>   drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++
>>>>   1 file changed, 9 insertions(+)
>>>>
>>>> diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
>>>> index 1bcbe69688d2..884a2db9bb08 100644
>>>> --- a/drivers/soc/qcom/qcom_pd_mapper.c
>>>> +++ b/drivers/soc/qcom/qcom_pd_mapper.c
>>>> @@ -401,6 +401,14 @@ static const struct qcom_pdm_domain_data *qcs404_domains[] = {
>>>>       NULL,
>>>>   };
>>>>   +static const struct qcom_pdm_domain_data *qcs615_domains[] = {
>>>> +    &adsp_audio_pd,
>>>> +    &adsp_root_pd,
>>>> +    &adsp_sensor_pd,
>>>> +    &cdsp_root_pd,
>>>> +    NULL,
>>>> +};
>>>
>>> No modem_xyz?
>>
>> There definitely should be mpss_root_pd / mpss_wlan_pd, otherwise modem
>> will not load WiFi firmware.
>>
> 
> Hi Konrad and Dmitry, This board does not contain an MPSS. WiFi is handled by an independent WLAN module, which has its own internal PMU and is already supported.

Please describe the full set for Talos-with-modem, the "S" variant
will work too, since any "extra" domains will simply remain inactive

Konrad