[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251118190530.580267-13-vladimir.oltean@nxp.com>
Date: Tue, 18 Nov 2025 21:05:27 +0200
From: Vladimir Oltean <vladimir.oltean@....com>
To: netdev@...r.kernel.org
Cc: Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
linux-kernel@...r.kernel.org,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
devicetree@...r.kernel.org
Subject: [PATCH net-next 12/15] dt-bindings: net: dsa: sja1105: document the PCS nodes
The XPCS blocks in NXP SJA1105 and SJA1110 may be described in the
device tree, and they follow the same bindings as the other instances
which are memory-mapped using an APB3 or MCI interface.
Document their compatible string, positioning in the switch's "regs"
subnode, and the pcs-handle to them.
The "type: object" addition in the ethernet-port node is to suppress
a dt_binding_check warning that states "node schemas must have a type
or $ref". This is fine, but I don't completely understand why it started
being required just now (apparently, the presence of "properties" under
the port node affects this).
Cc: Rob Herring <robh@...nel.org>
Cc: Krzysztof Kozlowski <krzk+dt@...nel.org>
Cc: Conor Dooley <conor+dt@...nel.org>
Cc: devicetree@...r.kernel.org
Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
---
.../bindings/net/dsa/nxp,sja1105.yaml | 28 +++++++++++++++++++
.../bindings/net/pcs/snps,dw-xpcs.yaml | 8 ++++++
2 files changed, 36 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
index 607b7fe8d28e..ee1a95d6b032 100644
--- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
@@ -85,11 +85,31 @@ properties:
- compatible
- reg
+ regs:
+ type: object
+ description:
+ Optional container node for peripherals in the switch address space other
+ than the switching IP itself. This node and its children only need to be
+ described if board-specific properties need to be specified, like SerDes
+ lane polarity inversion. If absent, default descriptions are used.
+ additionalProperties: false
+
+ properties:
+ '#address-cells':
+ const: 1
+ '#size-cells':
+ const: 1
+
+ patternProperties:
+ "^ethernet-pcs@[0-9a-f]+$":
+ $ref: /schemas/net/pcs/snps,dw-xpcs.yaml#
+
patternProperties:
"^(ethernet-)?ports$":
additionalProperties: true
patternProperties:
"^(ethernet-)?port@[0-9]$":
+ type: object
allOf:
- if:
properties:
@@ -107,6 +127,14 @@ patternProperties:
tx-internal-delay-ps:
$ref: "#/$defs/internal-delay-ps"
+ properties:
+ pcs-handle:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to a PCS device node from the "regs" container.
+ Can be skipped if the PCS description is missing - in that case,
+ the connection is implicit.
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/net/pcs/snps,dw-xpcs.yaml b/Documentation/devicetree/bindings/net/pcs/snps,dw-xpcs.yaml
index e77eec9ac9ee..46e4f611f714 100644
--- a/Documentation/devicetree/bindings/net/pcs/snps,dw-xpcs.yaml
+++ b/Documentation/devicetree/bindings/net/pcs/snps,dw-xpcs.yaml
@@ -25,6 +25,14 @@ description:
properties:
compatible:
oneOf:
+ - description:
+ Synopsys DesignWare XPCS in NXP SJA1105 switch (direct APB3 access
+ via SPI) with custom PMA
+ const: nxp,sja1105-pcs
+ - description:
+ Synopsys DesignWare XPCS in NXP SJA1110 switch (indirect APB3 access
+ via SPI) with custom PMA
+ const: nxp,sja1110-pcs
- description: Synopsys DesignWare XPCS with none or unknown PMA
const: snps,dw-xpcs
- description: Synopsys DesignWare XPCS with Consumer Gen1 3G PMA
--
2.34.1
Powered by blists - more mailing lists