All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] MIPS: bmips: Add bcm63168-l1 interrupt controller
@ 2015-11-15 16:51 Simon Arlott
  2015-11-15 16:53 ` [PATCH 2/2] " Simon Arlott
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Simon Arlott @ 2015-11-15 16:51 UTC (permalink / raw)
  To: Thomas Gleixner, Jason Cooper, Marc Zyngier,
	Linux Kernel Mailing List, devicetree, Florian Fainelli,
	Kevin Cernekee, linux-mips
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala

Add device tree binding for the BCM63168 interrupt controller.

This controller is similar to the SMP-capable BCM7038 and
the BCM3380 but with packed interrupt registers.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
---
 .../interrupt-controller/brcm,bcm63168-l1-intc.txt | 57 ++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm63168-l1-intc.txt

diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm63168-l1-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm63168-l1-intc.txt
new file mode 100644
index 0000000..636a6db
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm63168-l1-intc.txt
@@ -0,0 +1,57 @@
+Broadcom BCM63168-style Level 1 interrupt controller
+
+This block is a first level interrupt controller that is typically connected
+directly to one of the HW INT lines on each CPU.
+
+Key elements of the hardware design include:
+
+- 64 or 128 incoming level IRQ lines
+
+- Most onchip peripherals are wired directly to an L1 input
+
+- A separate instance of the register set for each CPU, allowing individual
+  peripheral IRQs to be routed to any CPU
+
+- Contains one or more enable/status word pairs per CPU
+
+- No atomic set/clear operations
+
+- No polarity/level/edge settings
+
+- No FIFO or priority encoder logic; software is expected to read all
+  2-4 status words to determine which IRQs are pending
+
+Required properties:
+
+- compatible: should be "brcm,bcm63168-l1-intc"
+- reg: specifies the base physical address and size of the registers;
+  the number of supported IRQs is inferred from the size argument
+- interrupt-controller: identifies the node as an interrupt controller
+- #interrupt-cells: specifies the number of cells needed to encode an interrupt
+  source, should be 1.
+- interrupt-parent: specifies the phandle to the parent interrupt controller(s)
+  this one is cascaded from
+- interrupts: specifies the interrupt line(s) in the interrupt-parent controller
+  node; valid values depend on the type of parent interrupt controller
+
+If multiple reg ranges and interrupt-parent entries are present on an SMP
+system, the driver will allow IRQ SMP affinity to be set up through the
+/proc/irq/ interface.  In the simplest possible configuration, only one
+reg range and one interrupt-parent is needed.
+
+The driver operates in native CPU endian by default, there is no support for
+specifying an alternative endianness.
+
+Example:
+
+periph_intc: periph_intc@10000000 {
+        compatible = "brcm,bcm63168-l1-intc";
+        reg = <0x10000020 0x20>,
+              <0x10000040 0x20>;
+
+        interrupt-controller;
+        #interrupt-cells = <1>;
+
+        interrupt-parent = <&cpu_intc>;
+        interrupts = <2>, <3>;
+};
-- 
2.1.4

-- 
Simon Arlott

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-02-08 14:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-15 16:51 [PATCH 1/2] MIPS: bmips: Add bcm63168-l1 interrupt controller Simon Arlott
2015-11-15 16:53 ` [PATCH 2/2] " Simon Arlott
2015-11-16 12:56   ` Jonas Gorski
2015-11-16 12:56     ` Jonas Gorski
2015-11-16 19:42     ` Simon Arlott
2015-11-16 12:35 ` [PATCH 1/2] " Jonas Gorski
2015-11-16 15:34 ` Rob Herring
2015-11-16 19:12   ` [PATCH 1/2] irqchip: Add brcm,bcm6345-l1-intc device tree binding Simon Arlott
2015-11-16 19:12     ` Simon Arlott
2015-11-17  0:09     ` Rob Herring
2015-11-17  0:09       ` Rob Herring
2015-11-21 12:38     ` [PATCH 2/2] MIPS: bmips: Add bcm6345-l1 interrupt controller Simon Arlott
2015-11-22 14:30       ` [PATCH (v2) " Simon Arlott
2016-02-08 10:50         ` [tip:irq/core] irqchips/bmips: " tip-bot for Simon Arlott
2016-02-08 14:07         ` tip-bot for Simon Arlott

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.