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

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: interrupt-controller: Convert brcm,bcm6345-l1-intc to DT schema

Convert the Broadcom BCM6345 interrupt controller binding to schema
format.

The old schema indicated SoC specific compatibles should be present, but
there are none in use. So drop them.

The most number of CPUs on any platform seems to be 2, so document that
as the maximum.

Link: https://lore.kernel.org/r/20250505144622.1287712-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

+81 -55
-55
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm6345-l1-intc.txt
··· 1 - Broadcom BCM6345-style Level 1 interrupt controller 2 - 3 - This block is a first level interrupt controller that is typically connected 4 - directly to one of the HW INT lines on each CPU. 5 - 6 - Key elements of the hardware design include: 7 - 8 - - 32, 64 or 128 incoming level IRQ lines 9 - 10 - - Most onchip peripherals are wired directly to an L1 input 11 - 12 - - A separate instance of the register set for each CPU, allowing individual 13 - peripheral IRQs to be routed to any CPU 14 - 15 - - Contains one or more enable/status word pairs per CPU 16 - 17 - - No atomic set/clear operations 18 - 19 - - No polarity/level/edge settings 20 - 21 - - No FIFO or priority encoder logic; software is expected to read all 22 - 2-4 status words to determine which IRQs are pending 23 - 24 - Required properties: 25 - 26 - - compatible: should be "brcm,bcm<soc>-l1-intc", "brcm,bcm6345-l1-intc" 27 - - reg: specifies the base physical address and size of the registers; 28 - the number of supported IRQs is inferred from the size argument 29 - - interrupt-controller: identifies the node as an interrupt controller 30 - - #interrupt-cells: specifies the number of cells needed to encode an interrupt 31 - source, should be 1. 32 - - interrupts: specifies the interrupt line(s) in the interrupt-parent controller 33 - node; valid values depend on the type of parent interrupt controller 34 - 35 - If multiple reg ranges and interrupt-parent entries are present on an SMP 36 - system, the driver will allow IRQ SMP affinity to be set up through the 37 - /proc/irq/ interface. In the simplest possible configuration, only one 38 - reg range and one interrupt-parent is needed. 39 - 40 - The driver operates in native CPU endian by default, there is no support for 41 - specifying an alternative endianness. 42 - 43 - Example: 44 - 45 - periph_intc: interrupt-controller@10000000 { 46 - compatible = "brcm,bcm63168-l1-intc", "brcm,bcm6345-l1-intc"; 47 - reg = <0x10000020 0x20>, 48 - <0x10000040 0x20>; 49 - 50 - interrupt-controller; 51 - #interrupt-cells = <1>; 52 - 53 - interrupt-parent = <&cpu_intc>; 54 - interrupts = <2>, <3>; 55 - };
+81
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm6345-l1-intc.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/interrupt-controller/brcm,bcm6345-l1-intc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM6345-style Level 1 interrupt controller 8 + 9 + maintainers: 10 + - Simon Arlott <simon@octiron.net> 11 + 12 + description: > 13 + This block is a first level interrupt controller that is typically connected 14 + directly to one of the HW INT lines on each CPU. 15 + 16 + Key elements of the hardware design include: 17 + 18 + - 32, 64 or 128 incoming level IRQ lines 19 + 20 + - Most onchip peripherals are wired directly to an L1 input 21 + 22 + - A separate instance of the register set for each CPU, allowing individual 23 + peripheral IRQs to be routed to any CPU 24 + 25 + - Contains one or more enable/status word pairs per CPU 26 + 27 + - No atomic set/clear operations 28 + 29 + - No polarity/level/edge settings 30 + 31 + - No FIFO or priority encoder logic; software is expected to read all 32 + 2-4 status words to determine which IRQs are pending 33 + 34 + If multiple reg ranges and interrupt-parent entries are present on an SMP 35 + system, the driver will allow IRQ SMP affinity to be set up through the 36 + /proc/irq/ interface. In the simplest possible configuration, only one 37 + reg range and one interrupt-parent is needed. 38 + 39 + The driver operates in native CPU endian by default, there is no support for 40 + specifying an alternative endianness. 41 + 42 + properties: 43 + compatible: 44 + const: brcm,bcm6345-l1-intc 45 + 46 + reg: 47 + description: One entry per CPU core 48 + minItems: 1 49 + maxItems: 2 50 + 51 + interrupt-controller: true 52 + 53 + "#interrupt-cells": 54 + const: 1 55 + 56 + interrupts: 57 + description: One entry per CPU core 58 + minItems: 1 59 + maxItems: 2 60 + 61 + required: 62 + - compatible 63 + - reg 64 + - interrupt-controller 65 + - '#interrupt-cells' 66 + - interrupts 67 + 68 + additionalProperties: false 69 + 70 + examples: 71 + - | 72 + interrupt-controller@10000000 { 73 + compatible = "brcm,bcm6345-l1-intc"; 74 + reg = <0x10000020 0x20>, 75 + <0x10000040 0x20>; 76 + 77 + interrupt-controller; 78 + #interrupt-cells = <1>; 79 + 80 + interrupts = <2>, <3>; 81 + };