linux-loongson/Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml
Linus Torvalds 0bdf0621f8 IRQ subsystem changes for v6.8:
Drivers:
 
    - Add support for the IA55 interrupt controller on RZ/G3S SoC's
 
    - Update/fix the Qualcom MPM Interrupt Controller driver's
      register enumeration within the somewhat exotic "RPM Message RAM"
      MMIO-mapped shared memory region that is used for other purposes
      as well.
 
    - Clean up the Xtensa built-in Programmable Interrupt Controller
      driver (xtensa-pic) a bit.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmWbygsRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1gglw//dZ0+4OI3yupEVWZDzkhbtEK3BB8U2RPJ
 UnmQXCrLtcM2vuW0cqtbbZ3kjFkFIjRvo9AujboCY1DzmM6ZeoKdnYRfcTEMA9Wt
 fhX5Fkt0BqVsZZS92yVI8fl9l61QOOGUKEa+omG0QcpHbjkZsmujrSJvIQjXhvS3
 LpQDFozPQeIIn/MO7hBykEri7gnYo5qIylBouXgDFz3I6qpWo5x0qlrIsqiNWfLb
 Fk5ClTQluy7/jfSm1Nbm72ik/V0jAJyaawNWYa652VZYvN0jHXnWcHvCw4WanUQ6
 wPDiDp3EkKCjbAgY10fYdWqUFLi4k+o58HhDa3xNZA7Q8dbpfBvfpo79PeN1jR+M
 lL144dhkNJfTXTpGjdi7BJMnwzG9k6YB0q0TGj9gJp+B7LU4/E0sdpGWfCZR2BU5
 r9Bu4aaEuLAmQSmtWBo/GCr+yGqKZPXo9WUCTbgkikV3TMC8ksotj12+Qr78f9Mq
 2ZdgnDhlsrXPN7szdh2naxCxBjuAzSvj96Z0s/KY8xE30PcTRzftnSYyd26wGTqD
 SFrUPkx7QYV4aR+dAuxbZ4dpk+APLMaxap3js/j3BE+nVhGLZodHEXBmHEDiqc/+
 QkFA9gtpIEX6HDoEMAu7ubFJF0x7Nxf5MU3QdvTuOXyMsteccyrA0k9l6bE55LAC
 5ss/CLW9wzo=
 =YamS
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq subsystem updates from Ingo Molnar:

 - Add support for the IA55 interrupt controller on RZ/G3S SoC's

 - Update/fix the Qualcom MPM Interrupt Controller driver's register
   enumeration within the somewhat exotic "RPM Message RAM" MMIO-mapped
   shared memory region that is used for other purposes as well

 - Clean up the Xtensa built-in Programmable Interrupt Controller driver
   (xtensa-pic) a bit

* tag 'irq-core-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/irq-xtensa-pic: Clean up
  irqchip/qcom-mpm: Support passing a slice of SRAM as reg space
  dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle
  dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/G3S
  irqchip/renesas-rzg2l: Add support for suspend to RAM
  irqchip/renesas-rzg2l: Add macro to retrieve TITSR register offset based on register's index
  irqchip/renesas-rzg2l: Implement restriction when writing ISCR register
  irqchip/renesas-rzg2l: Document structure members
  irqchip/renesas-rzg2l: Align struct member names to tabs
  irqchip/renesas-rzg2l: Use tabs instead of spaces
2024-01-08 19:35:04 -08:00

119 lines
3.1 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.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcom MPM Interrupt Controller
maintainers:
- Shawn Guo <shawn.guo@linaro.org>
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.
deprecated: true
qcom,rpm-msg-ram:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle to the APSS MPM slice of the RPM Message 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
'#power-domain-cells':
const: 0
required:
- compatible
- interrupts
- mboxes
- interrupt-controller
- '#interrupt-cells'
- qcom,mpm-pin-count
- qcom,mpm-pin-map
- qcom,rpm-msg-ram
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
remoteproc-rpm {
compatible = "qcom,msm8998-rpm-proc", "qcom,rpm-proc";
glink-edge {
compatible = "qcom,glink-rpm";
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
qcom,rpm-msg-ram = <&rpm_msg_ram>;
mboxes = <&apcs_glb 0>;
};
mpm: interrupt-controller {
compatible = "qcom,mpm";
qcom,rpm-msg-ram = <&apss_mpm>;
interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
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>,
<91 260>;
#power-domain-cells = <0>;
};
};