diff mbox

[U-Boot,v2,2/4] x86: Document irq router device tree bindings

Message ID BLU437-SMTP81E9513F0A6B894532C939BFCD0@phx.gbl
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Bin Meng May 25, 2015, 2:35 p.m. UTC
Describe all required properties needed by the irq router device tree.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>

---

Changes in v2:
- Fix typo of 'configuration'

 doc/device-tree-bindings/misc/intel,irq-router.txt | 50 ++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 doc/device-tree-bindings/misc/intel,irq-router.txt

Comments

Simon Glass June 2, 2015, 2:17 p.m. UTC | #1
On 25 May 2015 at 08:35, Bin Meng <bmeng.cn@gmail.com> wrote:
> Describe all required properties needed by the irq router device tree.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> Acked-by: Simon Glass <sjg@chromium.org>
>
> ---
>
> Changes in v2:
> - Fix typo of 'configuration'
>
>  doc/device-tree-bindings/misc/intel,irq-router.txt | 50 ++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
>  create mode 100644 doc/device-tree-bindings/misc/intel,irq-router.txt
>
> diff --git a/doc/device-tree-bindings/misc/intel,irq-router.txt b/doc/device-tree-bindings/misc/intel,irq-router.txt
> new file mode 100644
> index 0000000..598b4b1
> --- /dev/null
> +++ b/doc/device-tree-bindings/misc/intel,irq-router.txt
> @@ -0,0 +1,50 @@
> +Intel Interrupt Router Device Binding
> +=====================================
> +
> +The device tree node which describes the operation of the Intel Interrupt Router
> +device is as follows:
> +
> +Required properties :
> +- reg : Specifies the interrupt router's PCI configuration space address as
> +    defined by the Open Firmware spec.
> +- compatible = "intel,irq-router"
> +- intel,pirq-config : Specifies the IRQ routing register programming mechanism.
> +    Valid values are:
> +      "pci": IRQ routing is controlled by PCI configuration registers
> +      "ibase": IRQ routing is in the memory-mapped IBASE register block
> +- intel,ibase-offset : IBASE register offset in the interrupt router's PCI
> +    configuration space, required only if intel,pirq-config = "ibase".
> +- intel,pirq-link : Specifies the PIRQ link information with two cells. The
> +    first cell is the register offset that controls the first PIRQ link routing.
> +    The second cell is the total number of PIRQ links the router supports.
> +- intel,pirq-mask : Specifies the IRQ mask reprenting the 16 IRQs in 8259 PIC.
> +    Bit N is 1 means IRQ N is available to be routed.
> +- intel,pirq-routing : Specifies all PCI devices' IRQ routing information,
> +   encoded as 3 cells a group for a device. The first cell is the device's PCI
> +   bus number, device number and function number encoding with PCI_BDF() macro.
> +   The second cell is the PCI interrupt pin used by this device. The last cell
> +   is which PIRQ line the PCI interrupt pin is routed to.
> +
> +
> +Example
> +-------
> +
> +#include <dt-bindings/interrupt-router/intel-irq.h>
> +
> +       irq-router@1f,0 {
> +               reg = <0x0000f800 0 0 0 0>;
> +               compatible = "intel,irq-router";
> +               intel,pirq-config = "pci";
> +               intel,pirq-link = <0x60 8>;
> +               intel,pirq-mask = <0xdef8>;
> +               intel,pirq-routing = <
> +                       PCI_BDF(0, 2, 0) INTA PIRQA
> +                       PCI_BDF(0, 3, 0) INTA PIRQB
> +                       PCI_BDF(0, 8, 0) INTA PIRQC
> +                       PCI_BDF(0, 8, 1) INTB PIRQD
> +                       PCI_BDF(1, 6, 0) INTA PIRQE
> +                       PCI_BDF(1, 6, 1) INTB PIRQF
> +                       PCI_BDF(1, 6, 2) INTC PIRQG
> +                       PCI_BDF(1, 6, 3) INTD PIRQH
> +               >;
> +       };
> --
> 1.8.2.1
>

Applied to u-boot-x86, thanks!
diff mbox

Patch

diff --git a/doc/device-tree-bindings/misc/intel,irq-router.txt b/doc/device-tree-bindings/misc/intel,irq-router.txt
new file mode 100644
index 0000000..598b4b1
--- /dev/null
+++ b/doc/device-tree-bindings/misc/intel,irq-router.txt
@@ -0,0 +1,50 @@ 
+Intel Interrupt Router Device Binding
+=====================================
+
+The device tree node which describes the operation of the Intel Interrupt Router
+device is as follows:
+
+Required properties :
+- reg : Specifies the interrupt router's PCI configuration space address as
+    defined by the Open Firmware spec.
+- compatible = "intel,irq-router"
+- intel,pirq-config : Specifies the IRQ routing register programming mechanism.
+    Valid values are:
+      "pci": IRQ routing is controlled by PCI configuration registers
+      "ibase": IRQ routing is in the memory-mapped IBASE register block
+- intel,ibase-offset : IBASE register offset in the interrupt router's PCI
+    configuration space, required only if intel,pirq-config = "ibase".
+- intel,pirq-link : Specifies the PIRQ link information with two cells. The
+    first cell is the register offset that controls the first PIRQ link routing.
+    The second cell is the total number of PIRQ links the router supports.
+- intel,pirq-mask : Specifies the IRQ mask reprenting the 16 IRQs in 8259 PIC.
+    Bit N is 1 means IRQ N is available to be routed.
+- intel,pirq-routing : Specifies all PCI devices' IRQ routing information,
+   encoded as 3 cells a group for a device. The first cell is the device's PCI
+   bus number, device number and function number encoding with PCI_BDF() macro.
+   The second cell is the PCI interrupt pin used by this device. The last cell
+   is which PIRQ line the PCI interrupt pin is routed to.
+
+
+Example
+-------
+
+#include <dt-bindings/interrupt-router/intel-irq.h>
+
+	irq-router@1f,0 {
+		reg = <0x0000f800 0 0 0 0>;
+		compatible = "intel,irq-router";
+		intel,pirq-config = "pci";
+		intel,pirq-link = <0x60 8>;
+		intel,pirq-mask = <0xdef8>;
+		intel,pirq-routing = <
+			PCI_BDF(0, 2, 0) INTA PIRQA
+			PCI_BDF(0, 3, 0) INTA PIRQB
+			PCI_BDF(0, 8, 0) INTA PIRQC
+			PCI_BDF(0, 8, 1) INTB PIRQD
+			PCI_BDF(1, 6, 0) INTA PIRQE
+			PCI_BDF(1, 6, 1) INTB PIRQF
+			PCI_BDF(1, 6, 2) INTC PIRQG
+			PCI_BDF(1, 6, 3) INTD PIRQH
+		>;
+	};