M7350/kernel/Documentation/devicetree/bindings/arm/msm/smem.txt

123 lines
3.3 KiB
Plaintext
Raw Normal View History

2024-09-09 08:57:42 +00:00
MSM Shared Memory
2024-09-09 08:52:07 +00:00
[Root level node]
Required properties:
-compatible : should be "qcom,smem"
2024-09-09 08:57:42 +00:00
-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
2024-09-09 08:52:07 +00:00
"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
2024-09-09 08:57:42 +00:00
"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
2024-09-09 08:52:07 +00:00
[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
2024-09-09 08:57:42 +00:00
-label : the name of the remote subsystem for this edge
2024-09-09 08:52:07 +00:00
Optional properties:
-qcom,irq-no-suspend: configure the incoming irq line as active during suspend
2024-09-09 08:57:42 +00:00
-qcom,not-loadable : indicates this processor cannot be loaded by PIL
2024-09-09 08:52:07 +00:00
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>;
2024-09-09 08:57:42 +00:00
label = "modem";
2024-09-09 08:52:07 +00:00
};
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>;
2024-09-09 08:57:42 +00:00
label = "adsp";
2024-09-09 08:52:07 +00:00
};
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>;
2024-09-09 08:57:42 +00:00
label = "wcnss";
2024-09-09 08:52:07 +00:00
};
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>;
2024-09-09 08:57:42 +00:00
label = "rpm";
2024-09-09 08:52:07 +00:00
qcom,irq-no-syspend;
2024-09-09 08:57:42 +00:00
qcom,not-loadable;
2024-09-09 08:52:07 +00:00
};
};