Files
android_kernel_samsung_sm87…/bindings/interrupt-controller/qcom,mpm-legacy.yaml
Raghavendra Kakarla 0b2389f72f bindings: Add rpm-smd and mpm dt bindings
Add the rpm-smd and mpm devicetree bindings.

Change-Id: I18ea19cc4c9f76dfc257c460ace5380792f5172c
Signed-off-by: Raghavendra Kakarla <quic_rkakarla@quicinc.com>
2024-05-02 10:19:15 +05:30

70 lines
2.0 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/qcom,mpm-legacy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MPM Interrupt Controller
maintainers:
- Raghavendra Kakarla <quic_rkakarla@quicinc.com>
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.
properties:
compatible:
items:
- enum:
- "qcom,mpm-blair"
- "qcom,mpm-holi"
- "qcom,mpm-pitti"
- "qcom,mpm-monaco"
- const: qcom,mpm
reg:
minItems: 1
items:
- description: Specifies the base address and size of vMPM registers in RPM MSG RAM.
- description: Specifies the address and size of MPM timer registers in RPM MSG RAM.
- description: Timer frame register to read the aggregated time.
'#interrupt-cells':
const: 2
interrupt-controller: true
required:
- compatible
- reg
- interrupts
- '#interrupt-cells'
- interrupt-controller
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
mpm: interrupt-controller@45f01b8 {
compatible = "qcom,mpm", "qcom,mpm-blair";
interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>;
reg = <0x45f01b8 0x1000>,
<0xb011008 0x4>, /* MSM_APCS_GCC_BASE 4K */
<0xf121000 0x1000>; /* Timer Frame Register */
reg-names = "vmpm", "ipc", "timer";
interrupt-controller;
interrupt-parent = <&intc>;
interrupt-cells = <2>;
};
wake-device {
interrupts-extended = <&mpm 2 IRQ_TYPE_LEVEL_HIGH>;
};