1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*b2d2a78aSEmmanuel Vadot# Copyright (C) 2015, 2024, Intel Corporation 3*b2d2a78aSEmmanuel Vadot%YAML 1.2 4*b2d2a78aSEmmanuel Vadot--- 5*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/altr,msi-controller.yaml# 6*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*b2d2a78aSEmmanuel Vadot 8*b2d2a78aSEmmanuel Vadottitle: Altera PCIe MSI controller 9*b2d2a78aSEmmanuel Vadot 10*b2d2a78aSEmmanuel Vadotmaintainers: 11*b2d2a78aSEmmanuel Vadot - Matthew Gerlach <matthew.gerlach@linux.intel.com> 12*b2d2a78aSEmmanuel Vadot 13*b2d2a78aSEmmanuel Vadotproperties: 14*b2d2a78aSEmmanuel Vadot compatible: 15*b2d2a78aSEmmanuel Vadot enum: 16*b2d2a78aSEmmanuel Vadot - altr,msi-1.0 17*b2d2a78aSEmmanuel Vadot 18*b2d2a78aSEmmanuel Vadot reg: 19*b2d2a78aSEmmanuel Vadot items: 20*b2d2a78aSEmmanuel Vadot - description: CSR registers 21*b2d2a78aSEmmanuel Vadot - description: Vectors slave port region 22*b2d2a78aSEmmanuel Vadot 23*b2d2a78aSEmmanuel Vadot reg-names: 24*b2d2a78aSEmmanuel Vadot items: 25*b2d2a78aSEmmanuel Vadot - const: csr 26*b2d2a78aSEmmanuel Vadot - const: vector_slave 27*b2d2a78aSEmmanuel Vadot 28*b2d2a78aSEmmanuel Vadot interrupts: 29*b2d2a78aSEmmanuel Vadot maxItems: 1 30*b2d2a78aSEmmanuel Vadot 31*b2d2a78aSEmmanuel Vadot msi-controller: true 32*b2d2a78aSEmmanuel Vadot 33*b2d2a78aSEmmanuel Vadot num-vectors: 34*b2d2a78aSEmmanuel Vadot description: number of vectors 35*b2d2a78aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 36*b2d2a78aSEmmanuel Vadot minimum: 1 37*b2d2a78aSEmmanuel Vadot maximum: 32 38*b2d2a78aSEmmanuel Vadot 39*b2d2a78aSEmmanuel Vadotrequired: 40*b2d2a78aSEmmanuel Vadot - compatible 41*b2d2a78aSEmmanuel Vadot - reg 42*b2d2a78aSEmmanuel Vadot - reg-names 43*b2d2a78aSEmmanuel Vadot - interrupts 44*b2d2a78aSEmmanuel Vadot - msi-controller 45*b2d2a78aSEmmanuel Vadot - num-vectors 46*b2d2a78aSEmmanuel Vadot 47*b2d2a78aSEmmanuel VadotallOf: 48*b2d2a78aSEmmanuel Vadot - $ref: /schemas/interrupt-controller/msi-controller.yaml# 49*b2d2a78aSEmmanuel Vadot 50*b2d2a78aSEmmanuel VadotunevaluatedProperties: false 51*b2d2a78aSEmmanuel Vadot 52*b2d2a78aSEmmanuel Vadotexamples: 53*b2d2a78aSEmmanuel Vadot - | 54*b2d2a78aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 55*b2d2a78aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 56*b2d2a78aSEmmanuel Vadot msi@ff200000 { 57*b2d2a78aSEmmanuel Vadot compatible = "altr,msi-1.0"; 58*b2d2a78aSEmmanuel Vadot reg = <0xff200000 0x00000010>, 59*b2d2a78aSEmmanuel Vadot <0xff200010 0x00000080>; 60*b2d2a78aSEmmanuel Vadot reg-names = "csr", "vector_slave"; 61*b2d2a78aSEmmanuel Vadot interrupt-parent = <&hps_0_arm_gic_0>; 62*b2d2a78aSEmmanuel Vadot interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 63*b2d2a78aSEmmanuel Vadot msi-controller; 64*b2d2a78aSEmmanuel Vadot num-vectors = <32>; 65*b2d2a78aSEmmanuel Vadot }; 66