Message ID | 20170425235357.7690-1-eric@anholt.net |
---|---|
State | Not Applicable, archived |
Headers | show |
On 04/25/2017 04:53 PM, Eric Anholt wrote: > Cygnus has a single AMAC controller connected to the B53 switch with 2 > PHYs. On the BCM911360_EP platform, those two PHYs are connected to > the external ethernet jacks. > > Signed-off-by: Eric Anholt <eric@anholt.net> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > --- > > v2: Call the node "switch", just call the ports "port" (suggestions by > Florian), drop max-speed on the phys (suggestion by Andrew Lunn), > call the other nodes "ethernet" and "ethernet-phy" (suggestions by > Sergei Shtylyov) > > arch/arm/boot/dts/bcm-cygnus.dtsi | 58 ++++++++++++++++++++++++++++++++++ > arch/arm/boot/dts/bcm911360_entphn.dts | 8 +++++ > 2 files changed, 66 insertions(+) > > diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi > index 009f1346b817..9fd89be0f5e0 100644 > --- a/arch/arm/boot/dts/bcm-cygnus.dtsi > +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi > @@ -142,6 +142,54 @@ > interrupts = <0>; > }; > > + mdio: mdio@18002000 { > + compatible = "brcm,iproc-mdio"; > + reg = <0x18002000 0x8>; > + #size-cells = <1>; > + #address-cells = <0>; Sorry for not noticing earlier, since you override this correctly in the board-level DTS file can you put a: status = "disabled" property in there by default? Thanks! > + > + gphy0: ethernet-phy@0 { > + reg = <0>; > + }; > + > + gphy1: ethernet-phy@1 { > + reg = <1>; > + }; > + }; > + > + switch: switch@18007000 { > + compatible = "brcm,bcm11360-srab", "brcm,cygnus-srab"; > + reg = <0x18007000 0x1000>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + phy-handle = <&gphy0>; > + phy-mode = "rgmii"; > + }; > + > + port@1 { > + reg = <1>; > + phy-handle = <&gphy1>; > + phy-mode = "rgmii"; > + }; > + > + port@8 { > + reg = <8>; > + label = "cpu"; > + ethernet = <ð0>; > + fixed-link { > + speed = <1000>; > + full-duplex; > + }; > + }; > + }; > + }; > + > i2c0: i2c@18008000 { > compatible = "brcm,cygnus-iproc-i2c", "brcm,iproc-i2c"; > reg = <0x18008000 0x100>; > @@ -295,6 +343,16 @@ > status = "disabled"; > }; > > + eth0: ethernet@18042000 { > + compatible = "brcm,amac"; > + reg = <0x18042000 0x1000>, > + <0x18110000 0x1000>; > + reg-names = "amac_base", "idm_base"; > + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > + max-speed = <1000>; > + status = "disabled"; > + }; > + > nand: nand@18046000 { > compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1"; > reg = <0x18046000 0x600>, <0xf8105408 0x600>, > diff --git a/arch/arm/boot/dts/bcm911360_entphn.dts b/arch/arm/boot/dts/bcm911360_entphn.dts > index 8b3800f46288..e037dea63f4a 100644 > --- a/arch/arm/boot/dts/bcm911360_entphn.dts > +++ b/arch/arm/boot/dts/bcm911360_entphn.dts > @@ -57,6 +57,14 @@ > }; > }; > > +ð0 { > + status = "okay"; > +}; > + > +&switch { > + status = "okay"; > +}; > + > &uart3 { > status = "okay"; > }; >
> + eth0: ethernet@18042000 { > + compatible = "brcm,amac"; > + reg = <0x18042000 0x1000>, > + <0x18110000 0x1000>; > + reg-names = "amac_base", "idm_base"; > + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > + max-speed = <1000>; Hi Eric Sorry i missed this the first time. Does this Ethernet controller do > 1Gbps? Does this max-speed do anything useful? Andrew -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Andrew Lunn <andrew@lunn.ch> writes: >> + eth0: ethernet@18042000 { >> + compatible = "brcm,amac"; >> + reg = <0x18042000 0x1000>, >> + <0x18110000 0x1000>; >> + reg-names = "amac_base", "idm_base"; >> + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >> + max-speed = <1000>; > > Hi Eric > > Sorry i missed this the first time. Does this Ethernet controller do > > 1Gbps? Does this max-speed do anything useful? It doesn't look like it. Dropped.
Florian Fainelli <f.fainelli@gmail.com> writes: > On 04/25/2017 04:53 PM, Eric Anholt wrote: >> Cygnus has a single AMAC controller connected to the B53 switch with 2 >> PHYs. On the BCM911360_EP platform, those two PHYs are connected to >> the external ethernet jacks. >> >> Signed-off-by: Eric Anholt <eric@anholt.net> >> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> >> --- >> >> v2: Call the node "switch", just call the ports "port" (suggestions by >> Florian), drop max-speed on the phys (suggestion by Andrew Lunn), >> call the other nodes "ethernet" and "ethernet-phy" (suggestions by >> Sergei Shtylyov) >> >> arch/arm/boot/dts/bcm-cygnus.dtsi | 58 ++++++++++++++++++++++++++++++++++ >> arch/arm/boot/dts/bcm911360_entphn.dts | 8 +++++ >> 2 files changed, 66 insertions(+) >> >> diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi >> index 009f1346b817..9fd89be0f5e0 100644 >> --- a/arch/arm/boot/dts/bcm-cygnus.dtsi >> +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi >> @@ -142,6 +142,54 @@ >> interrupts = <0>; >> }; >> >> + mdio: mdio@18002000 { >> + compatible = "brcm,iproc-mdio"; >> + reg = <0x18002000 0x8>; >> + #size-cells = <1>; >> + #address-cells = <0>; > > Sorry for not noticing earlier, since you override this correctly in the > board-level DTS file can you put a: > > status = "disabled" > > property in there by default? I didn't have the override in the board file either, just switch and ethernet. Fixed.
Florian Fainelli <f.fainelli@gmail.com> writes: > On 04/25/2017 04:53 PM, Eric Anholt wrote: >> Cygnus has a single AMAC controller connected to the B53 switch with 2 >> PHYs. On the BCM911360_EP platform, those two PHYs are connected to >> the external ethernet jacks. >> >> Signed-off-by: Eric Anholt <eric@anholt.net> >> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> >> --- >> >> v2: Call the node "switch", just call the ports "port" (suggestions by >> Florian), drop max-speed on the phys (suggestion by Andrew Lunn), >> call the other nodes "ethernet" and "ethernet-phy" (suggestions by >> Sergei Shtylyov) >> >> arch/arm/boot/dts/bcm-cygnus.dtsi | 58 ++++++++++++++++++++++++++++++++++ >> arch/arm/boot/dts/bcm911360_entphn.dts | 8 +++++ >> 2 files changed, 66 insertions(+) >> >> diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi >> index 009f1346b817..9fd89be0f5e0 100644 >> --- a/arch/arm/boot/dts/bcm-cygnus.dtsi >> +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi >> @@ -142,6 +142,54 @@ >> interrupts = <0>; >> }; >> >> + mdio: mdio@18002000 { >> + compatible = "brcm,iproc-mdio"; >> + reg = <0x18002000 0x8>; >> + #size-cells = <1>; >> + #address-cells = <0>; > > Sorry for not noticing earlier, since you override this correctly in the > board-level DTS file can you put a: > > status = "disabled" > > property in there by default? Done.
On Tue, Apr 25, 2017 at 04:53:56PM -0700, Eric Anholt wrote: > Cygnus is a small family of SoCs, of which we currently have > devicetree for BCM11360 and BCM58300. The 11360's B53 is mostly the > same as 58xx, just requiring a tiny bit of setup that was previously > missing. > > Signed-off-by: Eric Anholt <eric@anholt.net> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > --- > > v2: Reorder the entry in the docs (suggestion by Scott Branden), add > missing '"' > > Documentation/devicetree/bindings/net/dsa/b53.txt | 3 +++ > drivers/net/dsa/b53/b53_srab.c | 2 ++ > 2 files changed, 5 insertions(+) Everyone learns the hard way that specific compatibles are needed. Acked-by: Rob Herring <robh@kernel.org> Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/net/dsa/b53.txt b/Documentation/devicetree/bindings/net/dsa/b53.txt index d6c6e41648d4..eb679e92d525 100644 --- a/Documentation/devicetree/bindings/net/dsa/b53.txt +++ b/Documentation/devicetree/bindings/net/dsa/b53.txt @@ -13,6 +13,9 @@ Required properties: "brcm,bcm5397" "brcm,bcm5398" + For the BCM11360 SoC, must be: + "brcm,bcm11360-srab" and the mandatory "brcm,cygnus-srab" string + For the BCM5310x SoCs with an integrated switch, must be one of: "brcm,bcm53010-srab" "brcm,bcm53011-srab" diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_srab.c index 8a62b6a69703..c37ffd1b6833 100644 --- a/drivers/net/dsa/b53/b53_srab.c +++ b/drivers/net/dsa/b53/b53_srab.c @@ -364,6 +364,7 @@ static const struct of_device_id b53_srab_of_match[] = { { .compatible = "brcm,bcm53018-srab" }, { .compatible = "brcm,bcm53019-srab" }, { .compatible = "brcm,bcm5301x-srab" }, + { .compatible = "brcm,bcm11360-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,bcm58522-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,bcm58525-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,bcm58535-srab", .data = (void *)BCM58XX_DEVICE_ID }, @@ -371,6 +372,7 @@ static const struct of_device_id b53_srab_of_match[] = { { .compatible = "brcm,bcm58623-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,bcm58625-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,bcm88312-srab", .data = (void *)BCM58XX_DEVICE_ID }, + { .compatible = "brcm,cygnus-srab", .data = (void *)BCM58XX_DEVICE_ID }, { .compatible = "brcm,nsp-srab", .data = (void *)BCM58XX_DEVICE_ID }, { /* sentinel */ }, };