* [PATCH net-next 1/4] dt-bindings: net: dsa: convert ksz bindings document to yaml
2020-11-20 11:21 [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml Christian Eggers
@ 2020-11-20 11:21 ` Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 2/4] net: dsa: microchip: support for "ethernet-ports" node Christian Eggers
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christian Eggers @ 2020-11-20 11:21 UTC (permalink / raw)
To: Vladimir Oltean, Jakub Kicinski, Andrew Lunn, Rob Herring
Cc: Richard Cochran, Vivien Didelot, David S . Miller,
Kurt Kanzenbach, Marek Vasut, Codrin Ciubotariu, Tristram Ha,
Woojung Huh, Microchip Linux Driver Support, Christian Eggers,
netdev, devicetree, linux-kernel
Convert the bindings document for Microchip KSZ Series Ethernet switches
from txt to yaml. Removed spi-cpha and spi-cpol flags is this should be
handled by the device driver.
Signed-off-by: Christian Eggers <ceggers@arri.de>
---
.../devicetree/bindings/net/dsa/ksz.txt | 125 ---------------
.../bindings/net/dsa/microchip,ksz.yaml | 148 ++++++++++++++++++
MAINTAINERS | 2 +-
3 files changed, 149 insertions(+), 126 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/net/dsa/ksz.txt
create mode 100644 Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
diff --git a/Documentation/devicetree/bindings/net/dsa/ksz.txt b/Documentation/devicetree/bindings/net/dsa/ksz.txt
deleted file mode 100644
index 95e91e84151c..000000000000
--- a/Documentation/devicetree/bindings/net/dsa/ksz.txt
+++ /dev/null
@@ -1,125 +0,0 @@
-Microchip KSZ Series Ethernet switches
-==================================
-
-Required properties:
-
-- compatible: For external switch chips, compatible string must be exactly one
- of the following:
- - "microchip,ksz8765"
- - "microchip,ksz8794"
- - "microchip,ksz8795"
- - "microchip,ksz9477"
- - "microchip,ksz9897"
- - "microchip,ksz9896"
- - "microchip,ksz9567"
- - "microchip,ksz8565"
- - "microchip,ksz9893"
- - "microchip,ksz9563"
- - "microchip,ksz8563"
-
-Optional properties:
-
-- reset-gpios : Should be a gpio specifier for a reset line
-- microchip,synclko-125 : Set if the output SYNCLKO frequency should be set to
- 125MHz instead of 25MHz.
-
-See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
-required and optional properties.
-
-Examples:
-
-Ethernet switch connected via SPI to the host, CPU port wired to eth0:
-
- eth0: ethernet@10001000 {
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
- };
-
- spi1: spi@f8008000 {
- pinctrl-0 = <&pinctrl_spi_ksz>;
- cs-gpios = <&pioC 25 0>;
- id = <1>;
-
- ksz9477: ksz9477@0 {
- compatible = "microchip,ksz9477";
- reg = <0>;
-
- spi-max-frequency = <44000000>;
- spi-cpha;
- spi-cpol;
-
- 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 = "lan4";
- };
- port@4 {
- reg = <4>;
- label = "lan5";
- };
- port@5 {
- reg = <5>;
- label = "cpu";
- ethernet = <ð0>;
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
- };
- };
- };
- ksz8565: ksz8565@0 {
- compatible = "microchip,ksz8565";
- reg = <0>;
-
- spi-max-frequency = <44000000>;
- spi-cpha;
- spi-cpol;
-
- 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 = "lan4";
- };
- port@6 {
- reg = <6>;
- label = "cpu";
- ethernet = <ð0>;
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
- };
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
new file mode 100644
index 000000000000..9f7d131bbcef
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
@@ -0,0 +1,148 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/microchip,ksz.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip KSZ Series Ethernet switches
+
+maintainers:
+ - Marek Vasut <marex@denx.de>
+ - Woojung Huh <Woojung.Huh@microchip.com>
+
+allOf:
+ - $ref: dsa.yaml#
+
+properties:
+ # See Documentation/devicetree/bindings/net/dsa/dsa.yaml for a list of additional
+ # required and optional properties.
+ compatible:
+ enum:
+ - microchip,ksz8765
+ - microchip,ksz8794
+ - microchip,ksz8795
+ - microchip,ksz9477
+ - microchip,ksz9897
+ - microchip,ksz9896
+ - microchip,ksz9567
+ - microchip,ksz8565
+ - microchip,ksz9893
+ - microchip,ksz9563
+ - microchip,ksz8563
+
+ reset-gpios:
+ description:
+ Should be a gpio specifier for a reset line.
+ maxItems: 1
+
+ microchip,synclko-125:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Set if the output SYNCLKO frequency should be set to 125MHz instead of 25MHz.
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ // Ethernet switch connected via SPI to the host, CPU port wired to eth0:
+ eth0 {
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pinctrl-0 = <&pinctrl_spi_ksz>;
+ cs-gpios = <&pioC 25 0>;
+ id = <1>;
+
+ ksz9477: switch@0 {
+ compatible = "microchip,ksz9477";
+ reg = <0>;
+ reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+
+ spi-max-frequency = <44000000>;
+
+ ethernet-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 = "lan4";
+ };
+ port@4 {
+ reg = <4>;
+ label = "lan5";
+ };
+ port@5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+
+ ksz8565: switch@1 {
+ compatible = "microchip,ksz8565";
+ reg = <1>;
+
+ spi-max-frequency = <44000000>;
+
+ ethernet-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 = "lan4";
+ };
+ port@6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <ð0>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 18b5b7896af8..d1003033412f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11508,7 +11508,7 @@ M: Woojung Huh <woojung.huh@microchip.com>
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
L: netdev@vger.kernel.org
S: Maintained
-F: Documentation/devicetree/bindings/net/dsa/ksz.txt
+F: Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
F: drivers/net/dsa/microchip/*
F: include/linux/platform_data/microchip-ksz.h
F: net/dsa/tag_ksz.c
--
Christian Eggers
Embedded software developer
Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 2/4] net: dsa: microchip: support for "ethernet-ports" node
2020-11-20 11:21 [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 1/4] dt-bindings: net: dsa: convert ksz bindings document " Christian Eggers
@ 2020-11-20 11:21 ` Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 3/4] net: dsa: microchip: ksz9477: setup SPI mode Christian Eggers
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christian Eggers @ 2020-11-20 11:21 UTC (permalink / raw)
To: Vladimir Oltean, Jakub Kicinski, Andrew Lunn, Rob Herring
Cc: Richard Cochran, Vivien Didelot, David S . Miller,
Kurt Kanzenbach, Marek Vasut, Codrin Ciubotariu, Tristram Ha,
Woojung Huh, Microchip Linux Driver Support, Christian Eggers,
netdev, devicetree, linux-kernel
The dsa.yaml device tree binding allows "ethernet-ports" (preferred) and
"ports".
Signed-off-by: Christian Eggers <ceggers@arri.de>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
---
drivers/net/dsa/microchip/ksz_common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index 71cd1828e25d..a135fd5a9264 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -427,7 +427,9 @@ int ksz_switch_register(struct ksz_device *dev,
ret = of_get_phy_mode(dev->dev->of_node, &interface);
if (ret == 0)
dev->compat_interface = interface;
- ports = of_get_child_by_name(dev->dev->of_node, "ports");
+ ports = of_get_child_by_name(dev->dev->of_node, "ethernet-ports");
+ if (!ports)
+ ports = of_get_child_by_name(dev->dev->of_node, "ports");
if (ports)
for_each_available_child_of_node(ports, port) {
if (of_property_read_u32(port, "reg",
--
Christian Eggers
Embedded software developer
Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 3/4] net: dsa: microchip: ksz9477: setup SPI mode
2020-11-20 11:21 [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 1/4] dt-bindings: net: dsa: convert ksz bindings document " Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 2/4] net: dsa: microchip: support for "ethernet-ports" node Christian Eggers
@ 2020-11-20 11:21 ` Christian Eggers
2020-11-20 11:21 ` [PATCH net-next 4/4] net: dsa: microchip: ksz8795: " Christian Eggers
2020-11-26 2:00 ` [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml patchwork-bot+netdevbpf
4 siblings, 0 replies; 6+ messages in thread
From: Christian Eggers @ 2020-11-20 11:21 UTC (permalink / raw)
To: Vladimir Oltean, Jakub Kicinski, Andrew Lunn, Rob Herring
Cc: Richard Cochran, Vivien Didelot, David S . Miller,
Kurt Kanzenbach, Marek Vasut, Codrin Ciubotariu, Tristram Ha,
Woojung Huh, Microchip Linux Driver Support, Christian Eggers,
netdev, devicetree, linux-kernel
This should be done in the device driver instead of the device tree.
Signed-off-by: Christian Eggers <ceggers@arri.de>
---
drivers/net/dsa/microchip/ksz9477_spi.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/dsa/microchip/ksz9477_spi.c b/drivers/net/dsa/microchip/ksz9477_spi.c
index 1142768969c2..15bc11b3cda4 100644
--- a/drivers/net/dsa/microchip/ksz9477_spi.c
+++ b/drivers/net/dsa/microchip/ksz9477_spi.c
@@ -48,6 +48,12 @@ static int ksz9477_spi_probe(struct spi_device *spi)
if (spi->dev.platform_data)
dev->pdata = spi->dev.platform_data;
+ /* setup spi */
+ spi->mode = SPI_MODE_3;
+ ret = spi_setup(spi);
+ if (ret)
+ return ret;
+
ret = ksz9477_switch_register(dev);
/* Main DSA driver may not be started yet. */
--
Christian Eggers
Embedded software developer
Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 4/4] net: dsa: microchip: ksz8795: setup SPI mode
2020-11-20 11:21 [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml Christian Eggers
` (2 preceding siblings ...)
2020-11-20 11:21 ` [PATCH net-next 3/4] net: dsa: microchip: ksz9477: setup SPI mode Christian Eggers
@ 2020-11-20 11:21 ` Christian Eggers
2020-11-26 2:00 ` [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml patchwork-bot+netdevbpf
4 siblings, 0 replies; 6+ messages in thread
From: Christian Eggers @ 2020-11-20 11:21 UTC (permalink / raw)
To: Vladimir Oltean, Jakub Kicinski, Andrew Lunn, Rob Herring
Cc: Richard Cochran, Vivien Didelot, David S . Miller,
Kurt Kanzenbach, Marek Vasut, Codrin Ciubotariu, Tristram Ha,
Woojung Huh, Microchip Linux Driver Support, Christian Eggers,
netdev, devicetree, linux-kernel
This should be done in the device driver instead of the device tree.
Signed-off-by: Christian Eggers <ceggers@arri.de>
---
drivers/net/dsa/microchip/ksz8795_spi.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/dsa/microchip/ksz8795_spi.c b/drivers/net/dsa/microchip/ksz8795_spi.c
index 8b00f8e6c02f..f98432a3e2b5 100644
--- a/drivers/net/dsa/microchip/ksz8795_spi.c
+++ b/drivers/net/dsa/microchip/ksz8795_spi.c
@@ -49,6 +49,12 @@ static int ksz8795_spi_probe(struct spi_device *spi)
if (spi->dev.platform_data)
dev->pdata = spi->dev.platform_data;
+ /* setup spi */
+ spi->mode = SPI_MODE_3;
+ ret = spi_setup(spi);
+ if (ret)
+ return ret;
+
ret = ksz8795_switch_register(dev);
/* Main DSA driver may not be started yet. */
--
Christian Eggers
Embedded software developer
Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml
2020-11-20 11:21 [PATCH net-next 0/4] dt-bindings: net: dsa: microchip: convert KSZ bindings to yaml Christian Eggers
` (3 preceding siblings ...)
2020-11-20 11:21 ` [PATCH net-next 4/4] net: dsa: microchip: ksz8795: " Christian Eggers
@ 2020-11-26 2:00 ` patchwork-bot+netdevbpf
4 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+netdevbpf @ 2020-11-26 2:00 UTC (permalink / raw)
To: Christian Eggers
Cc: olteanv, kuba, andrew, robh+dt, richardcochran, vivien.didelot,
davem, kurt.kanzenbach, marex, codrin.ciubotariu, Tristram.Ha,
woojung.huh, UNGLinuxDriver, netdev, devicetree, linux-kernel
Hello:
This series was applied to netdev/net-next.git (refs/heads/master):
On Fri, 20 Nov 2020 12:21:03 +0100 you wrote:
> These patches are orginally from the series
>
> "net: dsa: microchip: PTP support for KSZ956x"
>
> As the the device tree conversion to yaml is not really related to the
> PTP patches and the original series is going to take more time than
> I expected, I would like to split this.
>
> [...]
Here is the summary with links:
- [net-next,1/4] dt-bindings: net: dsa: convert ksz bindings document to yaml
https://git.kernel.org/netdev/net-next/c/4f36d97786c6
- [net-next,2/4] net: dsa: microchip: support for "ethernet-ports" node
https://git.kernel.org/netdev/net-next/c/44e53c88828f
- [net-next,3/4] net: dsa: microchip: ksz9477: setup SPI mode
https://git.kernel.org/netdev/net-next/c/9ed602bac971
- [net-next,4/4] net: dsa: microchip: ksz8795: setup SPI mode
https://git.kernel.org/netdev/net-next/c/8c4599f49841
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 6+ messages in thread