[PATCH v2 0/4] Add bcm2835aux interrupt controller
Florian Fainelli
f.fainelli at gmail.com
Mon Jun 12 11:23:05 PDT 2017
On 06/12/2017 07:25 AM, Phil Elwell wrote:
> Devices in the BCM2835 AUX block share a common interrupt line, with a
> register indicating which devices have active IRQs. Expose this as a
> nested interrupt controller to avoid IRQ sharing problems (easily
> observed if UART1 and SPI1/2 are enabled simultaneously).
>
> This patch set is complicated by the fact that the DT node for the AUX
> clock controller includes the AUXIRQ register needed by this driver.
> Patch 1 lays the groundwork by allowing this overlap and preparing for
> a future DT change that removes it.
Nit: there seems to be something wrong with your git send-email options,
the threading should be:
[PATCH 0]
[PATCH 1]
instead, patches 1-4 don't appear as replies to patch 0 anyhow, with the
minor nits here and there, this looks good, thanks!
>
> Changes in v2:
> * Add DT bindings and header file for bcm2835-aux-intc.
> * Split the interrupt-controller functionality into a dedicated irqchip
> driver with a dedicated DT node.
> * Remove mask tracking from the intc driver, so that all interrupts
> (including spurious ones) are submitted to the IRQ framework.
> * Replace hard-coded masks with BIT macro in the intc driver.
> * Prepare the AUX clock driver for a time when its DT node may only be
> a single word register, but until then ioremap its region without
> reserving it to permit sharing.
>
> Phil Elwell (4):
> clk: bcm2835: More flexible IO register remapping
> dt: bindings: Add bindings for bcm2835-aux-intc
> irqchip: Add BCM2835 AUX interrupt controller
> ARM: dts: bcm283x: Add and use bcm2835-aux-intc
>
> .../interrupt-controller/brcm,bcm2835-aux-intc.txt | 28 ++++
> arch/arm/boot/dts/bcm283x.dtsi | 27 +++-
> drivers/clk/bcm/clk-bcm2835-aux.c | 20 ++-
> drivers/irqchip/Makefile | 2 +-
> drivers/irqchip/irq-bcm2835-aux.c | 155 +++++++++++++++++++++
> .../interrupt-controller/bcm2835-aux-intc.h | 20 +++
> 6 files changed, 243 insertions(+), 9 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-aux-intc.txt
> create mode 100644 drivers/irqchip/irq-bcm2835-aux.c
> create mode 100644 include/dt-bindings/interrupt-controller/bcm2835-aux-intc.h
>
--
Florian
More information about the linux-rpi-kernel
mailing list