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.reic...@collabora.com>
---
 arch/arm/boot/dts/imx6q-bx50v3.dtsi | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6q-bx50v3.dtsi 
b/arch/arm/boot/dts/imx6q-bx50v3.dtsi
index 1938b04199c4..1fb67cd2b2a1 100644
--- a/arch/arm/boot/dts/imx6q-bx50v3.dtsi
+++ b/arch/arm/boot/dts/imx6q-bx50v3.dtsi
@@ -102,10 +102,15 @@ mdio0: mdio-gpio {
                #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>;
@@ -117,22 +122,32 @@ mdio {
 
                                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>;
                                };
                        };
                };
-- 
2.27.0

Reply via email to