[PATCH net-next v5 04/14] dt-bindings: net: cdns,macb: replace cdns,refclk-ext with cdns,refclk-source

Conor Dooley
2026-03-25T16:29:13Z

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.

The existing property only works on devices that are compatible with
sama7g5-gem, so mark it deprecated, and limit its use to that specific
scenario.

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

diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
index feb1683858374..50490acbb6fc4 100644
--- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
+++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
@@ -130,10 +130,23 @@ properties:

cdns,refclk-ext:
type: boolean
+ deprecated: true
+ 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.
+
+ This property has been replaced by cdns,refclk-source, as it only works
+ for devices that use an internal reference clock by default.
+
+ 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
@@ -215,6 +228,43 @@ allOf:
properties:
mdio: false

+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - microchip,sama7g5-gem
+ - microchip,sama7g5-emac
+ then:
+ properties:
+ cdns,refclk-source: false
+
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ const: microchip,sama7g5-gem
+ then:
+ properties:
+ cdns,refclk-ext: 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

examples:
--
2.53.0