mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 04:03:58 +08:00
be33c28fad
Allow the associated smd edge to be described within the wcnss remoteproc node. This creates a bond between the remoteproc and the associated smd channels and devices, showing the interaction between the two parts and provides both a natural reference to the other. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Acked-by: Rob Herring <robh@kernel.org>
159 lines
3.8 KiB
Plaintext
159 lines
3.8 KiB
Plaintext
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 required subnode of the WCNSS PIL is used to describe the attached rf module
|
|
and its resource dependencies. It is described by the following properties:
|
|
|
|
- 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
|
|
|
|
|
|
The wcnss node can also have an subnode named "smd-edge" that describes the SMD
|
|
edge, channels and devices related to the WCNSS.
|
|
See ../soc/qcom/qcom,smd.txt for details on how to describe the SMD edge.
|
|
|
|
= 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>;
|
|
};
|
|
|
|
smd-edge {
|
|
interrupts = <0 142 1>;
|
|
|
|
qcom,ipc = <&apcs 8 17>;
|
|
qcom,smd-edge = <6>;
|
|
qcom,remote-pid = <4>;
|
|
|
|
label = "pronto";
|
|
|
|
wcnss {
|
|
compatible = "qcom,wcnss";
|
|
qcom,smd-channels = "WCNSS_CTRL";
|
|
|
|
qcom,mmio = <&pronto>;
|
|
|
|
bt {
|
|
compatible = "qcom,wcnss-bt";
|
|
};
|
|
};
|
|
};
|
|
};
|