Re: [PATCH v1 2/4] dt-bindings: net: dsa: qca,ar9331 switch documentation

From: Oleksij Rempel
Date: Wed Oct 16 2019 - 08:40:28 EST


On Wed, Oct 16, 2019 at 02:21:52PM +0200, Andrew Lunn wrote:
> On Mon, Oct 14, 2019 at 08:15:47AM +0200, Oleksij Rempel wrote:
> > Atheros AR9331 has built-in 5 port switch. The switch can be configured
> > to use all 5 or 4 ports. One of built-in PHYs can be used by first built-in
> > ethernet controller or to be used directly by the switch over second ethernet
> > controller.
> >
> > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/net/dsa/ar9331.txt | 155 ++++++++++++++++++
> > 1 file changed, 155 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/dsa/ar9331.txt
> >
> > diff --git a/Documentation/devicetree/bindings/net/dsa/ar9331.txt b/Documentation/devicetree/bindings/net/dsa/ar9331.txt
> > new file mode 100644
> > index 000000000000..b0f95fd19584
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/dsa/ar9331.txt
> > @@ -0,0 +1,155 @@
> > +Atheros AR9331 built-in switch
> > +=============================
> > +
> > +It is a switch built-in to Atheros AR9331 WiSoC and addressable over internal
> > +MDIO bus. All PHYs are build-in as well.
> > +
> > +Required properties:
> > +
> > + - compatible: should be: "qca,ar9331-switch"
> > + - reg: Address on the MII bus for the switch.
> > + - resets : Must contain an entry for each entry in reset-names.
> > + - reset-names : Must include the following entries: "switch"
> > + - interrupt-parent: Phandle to the parent interrupt controller
> > + - interrupts: IRQ line for the switch
> > + - interrupt-controller: Indicates the switch is itself an interrupt
> > + controller. This is used for the PHY interrupts.
> > + - #interrupt-cells: must be 1
> > + - mdio: Container of PHY and devices on the switches MDIO bus.
> > +
> > +See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
> > +required and optional properties.
> > +Examples:
> > +
> > +eth0: ethernet@19000000 {
> > + compatible = "qca,ar9330-eth";
> > + reg = <0x19000000 0x200>;
> > + interrupts = <4>;
> > +
> > + resets = <&rst 9>, <&rst 22>;
> > + reset-names = "mac", "mdio";
> > + clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
> > + clock-names = "eth", "mdio";
> > +
> > + phy-mode = "mii";
> > + phy-handle = <&phy_port4>;
>
> This does not seem like a valid example. If phy_port4 is listed here,
> i would expect switch_port 5 to be totally missing?

hm... right.
phy4 can be used with switch_port 5 or eth0. Should i remove completely
switch_port 5 node or it is enough to "disable" it.

> > +};
> > +
> > +eth1: ethernet@1a000000 {
> > + compatible = "qca,ar9330-eth";
> > + reg = <0x1a000000 0x200>;
> > + interrupts = <5>;
> > + resets = <&rst 13>, <&rst 23>;
> > + reset-names = "mac", "mdio";
> > + clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
> > + clock-names = "eth", "mdio";
> > +
> > + phy-mode = "gmii";
> > + phy-handle = <&switch_port0>;
> > +
> > + fixed-link {
> > + speed = <1000>;
> > + full-duplex;
> > + };
>
> You also cannot have both a fixed-link and a phy-handle.

ok.

>
> > +
> > + mdio {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + switch10: switch@10 {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + compatible = "qca,ar9331-switch";
> > + reg = <16>;
>
> Maybe don't mix up hex and decimal? switch16: switch@16.

ok. will fix it. What is actually proper way to set the reg of switch?
This switch is responding on range of phy addresses: any of two high bits of 5
bit phy address.

Regards,
Oleksij

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |