OSDN Git Service

ARM: dts: imx6q-bx50v3: Add IRQ support for internal switch
authorSebastian Reichel <sebastian.reichel@collabora.com>
Wed, 5 Aug 2020 13:58:17 +0000 (15:58 +0200)
committerShawn Guo <shawnguo@kernel.org>
Sat, 22 Aug 2020 12:44:12 +0000 (20:44 +0800)
This adds missing interrupt support for the internal Marvell
switch, so that the kernel does not have to keep polling the
PHYs on the bit-banged MDIO bus all the time.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6q-bx50v3.dtsi

index 1938b04..1fb67cd 100644 (file)
                #address-cells = <1>;
                #size-cells = <0>;
 
-               switch@0 {
+               switch: switch@0 {
                        compatible = "marvell,mv88e6085"; /* 88e6240*/
                        reg = <0>;
 
+                       interrupt-parent = <&gpio2>;
+                       interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
                        switch_ports: ports {
                                #address-cells = <1>;
                                #size-cells = <0>;
 
                                switchphy0: switchphy@0 {
                                        reg = <0>;
+                                       interrupt-parent = <&switch>;
+                                       interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                switchphy1: switchphy@1 {
                                        reg = <1>;
+                                       interrupt-parent = <&switch>;
+                                       interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                switchphy2: switchphy@2 {
                                        reg = <2>;
+                                       interrupt-parent = <&switch>;
+                                       interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                switchphy3: switchphy@3 {
                                        reg = <3>;
+                                       interrupt-parent = <&switch>;
+                                       interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                switchphy4: switchphy@4 {
                                        reg = <4>;
+                                       interrupt-parent = <&switch>;
+                                       interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
                                };
                        };
                };