]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/x86/dts/qemu-x86_q35.dts
x86: qemu: Implement PIRQ routing
[karo-tx-uboot.git] / arch / x86 / dts / qemu-x86_q35.dts
index 02a483cd37aa2d02f4edec07e6e83a8140017b5e..c259f2a3d296d2f8a40ee8db3801262cc16424d6 100644 (file)
@@ -6,6 +6,18 @@
 
 /dts-v1/;
 
+#include <dt-bindings/interrupt-router/intel-irq.h>
+
+/* ICH9 IRQ router has discrete PIRQ control registers */
+#undef PIRQE
+#undef PIRQF
+#undef PIRQG
+#undef PIRQH
+#define PIRQE  8
+#define PIRQF  9
+#define PIRQG  10
+#define PIRQH  11
+
 /include/ "skeleton.dtsi"
 /include/ "serial.dtsi"
 
                ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000
                        0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
                        0x01000000 0x0 0x2000 0x2000 0 0xe000>;
+
+               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 = <0x0e40>;
+                       intel,pirq-routing = <
+                               /* e1000 NIC */
+                               PCI_BDF(0, 2, 0) INTA PIRQG
+                               /* ICH9 UHCI */
+                               PCI_BDF(0, 29, 0) INTA PIRQA
+                               PCI_BDF(0, 29, 1) INTB PIRQB
+                               PCI_BDF(0, 29, 2) INTC PIRQC
+                               /* ICH9 EHCI */
+                               PCI_BDF(0, 29, 7) INTD PIRQD
+                               /* ICH9 SATA */
+                               PCI_BDF(0, 31, 2) INTA PIRQA
+                       >;
+               };
        };
 
 };