diff mbox

[v3,1/8] dt/bindings: firmware: Add Qualcomm SCM binding

Message ID 1462402245-18295-2-git-send-email-andy.gross@linaro.org
State Accepted
Commit ece85839d228d8b2948a69b6f9929266bb8d5901
Headers show

Commit Message

Andy Gross May 4, 2016, 10:50 p.m. UTC
This patch adds the device tree support for the Qualcomm SCM firmware.

Signed-off-by: Andy Gross <andy.gross@linaro.org>

---
 .../devicetree/bindings/firmware/qcom,scm.txt      | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/firmware/qcom,scm.txt

-- 
1.9.1

Comments

Andy Gross May 5, 2016, 11:16 p.m. UTC | #1
On 5 May 2016 at 17:17, Rob Herring <robh@kernel.org> wrote:
> On Wed, May 04, 2016 at 05:50:38PM -0500, Andy Gross wrote:

>> This patch adds the device tree support for the Qualcomm SCM firmware.

>>

>> Signed-off-by: Andy Gross <andy.gross@linaro.org>

>> ---

>>  .../devicetree/bindings/firmware/qcom,scm.txt      | 26 ++++++++++++++++++++++

>>  1 file changed, 26 insertions(+)

>>  create mode 100644 Documentation/devicetree/bindings/firmware/qcom,scm.txt

>>

>> diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt

>> new file mode 100644

>> index 0000000..ee7cd12

>> --- /dev/null

>> +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt

>> @@ -0,0 +1,26 @@

>> +QCOM Secure Channel Manager (SCM)

>> +

>> +Qualcomm processors include an interface to communicate to the secure firmware.

>> +This interface allows for clients to request different types of actions.  These

>> +can include CPU power up/down, HDCP requests, loading of firmware, and other

>> +assorted actions.

>> +

>> +Required properties:

>> +- compatible: must contain one of the following:

>> + * "qcom,scm-a-family" for A family Qualcomm processors (APQ8064, MSM8960, etc)

>> + * "qcom,scm" for B family and later processors (MSM8916, APQ8084, MSM8974, etc)

>> +- clocks: One to three clocks may be required based on compatible.

>> + * Only core clock required for "qcom,scm-apq8064"

>

> This is not a compatible string. What happened to the chip ones. I

> thought we decided on chip specific plus one of the above ones.


Stephen specifically didn't like the chip ones due to churn.  We'd
have to add compat tags every time we got a new chip.... which is kind
of frequent.  So I opted for defining one compat for older A family
chips that require only 1 clock.  The qcom,scm would cover the newer
chips.

And it looks like i left a reference to apq8064.  That needs to be
replaced with a-family.  Sorry for that confusion.

Regards,

Andy
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
new file mode 100644
index 0000000..ee7cd12
--- /dev/null
+++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
@@ -0,0 +1,26 @@ 
+QCOM Secure Channel Manager (SCM)
+
+Qualcomm processors include an interface to communicate to the secure firmware.
+This interface allows for clients to request different types of actions.  These
+can include CPU power up/down, HDCP requests, loading of firmware, and other
+assorted actions.
+
+Required properties:
+- compatible: must contain one of the following:
+ * "qcom,scm-a-family" for A family Qualcomm processors (APQ8064, MSM8960, etc)
+ * "qcom,scm" for B family and later processors (MSM8916, APQ8084, MSM8974, etc)
+- clocks: One to three clocks may be required based on compatible.
+ * Only core clock required for "qcom,scm-apq8064"
+ * Core, iface, and bus clocks required for "qcom,scm"
+- clock-names: Must contain "core" for the core clock, "iface" for the interface
+  clock and "bus" for the bus clock per the requirements of the compatible.
+
+Example for MSM8916:
+
+	firmware {
+		scm {
+			compatible = "qcom,scm";
+			clocks = <&gcc GCC_CRYPTO_CLK> , <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
+			clock-names = "core", "bus", "iface";
+		};
+	};