dt-binding: remoteproc: Introduce Qualcomm WCNSS loader binding
authorBjorn Andersson <bjorn.andersson@sonymobile.com>
Sat, 13 Aug 2016 01:18:58 +0000 (18:18 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 18 Aug 2016 19:48:46 +0000 (12:48 -0700)
The document defines the binding for a component that loads firmware for
and boots the Qualcomm WCNSS core.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt
new file mode 100644 (file)
index 0000000..0d2361e
--- /dev/null
@@ -0,0 +1,132 @@
+Qualcomm WCNSS Peripheral Image Loader
+
+This document defines the binding for a component that loads and boots firmware
+on the Qualcomm WCNSS core.
+
+- compatible:
+       Usage: required
+       Value type: <string>
+       Definition: must be one of:
+                   "qcom,riva-pil",
+                   "qcom,pronto-v1-pil",
+                   "qcom,pronto-v2-pil"
+
+- reg:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: must specify the base address and size of the CCU, DXE and
+                   PMU register blocks
+
+- reg-names:
+       Usage: required
+       Value type: <stringlist>
+       Definition: must be "ccu", "dxe", "pmu"
+
+- interrupts-extended:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: must list the watchdog and fatal IRQs and may specify the
+                   ready, handover and stop-ack IRQs
+
+- interrupt-names:
+       Usage: required
+       Value type: <stringlist>
+       Definition: should be "wdog", "fatal", optionally followed by "ready",
+                   "handover", "stop-ack"
+
+- vddmx-supply:
+- vddcx-supply:
+- vddpx-supply:
+       Usage: required
+       Value type: <phandle>
+       Definition: reference to the regulators to be held on behalf of the
+                   booting of the WCNSS core
+
+- qcom,smem-states:
+       Usage: optional
+       Value type: <prop-encoded-array>
+       Definition: reference to the SMEM state used to indicate to WCNSS that
+                   it should shut down
+
+- qcom,smem-state-names:
+       Usage: optional
+       Value type: <stringlist>
+       Definition: should be "stop"
+
+- memory-region:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: reference to reserved-memory node for the remote processor
+                   see ../reserved-memory/reserved-memory.txt
+
+= SUBNODES
+A single subnode of the WCNSS PIL describes the attached rf module and its
+resource dependencies.
+
+- compatible:
+       Usage: required
+       Value type: <string>
+       Definition: must be one of:
+                   "qcom,wcn3620",
+                   "qcom,wcn3660",
+                   "qcom,wcn3680"
+
+- clocks:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: should specify the xo clock and optionally the rf clock
+
+- clock-names:
+       Usage: required
+       Value type: <stringlist>
+       Definition: should be "xo", optionally followed by "rf"
+
+- vddxo-supply:
+- vddrfa-supply:
+- vddpa-supply:
+- vdddig-supply:
+       Usage: required
+       Value type: <phandle>
+       Definition: reference to the regulators to be held on behalf of the
+                   booting of the WCNSS core
+
+= EXAMPLE
+The following example describes the resources needed to boot control the WCNSS,
+with attached WCN3680, as it is commonly found on MSM8974 boards.
+
+pronto@fb204000 {
+       compatible = "qcom,pronto-v2-pil";
+       reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
+       reg-names = "ccu", "dxe", "pmu";
+
+       interrupts-extended = <&intc 0 149 1>,
+                             <&wcnss_smp2p_slave 0 0>,
+                             <&wcnss_smp2p_slave 1 0>,
+                             <&wcnss_smp2p_slave 2 0>,
+                             <&wcnss_smp2p_slave 3 0>;
+       interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
+
+       vddmx-supply = <&pm8841_s1>;
+       vddcx-supply = <&pm8841_s2>;
+       vddpx-supply = <&pm8941_s3>;
+
+       qcom,smem-states = <&wcnss_smp2p_out 0>;
+       qcom,smem-state-names = "stop";
+
+       memory-region = <&wcnss_region>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&wcnss_pin_a>;
+
+       iris {
+               compatible = "qcom,wcn3680";
+
+               clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>;
+               clock-names = "xo", "rf";
+
+               vddxo-supply = <&pm8941_l6>;
+               vddrfa-supply = <&pm8941_l11>;
+               vddpa-supply = <&pm8941_l19>;
+               vdddig-supply = <&pm8941_s3>;
+       };
+};