diff mbox series

[v2,net-next,12/14] dt-bindings: net: dsa: ocelot: add ocelot-ext documentation

Message ID 20220922040102.1554459-13-colin.foster@in-advantage.com
State Superseded
Headers show
Series add support for the the vsc7512 internal copper phys | expand

Commit Message

Colin Foster Sept. 22, 2022, 4:01 a.m. UTC
The ocelot-ext driver is another sub-device of the Ocelot / Felix driver
system, which currently supports the four internal copper phys.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
---

v2
    * New patch

---
 .../bindings/net/dsa/mscc,ocelot.yaml         | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)

Comments

Krzysztof Kozlowski Sept. 23, 2022, 6:08 p.m. UTC | #1
On 22/09/2022 06:01, Colin Foster wrote:
> The ocelot-ext driver is another sub-device of the Ocelot / Felix driver
> system, which currently supports the four internal copper phys.
> 
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---
> 
> v2
>     * New patch
> 
> ---
>  .../bindings/net/dsa/mscc,ocelot.yaml         | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> index 8d93ed9c172c..bed575236261 100644
> --- a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> @@ -54,9 +54,21 @@ description: |
>        - phy-mode = "1000base-x": on ports 0, 1, 2, 3
>        - phy-mode = "2500base-x": on ports 0, 1, 2, 3
>  
> +  VSC7412 (Ocelot-Ext):
> +
> +    The Ocelot family consists of four devices, the VSC7511, VSC7512, VSC7513,
> +    and the VSC7514. The VSC7513 and VSC7514 both have an internal MIPS
> +    processor that natively support Linux. Additionally, all four devices
> +    support control over external interfaces, SPI and PCIe. The Ocelot-Ext
> +    driver is for the external control portion.
> +
> +    The following PHY interface type are currently supported:
> +      - phy-mode = "internal": on ports 0, 1, 2, 3

"Currently supported" by hardware or by some specific, chosen
implementation? If the latter, drop it. If the former, maybe this should
be constrained in allOf:if:then.

Best regards,
Krzysztof
Colin Foster Sept. 23, 2022, 6:18 p.m. UTC | #2
On Fri, Sep 23, 2022 at 08:08:53PM +0200, Krzysztof Kozlowski wrote:
> On 22/09/2022 06:01, Colin Foster wrote:
> > diff --git a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> > index 8d93ed9c172c..bed575236261 100644
> > --- a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> > +++ b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> > @@ -54,9 +54,21 @@ description: |
> >        - phy-mode = "1000base-x": on ports 0, 1, 2, 3
> >        - phy-mode = "2500base-x": on ports 0, 1, 2, 3
> >  
> > +  VSC7412 (Ocelot-Ext):
> > +
> > +    The Ocelot family consists of four devices, the VSC7511, VSC7512, VSC7513,
> > +    and the VSC7514. The VSC7513 and VSC7514 both have an internal MIPS
> > +    processor that natively support Linux. Additionally, all four devices
> > +    support control over external interfaces, SPI and PCIe. The Ocelot-Ext
> > +    driver is for the external control portion.
> > +
> > +    The following PHY interface type are currently supported:
> > +      - phy-mode = "internal": on ports 0, 1, 2, 3
> 
> "Currently supported" by hardware or by some specific, chosen
> implementation? If the latter, drop it. If the former, maybe this should
> be constrained in allOf:if:then.

Hi Krzysztof,

Currently supported by the software. This patch set explicitly adds
support for the four internal ports. There'll be another patch set right
around the corner that'll add QSGMII to ports 4-7.

I see your point though. I'll drop "currently" and have it match the
wording of the other drivers.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
index 8d93ed9c172c..bed575236261 100644
--- a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
@@ -54,9 +54,21 @@  description: |
       - phy-mode = "1000base-x": on ports 0, 1, 2, 3
       - phy-mode = "2500base-x": on ports 0, 1, 2, 3
 
+  VSC7412 (Ocelot-Ext):
+
+    The Ocelot family consists of four devices, the VSC7511, VSC7512, VSC7513,
+    and the VSC7514. The VSC7513 and VSC7514 both have an internal MIPS
+    processor that natively support Linux. Additionally, all four devices
+    support control over external interfaces, SPI and PCIe. The Ocelot-Ext
+    driver is for the external control portion.
+
+    The following PHY interface type are currently supported:
+      - phy-mode = "internal": on ports 0, 1, 2, 3
+
 properties:
   compatible:
     enum:
+      - mscc,vsc7512-switch
       - mscc,vsc9953-switch
       - pci1957,eef0
 
@@ -258,3 +270,49 @@  examples:
             };
         };
     };
+  # Ocelot-ext VSC7512
+  - |
+    spi {
+        soc@0 {
+            compatible = "mscc,vsc7512";
+            #address-cells = <1>;
+            #size-cells = <1>;
+
+            ethernet-switch@0 {
+                compatible = "mscc,vsc7512-switch";
+                reg = <0 0>;
+
+                ethernet-ports {
+                    #address-cells = <1>;
+                    #size-cells = <0>;
+
+                    port@0 {
+                        reg = <0>;
+                        label = "cpu";
+                        ethernet = <&mac_sw>;
+                        phy-handle = <&phy0>;
+                        phy-mode = "internal";
+                    };
+
+                    port@1 {
+                        reg = <1>;
+                        label = "swp1";
+                        phy-mode = "internal";
+                        phy-handle = <&phy1>;
+                    };
+
+                    port@2 {
+                        reg = <2>;
+                        phy-mode = "internal";
+                        phy-handle = <&phy2>;
+                    };
+
+                    port@3 {
+                        reg = <3>;
+                        phy-mode = "internal";
+                        phy-handle = <&phy3>;
+                    };
+                };
+            };
+        };
+    };