[PATCH 1/2] dt-bindings: interrupt-controller: introduce toshiba,tc9564-msigen.yaml
From: Alex Elder
Date: Mon Oct 12 2026 - 15:12:26 EST
Define the binding for the MSIGEN interrupt controller present in the
Toshiba TC9564 SoC.
Co-developed-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Signed-off-by: Alex Elder <elder@xxxxxxxxxxxx>
---
.../toshiba,tc9564-msigen.yaml | 70 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/toshiba,tc9564-msigen.yaml
diff --git a/Documentation/devicetree/bindings/interrupt-controller/toshiba,tc9564-msigen.yaml b/Documentation/devicetree/bindings/interrupt-controller/toshiba,tc9564-msigen.yaml
new file mode 100644
index 0000000000000..39dc63964bd52
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/toshiba,tc9564-msigen.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/toshiba,tc9564-msigen.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Toshiba TC9564 MSIGEN Interrupt Controller
+
+maintainers:
+ - Daniel Thompson <daniel@xxxxxxxxxxxx>
+ - Alex Elder <elder@xxxxxxxxxxxx>
+
+description: |
+ The Toshiba TC9564 is an SoC accessed by a host system through the
+ upstream PCIe port on the PCIe switch it implements. The switch
+ includes an embedded PCIe endpoint that provides access to various
+ SoC peripherals (including an interrupt controller) via its BARs.
+
+ The TC9564 MSIGEN (MSI Generator) provides an interrupt controller
+ with 25 hardware interrupt lines. It aggregates internal interrupts
+ and generates a single PCIe MSI to the host. Each PCIe function
+ implements an MSIGEN instance.
+
+ Each MSIGEN uses a gated clock and reset line. These are provided
+ by the clock and reset controllers internal to the TC9564.
+
+allOf:
+ - $ref: /schemas/interrupt-controller.yaml#
+
+properties:
+ compatible:
+ const: toshiba,tc9564-msigen
+
+ reg:
+ maxItems: 1
+
+ interrupt-controller: true
+
+ '#interrupt-cells':
+ const: 1
+
+ clocks:
+ maxItems: 1
+ description: Gate clock from the TC9564 clock controller
+
+ resets:
+ maxItems: 1
+ description: Reset signal from the TC9564 reset controller
+
+required:
+ - compatible
+ - reg
+ - interrupt-controller
+ - '#interrupt-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/toshiba,tc9564.h>
+ #include <dt-bindings/reset/toshiba,tc9564.h>
+
+ interrupt-controller@f000 {
+ compatible = "toshiba,tc9564-msigen";
+ reg = <0xf000 0x100>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ clocks = <&tc9564_clock0 CLOCK_MSIGEN>;
+ resets = <&tc9564_reset0 RESET_MSIGEN>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 252b6d7ee1638..9e73a912f0c0f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -28173,6 +28173,12 @@ F: Documentation/devicetree/bindings/media/i2c/toshiba,tc358743.yaml
F: drivers/media/i2c/tc358743*
F: include/media/i2c/tc358743.h
+TOSHIBA TC9564 MSIGEN DRIVER
+M: Alex Elder <elder@xxxxxxxxxx>
+M: Daniel Thompson <danielt@xxxxxxxxxx>
+S: Maintained
+F: Documentation/devicetree/bindings/interrupt-controller/toshiba,tc9564-msigen.yaml
+
TOSHIBA TC9564 PCI DRIVER
M: Alex Elder <elder@xxxxxxxxxx>
M: Daniel Thompson <danielt@xxxxxxxxxx>
--
2.53.0