154fc9851SShawn Guo# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 254fc9851SShawn Guo%YAML 1.2 354fc9851SShawn Guo--- 454fc9851SShawn Guo$id: http://devicetree.org/schemas/interrupt-controller/qcom,mpm.yaml# 554fc9851SShawn Guo$schema: http://devicetree.org/meta-schemas/core.yaml# 654fc9851SShawn Guo 754fc9851SShawn Guotitle: Qualcom MPM Interrupt Controller 854fc9851SShawn Guo 954fc9851SShawn Guomaintainers: 1054fc9851SShawn Guo - Shawn Guo <shawn.guo@linaro.org> 1154fc9851SShawn Guo 1254fc9851SShawn Guodescription: 1354fc9851SShawn Guo Qualcomm Technologies Inc. SoCs based on the RPM architecture have a 1454fc9851SShawn Guo MSM Power Manager (MPM) that is in always-on domain. In addition to managing 1554fc9851SShawn Guo resources during sleep, the hardware also has an interrupt controller that 1654fc9851SShawn Guo monitors the interrupts when the system is asleep, wakes up the APSS when 1754fc9851SShawn Guo one of these interrupts occur and replays it to GIC interrupt controller 1854fc9851SShawn Guo after GIC becomes operational. 1954fc9851SShawn Guo 2054fc9851SShawn GuoallOf: 2154fc9851SShawn Guo - $ref: /schemas/interrupt-controller.yaml# 2254fc9851SShawn Guo 2354fc9851SShawn Guoproperties: 2454fc9851SShawn Guo compatible: 2554fc9851SShawn Guo items: 2654fc9851SShawn Guo - const: qcom,mpm 2754fc9851SShawn Guo 2854fc9851SShawn Guo reg: 2954fc9851SShawn Guo maxItems: 1 3054fc9851SShawn Guo description: 3154fc9851SShawn Guo Specifies the base address and size of vMPM registers in RPM MSG RAM. 32*ca596295SKonrad Dybcio deprecated: true 33*ca596295SKonrad Dybcio 34*ca596295SKonrad Dybcio qcom,rpm-msg-ram: 35*ca596295SKonrad Dybcio $ref: /schemas/types.yaml#/definitions/phandle 36*ca596295SKonrad Dybcio description: 37*ca596295SKonrad Dybcio Phandle to the APSS MPM slice of the RPM Message RAM 3854fc9851SShawn Guo 3954fc9851SShawn Guo interrupts: 4054fc9851SShawn Guo maxItems: 1 4154fc9851SShawn Guo description: 4254fc9851SShawn Guo Specify the IRQ used by RPM to wakeup APSS. 4354fc9851SShawn Guo 4454fc9851SShawn Guo mboxes: 4554fc9851SShawn Guo maxItems: 1 4654fc9851SShawn Guo description: 4754fc9851SShawn Guo Specify the mailbox used to notify RPM for writing vMPM registers. 4854fc9851SShawn Guo 4954fc9851SShawn Guo interrupt-controller: true 5054fc9851SShawn Guo 5154fc9851SShawn Guo '#interrupt-cells': 5254fc9851SShawn Guo const: 2 5354fc9851SShawn Guo description: 5454fc9851SShawn Guo The first cell is the MPM pin number for the interrupt, and the second 5554fc9851SShawn Guo is the trigger type. 5654fc9851SShawn Guo 5754fc9851SShawn Guo qcom,mpm-pin-count: 5854fc9851SShawn Guo description: 5954fc9851SShawn Guo Specify the total MPM pin count that a SoC supports. 6054fc9851SShawn Guo $ref: /schemas/types.yaml#/definitions/uint32 6154fc9851SShawn Guo 6254fc9851SShawn Guo qcom,mpm-pin-map: 6354fc9851SShawn Guo description: 6454fc9851SShawn Guo A set of MPM pin numbers and the corresponding GIC SPIs. 6554fc9851SShawn Guo $ref: /schemas/types.yaml#/definitions/uint32-matrix 6654fc9851SShawn Guo items: 6754fc9851SShawn Guo items: 6854fc9851SShawn Guo - description: MPM pin number 6954fc9851SShawn Guo - description: GIC SPI number for the MPM pin 7054fc9851SShawn Guo 71c0a2755aSKonrad Dybcio '#power-domain-cells': 72c0a2755aSKonrad Dybcio const: 0 73c0a2755aSKonrad Dybcio 7454fc9851SShawn Guorequired: 7554fc9851SShawn Guo - compatible 7654fc9851SShawn Guo - interrupts 7754fc9851SShawn Guo - mboxes 7854fc9851SShawn Guo - interrupt-controller 7954fc9851SShawn Guo - '#interrupt-cells' 8054fc9851SShawn Guo - qcom,mpm-pin-count 8154fc9851SShawn Guo - qcom,mpm-pin-map 82*ca596295SKonrad Dybcio - qcom,rpm-msg-ram 8354fc9851SShawn Guo 8454fc9851SShawn GuoadditionalProperties: false 8554fc9851SShawn Guo 8654fc9851SShawn Guoexamples: 8754fc9851SShawn Guo - | 8854fc9851SShawn Guo #include <dt-bindings/interrupt-controller/arm-gic.h> 89*ca596295SKonrad Dybcio 90*ca596295SKonrad Dybcio remoteproc-rpm { 91*ca596295SKonrad Dybcio compatible = "qcom,msm8998-rpm-proc", "qcom,rpm-proc"; 92*ca596295SKonrad Dybcio 93*ca596295SKonrad Dybcio glink-edge { 94*ca596295SKonrad Dybcio compatible = "qcom,glink-rpm"; 95*ca596295SKonrad Dybcio 96*ca596295SKonrad Dybcio interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 97*ca596295SKonrad Dybcio qcom,rpm-msg-ram = <&rpm_msg_ram>; 98*ca596295SKonrad Dybcio mboxes = <&apcs_glb 0>; 99*ca596295SKonrad Dybcio }; 100*ca596295SKonrad Dybcio 101*ca596295SKonrad Dybcio mpm: interrupt-controller { 10254fc9851SShawn Guo compatible = "qcom,mpm"; 103*ca596295SKonrad Dybcio qcom,rpm-msg-ram = <&apss_mpm>; 10454fc9851SShawn Guo interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; 10554fc9851SShawn Guo mboxes = <&apcs_glb 1>; 10654fc9851SShawn Guo interrupt-controller; 10754fc9851SShawn Guo #interrupt-cells = <2>; 10854fc9851SShawn Guo interrupt-parent = <&intc>; 10954fc9851SShawn Guo qcom,mpm-pin-count = <96>; 11054fc9851SShawn Guo qcom,mpm-pin-map = <2 275>, 11154fc9851SShawn Guo <5 296>, 11254fc9851SShawn Guo <12 422>, 11354fc9851SShawn Guo <24 79>, 11454fc9851SShawn Guo <86 183>, 11554fc9851SShawn Guo <91 260>; 116c0a2755aSKonrad Dybcio #power-domain-cells = <0>; 11754fc9851SShawn Guo }; 118*ca596295SKonrad Dybcio }; 119