mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	dt-bindings: interrupt-controller: Convert arm,nvic to DT schema
Convert the Arm NVIC interrupt controller binding to schema format. It's a straight-forward conversion of the typical interrupt controller. Link: https://lore.kernel.org/r/20250505144553.1286730-1-robh@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
		
							parent
							
								
									30eb852aab
								
							
						
					
					
						commit
						930222f3d1
					
				
					 2 changed files with 61 additions and 36 deletions
				
			
		|  | @ -1,36 +0,0 @@ | |||
| * ARM Nested Vector Interrupt Controller (NVIC) | ||||
| 
 | ||||
| The NVIC provides an interrupt controller that is tightly coupled to | ||||
| Cortex-M based processor cores.  The NVIC implemented on different SoCs | ||||
| vary in the number of interrupts and priority bits per interrupt. | ||||
| 
 | ||||
| Main node required properties: | ||||
| 
 | ||||
| - compatible : should be one of: | ||||
| 	"arm,v6m-nvic" | ||||
| 	"arm,v7m-nvic" | ||||
| 	"arm,v8m-nvic" | ||||
| - interrupt-controller : Identifies the node as an interrupt controller | ||||
| - #interrupt-cells : Specifies the number of cells needed to encode an | ||||
|   interrupt source.  The type shall be a <u32> and the value shall be 2. | ||||
| 
 | ||||
|   The 1st cell contains the interrupt number for the interrupt type. | ||||
| 
 | ||||
|   The 2nd cell is the priority of the interrupt. | ||||
| 
 | ||||
| - reg : Specifies base physical address(s) and size of the NVIC registers. | ||||
|   This is at a fixed address (0xe000e100) and size (0xc00). | ||||
| 
 | ||||
| - arm,num-irq-priority-bits: The number of priority bits implemented by the | ||||
|   given SoC | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| 	intc: interrupt-controller@e000e100 { | ||||
| 		compatible = "arm,v7m-nvic"; | ||||
| 		#interrupt-cells = <2>; | ||||
| 		#address-cells = <1>; | ||||
| 		interrupt-controller; | ||||
| 		reg = <0xe000e100 0xc00>; | ||||
| 		arm,num-irq-priority-bits = <4>; | ||||
| 	}; | ||||
|  | @ -0,0 +1,61 @@ | |||
| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||||
| %YAML 1.2 | ||||
| --- | ||||
| $id: http://devicetree.org/schemas/interrupt-controller/arm,nvic.yaml# | ||||
| $schema: http://devicetree.org/meta-schemas/core.yaml# | ||||
| 
 | ||||
| title: ARM Nested Vector Interrupt Controller (NVIC) | ||||
| 
 | ||||
| maintainers: | ||||
|   - Rob Herring <robh@kernel.org> | ||||
| 
 | ||||
| description: | ||||
|   The NVIC provides an interrupt controller that is tightly coupled to Cortex-M | ||||
|   based processor cores.  The NVIC implemented on different SoCs vary in the | ||||
|   number of interrupts and priority bits per interrupt. | ||||
| 
 | ||||
| properties: | ||||
|   compatible: | ||||
|     enum: | ||||
|       - arm,v6m-nvic | ||||
|       - arm,v7m-nvic | ||||
|       - arm,v8m-nvic | ||||
| 
 | ||||
|   reg: | ||||
|     maxItems: 1 | ||||
| 
 | ||||
|   '#address-cells': | ||||
|     const: 0 | ||||
| 
 | ||||
|   interrupt-controller: true | ||||
| 
 | ||||
|   '#interrupt-cells': | ||||
|     const: 2 | ||||
|     description: | | ||||
|       Number of cells to encode an interrupt source: | ||||
|       first = interrupt number, second = priority. | ||||
| 
 | ||||
|   arm,num-irq-priority-bits: | ||||
|     description: Number of priority bits implemented by the SoC | ||||
|     minimum: 1 | ||||
|     maximum: 8 | ||||
| 
 | ||||
| required: | ||||
|   - compatible | ||||
|   - reg | ||||
|   - interrupt-controller | ||||
|   - '#interrupt-cells' | ||||
|   - arm,num-irq-priority-bits | ||||
| 
 | ||||
| additionalProperties: false | ||||
| 
 | ||||
| examples: | ||||
|   - | | ||||
|     interrupt-controller@e000e100 { | ||||
|         compatible = "arm,v7m-nvic"; | ||||
|         #interrupt-cells = <2>; | ||||
|         #address-cells = <0>; | ||||
|         interrupt-controller; | ||||
|         reg = <0xe000e100 0xc00>; | ||||
|         arm,num-irq-priority-bits = <4>; | ||||
|     }; | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Rob Herring (Arm)
						Rob Herring (Arm)