[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250722-pragmatic-nebulous-bloodhound-6251bb@kuoka>
Date: Tue, 22 Jul 2025 09:40:27 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Michal Simek <michal.simek@....com>
Cc: linux-kernel@...r.kernel.org, monstr@...str.eu,
michal.simek@...inx.com, git@...inx.com, Conor Dooley <conor+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Rob Herring <robh@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@...r.kernel.org>
Subject: Re: [PATCH] dt-bindings: interrupt-controller: Add Xilinx INTC
binding
On Tue, Jul 22, 2025 at 08:49:42AM +0200, Michal Simek wrote:
> + "#interrupt-cells":
> + const: 2
> + description:
> + Specifies the number of cells needed to encode an interrupt source.
> + The value shall be a minimum of 1. The Xilinx device trees typically
> + use 2 but the 2nd value is not used.
> +
> + interrupt-controller: true
> +
> + interrupts:
> + maxItems: 1
> + description:
> + Specifies the interrupt of the parent controller from which it is chained.
> +
> + xlnx,kind-of-intr:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + A 32 bit value specifying the interrupt type for each possible interrupt
> + (1 = edge, 0 = level). The interrupt type typically comes in thru
> + the device tree node of the interrupt generating device, but in this case
> + the interrupt type is determined by the interrupt controller based on how
> + it was implemented.
enum: [ 0, 1 ]
> +
> + xlnx,num-intr-inputs:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Specifies the number of interrupts supported by the specific
> + implementation of the controller (1-32).
minimum:
maximum:
> +
> +required:
> + - reg
> + - "#interrupt-cells"
> + - interrupt-controller
> + - xlnx,kind-of-intr
> + - xlnx,num-intr-inputs
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + interrupt-controller@...00000 {
> + compatible = "xlnx,xps-intc-1.00.a";
> + reg = <0x41800000 0x10000>;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + xlnx,kind-of-intr = <0x1>;
> + xlnx,num-intr-inputs = <0x1>;
This should be decimal, we (humans) count in decimal. xlnx,kind-of-intr
probably as well, for consistency and simplicity.
> + };
> +
> + - |
> + /*
> + * Chained Example - The interrupt is chained to hardware
> + * interrupt 61 (29 + 32) of the GIC for Zynq.
> + */
> + interrupt-controller@...00000 {
> + compatible = "xlnx,xps-intc-1.00.a";
> + reg = <0x41800000 0x10000>;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + interrupts = <0 29 4>;
Use defines for standard flags. Or drop the example, difference in one
property usually is not worth documenting.
Best regards,
Krzysztof
Powered by blists - more mailing lists