~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/interrupt-controller/mti,gic.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/interrupt-controller/mti,gic.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: MIPS Global Interrupt Controller
  8 
  9 maintainers:
 10   - Paul Burton <paulburton@kernel.org>
 11   - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 12 
 13 description: |
 14   The MIPS GIC routes external interrupts to individual VPEs and IRQ pins.
 15   It also supports local (per-processor) interrupts and software-generated
 16   interrupts which can be used as IPIs. The GIC also includes a free-running
 17   global timer, per-CPU count/compare timers, and a watchdog.
 18 
 19 properties:
 20   compatible:
 21     const: mti,gic
 22 
 23   "#interrupt-cells":
 24     const: 3
 25     description: |
 26       The 1st cell is the type of interrupt: local or shared defined in the
 27       file 'dt-bindings/interrupt-controller/mips-gic.h'. The 2nd cell is the
 28       GIC interrupt number. The 3d cell encodes the interrupt flags setting up
 29       the IRQ trigger modes, which are defined in the file
 30       'dt-bindings/interrupt-controller/irq.h'.
 31 
 32   reg:
 33     description: |
 34       Base address and length of the GIC registers space. If not present,
 35       the base address reported by the hardware GCR_GIC_BASE will be used.
 36     maxItems: 1
 37 
 38   interrupt-controller: true
 39 
 40   mti,reserved-cpu-vectors:
 41     description: |
 42       Specifies the list of CPU interrupt vectors to which the GIC may not
 43       route interrupts. This property is ignored if the CPU is started in EIC
 44       mode.
 45     $ref: /schemas/types.yaml#/definitions/uint32-array
 46     minItems: 1
 47     maxItems: 6
 48     uniqueItems: true
 49     items:
 50       minimum: 2
 51       maximum: 7
 52 
 53   mti,reserved-ipi-vectors:
 54     description: |
 55       Specifies the range of GIC interrupts that are reserved for IPIs.
 56       It accepts two values: the 1st is the starting interrupt and the 2nd is
 57       the size of the reserved range. If not specified, the driver will
 58       allocate the last (2 * number of VPEs in the system).
 59     $ref: /schemas/types.yaml#/definitions/uint32-array
 60     items:
 61       - minimum: 0
 62         maximum: 254
 63       - minimum: 2
 64         maximum: 254
 65 
 66   timer:
 67     type: object
 68     description: |
 69       MIPS GIC includes a free-running global timer, per-CPU count/compare
 70       timers, and a watchdog. Currently only the GIC Timer is supported.
 71     properties:
 72       compatible:
 73         const: mti,gic-timer
 74 
 75       interrupts:
 76         description: |
 77           Interrupt for the GIC local timer, so normally it's suppose to be of
 78           <GIC_LOCAL X IRQ_TYPE_NONE> format.
 79         maxItems: 1
 80 
 81       clocks:
 82         maxItems: 1
 83 
 84       clock-frequency: true
 85 
 86     required:
 87       - compatible
 88       - interrupts
 89 
 90     oneOf:
 91       - required:
 92           - clocks
 93       - required:
 94           - clock-frequency
 95 
 96     additionalProperties: false
 97 
 98 additionalProperties: false
 99 
100 required:
101   - compatible
102   - "#interrupt-cells"
103   - interrupt-controller
104 
105 examples:
106   - |
107     #include <dt-bindings/interrupt-controller/mips-gic.h>
108     #include <dt-bindings/interrupt-controller/irq.h>
109 
110     interrupt-controller@1bdc0000 {
111       compatible = "mti,gic";
112       reg = <0x1bdc0000 0x20000>;
113       interrupt-controller;
114       #interrupt-cells = <3>;
115       mti,reserved-cpu-vectors = <7>;
116       mti,reserved-ipi-vectors = <40 8>;
117 
118       timer {
119         compatible = "mti,gic-timer";
120         interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
121         clock-frequency = <50000000>;
122       };
123     };
124   - |
125     #include <dt-bindings/interrupt-controller/mips-gic.h>
126     #include <dt-bindings/interrupt-controller/irq.h>
127 
128     interrupt-controller@1bdc0000 {
129       compatible = "mti,gic";
130       reg = <0x1bdc0000 0x20000>;
131       interrupt-controller;
132       #interrupt-cells = <3>;
133 
134       timer {
135         compatible = "mti,gic-timer";
136         interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
137         clocks = <&cpu_pll>;
138       };
139     };
140   - |
141     interrupt-controller {
142       compatible = "mti,gic";
143       interrupt-controller;
144       #interrupt-cells = <3>;
145     };
146 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php