AnsweredAssumed Answered

Feedback on devicetree for imx6qdl connecting to Marvell 6176 DSA networking switch

Question asked by Sriram Uma Chadalavada on Mar 17, 2020
Latest reply on Apr 4, 2020 by Sriram Uma Chadalavada

Please give feed back on device tree description forHW Block diagram

This node in the device tree with CONFIG_NET_DSA_LEGACY enabled in kernel correctly enumerates all interfaces on the Marvell 6176 switch.

dsa@0 {
compatible = "marvell,mv88e6085";
#address-cells = <2>;
#size-cells = <0>;
interrupt-parent = <&gpio2>;
interrupts = <&gpio2 31 IRQ_TYPE_LEVEL_LOW>;
dsa,ethernet = <&eth0>;

switch@0 { #address-cells = <1>; #size-cells = <0>; reg = <0 0>; port@0 { reg = <0>; label = "port0"; }; port@1 { reg = <1>; label = "port1"; }; port@2 { reg = <2>; label = "port2"; }; port@5 { reg = <5>; label = "cpu"; };

BUT this attempt with the new binding causes Linux 4.19 kernel to NOT detect the Marvell 6176 switch and NOT enumerate its ports.

mdio {
       #address-cells = <2>;
       #size-cells = <0>;
       status = "okay";
       switch0: switch0@0 {

               compatible = "marvell,mv88e6085";
               reg = <0 0>;
               interrupt-parent = <&gpio2>;
               interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
               dsa,member = <0 0>;
               ports{

                     #address-cells = <1>;
                     #size-cells = <0>;
                     port@0 {
                           reg = <0>;
                           label = "port0";
                      };

                     port@1 {
                           reg = <1>;
                           label = "port1";
                     };

                     port@2 {
                           reg = <2>;
                           label = "port2";
                     };

                     port@5 {
                           reg = <5>;
                           label = "cpu";
                           ethernet = <&eth0>;
                     };
               };
            };
};

Outcomes