On 03/15/2017 01:18 PM, Vivek Unune wrote: > Thanks Florian. > > Let me try this out. First I'll try to figure out how to add a mdio node. > > Over the weekend I was trying enable DSA driver, but did not see DSA > under network. I'm using LEDE source with kernel 4.9. Nor did I see it > when I tried 'make kernel_menuconfig' (please don't top post on public mailing lists) You need to enable SWITCHDEV to have DSA. AFAIR SWITCHDEV may depend on EXPERT/EXPERIMENTAL as of 4.9 (or that was before). > > Thanks again. > > On Wed, Mar 15, 2017 at 3:49 PM, Florian Fainelli > <florian.fainelli@xxxxxxxxxxxx> wrote: >> On 03/15/2017 12:34 PM, Vivek Unune wrote: >>> Andrew, >>> >>> I'm not entirely sure. But here is what I observed. >>> >>> Boot loader sets up both the switches. And I can use all 8 ports of the >>> router when I boot Lede. Only the internal swich is detected and >>> configurable via swconfig tool >>> Internal switch is connected to CPU via port 5 same as Netgear R8000. >>> The other bit here is that I looked through the GPL source and gpio pin >>> 10 is labeled as EA9500_RST2LANSW_GPIO10_PIN/ResetSwitch. So when I >>> performed a robo reset of the pin and 5 (labeled 1 thru 5 on the unit) >>> of the 8 physical ports stopped working (no packets). >>> >>> If the external switch were to be connect via dedicated ethernet >>> interface it should have shown up during the probe. Is in't it? >> >> Not necessarily, and probably not with LEDE which would treat the >> external 53125 as a dumb switch and not even see it. With a mainline >> kernel and the B53 DSA driver you would be able to represent both >> switches in Device Tree and describe how they are cascading from each other. >> >> The potential Device Tree changes could look like this (based on your >> explanation, but I am not sure) for your platform, assuming the 53125 is >> actually exposing the front panel ports and that we did introduce a >> "mdio" node which would be required to expose the external BCM53125 switch. >> >> >> /* There is no MDIO node, there should be one */ >> &mdio { >> status = "okay"; >> >> switch@30 { >> #address-cells = <1>; >> #size-cells = <0>; >> reset-gpios = <&gpio 10>; >> reset-names = "robo_reset"; >> >> ports { >> #address-cells = <1>; >> #size-cells = <0>; >> >> port@0 { >> reg = <0>; >> label = "lan1"; >> }; >> >> port@1 { >> reg = <1>; >> label = "lan2"; >> }; >> >> port@2 { >> reg = <2>; >> label = "lan3"; >> }; >> >> port@3 { >> reg = <3>; >> label = "lan1"; >> }; >> >> port@4 { >> reg = <4>; >> label = "wan"; >> }; >> >> port@5 { >> reg = <5>; >> label = "cpu"; >> ethernet = <&sw0port8>; >> fixed-link { >> speed = <1000>; >> full-duplex; >> }; >> }; >> }; >> }; >> }; >> >> &srab { >> status = "okay"; >> >> ports { >> #address-cells = <1>; >> #size-cells = <0>; >> >> port@5 { >> reg = <5>; >> label = "cpu"; >> ethernet = <&gmac0>; >> fixed-link { >> speed = <1000>; >> full-duplex; >> }; >> }; >> >> sw0port8: port@8 { >> reg = <8>; >> label = "extswitch"; >> >> fixed-link { >> speed = <1000>; >> full-duplex; >> }; >> }; >> }; >> }; >> >>> >>> Thanks, >>> >>> Vivek >>> >>> >>> On Wed, Mar 15, 2017 at 2:52 PM Andrew Lunn <andrew@xxxxxxx >>> <mailto:andrew@xxxxxxx>> wrote: >>> >>> Hi Vivek >>> >>> > - It has two switches in order to support 8 lan ports. Internal >>> switch is >>> > BCM53012. The external switch BCM53125 currently works as "dumb >>> switch" >>> >>> Do you know how the second switch is connected? Is it cascaded off the >>> internal switch? Or does it have a dedicated Ethernet interface? >>> >>> Thanks >>> Andrew >>> >> >> >> -- >> Florian -- Florian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html