[PATCH net-next v3 03/10] dt-bindings: net: cdns,macb: replace cdns,refclk-ext with cdns,refclk-source

Conor Dooley
2026-03-10T17:19:11Z

Ryan added cdns,refclk-ext with the intent of decoupling the source of
the reference clock on sama7g5 (and related platforms) from the
compatible. Unfortunately, the default for sama7g5-emac is an external
reference clock, so this property had no effect there, so that
compatibility with older devicetrees is preserved.
Replace cdns,refclk-ext with one that supports both default states and
therefore is usable for sama7g5-emac.

For now, limit it to only the platforms that have USRIO controlled
reference clock selection, but this could be generalised in the future.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
.../devicetree/bindings/net/cdns,macb.yaml | 39 ++++++++++++++++---
1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
index cb14c35ba9969..a492357570edd 100644
--- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
+++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
@@ -120,12 +120,14 @@ properties:
power-domains:
maxItems: 1

- cdns,refclk-ext:
- type: boolean
+ cdns,refclk-source:
+ $ref: /schemas/types.yaml#/definitions/string
+ enum:
+ - internal
+ - external
description:
- This selects if the REFCLK for RMII is provided by an external source.
- For RGMII mode this selects if the 125MHz REF clock is provided by an external
- source.
+ Select whether or not the refclk for RGMII or RMII is provided by an
+ internal or external source. The default is device specific.

cdns,rx-watermark:
$ref: /schemas/types.yaml#/definitions/uint32
@@ -196,6 +198,33 @@ allOf:
required:
- phys

+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - microchip,sama7g5-gem
+ - microchip,sama7g5-emac
+ then:
+ properties:
+ cdns,refclk-source: false
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - microchip,sama7g5-emac
+ then:
+ properties:
+ cdns,refclk-source:
+ default: external
+ else:
+ properties:
+ cdns,refclk-source:
+ default: internal
+
unevaluatedProperties: false