linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema
@ 2025-08-29 20:28 Rob Herring (Arm)
  2025-08-29 20:28 ` [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO " Rob Herring (Arm)
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-08-29 20:28 UTC (permalink / raw)
  To: Iyappan Subramanian, Keyur Chudgar, Quan Nguyen, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Krzysztof Kozlowski, Conor Dooley
  Cc: netdev, devicetree, linux-kernel

Convert the APM XGene Ethernet binding to DT schema format.

Add the missing apm,xgene2-sgenet and apm,xgene2-xgenet compatibles.
Drop "reg-names" as required. Add support for up to 16 interrupts.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../bindings/net/apm,xgene-enet.yaml          | 114 ++++++++++++++++++
 .../bindings/net/apm-xgene-enet.txt           |  91 --------------
 MAINTAINERS                                   |   2 +-
 3 files changed, 115 insertions(+), 92 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/apm-xgene-enet.txt

diff --git a/Documentation/devicetree/bindings/net/apm,xgene-enet.yaml b/Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
new file mode 100644
index 000000000000..307126852df4
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
@@ -0,0 +1,114 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/apm,xgene-enet.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: APM X-Gene SoC Ethernet
+
+maintainers:
+  - Iyappan Subramanian <iyappan@os.amperecomputing.com>
+  - Keyur Chudgar <keyur@os.amperecomputing.com>
+  - Quan Nguyen <quan@os.amperecomputing.com>
+
+allOf:
+  - $ref: ethernet-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - apm,xgene-enet
+      - apm,xgene1-sgenet
+      - apm,xgene1-xgenet
+      - apm,xgene2-sgenet
+      - apm,xgene2-xgenet
+
+  reg:
+    maxItems: 3
+
+  reg-names:
+    items:
+      - const: enet_csr
+      - const: ring_csr
+      - const: ring_cmd
+
+  clocks:
+    maxItems: 1
+
+  dma-coherent: true
+
+  interrupts:
+    description: An rx and tx completion interrupt pair per queue
+    minItems: 1
+    maxItems: 16
+
+  channel:
+    description: Ethernet to CPU start channel number
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  port-id:
+    description: Port number
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 1
+
+  tx-delay:
+    description: Delay value for RGMII bridge TX clock
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 7
+    default: 4
+
+  rx-delay:
+    description: Delay value for RGMII bridge RX clock
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 7
+    default: 2
+
+  rxlos-gpios:
+    description: Input GPIO from SFP+ module indicating incoming signal
+    maxItems: 1
+
+  mdio:
+    description: MDIO bus subnode
+    $ref: mdio.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      compatible:
+        const: apm,xgene-mdio
+
+    required:
+      - compatible
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    ethernet@17020000 {
+        compatible = "apm,xgene-enet";
+        reg = <0x17020000 0xd100>,
+              <0x17030000 0x400>,
+              <0x10000000 0x200>;
+        reg-names = "enet_csr", "ring_csr", "ring_cmd";
+        interrupts = <0x0 0x3c 0x4>;
+        channel = <0>;
+        port-id = <0>;
+        clocks = <&menetclk 0>;
+        local-mac-address = [00 01 73 00 00 01];
+        phy-connection-type = "rgmii";
+        phy-handle = <&menetphy>;
+
+        mdio {
+            compatible = "apm,xgene-mdio";
+            #address-cells = <1>;
+            #size-cells = <0>;
+            menetphy: ethernet-phy-id001c.c915@3 {
+                compatible = "ethernet-phy-id001c.c915";
+                reg = <3>;
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/net/apm-xgene-enet.txt b/Documentation/devicetree/bindings/net/apm-xgene-enet.txt
deleted file mode 100644
index f591ab782dbc..000000000000
--- a/Documentation/devicetree/bindings/net/apm-xgene-enet.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-APM X-Gene SoC Ethernet nodes
-
-Ethernet nodes are defined to describe on-chip ethernet interfaces in
-APM X-Gene SoC.
-
-Required properties for all the ethernet interfaces:
-- compatible: Should state binding information from the following list,
-  - "apm,xgene-enet":    RGMII based 1G interface
-  - "apm,xgene1-sgenet": SGMII based 1G interface
-  - "apm,xgene1-xgenet": XFI based 10G interface
-- reg: Address and length of the register set for the device. It contains the
-  information of registers in the same order as described by reg-names
-- reg-names: Should contain the register set names
-  - "enet_csr": Ethernet control and status register address space
-  - "ring_csr": Descriptor ring control and status register address space
-  - "ring_cmd": Descriptor ring command register address space
-- interrupts: Two interrupt specifiers can be specified.
-  - First is the Rx interrupt.  This irq is mandatory.
-  - Second is the Tx completion interrupt.
-    This is supported only on SGMII based 1GbE and 10GbE interfaces.
-- channel: Ethernet to CPU, start channel (prefetch buffer) number
-  - Must map to the first irq and irqs must be sequential
-- port-id: Port number (0 or 1)
-- clocks: Reference to the clock entry.
-- local-mac-address: MAC address assigned to this device
-- phy-connection-type: Interface type between ethernet device and PHY device
-
-Required properties for ethernet interfaces that have external PHY:
-- phy-handle: Reference to a PHY node connected to this device
-
-- mdio: Device tree subnode with the following required properties:
-  - compatible: Must be "apm,xgene-mdio".
-  - #address-cells: Must be <1>.
-  - #size-cells: Must be <0>.
-
-  For the phy on the mdio bus, there must be a node with the following fields:
-  - compatible: PHY identifier.  Please refer ./phy.txt for the format.
-  - reg: The ID number for the phy.
-
-Optional properties:
-- status: Should be "ok" or "disabled" for enabled/disabled. Default is "ok".
-- tx-delay: Delay value for RGMII bridge TX clock.
-	    Valid values are between 0 to 7, that maps to
-	    417, 717, 1020, 1321, 1611, 1913, 2215, 2514 ps
-	    Default value is 4, which corresponds to 1611 ps
-- rx-delay: Delay value for RGMII bridge RX clock.
-	    Valid values are between 0 to 7, that maps to
-	    273, 589, 899, 1222, 1480, 1806, 2147, 2464 ps
-	    Default value is 2, which corresponds to 899 ps
-- rxlos-gpios: Input gpio from SFP+ module to indicate availability of
-	       incoming signal.
-
-
-Example:
-	menetclk: menetclk {
-		compatible = "apm,xgene-device-clock";
-		clock-output-names = "menetclk";
-		status = "ok";
-	};
-
-	menet: ethernet@17020000 {
-		compatible = "apm,xgene-enet";
-		status = "disabled";
-		reg = <0x0 0x17020000 0x0 0xd100>,
-		      <0x0 0x17030000 0x0 0x400>,
-		      <0x0 0x10000000 0x0 0x200>;
-		reg-names = "enet_csr", "ring_csr", "ring_cmd";
-		interrupts = <0x0 0x3c 0x4>;
-		port-id = <0>;
-		clocks = <&menetclk 0>;
-		local-mac-address = [00 01 73 00 00 01];
-		phy-connection-type = "rgmii";
-		phy-handle = <&menetphy>;
-		mdio {
-			compatible = "apm,xgene-mdio";
-			#address-cells = <1>;
-			#size-cells = <0>;
-			menetphy: menetphy@3 {
-				compatible = "ethernet-phy-id001c.c915";
-				reg = <0x3>;
-			};
-
-		};
-	};
-
-/* Board-specific peripheral configurations */
-&menet {
-	tx-delay = <4>;
-	rx-delay = <2>;
-        status = "ok";
-};
diff --git a/MAINTAINERS b/MAINTAINERS
index ebf1beb34e51..206ff023f5b3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1892,7 +1892,7 @@ M:	Iyappan Subramanian <iyappan@os.amperecomputing.com>
 M:	Keyur Chudgar <keyur@os.amperecomputing.com>
 M:	Quan Nguyen <quan@os.amperecomputing.com>
 S:	Maintained
-F:	Documentation/devicetree/bindings/net/apm-xgene-enet.txt
+F:	Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
 F:	Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
 F:	drivers/net/ethernet/apm/xgene/
 F:	drivers/net/mdio/mdio-xgene.c
-- 
2.50.1


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

* [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO to DT schema
  2025-08-29 20:28 [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema Rob Herring (Arm)
@ 2025-08-29 20:28 ` Rob Herring (Arm)
  2025-08-29 21:10   ` Jacob Keller
  2025-08-29 21:10 ` [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet " Jacob Keller
  2025-09-01 18:34 ` Rob Herring (Arm)
  2 siblings, 1 reply; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-08-29 20:28 UTC (permalink / raw)
  To: Iyappan Subramanian, Keyur Chudgar, Quan Nguyen, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Krzysztof Kozlowski, Conor Dooley
  Cc: netdev, devicetree, linux-kernel

Convert the APM XGene MDIO bus binding to DT schema format. It's a
straight-forward conversion.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../bindings/net/apm,xgene-mdio-rgmii.yaml    | 54 +++++++++++++++++++
 .../bindings/net/apm-xgene-mdio.txt           | 37 -------------
 MAINTAINERS                                   |  2 +-
 3 files changed, 55 insertions(+), 38 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/apm-xgene-mdio.txt

diff --git a/Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml b/Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml
new file mode 100644
index 000000000000..470fb5f7f7b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/apm,xgene-mdio-rgmii.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: APM X-Gene SoC MDIO
+
+maintainers:
+  - Iyappan Subramanian <iyappan@os.amperecomputing.com>
+  - Keyur Chudgar <keyur@os.amperecomputing.com>
+  - Quan Nguyen <quan@os.amperecomputing.com>
+
+allOf:
+  - $ref: mdio.yaml#
+
+properties:
+  compatible:
+    enum:
+      - apm,xgene-mdio-rgmii
+      - apm,xgene-mdio-xfi
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+examples:
+  - |
+    mdio@17020000 {
+        compatible = "apm,xgene-mdio-rgmii";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        reg = <0x17020000 0xd100>;
+        clocks = <&menetclk 0>;
+
+        phy@3 {
+            reg = <0x3>;
+        };
+        phy@4 {
+            reg = <0x4>;
+        };
+        phy@5 {
+            reg = <0x5>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/net/apm-xgene-mdio.txt b/Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
deleted file mode 100644
index 78722d74cea8..000000000000
--- a/Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-APM X-Gene SoC MDIO node
-
-MDIO node is defined to describe on-chip MDIO controller.
-
-Required properties:
-	- compatible: Must be "apm,xgene-mdio-rgmii" or "apm,xgene-mdio-xfi"
-	- #address-cells: Must be <1>.
-	- #size-cells: Must be <0>.
-	- reg: Address and length of the register set
-	- clocks: Reference to the clock entry
-
-For the phys on the mdio bus, there must be a node with the following fields:
-	- compatible: PHY identifier.  Please refer ./phy.txt for the format.
-	- reg: The ID number for the phy.
-
-Example:
-
-	mdio: mdio@17020000 {
-		compatible = "apm,xgene-mdio-rgmii";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		reg = <0x0 0x17020000 0x0 0xd100>;
-		clocks = <&menetclk 0>;
-	};
-
-	/* Board-specific peripheral configurations */
-	&mdio {
-		menetphy: phy@3 {
-			reg = <0x3>;
-		};
-		sgenet0phy: phy@4 {
-			reg = <0x4>;
-		};
-		sgenet1phy: phy@5 {
-			reg = <0x5>;
-		};
-	};
diff --git a/MAINTAINERS b/MAINTAINERS
index 206ff023f5b3..c0b42d03d040 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1893,7 +1893,7 @@ M:	Keyur Chudgar <keyur@os.amperecomputing.com>
 M:	Quan Nguyen <quan@os.amperecomputing.com>
 S:	Maintained
 F:	Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
-F:	Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
+F:	Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml
 F:	drivers/net/ethernet/apm/xgene/
 F:	drivers/net/mdio/mdio-xgene.c
 
-- 
2.50.1


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

* Re: [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema
  2025-08-29 20:28 [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema Rob Herring (Arm)
  2025-08-29 20:28 ` [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO " Rob Herring (Arm)
@ 2025-08-29 21:10 ` Jacob Keller
  2025-09-01 18:34 ` Rob Herring (Arm)
  2 siblings, 0 replies; 5+ messages in thread
From: Jacob Keller @ 2025-08-29 21:10 UTC (permalink / raw)
  To: Rob Herring (Arm), Iyappan Subramanian, Keyur Chudgar,
	Quan Nguyen, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Krzysztof Kozlowski, Conor Dooley
  Cc: netdev, devicetree, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 810 bytes --]



On 8/29/2025 1:28 PM, Rob Herring (Arm) wrote:
> Convert the APM XGene Ethernet binding to DT schema format.
> 
> Add the missing apm,xgene2-sgenet and apm,xgene2-xgenet compatibles.
> Drop "reg-names" as required. Add support for up to 16 interrupts.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>  .../bindings/net/apm,xgene-enet.yaml          | 114 ++++++++++++++++++
>  .../bindings/net/apm-xgene-enet.txt           |  91 --------------
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 115 insertions(+), 92 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/apm-xgene-enet.txt
> 


Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

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

* Re: [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO to DT schema
  2025-08-29 20:28 ` [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO " Rob Herring (Arm)
@ 2025-08-29 21:10   ` Jacob Keller
  0 siblings, 0 replies; 5+ messages in thread
From: Jacob Keller @ 2025-08-29 21:10 UTC (permalink / raw)
  To: Rob Herring (Arm), Iyappan Subramanian, Keyur Chudgar,
	Quan Nguyen, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Krzysztof Kozlowski, Conor Dooley
  Cc: netdev, devicetree, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 701 bytes --]



On 8/29/2025 1:28 PM, Rob Herring (Arm) wrote:
> Convert the APM XGene MDIO bus binding to DT schema format. It's a
> straight-forward conversion.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>  .../bindings/net/apm,xgene-mdio-rgmii.yaml    | 54 +++++++++++++++++++
>  .../bindings/net/apm-xgene-mdio.txt           | 37 -------------
>  MAINTAINERS                                   |  2 +-
>  3 files changed, 55 insertions(+), 38 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/apm,xgene-mdio-rgmii.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
> 
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

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

* Re: [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema
  2025-08-29 20:28 [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema Rob Herring (Arm)
  2025-08-29 20:28 ` [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO " Rob Herring (Arm)
  2025-08-29 21:10 ` [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet " Jacob Keller
@ 2025-09-01 18:34 ` Rob Herring (Arm)
  2 siblings, 0 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-09-01 18:34 UTC (permalink / raw)
  To: Rob Herring (Arm)
  Cc: Conor Dooley, devicetree, linux-kernel, Iyappan Subramanian,
	Krzysztof Kozlowski, Quan Nguyen, Andrew Lunn, Jakub Kicinski,
	Keyur Chudgar, David S. Miller, netdev, Paolo Abeni, Eric Dumazet


On Fri, 29 Aug 2025 15:28:14 -0500, Rob Herring (Arm) wrote:
> Convert the APM XGene Ethernet binding to DT schema format.
> 
> Add the missing apm,xgene2-sgenet and apm,xgene2-xgenet compatibles.
> Drop "reg-names" as required. Add support for up to 16 interrupts.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>  .../bindings/net/apm,xgene-enet.yaml          | 114 ++++++++++++++++++
>  .../bindings/net/apm-xgene-enet.txt           |  91 --------------
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 115 insertions(+), 92 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/apm,xgene-enet.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/apm-xgene-enet.txt
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/apm,xgene-enet.example.dtb: ethernet-phy-id001c.c915@3 (ethernet-phy-id001c.c915): $nodename:0: 'ethernet-phy-id001c.c915@3' does not match '^ethernet-phy(@[a-f0-9]+)?$'
	from schema $id: http://devicetree.org/schemas/net/realtek,rtl82xx.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/apm,xgene-enet.example.dtb: ethernet-phy-id001c.c915@3 (ethernet-phy-id001c.c915): Unevaluated properties are not allowed ('reg' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/realtek,rtl82xx.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250829202817.1271907-1-robh@kernel.org

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


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

end of thread, other threads:[~2025-09-01 18:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-29 20:28 [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet to DT schema Rob Herring (Arm)
2025-08-29 20:28 ` [PATCH net-next 2/2] dt-bindings: net: Convert APM XGene MDIO " Rob Herring (Arm)
2025-08-29 21:10   ` Jacob Keller
2025-08-29 21:10 ` [PATCH net-next 1/2] dt-bindings: net: Convert apm,xgene-enet " Jacob Keller
2025-09-01 18:34 ` Rob Herring (Arm)

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).