1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/interrupt-controller/qcom,mpm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcom MPM Interrupt Controller 8 9maintainers: 10 - Shawn Guo <shawn.guo@linaro.org> 11 12description: 13 Qualcomm Technologies Inc. SoCs based on the RPM architecture have a 14 MSM Power Manager (MPM) that is in always-on domain. In addition to managing 15 resources during sleep, the hardware also has an interrupt controller that 16 monitors the interrupts when the system is asleep, wakes up the APSS when 17 one of these interrupts occur and replays it to GIC interrupt controller 18 after GIC becomes operational. 19 20allOf: 21 - $ref: /schemas/interrupt-controller.yaml# 22 23properties: 24 compatible: 25 items: 26 - const: qcom,mpm 27 28 reg: 29 maxItems: 1 30 description: 31 Specifies the base address and size of vMPM registers in RPM MSG RAM. 32 33 interrupts: 34 maxItems: 1 35 description: 36 Specify the IRQ used by RPM to wakeup APSS. 37 38 mboxes: 39 maxItems: 1 40 description: 41 Specify the mailbox used to notify RPM for writing vMPM registers. 42 43 interrupt-controller: true 44 45 '#interrupt-cells': 46 const: 2 47 description: 48 The first cell is the MPM pin number for the interrupt, and the second 49 is the trigger type. 50 51 qcom,mpm-pin-count: 52 description: 53 Specify the total MPM pin count that a SoC supports. 54 $ref: /schemas/types.yaml#/definitions/uint32 55 56 qcom,mpm-pin-map: 57 description: 58 A set of MPM pin numbers and the corresponding GIC SPIs. 59 $ref: /schemas/types.yaml#/definitions/uint32-matrix 60 items: 61 items: 62 - description: MPM pin number 63 - description: GIC SPI number for the MPM pin 64 65required: 66 - compatible 67 - reg 68 - interrupts 69 - mboxes 70 - interrupt-controller 71 - '#interrupt-cells' 72 - qcom,mpm-pin-count 73 - qcom,mpm-pin-map 74 75additionalProperties: false 76 77examples: 78 - | 79 #include <dt-bindings/interrupt-controller/arm-gic.h> 80 mpm: interrupt-controller@45f01b8 { 81 compatible = "qcom,mpm"; 82 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; 83 reg = <0x45f01b8 0x1000>; 84 mboxes = <&apcs_glb 1>; 85 interrupt-controller; 86 #interrupt-cells = <2>; 87 interrupt-parent = <&intc>; 88 qcom,mpm-pin-count = <96>; 89 qcom,mpm-pin-map = <2 275>, 90 <5 296>, 91 <12 422>, 92 <24 79>, 93 <86 183>, 94 <90 260>, 95 <91 260>; 96 }; 97