2018-08-11 16:27:17

by Craig Tatlor

[permalink] [raw]
Subject: [PATCH] firmware: qcom: scm: Add sdm660 soc compatible

Add the compatible for SDM660.
This does not need clocks to do scm calls

Signed-off-by: Craig Tatlor <[email protected]>
---
Documentation/devicetree/bindings/firmware/qcom,scm.txt | 1 +
drivers/firmware/qcom_scm.c | 3 +++
2 files changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
index fcf6979c0b6d..499608fcc864 100644
--- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt
+++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
@@ -11,6 +11,7 @@ Required properties:
* "qcom,scm-msm8660" for MSM8660 platforms
* "qcom,scm-msm8690" for MSM8690 platforms
* "qcom,scm-msm8996" for MSM8996 platforms
+ * "qcom,scm-sdm660" for SDM660 platforms
* "qcom,scm-ipq4019" for IPQ4019 platforms
* "qcom,scm" for later processors (MSM8916, APQ8084, MSM8974, etc)
- clocks: One to three clocks may be required based on compatible.
diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
index e778af766fae..ee113ceb5d41 100644
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
@@ -603,6 +603,9 @@ static const struct of_device_id qcom_scm_dt_match[] = {
{ .compatible = "qcom,scm-msm8996",
.data = NULL, /* no clocks */
},
+ { .compatible = "qcom,scm-sdm660",
+ .data = NULL, /* no clocks */
+ },
{ .compatible = "qcom,scm-ipq4019",
.data = NULL, /* no clocks */
},
--
2.18.0



2018-08-14 20:59:44

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] firmware: qcom: scm: Add sdm660 soc compatible

On Sat, 11 Aug 2018 17:24:50 +0100, Craig Tatlor wrote:
> Add the compatible for SDM660.
> This does not need clocks to do scm calls
>
> Signed-off-by: Craig Tatlor <[email protected]>
> ---
> Documentation/devicetree/bindings/firmware/qcom,scm.txt | 1 +
> drivers/firmware/qcom_scm.c | 3 +++
> 2 files changed, 4 insertions(+)
>

Reviewed-by: Rob Herring <[email protected]>

2018-08-15 20:32:39

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] firmware: qcom: scm: Add sdm660 soc compatible

Quoting Craig Tatlor (2018-08-11 09:24:50)
> Add the compatible for SDM660.
> This does not need clocks to do scm calls
>
> Signed-off-by: Craig Tatlor <[email protected]>
> ---
> Documentation/devicetree/bindings/firmware/qcom,scm.txt | 1 +
> drivers/firmware/qcom_scm.c | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> index fcf6979c0b6d..499608fcc864 100644
> --- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> @@ -11,6 +11,7 @@ Required properties:
> * "qcom,scm-msm8660" for MSM8660 platforms
> * "qcom,scm-msm8690" for MSM8690 platforms
> * "qcom,scm-msm8996" for MSM8996 platforms
> + * "qcom,scm-sdm660" for SDM660 platforms
> * "qcom,scm-ipq4019" for IPQ4019 platforms
> * "qcom,scm" for later processors (MSM8916, APQ8084, MSM8974, etc)
> - clocks: One to three clocks may be required based on compatible.
> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
> index e778af766fae..ee113ceb5d41 100644
> --- a/drivers/firmware/qcom_scm.c
> +++ b/drivers/firmware/qcom_scm.c
> @@ -603,6 +603,9 @@ static const struct of_device_id qcom_scm_dt_match[] = {
> { .compatible = "qcom,scm-msm8996",
> .data = NULL, /* no clocks */
> },
> + { .compatible = "qcom,scm-sdm660",
> + .data = NULL, /* no clocks */
> + },

Do you need to update the driver? It looks like the scm driver should be
changed to just try and get all the clks it can and treat them as
optional clks, i.e. don't fail if they aren't actually listed in DT.
Then we can just have one qcom,scm compatible string in this driver but
we're free to add different compatibles to the binding for all the
different SoCs out there.


2018-09-24 17:41:04

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] firmware: qcom: scm: Add sdm660 soc compatible

On Sat 11 Aug 09:24 PDT 2018, Craig Tatlor wrote:

> Add the compatible for SDM660.
> This does not need clocks to do scm calls
>
> Signed-off-by: Craig Tatlor <[email protected]>

Andy picked my clock-rework patch for the scm driver, so we can now do:

compatible = "qcom,scm-sdm660", "qcom,scm";

and get the desired result.


Please respin your patch without the code update.

Regards,
Bjorn

> ---
> Documentation/devicetree/bindings/firmware/qcom,scm.txt | 1 +
> drivers/firmware/qcom_scm.c | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> index fcf6979c0b6d..499608fcc864 100644
> --- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
> @@ -11,6 +11,7 @@ Required properties:
> * "qcom,scm-msm8660" for MSM8660 platforms
> * "qcom,scm-msm8690" for MSM8690 platforms
> * "qcom,scm-msm8996" for MSM8996 platforms
> + * "qcom,scm-sdm660" for SDM660 platforms
> * "qcom,scm-ipq4019" for IPQ4019 platforms
> * "qcom,scm" for later processors (MSM8916, APQ8084, MSM8974, etc)
> - clocks: One to three clocks may be required based on compatible.
> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
> index e778af766fae..ee113ceb5d41 100644
> --- a/drivers/firmware/qcom_scm.c
> +++ b/drivers/firmware/qcom_scm.c
> @@ -603,6 +603,9 @@ static const struct of_device_id qcom_scm_dt_match[] = {
> { .compatible = "qcom,scm-msm8996",
> .data = NULL, /* no clocks */
> },
> + { .compatible = "qcom,scm-sdm660",
> + .data = NULL, /* no clocks */
> + },
> { .compatible = "qcom,scm-ipq4019",
> .data = NULL, /* no clocks */
> },
> --
> 2.18.0
>