79 lines
2.1 KiB
Text
79 lines
2.1 KiB
Text
QTI MPM interrupt controller
|
|
MPM (MSM sleep Power Manager) is QTI's platform parent
|
|
interrupt controller. It manages subsystem wakeups and
|
|
resources during sleep. This driver marks the wakeup
|
|
interrupts in APSS such that it monitors the interrupts
|
|
when the system is asleep, wakes up the APSS when one
|
|
of these interrupts occur and replays it to the subsystem
|
|
interrupt controller after it becomes operational.
|
|
|
|
Platform interrupt controller MPM is next in hierarchy,
|
|
followed by others.
|
|
|
|
This defines 2 interrupt controllers to monitor the
|
|
interrupts when system is asleep:
|
|
|
|
One to monitor the wakeup capable gic interrupts called
|
|
wakegic.
|
|
|
|
Properties:
|
|
|
|
- compatible:
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Should contain "qcom,mpm" and the respective
|
|
target compatible flag from below ones.
|
|
"qcom,mpm-bengal"
|
|
"qcom,mpm-khaje"
|
|
"qcom,mpm-monaco"
|
|
"qcom,mpm-scuba"
|
|
"qcom,mpm-sa410m"
|
|
"qcom,mpm-qcs405"
|
|
"qcom,mpm-trinket"
|
|
|
|
- interrupts:
|
|
Usage: required
|
|
Value type: <prop-encoded-array>
|
|
Definition: should specify the IRQ used by remote processor to
|
|
wakeup APSS.
|
|
|
|
- interrupt-parent:
|
|
Usage: required
|
|
Value type: <phandle>
|
|
Definition: Specifies the interrupt parent necessary for
|
|
hierarchical domain to operate.
|
|
|
|
- interrupt-controller:
|
|
Usage: required
|
|
Value type: <bool>
|
|
Definition: Identifies the node as an interrupt controller.
|
|
|
|
- reg:
|
|
Usage: required
|
|
Value type: <prop-encoded-array>
|
|
Definition: Specifies the base physical address to trigger an
|
|
interrupt into remote processor.
|
|
|
|
-reg-names:
|
|
Usage: required
|
|
Value type: <string>, <string>
|
|
Definition: Specifies the address field names.
|
|
|
|
- qcom,num-mpm-irqs:
|
|
Usage: optional
|
|
Value type: <value>
|
|
Defination: Specifies the number of interrupts supported.
|
|
|
|
Example:
|
|
|
|
mpm: interrupt-controller@45f01b8 {
|
|
compatible = "qcom,mpm", "qcom,mpm-khaje";
|
|
interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>;
|
|
reg = <0x45f01b8 0x1000>,
|
|
<0xb011008 0x4>, /* MSM_APCS_GCC_BASE 4K */
|
|
<0xf121000 0x1000>; /* Timer Frame Register */
|
|
reg-names = "vmpm", "ipc", "timer";
|
|
interrupt-controller;
|
|
interrupt-parent = <&intc>;
|
|
#interrupt-cells = <2>;
|
|
};
|