drivers/soc/qcom/qcom_pd_mapper.c | 9 +++++++++ 1 file changed, 9 insertions(+)
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
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
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
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
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
© 2016 - 2026 Red Hat, Inc.