Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1653110 > unrolled thread
| Started by | John Crispin <john@phrozen.org> |
|---|---|
| First post | 2017-05-30 12:50 +0200 |
| Last post | 2017-05-30 23:40 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH V2 1/3] Documentation: devicetree: add multiple cpu port DSA binding John Crispin <john@phrozen.org> - 2017-05-30 12:50 +0200
Re: [PATCH V2 1/3] Documentation: devicetree: add multiple cpu port DSA binding Florian Fainelli <f.fainelli@gmail.com> - 2017-05-30 23:40 +0200
| From | John Crispin <john@phrozen.org> |
|---|---|
| Date | 2017-05-30 12:50 +0200 |
| Subject | [PATCH V2 1/3] Documentation: devicetree: add multiple cpu port DSA binding |
| Message-ID | <tMMSR-6dU-9@gated-at.bofh.it> |
Extend the DSA binding documentation, adding the new property required
when there is more than one CPU port attached to the switch.
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: John Crispin <john@phrozen.org>
---
Documentation/devicetree/bindings/net/dsa/dsa.txt | 61 ++++++++++++++++++++++-
1 file changed, 60 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.txt b/Documentation/devicetree/bindings/net/dsa/dsa.txt
index cfe8f64eca4f..c164eb38ccc5 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.txt
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.txt
@@ -55,6 +55,11 @@ A user port has the following optional property:
- label : Describes the label associated with this port, which
will become the netdev name.
+- cpu : Option for non "cpu"/"dsa" ports. A phandle to a
+ "cpu" port, which will be used for passing packets
+ from this port to the host. If not present, the first
+ "cpu" port will be used.
+
Port child nodes may also contain the following optional standardised
properties, described in binding documents:
@@ -71,7 +76,7 @@ properties, described in binding documents:
Documentation/devicetree/bindings/net/fixed-link.txt
for details.
-Example
+Examples
The following example shows three switches on three MDIO busses,
linked into one DSA cluster.
@@ -264,6 +269,60 @@ linked into one DSA cluster.
};
};
+The following example shows a switch that has two cpu ports each connecting
+to a different MAC.
+
+&mdio0 {
+ switch@0 {
+ compatible = "mediatek,mt7530";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ label = "lan0";
+ cpu = <&cpu_port1>;
+ };
+
+ port@1 {
+ reg = <1>;
+ label = "lan1";
+ cpu = <&cpu_port1>;
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "lan2";
+ cpu = <&cpu_port1>;
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "wan";
+ cpu = <&cpu_port2>;
+ };
+
+ cpu_port2: port@5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <&gmac2>;
+ phy-mode = "trgmii";
+ };
+
+ cpu_port1: port@6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <&gmac1>;
+ phy-mode = "trgmii";
+ };
+ };
+ };
+};
+
Deprecated Binding
------------------
--
2.11.0
[toc] | [next] | [standalone]
| From | Florian Fainelli <f.fainelli@gmail.com> |
|---|---|
| Date | 2017-05-30 23:40 +0200 |
| Subject | Re: [PATCH V2 1/3] Documentation: devicetree: add multiple cpu port DSA binding |
| Message-ID | <tMX1V-4ae-25@gated-at.bofh.it> |
| In reply to | #1653110 |
On 05/30/2017 03:44 AM, John Crispin wrote:
> Extend the DSA binding documentation, adding the new property required
> when there is more than one CPU port attached to the switch.
>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: John Crispin <john@phrozen.org>
> ---
> Documentation/devicetree/bindings/net/dsa/dsa.txt | 61 ++++++++++++++++++++++-
> 1 file changed, 60 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.txt b/Documentation/devicetree/bindings/net/dsa/dsa.txt
> index cfe8f64eca4f..c164eb38ccc5 100644
> --- a/Documentation/devicetree/bindings/net/dsa/dsa.txt
> +++ b/Documentation/devicetree/bindings/net/dsa/dsa.txt
> @@ -55,6 +55,11 @@ A user port has the following optional property:
> - label : Describes the label associated with this port, which
> will become the netdev name.
>
> +- cpu : Option for non "cpu"/"dsa" ports. A phandle to a
> + "cpu" port, which will be used for passing packets
> + from this port to the host. If not present, the first
> + "cpu" port will be used.
So this option essentially allow us to "partition" the switch between
vectors of ports and their upstream/CPU port.
While using Device Tree is an obvious choice for making the initial
partitioning, it seems like we are missing a configuration mechanism
whereby we can properly assign ports to a specific upstream CPU port.
Let's move the actual discussion into patch 2 in order not to pollute
the DT maintainers' inbox.
> +
> Port child nodes may also contain the following optional standardised
> properties, described in binding documents:
>
> @@ -71,7 +76,7 @@ properties, described in binding documents:
> Documentation/devicetree/bindings/net/fixed-link.txt
> for details.
>
> -Example
> +Examples
>
> The following example shows three switches on three MDIO busses,
> linked into one DSA cluster.
> @@ -264,6 +269,60 @@ linked into one DSA cluster.
> };
> };
>
> +The following example shows a switch that has two cpu ports each connecting
> +to a different MAC.
> +
> +&mdio0 {
> + switch@0 {
> + compatible = "mediatek,mt7530";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + label = "lan0";
> + cpu = <&cpu_port1>;
> + };
> +
> + port@1 {
> + reg = <1>;
> + label = "lan1";
> + cpu = <&cpu_port1>;
> + };
> +
> + port@2 {
> + reg = <2>;
> + label = "lan2";
> + cpu = <&cpu_port1>;
> + };
> +
> + port@3 {
> + reg = <3>;
> + label = "wan";
> + cpu = <&cpu_port2>;
> + };
> +
> + cpu_port2: port@5 {
> + reg = <5>;
> + label = "cpu";
> + ethernet = <&gmac2>;
> + phy-mode = "trgmii";
> + };
> +
> + cpu_port1: port@6 {
> + reg = <6>;
> + label = "cpu";
> + ethernet = <&gmac1>;
> + phy-mode = "trgmii";
> + };
> + };
> + };
> +};
> +
> Deprecated Binding
> ------------------
>
>
--
Florian
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web