mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 16:16:15 -04:00
bindings: Add dt-bindings for pdc controller on qc SoCs
Add documentation about pdc interrupt controller node
and dt-bindings. This is taken from msm-4.14 commit
("aaa3cbba7c").
Change-Id: Id31d0b85cd2ccbe535e94595db7e60d3466d1fdc
This commit is contained in:
parent
5098aa4ebf
commit
959a976ceb
1 changed files with 69 additions and 0 deletions
69
bindings/interrupt-controller/qti,pdc.txt
Normal file
69
bindings/interrupt-controller/qti,pdc.txt
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
QTI PDC interrupt controller
|
||||
|
||||
PDC is QTI's platform parent interrupt controller that serves as wakeup source.
|
||||
|
||||
Newer QTI SOCs are replacing MPM (MSM sleep Power Manager) with PDC (Power
|
||||
Domain Controller) to manage subsystem wakeups and resources during sleep.
|
||||
This driver marks the wakeup interrupts in APSS PDC 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.
|
||||
|
||||
Earlier MPM architecture used arch-extension of GIC interrupt
|
||||
controller to mark enabled wake-up interrupts and monitor these when the
|
||||
system goes to sleep. Since the arch-extensions are no-longer available
|
||||
on newer kernel versions, this driver is implemented as hierarchical irq
|
||||
domain. GIC is parent interrupt controller at the highest level.
|
||||
Platform interrupt controller PDC is next in hierarchy, followed by others.
|
||||
This driver only configures the interrupts, does not handle them.
|
||||
|
||||
PDC interrupt configuration involves programming of 2 set of registers:
|
||||
IRQ_ENABLE_BANK - Enable the irq
|
||||
IRQ_i_CFG - Configure the interrupt i
|
||||
|
||||
Properties:
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should contain one of -
|
||||
"qcom,pdc-sdm845",
|
||||
"qcom,pdc-sdmmagpie",
|
||||
"qcom,pdc-sm6150",
|
||||
"qcom,pdc-sm8150",
|
||||
"qcom,pdc-sdxprairie",
|
||||
"qcom,pdc-atoll"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: Specifies the base physical address for PDC hardware
|
||||
block for DRV2.
|
||||
|
||||
- interrupt-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Specifies the number of cells needed to encode an interrupt source.
|
||||
Value must be 3.
|
||||
The encoding of these cells are same as described in
|
||||
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt
|
||||
|
||||
- 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.
|
||||
|
||||
Example:
|
||||
|
||||
pdcgic: interrupt-controller@0xb220000{
|
||||
compatible = "qcom,pdc-sdm845";
|
||||
reg = <0xb220000 0x30000>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupt-controller;
|
||||
};
|
||||
Loading…
Reference in a new issue