mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
dt-bindings: interrupt-controller: Convert snps,archs-idu-intc to DT schema
Convert the ARC-HS Interrupt Distribution Unit interrupt controller binding to schema format. It's a straight-forward conversion of the typical interrupt controller. Link: https://lore.kernel.org/r/20250505144830.1292495-1-robh@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
parent
66276d212f
commit
76f75212f8
2 changed files with 48 additions and 46 deletions
|
|
@ -1,46 +0,0 @@
|
|||
* ARC-HS Interrupt Distribution Unit
|
||||
|
||||
This optional 2nd level interrupt controller can be used in SMP configurations
|
||||
for dynamic IRQ routing, load balancing of common/external IRQs towards core
|
||||
intc.
|
||||
|
||||
Properties:
|
||||
|
||||
- compatible: "snps,archs-idu-intc"
|
||||
- interrupt-controller: This is an interrupt controller.
|
||||
- #interrupt-cells: Must be <1> or <2>.
|
||||
|
||||
Value of the first cell specifies the "common" IRQ from peripheral to IDU.
|
||||
Number N of the particular interrupt line of IDU corresponds to the line N+24
|
||||
of the core interrupt controller.
|
||||
|
||||
The (optional) second cell specifies any of the following flags:
|
||||
- bits[3:0] trigger type and level flags
|
||||
1 = low-to-high edge triggered
|
||||
2 = NOT SUPPORTED (high-to-low edge triggered)
|
||||
4 = active high level-sensitive <<< DEFAULT
|
||||
8 = NOT SUPPORTED (active low level-sensitive)
|
||||
When no second cell is specified, the interrupt is assumed to be level
|
||||
sensitive.
|
||||
|
||||
The interrupt controller is accessed via the special ARC AUX register
|
||||
interface, hence "reg" property is not specified.
|
||||
|
||||
Example:
|
||||
core_intc: core-interrupt-controller {
|
||||
compatible = "snps,archs-intc";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
|
||||
idu_intc: idu-interrupt-controller {
|
||||
compatible = "snps,archs-idu-intc";
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&core_intc>;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
|
||||
some_device: serial@c0fc1000 {
|
||||
interrupt-parent = <&idu_intc>;
|
||||
interrupts = <0>; /* upstream idu IRQ #24 */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/snps,archs-idu-intc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ARC-HS Interrupt Distribution Unit
|
||||
|
||||
maintainers:
|
||||
- Vineet Gupta <vgupta@kernel.org>
|
||||
|
||||
description: >
|
||||
ARC-HS Interrupt Distribution Unit is an optional 2nd level interrupt
|
||||
controller which can be used in SMP configurations for dynamic IRQ routing,
|
||||
load balancing of common/external IRQs towards core intc.
|
||||
|
||||
The interrupt controller is accessed via the special ARC AUX register
|
||||
interface, hence "reg" property is not specified.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: snps,archs-idu-intc
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
description: |
|
||||
Number of interrupt specifier cells:
|
||||
- 1: only a common IRQ is specified.
|
||||
- 2: a second cell encodes trigger type and level flags:
|
||||
1 = low-to-high edge triggered
|
||||
4 = active high level-sensitive (default)
|
||||
enum: [1, 2]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupt-controller
|
||||
- '#interrupt-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
interrupt-controller {
|
||||
compatible = "snps,archs-idu-intc";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue