dt-bindings: net: cdns,macb: replace cdns,refclk-ext with cdns,refclk-source

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>
Link: https://patch.msgid.link/20260325-savior-untainted-03057ee0a917@spud
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Conor Dooley 2026-03-25 16:28:08 +00:00 committed by Jakub Kicinski
parent 039f185a00
commit dfa36d7e86

View File

@ -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: