linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles
@ 2024-03-08  8:39 Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 1/8] dt-bindings: net: hisilicon-femac-mdio: convert to YAML Yang Xiwen via B4 Relay
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen, Krzysztof Kozlowski

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
Changes in v10:
- binding: make hi3516cv300 the fallback compatible (Krzysztof Kozlowski)
- driver: drop mv200 match string (Krzysztof Kozlowski)
- commit msg: remove #conflicts
- Link to v9: https://lore.kernel.org/r/20240307-net-v9-0-6e0cf3e6584d@outlook.com

Changes in v9:
- binding: remove generic fallback compatible as it's not used in driver
- Link to v8: https://lore.kernel.org/r/20240305-net-v8-0-166aaeea2107@outlook.com

Changes in v8:
- remove MODULE_ALIAS: rewrite commit msg (Krzysztof Kozlowski)
- driver: use only SoC compatibles (Krzysztof Kozlowski)
- Link to v7: https://lore.kernel.org/r/20240301-net-v7-0-45823597d4d4@outlook.com

Changes in v7:
- dt-bindings: squash a bunch of patches to YAML conversion (Krzysztof Kozlowski)
- dt-bindings: drop phy-mode->phy-connection-type conversion (Andrew Lunnm, Krzysztof Kozlowski)
- driver: drop SoC compatibles
- misc: some minor clean ups
- driver: remove MODULE_ALIAS()
- Link to v6: https://lore.kernel.org/r/20240228-net-v6-0-6d78d3d598c1@outlook.com

Changes in v6:
- add missing "not" in commit logs (Andrew)
- rework binding changes, split it into several commits (Krzysztof Kozlowski)
- Link to v5: https://lore.kernel.org/r/20240223-net-v5-0-43b22d39c013@outlook.com

Changes in v5:
- hisi-femac-mdio: remove clock completely (Krzysztof Kozlowski)
- dt-bindings: mdio: apply comments from Krzysztof Kozlowski

Changes in v4:
- edit commit log to show why mdio bus clk is optional (Krzysztof Kozlowski)
- add clk_bulk_disable_unprepare() during error path (Maxime Chevallier)
- remove of_node_put() (Simon Horman)
- remove histb-clock.h header in binding example as it's goign to be deprecated.
- rearrange patches so binding comes before driver
- Link to v3: https://lore.kernel.org/r/20240220-net-v3-0-b68e5b75e765@outlook.com

Changes in v3:
- rearrange patches to fix bot error. (Rob Herring)
- rewrite commit logs (Andrew Lunn)
- use clk_bulk_ APIs (Andrew Lunn)
- fix uninitialization use of ret (assign to -ENODEV before goto) (Simon Horman)
- Link to v2: https://lore.kernel.org/r/20240216-net-v2-0-89bd4b7065c2@outlook.com

Changes in v2:
- replace email.
- hisi-femac: s/BUS/MACIF (Andrew Lunn)
- hisi-femac: add "hisilicon,hisi-femac" compatible since the driver
  seems generic enough for various SoCs
- hisi-femac-mdio: convert binding to YAML (Krzysztof Kozlowski)
- rewrite commit logs (Krzysztof Kozlowski)
- Link to v1: https://lore.kernel.org/r/20240216-net-v1-0-e0ad972cda99@outlook.com

---
Yang Xiwen (8):
      dt-bindings: net: hisilicon-femac-mdio: convert to YAML
      dt-bindings: net: hisilicon,hisi-femac-mdio: remove clocks
      net: mdio: hisi-femac: remove clock
      dt-bindings: net: convert hisi-femac.txt to YAML
      dt-bindings: net: hisi-femac: add mandatory MDIO bus subnode
      dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core
      net: hisi_femac: remove unused compatible strings
      net: hisi_femac: remove unneeded MODULE_ALIAS()

 .../bindings/net/hisilicon,hisi-femac-mdio.yaml    |  39 +++++++
 .../bindings/net/hisilicon,hisi-femac.yaml         | 121 +++++++++++++++++++++
 .../bindings/net/hisilicon-femac-mdio.txt          |  22 ----
 .../devicetree/bindings/net/hisilicon-femac.txt    |  41 -------
 drivers/net/ethernet/hisilicon/hisi_femac.c        |   3 -
 drivers/net/mdio/mdio-hisi-femac.c                 |  18 +--
 6 files changed, 161 insertions(+), 83 deletions(-)
---
base-commit: 90d35da658da8cff0d4ecbb5113f5fac9d00eb72
change-id: 20240216-net-9a208e17c40f

Best regards,
-- 
Yang Xiwen <forbidden405@outlook.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 1/8] dt-bindings: net: hisilicon-femac-mdio: convert to YAML
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 2/8] dt-bindings: net: hisilicon,hisi-femac-mdio: remove clocks Yang Xiwen via B4 Relay
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen, Krzysztof Kozlowski

From: Yang Xiwen <forbidden405@outlook.com>

convert the old text binding to modern YAML based binding. No semantic
change.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 .../bindings/net/hisilicon,hisi-femac-mdio.yaml    | 44 ++++++++++++++++++++++
 .../bindings/net/hisilicon-femac-mdio.txt          | 22 -----------
 2 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml
new file mode 100644
index 000000000000..36def9d5eecd
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/hisilicon,hisi-femac-mdio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HiSilicon FEMAC MDIO bus
+
+maintainers:
+  - Yang Xiwen <forbidden405@formail.com>
+
+allOf:
+  - $ref: mdio.yaml#
+
+properties:
+  compatible:
+    const: hisilicon,hisi-femac-mdio
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    mdio@10091100 {
+        compatible = "hisilicon,hisi-femac-mdio";
+        reg = <0x10091100 0x20>;
+        clocks = <&clk_mdio>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        phy@1 {
+            reg = <1>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/net/hisilicon-femac-mdio.txt b/Documentation/devicetree/bindings/net/hisilicon-femac-mdio.txt
deleted file mode 100644
index 23a39a309d17..000000000000
--- a/Documentation/devicetree/bindings/net/hisilicon-femac-mdio.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Hisilicon Fast Ethernet MDIO Controller interface
-
-Required properties:
-- compatible: should be "hisilicon,hisi-femac-mdio".
-- reg: address and length of the register set for the device.
-- clocks: A phandle to the reference clock for this device.
-
-- PHY subnode: inherits from phy binding [1]
-[1] Documentation/devicetree/bindings/net/phy.txt
-
-Example:
-mdio: mdio@10091100 {
-	compatible = "hisilicon,hisi-femac-mdio";
-	reg = <0x10091100 0x10>;
-	clocks = <&crg HI3516CV300_MDIO_CLK>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-
-	phy0: phy@1 {
-		reg = <1>;
-	};
-};

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 2/8] dt-bindings: net: hisilicon,hisi-femac-mdio: remove clocks
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 1/8] dt-bindings: net: hisilicon-femac-mdio: convert to YAML Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 3/8] net: mdio: hisi-femac: remove clock Yang Xiwen via B4 Relay
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen, Krzysztof Kozlowski

From: Yang Xiwen <forbidden405@outlook.com>

This integrated MDIO bus does not have a dedicated clock. Remove it. The
old binding is wrong.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml
index 36def9d5eecd..dea1bcc27381 100644
--- a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml
+++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac-mdio.yaml
@@ -19,13 +19,9 @@ properties:
   reg:
     maxItems: 1
 
-  clocks:
-    maxItems: 1
-
 required:
   - compatible
   - reg
-  - clocks
 
 unevaluatedProperties: false
 
@@ -34,7 +30,6 @@ examples:
     mdio@10091100 {
         compatible = "hisilicon,hisi-femac-mdio";
         reg = <0x10091100 0x20>;
-        clocks = <&clk_mdio>;
         #address-cells = <1>;
         #size-cells = <0>;
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 3/8] net: mdio: hisi-femac: remove clock
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 1/8] dt-bindings: net: hisilicon-femac-mdio: convert to YAML Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 2/8] dt-bindings: net: hisilicon,hisi-femac-mdio: remove clocks Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 4/8] dt-bindings: net: convert hisi-femac.txt to YAML Yang Xiwen via B4 Relay
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen

From: Yang Xiwen <forbidden405@outlook.com>

This integrated MDIO bus does not have a dedicated clock, remove it.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 drivers/net/mdio/mdio-hisi-femac.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/drivers/net/mdio/mdio-hisi-femac.c b/drivers/net/mdio/mdio-hisi-femac.c
index 6703f626ee83..faf4688eb1ab 100644
--- a/drivers/net/mdio/mdio-hisi-femac.c
+++ b/drivers/net/mdio/mdio-hisi-femac.c
@@ -5,7 +5,6 @@
  * Copyright (c) 2016 HiSilicon Technologies Co., Ltd.
  */
 
-#include <linux/clk.h>
 #include <linux/iopoll.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -21,7 +20,6 @@
 #define BIT_WR_DATA_OFFSET	16
 
 struct hisi_femac_mdio_data {
-	struct clk *clk;
 	void __iomem *membase;
 };
 
@@ -93,26 +91,14 @@ static int hisi_femac_mdio_probe(struct platform_device *pdev)
 		goto err_out_free_mdiobus;
 	}
 
-	data->clk = devm_clk_get(&pdev->dev, NULL);
-	if (IS_ERR(data->clk)) {
-		ret = PTR_ERR(data->clk);
-		goto err_out_free_mdiobus;
-	}
-
-	ret = clk_prepare_enable(data->clk);
-	if (ret)
-		goto err_out_free_mdiobus;
-
 	ret = of_mdiobus_register(bus, np);
 	if (ret)
-		goto err_out_disable_clk;
+		goto err_out_free_mdiobus;
 
 	platform_set_drvdata(pdev, bus);
 
 	return 0;
 
-err_out_disable_clk:
-	clk_disable_unprepare(data->clk);
 err_out_free_mdiobus:
 	mdiobus_free(bus);
 	return ret;
@@ -121,10 +107,8 @@ static int hisi_femac_mdio_probe(struct platform_device *pdev)
 static void hisi_femac_mdio_remove(struct platform_device *pdev)
 {
 	struct mii_bus *bus = platform_get_drvdata(pdev);
-	struct hisi_femac_mdio_data *data = bus->priv;
 
 	mdiobus_unregister(bus);
-	clk_disable_unprepare(data->clk);
 	mdiobus_free(bus);
 }
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 4/8] dt-bindings: net: convert hisi-femac.txt to YAML
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (2 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 3/8] net: mdio: hisi-femac: remove clock Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 5/8] dt-bindings: net: hisi-femac: add mandatory MDIO bus subnode Yang Xiwen via B4 Relay
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen, Krzysztof Kozlowski

From: Yang Xiwen <forbidden405@outlook.com>

Convert the old text binding to new YAML.

While at it, make some changes to the binding:
- The version numbers are not documented publicly. The version also does
not change programming interface. Remove it until it's really needed.
- A few clocks are missing in old binding file. Add them to match the real
hardware.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 .../bindings/net/hisilicon,hisi-femac.yaml         | 87 ++++++++++++++++++++++
 .../devicetree/bindings/net/hisilicon-femac.txt    | 41 ----------
 2 files changed, 87 insertions(+), 41 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
new file mode 100644
index 000000000000..3344d3bfefb8
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
@@ -0,0 +1,87 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/hisilicon,hisi-femac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Hisilicon Fast Ethernet MAC controller
+
+maintainers:
+  - Yang Xiwen <forbidden405@foxmail.com>
+
+allOf:
+  - $ref: ethernet-controller.yaml
+
+properties:
+  compatible:
+    enum:
+      - hisilicon,hi3516cv300-femac
+
+  reg:
+    items:
+      - description: The first region is the MAC core register base and size.
+      - description: The second region is the global MAC control register.
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: MAC main clock
+      - description: MAC bus interface clock
+      - description: PHY clock
+
+  clock-names:
+    items:
+      - const: mac
+      - const: macif
+      - const: phy
+
+  resets:
+    items:
+      - description: MAC reset signal
+      - description: PHY reset signal
+
+  reset-names:
+    items:
+      - const: mac
+      - const: phy
+
+  hisilicon,phy-reset-delays-us:
+    description: PHY reset timing requirement (in micro seconds).
+      The integrated PHY usually have a special reset timing sequence and must
+      interact with MAC controller to accomplish the entire reset procedure. So
+      these properties belong to MAC controller, not PHY.
+    items:
+      - description: pre-reset delay for PHY
+      - description: reset pulse for PHY
+      - description: post-reset delay for PHY
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - resets
+  - reset-names
+  - phy-mode
+  - phy-handle
+  - hisilicon,phy-reset-delays-us
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    ethernet@10090000 {
+        compatible = "hisilicon,hi3516cv300-femac";
+        reg = <0x10090000 0x1000>, <0x10091300 0x200>;
+        interrupts = <12>;
+        clocks = <&clk_femac>, <&clk_femacif>, <&clk_fephy>;
+        clock-names = "mac", "macif", "phy";
+        resets = <&crg 0xec 0>, <&crg 0xec 3>;
+        reset-names = "mac", "phy";
+        mac-address = [00 00 00 00 00 00];
+        phy-mode = "mii";
+        phy-handle = <&fephy>;
+        hisilicon,phy-reset-delays-us = <10000 20000 20000>;
+    };
diff --git a/Documentation/devicetree/bindings/net/hisilicon-femac.txt b/Documentation/devicetree/bindings/net/hisilicon-femac.txt
deleted file mode 100644
index 5f96976f3cea..000000000000
--- a/Documentation/devicetree/bindings/net/hisilicon-femac.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-Hisilicon Fast Ethernet MAC controller
-
-Required properties:
-- compatible: should contain one of the following version strings:
-	* "hisilicon,hisi-femac-v1"
-	* "hisilicon,hisi-femac-v2"
-	and the soc string "hisilicon,hi3516cv300-femac".
-- reg: specifies base physical address(s) and size of the device registers.
-  The first region is the MAC core register base and size.
-  The second region is the global MAC control register.
-- interrupts: should contain the MAC interrupt.
-- clocks: A phandle to the MAC main clock.
-- resets: should contain the phandle to the MAC reset signal(required) and
-	the PHY reset signal(optional).
-- reset-names: should contain the reset signal name "mac"(required)
-	and "phy"(optional).
-- phy-mode: see ethernet.txt [1].
-- phy-handle: see ethernet.txt [1].
-- hisilicon,phy-reset-delays-us: triplet of delays if PHY reset signal given.
-	The 1st cell is reset pre-delay in micro seconds.
-	The 2nd cell is reset pulse in micro seconds.
-	The 3rd cell is reset post-delay in micro seconds.
-
-The MAC address will be determined using the optional properties
-defined in ethernet.txt[1].
-
-[1] Documentation/devicetree/bindings/net/ethernet.txt
-
-Example:
-	hisi_femac: ethernet@10090000 {
-		compatible = "hisilicon,hi3516cv300-femac","hisilicon,hisi-femac-v2";
-		reg = <0x10090000 0x1000>,<0x10091300 0x200>;
-		interrupts = <12>;
-		clocks = <&crg HI3518EV200_ETH_CLK>;
-		resets = <&crg 0xec 0>,<&crg 0xec 3>;
-		reset-names = "mac","phy";
-		mac-address = [00 00 00 00 00 00];
-		phy-mode = "mii";
-		phy-handle = <&phy0>;
-		hisilicon,phy-reset-delays-us = <10000 20000 20000>;
-	};

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 5/8] dt-bindings: net: hisi-femac: add mandatory MDIO bus subnode
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (3 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 4/8] dt-bindings: net: convert hisi-femac.txt to YAML Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08  8:39 ` [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core Yang Xiwen via B4 Relay
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen, Krzysztof Kozlowski

From: Yang Xiwen <forbidden405@outlook.com>

FEMAC core always has an integrated MDIO bus mapped in its address
space. Add required properties '#address-cells', 'size-cells', 'ranges'
and MDIO bus subnode.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 .../bindings/net/hisilicon,hisi-femac.yaml         | 30 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
index 3344d3bfefb8..5cd2331668bc 100644
--- a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
+++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
@@ -22,6 +22,15 @@ properties:
       - description: The first region is the MAC core register base and size.
       - description: The second region is the global MAC control register.
 
+  ranges:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
   interrupts:
     maxItems: 1
 
@@ -57,9 +66,16 @@ properties:
       - description: reset pulse for PHY
       - description: post-reset delay for PHY
 
+patternProperties:
+  'mdio@[0-9a-f]+':
+    $ref: hisilicon,hisi-femac-mdio.yaml#
+
 required:
   - compatible
   - reg
+  - ranges
+  - '#address-cells'
+  - '#size-cells'
   - interrupts
   - clocks
   - resets
@@ -75,6 +91,9 @@ examples:
     ethernet@10090000 {
         compatible = "hisilicon,hi3516cv300-femac";
         reg = <0x10090000 0x1000>, <0x10091300 0x200>;
+        ranges = <0x0 0x10090000 0x10000>;
+        #address-cells = <1>;
+        #size-cells = <1>;
         interrupts = <12>;
         clocks = <&clk_femac>, <&clk_femacif>, <&clk_fephy>;
         clock-names = "mac", "macif", "phy";
@@ -84,4 +103,15 @@ examples:
         phy-mode = "mii";
         phy-handle = <&fephy>;
         hisilicon,phy-reset-delays-us = <10000 20000 20000>;
+
+        mdio@1100 {
+            compatible = "hisilicon,hisi-femac-mdio";
+            reg = <0x1100 0x20>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            phy@1 {
+                reg = <1>;
+            };
+        };
     };

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (4 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 5/8] dt-bindings: net: hisi-femac: add mandatory MDIO bus subnode Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08 14:42   ` Krzysztof Kozlowski
  2024-03-08  8:39 ` [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings Yang Xiwen via B4 Relay
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen

From: Yang Xiwen <forbidden405@outlook.com>

HiSilicon FEMAC core is also found on Hi3798MV200 SoC. Document it in
binding. While at it, make "hisilicon,hi3516cv200-femac" as the fallback
compatible.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
index 5cd2331668bc..cee10d263d0b 100644
--- a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
+++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
@@ -14,8 +14,12 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - hisilicon,hi3516cv300-femac
+    oneOf:
+      - items:
+          - enum:
+              - hisilicon,hi3798mv200-femac
+          - const: hisilicon,hi3516cv300-femac
+      - const: hisilicon,hi3516cv300-femac
 
   reg:
     items:

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (5 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08 14:43   ` Krzysztof Kozlowski
  2024-03-08  8:39 ` [PATCH net-next v10 8/8] net: hisi_femac: remove unneeded MODULE_ALIAS() Yang Xiwen via B4 Relay
  2024-03-08 14:43 ` [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Krzysztof Kozlowski
  8 siblings, 1 reply; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen

From: Yang Xiwen <forbidden405@outlook.com>

It's hard to get the version number for each FEMAC core and it's unknown
how the version can be used. Remove them until it's really needed.

While at it, remove fallback compatibles and only use SoC compatible.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 drivers/net/ethernet/hisilicon/hisi_femac.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hisi_femac.c b/drivers/net/ethernet/hisilicon/hisi_femac.c
index 2406263c9dd3..9bf4beba7987 100644
--- a/drivers/net/ethernet/hisilicon/hisi_femac.c
+++ b/drivers/net/ethernet/hisilicon/hisi_femac.c
@@ -945,8 +945,6 @@ static int hisi_femac_drv_resume(struct platform_device *pdev)
 #endif
 
 static const struct of_device_id hisi_femac_match[] = {
-	{.compatible = "hisilicon,hisi-femac-v1",},
-	{.compatible = "hisilicon,hisi-femac-v2",},
 	{.compatible = "hisilicon,hi3516cv300-femac",},
 	{},
 };

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH net-next v10 8/8] net: hisi_femac: remove unneeded MODULE_ALIAS()
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (6 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings Yang Xiwen via B4 Relay
@ 2024-03-08  8:39 ` Yang Xiwen via B4 Relay
  2024-03-08 14:43 ` [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Krzysztof Kozlowski
  8 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen via B4 Relay @ 2024-03-08  8:39 UTC (permalink / raw)
  To: Yisen Zhuang, Salil Mehta, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andrew Lunn, Heiner Kallweit, Russell King
  Cc: netdev, linux-kernel, devicetree, Yang Xiwen

From: Yang Xiwen <forbidden405@outlook.com>

We already have MODULE_DEVICE_TABLE() that creates the correct alias.
Remove unneeded MODULE_ALIAS().

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 drivers/net/ethernet/hisilicon/hisi_femac.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/ethernet/hisilicon/hisi_femac.c b/drivers/net/ethernet/hisilicon/hisi_femac.c
index 9bf4beba7987..f0f2a3cd8d1d 100644
--- a/drivers/net/ethernet/hisilicon/hisi_femac.c
+++ b/drivers/net/ethernet/hisilicon/hisi_femac.c
@@ -969,4 +969,3 @@ module_platform_driver(hisi_femac_driver);
 MODULE_DESCRIPTION("Hisilicon Fast Ethernet MAC driver");
 MODULE_AUTHOR("Dongpo Li <lidongpo@hisilicon.com>");
 MODULE_LICENSE("GPL v2");
-MODULE_ALIAS("platform:hisi-femac");

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core
  2024-03-08  8:39 ` [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core Yang Xiwen via B4 Relay
@ 2024-03-08 14:42   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-08 14:42 UTC (permalink / raw)
  To: forbidden405, Yisen Zhuang, Salil Mehta, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andrew Lunn, Heiner Kallweit,
	Russell King
  Cc: netdev, linux-kernel, devicetree

On 08/03/2024 09:39, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405@outlook.com>
> 
> HiSilicon FEMAC core is also found on Hi3798MV200 SoC. Document it in
> binding. While at it, make "hisilicon,hi3516cv200-femac" as the fallback
> compatible.
> 
> Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
> ---
>  Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
> index 5cd2331668bc..cee10d263d0b 100644
> --- a/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
> +++ b/Documentation/devicetree/bindings/net/hisilicon,hisi-femac.yaml
> @@ -14,8 +14,12 @@ allOf:
>  
>  properties:
>    compatible:
> -    enum:
> -      - hisilicon,hi3516cv300-femac

If you do not intend to keep it enum, this could be const in the first
place.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings
  2024-03-08  8:39 ` [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings Yang Xiwen via B4 Relay
@ 2024-03-08 14:43   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-08 14:43 UTC (permalink / raw)
  To: forbidden405, Yisen Zhuang, Salil Mehta, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andrew Lunn, Heiner Kallweit,
	Russell King
  Cc: netdev, linux-kernel, devicetree

On 08/03/2024 09:39, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405@outlook.com>
> 
> It's hard to get the version number for each FEMAC core and it's unknown
> how the version can be used. Remove them until it's really needed.
> 
> While at it, remove fallback compatibles and only use SoC compatible.
> 
> Signed-off-by: Yang Xiwen <forbidden405@outlook.com>


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles
  2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
                   ` (7 preceding siblings ...)
  2024-03-08  8:39 ` [PATCH net-next v10 8/8] net: hisi_femac: remove unneeded MODULE_ALIAS() Yang Xiwen via B4 Relay
@ 2024-03-08 14:43 ` Krzysztof Kozlowski
  2024-03-08 14:48   ` Yang Xiwen
  8 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-08 14:43 UTC (permalink / raw)
  To: forbidden405, Yisen Zhuang, Salil Mehta, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andrew Lunn, Heiner Kallweit,
	Russell King
  Cc: netdev, linux-kernel, devicetree

On 08/03/2024 09:39, Yang Xiwen via B4 Relay wrote:
> Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
> ---
> Changes in v10:
> - binding: make hi3516cv300 the fallback compatible (Krzysztof Kozlowski)
> - driver: drop mv200 match string (Krzysztof Kozlowski)
> - commit msg: remove #conflicts
> - Link to v9: https://lore.kernel.org/r/20240307-net-v9-0-6e0cf3e6584d@outlook.com

You dropped one patch without explanation.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles
  2024-03-08 14:43 ` [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Krzysztof Kozlowski
@ 2024-03-08 14:48   ` Yang Xiwen
  0 siblings, 0 replies; 13+ messages in thread
From: Yang Xiwen @ 2024-03-08 14:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Yisen Zhuang, Salil Mehta, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andrew Lunn, Heiner Kallweit,
	Russell King
  Cc: netdev, linux-kernel, devicetree

On 3/8/2024 10:43 PM, Krzysztof Kozlowski wrote:
> On 08/03/2024 09:39, Yang Xiwen via B4 Relay wrote:
>> Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
>> ---
>> Changes in v10:
>> - binding: make hi3516cv300 the fallback compatible (Krzysztof Kozlowski)
>> - driver: drop mv200 match string (Krzysztof Kozlowski)
>> - commit msg: remove #conflicts
>> - Link to v9: https://lore.kernel.org/r/20240307-net-v9-0-6e0cf3e6584d@outlook.com
> You dropped one patch without explanation.


You are right. It's a stupid mistake. That's the key patch in this 
patchset. I think i was going to only remove the new compatible in that 
commit but somehow dropped the entire commit.


>
> Best regards,
> Krzysztof
>

-- 
Regards,
Yang Xiwen


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-03-08 14:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-08  8:39 [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 1/8] dt-bindings: net: hisilicon-femac-mdio: convert to YAML Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 2/8] dt-bindings: net: hisilicon,hisi-femac-mdio: remove clocks Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 3/8] net: mdio: hisi-femac: remove clock Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 4/8] dt-bindings: net: convert hisi-femac.txt to YAML Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 5/8] dt-bindings: net: hisi-femac: add mandatory MDIO bus subnode Yang Xiwen via B4 Relay
2024-03-08  8:39 ` [PATCH net-next v10 6/8] dt-bindings: net: hisi-femac: add binding for Hi3798MV200 FEMAC core Yang Xiwen via B4 Relay
2024-03-08 14:42   ` Krzysztof Kozlowski
2024-03-08  8:39 ` [PATCH net-next v10 7/8] net: hisi_femac: remove unused compatible strings Yang Xiwen via B4 Relay
2024-03-08 14:43   ` Krzysztof Kozlowski
2024-03-08  8:39 ` [PATCH net-next v10 8/8] net: hisi_femac: remove unneeded MODULE_ALIAS() Yang Xiwen via B4 Relay
2024-03-08 14:43 ` [PATCH net-next v10 0/8] net: hisi-femac: add support for Hi3798MV200, remove unmaintained compatibles Krzysztof Kozlowski
2024-03-08 14:48   ` Yang Xiwen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).