dt-bindings: net: airoha: Add GDM port ethernet child node

EN7581 and AN7583 SoCs support connecting multiple external SerDes to GDM3
or GDM4 ports via a hw arbiter that manages the traffic in a TDM manner.
As a result multiple net_devices can connect to the same GDM{3,4} port
and there is a theoretical "1:n" relation between GDM ports and
net_devices.
Introduce the ethernet node child of a specific GDM port in order to model
a given net_device that is connected via the external arbiter to the
GDM{3,4} port. This new ethernet node is defined by the "airoha,eth-port"
compatible string. Please note GDM1 and GDM2 does not support the
connection with the external arbiter and they are represented by an
ethernet node defined by the "airoha,eth-mac" compatible string.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20260603-airoha-eth-multi-serdes-v9-1-5d476bc2f426@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Lorenzo Bianconi 2026-06-03 08:00:15 +02:00 committed by Jakub Kicinski
parent 1b203f7677
commit a4597204b6

View File

@ -130,6 +130,42 @@ patternProperties:
maximum: 4
description: GMAC port identifier
allOf:
- if:
properties:
reg:
contains:
items:
- enum:
- 3
- 4
then:
properties:
'#address-cells':
const: 1
'#size-cells':
const: 0
patternProperties:
"^ethernet@[0-5]$":
type: object
unevaluatedProperties: false
$ref: ethernet-controller.yaml#
description: External ethernet port ID available on the GDM port
properties:
compatible:
const: airoha,eth-port
reg:
maximum: 5
description: External ethernet port identifier
required:
- reg
- compatible
required:
- reg
- compatible
@ -191,9 +227,27 @@ examples:
#address-cells = <1>;
#size-cells = <0>;
mac: ethernet@1 {
ethernet@1 {
compatible = "airoha,eth-mac";
reg = <1>;
};
ethernet@4 {
compatible = "airoha,eth-mac";
reg = <4>;
#address-cells = <1>;
#size-cells = <0>;
ethernet@0 {
compatible = "airoha,eth-port";
reg = <0>;
};
ethernet@1 {
compatible = "airoha,eth-port";
reg = <1>;
};
};
};
};