Re: [PATCH] ARM: dts: BCM5301X: Add support for Linksys EA9500

From: Vivek Unune
Date: Wed Mar 15 2017 - 16:18:26 EST


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'

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