From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Suman Anna <s-anna@ti.com>, John Stultz <john.stultz@linaro.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
Bjorn Andersson <bjorn.andersson@sonymobile.com>
Subject: [PATCH v2.1 1/9] dt-binding: remoteproc: Introduce Qualcomm WCNSS loader binding
Date: Thu, 21 Apr 2016 10:20:56 -0700 [thread overview]
Message-ID: <1461259256-28529-1-git-send-email-bjorn.andersson@linaro.org> (raw)
In-Reply-To: <1459222625-11440-2-git-send-email-bjorn.andersson@linaro.org>
From: Bjorn Andersson <bjorn.andersson@sonymobile.com>
The document defines the binding for a component that loads firmware for
and boots the Qualcomm WCNSS core.
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
Rob,
I got your Ack on v2, but I would like to make a small amendment before merging
this.
As we discussed related to the WiFi binding I should reference the mmio
registers by a phandle to a DT node specifying the two necessary register
blocks (ccu & dxe).
These two register blocks are part of the riva/pronto (the two major versions)
subsystem, that also contains the "pmu" register block, which is what I access
here.
Further more, the ccu block contains valuable information for debugging
purposes that the implementation of this binding would find useful.
I would therefor like to double this node (in the dts) as both the
riva/pronto-pil and the target for the mmio phandle reference from the WiFi
node.
This works fine, but unless using reg-names for defining the order or the regs
I get a messy ordering dependency between the two bindings. I do not know which
of the other 7-8 register blocks we will add for debugging, but with the below
change I can keep them in block order regardless of the order we implement them
in.
So, can I update the "reg" and add "reg-names" as below to the binding and
depend on reg-names for the ordering of reg? Or should I speculatively add all
ranges I know of to keep the order sane?
Regards,
Bjorn
Changes since v2:
- Modify definition of "reg"
- Add "reg-names"
- Update example
.../bindings/remoteproc/qcom,wcnss-pil.txt | 124 +++++++++++++++++++++
1 file changed, 124 insertions(+)
create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt
new file mode 100644
index 000000000000..2ddca9be893e
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.txt
@@ -0,0 +1,124 @@
+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 contain base address and size of riva/pronto PMU
+ registers
+
+- reg-names:
+ Usage: required
+ Value type: <stringlist>
+ Definition: must contain "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,state:
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: reference to the SMEM state used to indicate to WCNSS that
+ it should shut down
+
+- qcom,state-names:
+ Usage: optional
+ Value type: <stringlist>
+ Definition: should be "stop"
+
+= 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@fb21b000 {
+ compatible = "qcom,pronto-v2-pil";
+ reg = <0xfb21b000 0x3000>;
+ reg-names = "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,state = <&wcnss_smp2p_out 0>;
+ qcom,state-names = "stop";
+
+ 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>;
+ };
+};
--
2.5.0
next prev parent reply other threads:[~2016-04-21 17:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 3:36 [PATCH v2 0/9] Qualcomm WCNSS remoteproc Bjorn Andersson
2016-03-29 3:36 ` [PATCH v2 1/9] dt-binding: remoteproc: Introduce Qualcomm WCNSS loader binding Bjorn Andersson
2016-03-31 14:31 ` Rob Herring
2016-04-21 17:20 ` Bjorn Andersson [this message]
2016-04-22 16:22 ` [PATCH v2.1 " Rob Herring
[not found] ` <CAL_JsqLgehfMVXgDQdHaC6SJ7MU3oRKFn4ogLbtgp_31keX95g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-22 16:54 ` Bjorn Andersson
2016-03-29 3:36 ` [PATCH v2 2/9] remoteproc: core: Make the loaded resource table optional Bjorn Andersson
2016-03-29 3:36 ` [PATCH v2 3/9] remoteproc: Add additional crash reasons Bjorn Andersson
2016-03-29 3:37 ` [PATCH v2 4/9] remoteproc: Introduce Qualcomm WCNSS firmware loader Bjorn Andersson
2016-04-15 20:17 ` John Stultz
2016-04-16 0:26 ` Bjorn Andersson
2016-05-25 11:13 ` Stanimir Varbanov
2016-05-25 19:00 ` Bjorn Andersson
2016-03-29 3:37 ` [PATCH v2 5/9] ARM: dts: qcom: msm8974: Introduce the wcnss remoteproc node Bjorn Andersson
2016-03-29 6:03 ` kbuild test robot
2016-03-29 3:37 ` [PATCH v2 6/9] ARM: dts: qcom: apq8064: Add syscon for sic-non-secure Bjorn Andersson
2016-03-29 3:37 ` [PATCH v2 7/9] ARM: dts: qcom: apq8064: Add complete smsm node Bjorn Andersson
2016-03-29 3:37 ` [PATCH v2 8/9] ARM: dts: qcom: apq8064: Add smd node and all edges Bjorn Andersson
2016-03-29 3:37 ` [PATCH v2 9/9] ARM: dts: qcom: apq8064: Introduce wcnss remoteproc Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461259256-28529-1-git-send-email-bjorn.andersson@linaro.org \
--to=bjorn.andersson@linaro.org \
--cc=bjorn.andersson@sonymobile.com \
--cc=devicetree@vger.kernel.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=john.stultz@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=s-anna@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).