123 lines
3.3 KiB
Plaintext
123 lines
3.3 KiB
Plaintext
MSM Shared Memory
|
|
|
|
[Root level node]
|
|
Required properties:
|
|
-compatible : should be "qcom,smem"
|
|
-reg : the location and size of smem (optional)
|
|
the irq register base address (required)
|
|
the location and size of auxiliary smem areas (optional)
|
|
the smem target info either from IMEM or register (optional)
|
|
-reg-names : "smem" - optional 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
|
|
"smem_targ_info_imem" - optional string to identify
|
|
the smem target info from IMEM memory
|
|
"smem_targ_info_reg" - optional string to identify
|
|
the smem target info from registers
|
|
one of the optional register names smem_targ_info_imem,
|
|
smem_targ_info_reg, or smem is required.
|
|
|
|
Optional properties:
|
|
-qcom,mpu-enabled : boolean value indicating that Memory Protection Unit based
|
|
security is enabled on the "smem" shared memory region
|
|
|
|
[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
|
|
-label : the name of the remote subsystem for this edge
|
|
|
|
Optional properties:
|
|
-qcom,irq-no-suspend: configure the incoming irq line as active during suspend
|
|
-qcom,not-loadable : indicates this processor cannot be loaded by PIL
|
|
|
|
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>;
|
|
interrupts = <0 25 1>;
|
|
label = "modem";
|
|
};
|
|
|
|
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>;
|
|
interrupts = <0 156 1>;
|
|
label = "adsp";
|
|
};
|
|
|
|
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>;
|
|
interrupts = <0 142 1>;
|
|
label = "wcnss";
|
|
};
|
|
|
|
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>;
|
|
label = "rpm";
|
|
qcom,irq-no-syspend;
|
|
qcom,not-loadable;
|
|
};
|
|
};
|
|
|