mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 14:02:06 -04:00
Update the AST2700 interrupt controller binding to match the actual
hardware and the irq-aspeed-intc driver behavior.
- Interrupts:
First-level INTC banks request multiple interrupt lines to the root
GIC, with a maximum of 10 per bank. Second-level INTC banks request
only one interrupt line to their parent INTC-IC. Therefore, set the
interrupts property to allow a minimum of 1 and a maximum of 10
entries.
- #interrupt-cells:
Set '#interrupt-cells' to <1> since the aspeed intc driver does not
support specifying a trigger type; only the interrupt index is used.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20251030060155.2342604-2-ryan_chen@aspeedtech.com
92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Aspeed AST2700 Interrupt Controller
|
|
|
|
description:
|
|
This interrupt controller hardware is second level interrupt controller that
|
|
is hooked to a parent interrupt controller. It's useful to combine multiple
|
|
interrupt sources into 1 interrupt to parent interrupt controller.
|
|
|
|
maintainers:
|
|
- Kevin Chen <kevin_chen@aspeedtech.com>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- aspeed,ast2700-intc-ic
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
'#interrupt-cells':
|
|
const: 1
|
|
description:
|
|
The first cell is the IRQ number, the second cell is the trigger
|
|
type as defined in interrupt.txt in this directory.
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
maxItems: 10
|
|
description: |
|
|
Depend to which INTC0 or INTC1 used.
|
|
INTC0 and INTC1 are two kinds of interrupt controller with enable and raw
|
|
status registers for use.
|
|
INTC0 is used to assert GIC if interrupt in INTC1 asserted.
|
|
INTC1 is used to assert INTC0 if interrupt of modules asserted.
|
|
+-----+ +-------+ +---------+---module0
|
|
| GIC |---| INTC0 |--+--| INTC1_0 |---module2
|
|
| | | | | | |---...
|
|
+-----+ +-------+ | +---------+---module31
|
|
|
|
|
| +---------+---module0
|
|
+---| INTC1_1 |---module2
|
|
| | |---...
|
|
| +---------+---module31
|
|
...
|
|
| +---------+---module0
|
|
+---| INTC1_5 |---module2
|
|
| |---...
|
|
+---------+---module31
|
|
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
interrupt-controller@12101b00 {
|
|
compatible = "aspeed,ast2700-intc-ic";
|
|
reg = <0 0x12101b00 0 0x10>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
};
|