diff mbox series

[v2,1/2] dt-bindings: remoteproc: qcom: pas: Add SC8180X adsp, cdsp and mpss

Message ID 20210608174944.2045215-1-bjorn.andersson@linaro.org
State New
Headers show
Series [v2,1/2] dt-bindings: remoteproc: qcom: pas: Add SC8180X adsp, cdsp and mpss | expand

Commit Message

Bjorn Andersson June 8, 2021, 5:49 p.m. UTC
Add compatibles for the Audio DSP, Compute DSP and Modem subsystem found
in the Qualcomm SC8180x to the Peripheral Authentication Service
remoteproc binding.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

---

Changes since v1:
- "Rebased" on yaml conversion

 .../devicetree/bindings/remoteproc/qcom,adsp.yaml     | 11 +++++++++++
 1 file changed, 11 insertions(+)

-- 
2.29.2

Comments

Rob Herring (Arm) June 18, 2021, 8:50 p.m. UTC | #1
On Tue, 08 Jun 2021 10:49:43 -0700, Bjorn Andersson wrote:
> Add compatibles for the Audio DSP, Compute DSP and Modem subsystem found

> in the Qualcomm SC8180x to the Peripheral Authentication Service

> remoteproc binding.

> 

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> ---

> 

> Changes since v1:

> - "Rebased" on yaml conversion

> 

>  .../devicetree/bindings/remoteproc/qcom,adsp.yaml     | 11 +++++++++++

>  1 file changed, 11 insertions(+)

> 


Acked-by: Rob Herring <robh@kernel.org>
Manivannan Sadhasivam June 25, 2021, 4:47 a.m. UTC | #2
On Tue, Jun 08, 2021 at 10:49:44AM -0700, Bjorn Andersson wrote:
> The Qualcomm SC8180X has the typical ADSP, CDSP and MPSS remote
> processors operated using the PAS interface, add support for these.
> 
> Attempts to configuring mss.lvl is failing, so a new adsp_data is
> provided that skips this resource, for now.
> 

What is the impact of this skipped resource? I guess it is enabled by
the bootloader so we can't change it in runtime?

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Given that adsp remoteproc works without configuring mss power domain,

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani

> ---
> 
> Changes since v1:
> - None
> 
>  drivers/remoteproc/qcom_q6v5_pas.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index b921fc26cd04..a79bee901e9b 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> @@ -689,6 +689,25 @@ static const struct adsp_data mpss_resource_init = {
>  	.ssctl_id = 0x12,
>  };
>  
> +static const struct adsp_data sc8180x_mpss_resource = {
> +	.crash_reason_smem = 421,
> +	.firmware_name = "modem.mdt",
> +	.pas_id = 4,
> +	.has_aggre2_clk = false,
> +	.auto_boot = false,
> +	.active_pd_names = (char*[]){
> +		"load_state",
> +		NULL
> +	},
> +	.proxy_pd_names = (char*[]){
> +		"cx",
> +		NULL
> +	},
> +	.ssr_name = "mpss",
> +	.sysmon_name = "modem",
> +	.ssctl_id = 0x12,
> +};
> +
>  static const struct adsp_data slpi_resource_init = {
>  		.crash_reason_smem = 424,
>  		.firmware_name = "slpi.mdt",
> @@ -811,6 +830,9 @@ static const struct of_device_id adsp_of_match[] = {
>  	{ .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init },
>  	{ .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init },
>  	{ .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init},
> +	{ .compatible = "qcom,sc8180x-adsp-pas", .data = &sm8150_adsp_resource},
> +	{ .compatible = "qcom,sc8180x-cdsp-pas", .data = &sm8150_cdsp_resource},
> +	{ .compatible = "qcom,sc8180x-mpss-pas", .data = &sc8180x_mpss_resource},
>  	{ .compatible = "qcom,sdm845-adsp-pas", .data = &adsp_resource_init},
>  	{ .compatible = "qcom,sdm845-cdsp-pas", .data = &cdsp_resource_init},
>  	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource},
> -- 
> 2.29.2
>
Bjorn Andersson June 25, 2021, 10:42 p.m. UTC | #3
On Thu 24 Jun 23:47 CDT 2021, Manivannan Sadhasivam wrote:

> On Tue, Jun 08, 2021 at 10:49:44AM -0700, Bjorn Andersson wrote:
> > The Qualcomm SC8180X has the typical ADSP, CDSP and MPSS remote
> > processors operated using the PAS interface, add support for these.
> > 
> > Attempts to configuring mss.lvl is failing, so a new adsp_data is
> > provided that skips this resource, for now.
> > 
> 
> What is the impact of this skipped resource? I guess it is enabled by
> the bootloader so we can't change it in runtime?
> 

The reason for voting for the "proxy" resources is such that if apss
power collapses we might cut the power before the firmware has had a
chance to tell the RPMh to keep the power on.

So, there is a chance that an unfortunately timed power collapse might
cause the modem to loose power, but given that I can't poke mss.lvl I
would expect that this is handled in some other way - if necessary...

> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> Given that adsp remoteproc works without configuring mss power domain,
> 
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> 

Thank you!

Regards,
Bjorn

> Thanks,
> Mani
> 
> > ---
> > 
> > Changes since v1:
> > - None
> > 
> >  drivers/remoteproc/qcom_q6v5_pas.c | 22 ++++++++++++++++++++++
> >  1 file changed, 22 insertions(+)
> > 
> > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> > index b921fc26cd04..a79bee901e9b 100644
> > --- a/drivers/remoteproc/qcom_q6v5_pas.c
> > +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> > @@ -689,6 +689,25 @@ static const struct adsp_data mpss_resource_init = {
> >  	.ssctl_id = 0x12,
> >  };
> >  
> > +static const struct adsp_data sc8180x_mpss_resource = {
> > +	.crash_reason_smem = 421,
> > +	.firmware_name = "modem.mdt",
> > +	.pas_id = 4,
> > +	.has_aggre2_clk = false,
> > +	.auto_boot = false,
> > +	.active_pd_names = (char*[]){
> > +		"load_state",
> > +		NULL
> > +	},
> > +	.proxy_pd_names = (char*[]){
> > +		"cx",
> > +		NULL
> > +	},
> > +	.ssr_name = "mpss",
> > +	.sysmon_name = "modem",
> > +	.ssctl_id = 0x12,
> > +};
> > +
> >  static const struct adsp_data slpi_resource_init = {
> >  		.crash_reason_smem = 424,
> >  		.firmware_name = "slpi.mdt",
> > @@ -811,6 +830,9 @@ static const struct of_device_id adsp_of_match[] = {
> >  	{ .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init },
> >  	{ .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init },
> >  	{ .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init},
> > +	{ .compatible = "qcom,sc8180x-adsp-pas", .data = &sm8150_adsp_resource},
> > +	{ .compatible = "qcom,sc8180x-cdsp-pas", .data = &sm8150_cdsp_resource},
> > +	{ .compatible = "qcom,sc8180x-mpss-pas", .data = &sc8180x_mpss_resource},
> >  	{ .compatible = "qcom,sdm845-adsp-pas", .data = &adsp_resource_init},
> >  	{ .compatible = "qcom,sdm845-cdsp-pas", .data = &cdsp_resource_init},
> >  	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource},
> > -- 
> > 2.29.2
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
index 6c11812385ca..21a541859c7e 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
@@ -25,6 +25,9 @@  properties:
       - qcom,qcs404-cdsp-pas
       - qcom,qcs404-wcss-pas
       - qcom,sc7180-mpss-pas
+      - qcom,sc8180x-adsp-pas
+      - qcom,sc8180x-cdsp-pas
+      - qcom,sc8180x-mpss-pas
       - qcom,sdm845-adsp-pas
       - qcom,sdm845-cdsp-pas
       - qcom,sdx55-mpss-pas
@@ -143,6 +146,9 @@  allOf:
               - qcom,msm8998-adsp-pas
               - qcom,qcs404-adsp-pas
               - qcom,qcs404-wcss-pas
+              - qcom,sc8180x-adsp-pas
+              - qcom,sc8180x-cdsp-pas
+              - qcom,sc8180x-mpss-pas
               - qcom,sdm845-adsp-pas
               - qcom,sdm845-cdsp-pas
               - qcom,sm8150-adsp-pas
@@ -249,6 +255,8 @@  allOf:
               - qcom,qcs404-adsp-pas
               - qcom,qcs404-cdsp-pas
               - qcom,qcs404-wcss-pas
+              - qcom,sc8180x-adsp-pas
+              - qcom,sc8180x-cdsp-pas
               - qcom,sdm845-adsp-pas
               - qcom,sdm845-cdsp-pas
               - qcom,sm8150-adsp-pas
@@ -283,6 +291,7 @@  allOf:
           contains:
             enum:
               - qcom,sc7180-mpss-pas
+              - qcom,sc8180x-mpss-pas
               - qcom,sdx55-mpss-pas
               - qcom,sm8150-mpss-pas
               - qcom,sm8350-mpss-pas
@@ -430,6 +439,8 @@  allOf:
         compatible:
           contains:
             enum:
+              - qcom,sc8180x-adsp-pas
+              - qcom,sc8180x-cdsp-pas
               - qcom,sm8150-slpi-pas
               - qcom,sm8250-adsp-pas
               - qcom,sm8250-slpi-pas