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:
Definition: must be one of:"qcom,riva-pil", "qcom,pronto-v1-pil", "qcom,pronto-v2-pil"
reg:
Usage: required
Value type:
Definition: must specify the base address and size of the CCU, DXE andPMU register blocks
reg-names:
Usage: required
Value type:
Definition: must be “ccu”, “dxe”, “pmu”interrupts-extended:
Usage: required
Value type:
Definition: must list the watchdog and fatal IRQs and may specify theready, handover and stop-ack IRQs
interrupt-names:
Usage: required
Value type:
Definition: should be “wdog”, “fatal”, optionally followed by “ready”,"handover", "stop-ack"
vddmx-supply:
vddcx-supply:
vddpx-supply:
Usage: required
Value type:
Definition: reference to the regulators to be held on behalf of thebooting of the WCNSS core
qcom,smem-states:
Usage: optional
Value type:
Definition: reference to the SMEM state used to indicate to WCNSS thatit should shut down
qcom,smem-state-names:
Usage: optional
Value type:
Definition: should be “stop”memory-region:
Usage: required
Value type:
Definition: reference to reserved-memory node for the remote processorsee ../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:
Definition: must be one of:"qcom,wcn3620", "qcom,wcn3660", "qcom,wcn3680"
clocks:
Usage: required
Value type:
Definition: should specify the xo clock and optionally the rf clockclock-names:
Usage: required
Value type:
Definition: should be “xo”, optionally followed by “rf”vddxo-supply:
vddrfa-supply:
vddpa-supply:
vdddig-supply:
Usage: required
Value type:
Definition: reference to the regulators to be held on behalf of thebooting 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";
};
};
};
};