forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.4 KiB
177 lines
4.4 KiB
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" |
|
|
|
- firmware-name: |
|
Usage: optional |
|
Value type: <string> |
|
Definition: must list the relative firmware image path for the |
|
WCNSS core. Defaults to "wcnss.mdt". |
|
|
|
- vddmx-supply: (deprecated for qcom,pronto-v1/2-pil) |
|
- vddcx-supply: (deprecated for qcom,pronto-v1/2-pil) |
|
- vddpx-supply: |
|
Usage: required |
|
Value type: <phandle> |
|
Definition: reference to the regulators to be held on behalf of the |
|
booting of the WCNSS core |
|
|
|
- power-domains: |
|
Usage: required (for qcom,pronto-v1/2-pil) |
|
Value type: <phandle> |
|
Definition: reference to the power domains to be held on behalf of the |
|
booting of the WCNSS core |
|
|
|
- power-domain-names: |
|
Usage: required (for qcom,pronto-v1/2-pil) |
|
Value type: <stringlist> |
|
Definition: must be "cx", "mx" |
|
|
|
- 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,wcn3660b", |
|
"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"; |
|
|
|
power-domains = <&rpmpd MSM8974_VDDCX>, <&rpmpd MSM8974_VDDMX>; |
|
power-domain-names = "cx", "mx"; |
|
|
|
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"; |
|
}; |
|
}; |
|
}; |
|
};
|
|
|