forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: interrupt-controller: Add Qualcomm MPM support
It adds DT binding support for Qualcomm MPM interrupt controller. Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
- Loading branch information
Showing
1 changed file
with
96 additions
and
0 deletions.
There are no files selected for viewing
96 changes: 96 additions & 0 deletions
96
Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interrupt-controller/qcom,mpm.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcom MPM Interrupt Controller | ||
|
||
maintainers: | ||
- Shawn Guo <[email protected]> | ||
|
||
description: | ||
Qualcomm Technologies Inc. SoCs based on the RPM architecture have a | ||
MSM Power Manager (MPM) that is in always-on domain. In addition to managing | ||
resources during sleep, the hardware also has an interrupt controller that | ||
monitors the interrupts when the system is asleep, wakes up the APSS when | ||
one of these interrupts occur and replays it to GIC interrupt controller | ||
after GIC becomes operational. | ||
|
||
allOf: | ||
- $ref: /schemas/interrupt-controller.yaml# | ||
|
||
properties: | ||
compatible: | ||
items: | ||
- const: qcom,mpm | ||
|
||
reg: | ||
maxItems: 1 | ||
description: | ||
Specifies the base address and size of vMPM registers in RPM MSG RAM. | ||
|
||
interrupts: | ||
maxItems: 1 | ||
description: | ||
Specify the IRQ used by RPM to wakeup APSS. | ||
|
||
mboxes: | ||
maxItems: 1 | ||
description: | ||
Specify the mailbox used to notify RPM for writing vMPM registers. | ||
|
||
interrupt-controller: true | ||
|
||
'#interrupt-cells': | ||
const: 2 | ||
description: | ||
The first cell is the MPM pin number for the interrupt, and the second | ||
is the trigger type. | ||
|
||
qcom,mpm-pin-count: | ||
description: | ||
Specify the total MPM pin count that a SoC supports. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
|
||
qcom,mpm-pin-map: | ||
description: | ||
A set of MPM pin numbers and the corresponding GIC SPIs. | ||
$ref: /schemas/types.yaml#/definitions/uint32-matrix | ||
items: | ||
items: | ||
- description: MPM pin number | ||
- description: GIC SPI number for the MPM pin | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- mboxes | ||
- interrupt-controller | ||
- '#interrupt-cells' | ||
- qcom,mpm-pin-count | ||
- qcom,mpm-pin-map | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
mpm: interrupt-controller@45f01b8 { | ||
compatible = "qcom,mpm"; | ||
interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; | ||
reg = <0x45f01b8 0x1000>; | ||
mboxes = <&apcs_glb 1>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
interrupt-parent = <&intc>; | ||
qcom,mpm-pin-count = <96>; | ||
qcom,mpm-pin-map = <2 275>, | ||
<5 296>, | ||
<12 422>, | ||
<24 79>, | ||
<86 183>, | ||
<90 260>, | ||
<91 260>; | ||
}; |