108 lines
2.7 KiB
Plaintext
108 lines
2.7 KiB
Plaintext
Qualcomm Shared Memory
|
|
|
|
[Root level node]
|
|
Required properties:
|
|
-compatible : should be "qcom,smem"
|
|
-reg : the location and size of smem, the irq register base memory, and
|
|
optionally any auxiliary smem areas
|
|
-reg-names : "smem" - string to identify the shared memory region
|
|
"irq-reg-base" - string to identify the irq register region
|
|
"aux-mem1", "aux-mem2", "aux-mem3", ... - optional strings to
|
|
identify any auxiliary shared memory regions
|
|
|
|
[Second level nodes]
|
|
|
|
qcom,smd
|
|
Required properties:
|
|
-compatible : should be "qcom,smd"
|
|
-qcom,smd-edge : the smd edge
|
|
-qcom,smd-irq-offset : the offset into the irq register base memory for sending
|
|
interrupts
|
|
-qcom,smd-irq-bitmask : the sending irq bitmask
|
|
-interrupts : the receiving interrupt line
|
|
|
|
Optional properties:
|
|
-qcom,pil-string : the name to use when loading this edge
|
|
-qcom,irq-no-suspend: configure the incoming irq line as active during suspend
|
|
|
|
qcom,smsm
|
|
Required properties:
|
|
-compatible : should be "qcom,smsm"
|
|
-qcom,smsm-edge : the smsm edge
|
|
-qcom,smsm-irq-offset : the offset into the irq register base memory for sending
|
|
interrupts
|
|
-qcom,smsm-irq-bitmask : the sending irq bitmask
|
|
-interrupts : the receiving interrupt line
|
|
|
|
|
|
Example:
|
|
|
|
qcom,smem@fa00000 {
|
|
compatible = "qcom,smem";
|
|
reg = <0xfa00000 0x200000>,
|
|
<0xfa006000 0x1000>,
|
|
<0xfc428000 0x4000>;
|
|
reg-names = "smem", "irq-reg-base", "aux-mem1";
|
|
|
|
qcom,smd-modem {
|
|
compatible = "qcom,smd";
|
|
qcom,smd-edge = <0>;
|
|
qcom,smd-irq-offset = <0x8>;
|
|
qcom,smd-irq-bitmask = <0x1000>;
|
|
qcom,pil-string = "modem";
|
|
interrupts = <0 25 1>;
|
|
};
|
|
|
|
qcom,smsm-modem {
|
|
compatible = "qcom,smsm";
|
|
qcom,smsm-edge = <0>;
|
|
qcom,smsm-irq-offset = <0x8>;
|
|
qcom,smsm-irq-bitmask = <0x2000>;
|
|
interrupts = <0 26 1>;
|
|
};
|
|
|
|
qcom,smd-adsp {
|
|
compatible = "qcom,smd";
|
|
qcom,smd-edge = <1>;
|
|
qcom,smd-irq-offset = <0x8>;
|
|
qcom,smd-irq-bitmask = <0x100>;
|
|
qcom,pil-string = "adsp";
|
|
interrupts = <0 156 1>;
|
|
};
|
|
|
|
qcom,smsm-adsp {
|
|
compatible = "qcom,smsm";
|
|
qcom,smsm-edge = <1>;
|
|
qcom,smsm-irq-offset = <0x8>;
|
|
qcom,smsm-irq-bitmask = <0x200>;
|
|
interrupts = <0 157 1>;
|
|
};
|
|
|
|
qcom,smd-wcnss {
|
|
compatible = "qcom,smd";
|
|
qcom,smd-edge = <6>;
|
|
qcom,smd-irq-offset = <0x8>;
|
|
qcom,smd-irq-bitmask = <0x20000>;
|
|
qcom,pil-string = "wcnss";
|
|
interrupts = <0 142 1>;
|
|
};
|
|
|
|
qcom,smsm-wcnss {
|
|
compatible = "qcom,smsm";
|
|
qcom,smsm-edge = <6>;
|
|
qcom,smsm-irq-offset = <0x8>;
|
|
qcom,smsm-irq-bitmask = <0x80000>;
|
|
interrupts = <0 144 1>;
|
|
};
|
|
|
|
qcom,smd-rpm {
|
|
compatible = "qcom,smd";
|
|
qcom,smd-edge = <15>;
|
|
qcom,smd-irq-offset = <0x8>;
|
|
qcom,smd-irq-bitmask = <0x1>;
|
|
interrupts = <0 168 1>;
|
|
qcom,irq-no-syspend;
|
|
};
|
|
};
|
|
|