diff mbox

[RFC,2/3] dt-binding: remoteproc: Introduce DT binding for Qualcomm slpi subsystem.

Message ID 1484229217-23364-3-git-send-email-akdwived@codeaurora.org (mailing list archive)
State Changes Requested
Headers show

Commit Message

Dwivedi, Avaneesh Kumar (avani) Jan. 12, 2017, 1:53 p.m. UTC
This document defines the binding for a component that loads firmware
and control the life cycle of the Qualcomm slpi core.

Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
---
 .../devicetree/bindings/remoteproc/qcom,slpi.txt   | 88 ++++++++++++++++++++++
 1 file changed, 88 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt

Comments

Bjorn Andersson Jan. 12, 2017, 6:39 p.m. UTC | #1
On Thu 12 Jan 05:53 PST 2017, Avaneesh Kumar Dwivedi wrote:

> This document defines the binding for a component that loads firmware
> and control the life cycle of the Qualcomm slpi core.

Rather than duplicating the adsp binding I think we should just amend
the adsp binding - and probably rename the file.

> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt b/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt
[..]
> += EXAMPLE
[..]
> +		clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
> +				<&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
> +		clock-names = "xo",
> +					"aggre2";
> +

I still haven't managed to acquire the block diagram for this chip and
we have ongoing msm_bus discussions, but I believe we want something
representing a bus to control this clock.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dwivedi, Avaneesh Kumar (avani) Jan. 16, 2017, 6:01 a.m. UTC | #2
On 1/13/2017 12:09 AM, Bjorn Andersson wrote:
> On Thu 12 Jan 05:53 PST 2017, Avaneesh Kumar Dwivedi wrote:
>
>> This document defines the binding for a component that loads firmware
>> and control the life cycle of the Qualcomm slpi core.
> Rather than duplicating the adsp binding I think we should just amend
> the adsp binding - and probably rename the file.
Yes, missed to amend the mention of adsp core, some places.
>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt b/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt
> [..]
>> += EXAMPLE
> [..]
>> +		clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
>> +				<&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
>> +		clock-names = "xo",
>> +					"aggre2";
>> +
> I still haven't managed to acquire the block diagram for this chip and
> we have ongoing msm_bus discussions, but I believe we want something
> representing a bus to control this clock.
Do you mean any "NOC clock" need to be separately turned on by a bus 
driver not by the device driver itself?
>
> Regards,
> Bjorn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt b/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt
new file mode 100644
index 0000000..51dc64f
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,slpi.txt
@@ -0,0 +1,88 @@ 
+Qualcomm SLPI Peripheral Image Loader
+
+This document defines the binding for a component that loads and boots firmware
+on the Qualcomm ADSP Hexagon core.
+
+- compatible:
+	Usage: required
+	Value type: <string>
+	Definition: must be:
+		    "qcom,msm8996-adsp-pil"
+
+- interrupts-extended:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: must list the watchdog, fatal IRQs ready, handover and
+		    stop-ack IRQs
+
+- interrupt-names:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
+
+- clocks:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: reference to the xo and aggre2_noc clock to be held on behalf of the
+		    booting slpi core
+
+- clock-names:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be "xo" and "aggre2_noc"
+
+- cx-supply:
+- px-supply:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to the regulators to be held on behalf of the
+		    booting slpi core
+
+- memory-region:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to the reserved-memory for the SLPI
+
+- qcom,smem-states:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to the smem state for requesting the SLPI to
+		    shut down
+
+- qcom,smem-state-names:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be "stop"
+
+
+= EXAMPLE
+The following example describes the resources needed to boot control the
+SLPI, as it is found on MSM8996 boards.
+
+	adsp {
+		compatible = "qcom,msm8996-slpi-pil";
+
+		interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
+				      <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+				      <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+				      <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+				      <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+		interrupt-names = "wdog",
+				  "fatal",
+				  "ready",
+				  "handover",
+				  "stop-ack";
+
+		clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
+				<&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
+		clock-names = "xo",
+					"aggre2";
+
+		vdd_cx-supply = <&pm8994_l26_corner>;
+		vdd_px-supply = <&pm8994_lvs2>;
+
+		memory-region = <&slpi_region>;
+
+		qcom,smem-states = <&slpi_smp2p_out 0>;
+		qcom,smem-state-names = "stop";
+	};