Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: irqchip: Convert ti, sci-inta bindings to yaml

In order to automate the verification of DT nodes convert
ti,sci-inta.txt ti,sci-inta.yaml.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200806074826.24607-9-lokeshvutla@ti.com

authored by

Lokesh Vutla and committed by
Marc Zyngier
c4dff06e 6dde29dc

+99 -67
-66
Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
··· 1 - Texas Instruments K3 Interrupt Aggregator 2 - ========================================= 3 - 4 - The Interrupt Aggregator (INTA) provides a centralized machine 5 - which handles the termination of system events to that they can 6 - be coherently processed by the host(s) in the system. A maximum 7 - of 64 events can be mapped to a single interrupt. 8 - 9 - 10 - Interrupt Aggregator 11 - +-----------------------------------------+ 12 - | Intmap VINT | 13 - | +--------------+ +------------+ | 14 - m ------>| | vint | bit | | 0 |.....|63| vint0 | 15 - . | +--------------+ +------------+ | +------+ 16 - . | . . | | HOST | 17 - Globalevents ------>| . . |------>| IRQ | 18 - . | . . | | CTRL | 19 - . | . . | +------+ 20 - n ------>| +--------------+ +------------+ | 21 - | | vint | bit | | 0 |.....|63| vintx | 22 - | +--------------+ +------------+ | 23 - | | 24 - +-----------------------------------------+ 25 - 26 - Configuration of these Intmap registers that maps global events to vint is done 27 - by a system controller (like the Device Memory and Security Controller on K3 28 - AM654 SoC). Driver should request the system controller to get the range 29 - of global events and vints assigned to the requesting host. Management 30 - of these requested resources should be handled by driver and requests 31 - system controller to map specific global event to vint, bit pair. 32 - 33 - Communication between the host processor running an OS and the system 34 - controller happens through a protocol called TI System Control Interface 35 - (TISCI protocol). For more details refer: 36 - Documentation/devicetree/bindings/arm/keystone/ti,sci.txt 37 - 38 - TISCI Interrupt Aggregator Node: 39 - ------------------------------- 40 - - compatible: Must be "ti,sci-inta". 41 - - reg: Should contain registers location and length. 42 - - interrupt-controller: Identifies the node as an interrupt controller 43 - - msi-controller: Identifies the node as an MSI controller. 44 - - interrupt-parent: phandle of irq parent. 45 - - ti,sci: Phandle to TI-SCI compatible System controller node. 46 - - ti,sci-dev-id: TISCI device id of interrupt controller. 47 - - ti,interrupt-ranges: Set of triplets containing ranges that convert 48 - the INTA output interrupt numbers to parent's 49 - interrupt number. Each triplet has following entries: 50 - - First entry specifies the base for vint 51 - - Second entry specifies the base for parent irqs 52 - - Third entry specifies the limit 53 - 54 - 55 - Example: 56 - -------- 57 - main_udmass_inta: interrupt-controller@33d00000 { 58 - compatible = "ti,sci-inta"; 59 - reg = <0x0 0x33d00000 0x0 0x100000>; 60 - interrupt-controller; 61 - msi-controller; 62 - interrupt-parent = <&main_navss_intr>; 63 - ti,sci = <&dmsc>; 64 - ti,sci-dev-id = <179>; 65 - ti,interrupt-ranges = <0 0 256>; 66 - };
+98
Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/interrupt-controller/ti,sci-inta.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Texas Instruments K3 Interrupt Aggregator 8 + 9 + maintainers: 10 + - Lokesh Vutla <lokeshvutla@ti.com> 11 + 12 + allOf: 13 + - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# 14 + 15 + description: | 16 + The Interrupt Aggregator (INTA) provides a centralized machine 17 + which handles the termination of system events to that they can 18 + be coherently processed by the host(s) in the system. A maximum 19 + of 64 events can be mapped to a single interrupt. 20 + 21 + Interrupt Aggregator 22 + +-----------------------------------------+ 23 + | Intmap VINT | 24 + | +--------------+ +------------+ | 25 + m ------>| | vint | bit | | 0 |.....|63| vint0 | 26 + . | +--------------+ +------------+ | +------+ 27 + . | . . | | HOST | 28 + Globalevents ------>| . . |----->| IRQ | 29 + . | . . | | CTRL | 30 + . | . . | +------+ 31 + n ------>| +--------------+ +------------+ | 32 + | | vint | bit | | 0 |.....|63| vintx | 33 + | +--------------+ +------------+ | 34 + | | 35 + +-----------------------------------------+ 36 + 37 + Configuration of these Intmap registers that maps global events to vint is 38 + done by a system controller (like the Device Memory and Security Controller 39 + on AM654 SoC). Driver should request the system controller to get the range 40 + of global events and vints assigned to the requesting host. Management 41 + of these requested resources should be handled by driver and requests 42 + system controller to map specific global event to vint, bit pair. 43 + 44 + Communication between the host processor running an OS and the system 45 + controller happens through a protocol called TI System Control Interface 46 + (TISCI protocol). 47 + 48 + properties: 49 + compatible: 50 + const: ti,sci-inta 51 + 52 + reg: 53 + maxItems: 1 54 + 55 + interrupt-controller: true 56 + 57 + msi-controller: true 58 + 59 + ti,interrupt-ranges: 60 + $ref: /schemas/types.yaml#/definitions/uint32-matrix 61 + description: | 62 + Interrupt ranges that converts the INTA output hw irq numbers 63 + to parents's input interrupt numbers. 64 + items: 65 + items: 66 + - description: | 67 + "output_irq" specifies the base for inta output irq 68 + - description: | 69 + "parent's input irq" specifies the base for parent irq 70 + - description: | 71 + "limit" specifies the limit for translation 72 + 73 + required: 74 + - compatible 75 + - reg 76 + - interrupt-controller 77 + - msi-controller 78 + - ti,sci 79 + - ti,sci-dev-id 80 + - ti,interrupt-ranges 81 + 82 + examples: 83 + - | 84 + bus { 85 + #address-cells = <2>; 86 + #size-cells = <2>; 87 + 88 + main_udmass_inta: msi-controller@33d00000 { 89 + compatible = "ti,sci-inta"; 90 + reg = <0x0 0x33d00000 0x0 0x100000>; 91 + interrupt-controller; 92 + msi-controller; 93 + interrupt-parent = <&main_navss_intr>; 94 + ti,sci = <&dmsc>; 95 + ti,sci-dev-id = <179>; 96 + ti,interrupt-ranges = <0 0 256>; 97 + }; 98 + };
+1 -1
MAINTAINERS
··· 17116 17116 F: Documentation/devicetree/bindings/arm/keystone/ti,k3-sci-common.yaml 17117 17117 F: Documentation/devicetree/bindings/arm/keystone/ti,sci.txt 17118 17118 F: Documentation/devicetree/bindings/clock/ti,sci-clk.txt 17119 - F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt 17119 + F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml 17120 17120 F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml 17121 17121 F: Documentation/devicetree/bindings/reset/ti,sci-reset.txt 17122 17122 F: Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt