82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0
 | 
						|
%YAML 1.2
 | 
						|
---
 | 
						|
$id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml#
 | 
						|
$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
 | 
						|
title: ARM Vectored Interrupt Controller
 | 
						|
 | 
						|
maintainers:
 | 
						|
  - Rob Herring <robh@kernel.org>
 | 
						|
 | 
						|
description: |+
 | 
						|
  One or more Vectored Interrupt Controllers (VIC's) can be connected in an
 | 
						|
  ARM system for interrupt routing.  For multiple controllers they can either
 | 
						|
  be nested or have the outputs wire-OR'd together.  
 | 
						|
 | 
						|
allOf:
 | 
						|
  - $ref: /schemas/interrupt-controller.yaml#
 | 
						|
 | 
						|
properties:
 | 
						|
  compatible:
 | 
						|
    enum:
 | 
						|
      - arm,pl190-vic
 | 
						|
      - arm,pl192-vic
 | 
						|
      - arm,versatile-vic
 | 
						|
 | 
						|
  interrupt-controller: true
 | 
						|
 | 
						|
  "#interrupt-cells":
 | 
						|
    const: 1
 | 
						|
    description:
 | 
						|
      The number of cells to define the interrupts.  It must be 1 as the
 | 
						|
      VIC has no configuration options for interrupt sources. The single
 | 
						|
      cell defines the interrupt number.
 | 
						|
 | 
						|
  reg:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  interrupts:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  valid-mask:
 | 
						|
    description:
 | 
						|
      A one cell big bit mask of valid interrupt sources. Each bit
 | 
						|
      represents single interrupt source, starting from source 0 at
 | 
						|
      LSb and ending at source 31 at MSb. A bit that is set means
 | 
						|
      that the source is wired and clear means otherwise. If unspecified,
 | 
						|
      defaults to all valid.
 | 
						|
    $ref: /schemas/types.yaml#/definitions/uint32
 | 
						|
 | 
						|
  valid-wakeup-mask:
 | 
						|
    description:
 | 
						|
      A one cell big bit mask of interrupt sources that can be configured
 | 
						|
      as wake up source for the system. Order of bits is the same as for
 | 
						|
      valid-mask property. A set bit means that this interrupt source
 | 
						|
      can be configured as a wake up source for the system. If unspecied,
 | 
						|
      defaults to all interrupt sources configurable as wake up sources.
 | 
						|
    $ref: /schemas/types.yaml#/definitions/uint32
 | 
						|
 | 
						|
required:
 | 
						|
  - compatible
 | 
						|
  - reg
 | 
						|
  - interrupt-controller
 | 
						|
  - "#interrupt-cells"
 | 
						|
 | 
						|
additionalProperties: false
 | 
						|
 | 
						|
examples:
 | 
						|
  - |
 | 
						|
    // PL192 VIC
 | 
						|
    vic0: interrupt-controller@60000 {
 | 
						|
      compatible = "arm,pl192-vic";
 | 
						|
      interrupt-controller;
 | 
						|
      #interrupt-cells = <1>;
 | 
						|
      reg = <0x60000 0x1000>;
 | 
						|
 | 
						|
      valid-mask = <0xffffff7f>;
 | 
						|
      valid-wakeup-mask = <0x0000ff7f>;
 | 
						|
    };    
 | 
						|
 | 
						|
...
 |