xref: /openbmc/linux/Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml (revision d0c44de2d8ffd2e4780d360b34ee6614aa4af080)
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.
3254fc9851SShawn Guo
3354fc9851SShawn Guo  interrupts:
3454fc9851SShawn Guo    maxItems: 1
3554fc9851SShawn Guo    description:
3654fc9851SShawn Guo      Specify the IRQ used by RPM to wakeup APSS.
3754fc9851SShawn Guo
3854fc9851SShawn Guo  mboxes:
3954fc9851SShawn Guo    maxItems: 1
4054fc9851SShawn Guo    description:
4154fc9851SShawn Guo      Specify the mailbox used to notify RPM for writing vMPM registers.
4254fc9851SShawn Guo
4354fc9851SShawn Guo  interrupt-controller: true
4454fc9851SShawn Guo
4554fc9851SShawn Guo  '#interrupt-cells':
4654fc9851SShawn Guo    const: 2
4754fc9851SShawn Guo    description:
4854fc9851SShawn Guo      The first cell is the MPM pin number for the interrupt, and the second
4954fc9851SShawn Guo      is the trigger type.
5054fc9851SShawn Guo
5154fc9851SShawn Guo  qcom,mpm-pin-count:
5254fc9851SShawn Guo    description:
5354fc9851SShawn Guo      Specify the total MPM pin count that a SoC supports.
5454fc9851SShawn Guo    $ref: /schemas/types.yaml#/definitions/uint32
5554fc9851SShawn Guo
5654fc9851SShawn Guo  qcom,mpm-pin-map:
5754fc9851SShawn Guo    description:
5854fc9851SShawn Guo      A set of MPM pin numbers and the corresponding GIC SPIs.
5954fc9851SShawn Guo    $ref: /schemas/types.yaml#/definitions/uint32-matrix
6054fc9851SShawn Guo    items:
6154fc9851SShawn Guo      items:
6254fc9851SShawn Guo        - description: MPM pin number
6354fc9851SShawn Guo        - description: GIC SPI number for the MPM pin
6454fc9851SShawn Guo
65*a365250aSKonrad Dybcio  '#power-domain-cells':
66*a365250aSKonrad Dybcio    const: 0
67*a365250aSKonrad Dybcio
6854fc9851SShawn Guorequired:
6954fc9851SShawn Guo  - compatible
7054fc9851SShawn Guo  - reg
7154fc9851SShawn Guo  - interrupts
7254fc9851SShawn Guo  - mboxes
7354fc9851SShawn Guo  - interrupt-controller
7454fc9851SShawn Guo  - '#interrupt-cells'
7554fc9851SShawn Guo  - qcom,mpm-pin-count
7654fc9851SShawn Guo  - qcom,mpm-pin-map
7754fc9851SShawn Guo
7854fc9851SShawn GuoadditionalProperties: false
7954fc9851SShawn Guo
8054fc9851SShawn Guoexamples:
8154fc9851SShawn Guo  - |
8254fc9851SShawn Guo    #include <dt-bindings/interrupt-controller/arm-gic.h>
8354fc9851SShawn Guo    mpm: interrupt-controller@45f01b8 {
8454fc9851SShawn Guo        compatible = "qcom,mpm";
8554fc9851SShawn Guo        interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
8654fc9851SShawn Guo        reg = <0x45f01b8 0x1000>;
8754fc9851SShawn Guo        mboxes = <&apcs_glb 1>;
8854fc9851SShawn Guo        interrupt-controller;
8954fc9851SShawn Guo        #interrupt-cells = <2>;
9054fc9851SShawn Guo        interrupt-parent = <&intc>;
9154fc9851SShawn Guo        qcom,mpm-pin-count = <96>;
9254fc9851SShawn Guo        qcom,mpm-pin-map = <2 275>,
9354fc9851SShawn Guo                           <5 296>,
9454fc9851SShawn Guo                           <12 422>,
9554fc9851SShawn Guo                           <24 79>,
9654fc9851SShawn Guo                           <86 183>,
9754fc9851SShawn Guo                           <90 260>,
9854fc9851SShawn Guo                           <91 260>;
99*a365250aSKonrad Dybcio        #power-domain-cells = <0>;
10054fc9851SShawn Guo    };
101