Commit d3f61634 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle

MIPS: SEAD-3: Fix GIC interrupt specifiers

The various interrupt specifiers in the device tree are not in a valid
format for the MIPS GIC interrupt controller binding. Where each
interrupt should provide 3 values - GIC_LOCAL or GIC_SHARED, the
pin number & the type of interrupt - the device tree was only providing
the pin number. This causes interrupts for those devices to not be used
when a GIC is present. SEAD-3 systems without a GIC are unaffected since
the DT fixup code generates interrupt specifiers that are valid for the
CPU interrupt controller.

Fix this by adding the GIC_SHARED & IRQ_TYPE_LEVEL_HIGH values to each
interrupt specifier.
Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Fixes: c11e3b48 ("MIPS: SEAD3: Probe UARTs using DT")
Fixes: a34e9388 ("MIPS: SEAD3: Probe ethernet controller using DT")
Fixes: 7afd2a5a ("MIPS: SEAD3: Probe EHCI controller using DT")
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org  # v4.9+
Patchwork: https://patchwork.linux-mips.org/patch/16189/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent fbdc674b
...@@ -60,7 +60,7 @@ ehci@1b200000 { ...@@ -60,7 +60,7 @@ ehci@1b200000 {
reg = <0x1b200000 0x1000>; reg = <0x1b200000 0x1000>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
interrupts = <0>; /* GIC 0 or CPU 6 */ interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; /* GIC 0 or CPU 6 */
has-transaction-translator; has-transaction-translator;
}; };
...@@ -223,7 +223,7 @@ uart0: uart@1f000900 { ...@@ -223,7 +223,7 @@ uart0: uart@1f000900 {
clock-frequency = <14745600>; clock-frequency = <14745600>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
interrupts = <3>; /* GIC 3 or CPU 4 */ interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; /* GIC 3 or CPU 4 */
no-loopback-test; no-loopback-test;
}; };
...@@ -238,7 +238,7 @@ uart1: uart@1f000800 { ...@@ -238,7 +238,7 @@ uart1: uart@1f000800 {
clock-frequency = <14745600>; clock-frequency = <14745600>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
interrupts = <2>; /* GIC 2 or CPU 4 */ interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>; /* GIC 2 or CPU 4 */
no-loopback-test; no-loopback-test;
}; };
...@@ -249,7 +249,7 @@ eth@1f010000 { ...@@ -249,7 +249,7 @@ eth@1f010000 {
reg-io-width = <4>; reg-io-width = <4>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
interrupts = <0>; /* GIC 0 or CPU 6 */ interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; /* GIC 0 or CPU 6 */
phy-mode = "mii"; phy-mode = "mii";
smsc,irq-push-pull; smsc,irq-push-pull;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment