The GP_CLK pin on Adin1300 PHY's offers three different output clocks. This patch adds the missing 125MHz recovered clock option which is not yet availible in the driver. Signed-off-by: Fabian Pfitzner <f.pfitzner@xxxxxxxxxxxxxx> --- Documentation/devicetree/bindings/net/adi,adin.yaml | 7 +++++-- drivers/net/phy/adin.c | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/net/adi,adin.yaml b/Documentation/devicetree/bindings/net/adi,adin.yaml index 929cf8c0b0fd..cd1b4efa692b 100644 --- a/Documentation/devicetree/bindings/net/adi,adin.yaml +++ b/Documentation/devicetree/bindings/net/adi,adin.yaml @@ -38,14 +38,17 @@ properties: adi,phy-output-clock: description: | - Select clock output on GP_CLK pin. Two clocks are available: - A 25MHz reference and a free-running 125MHz. + Select clock output on GP_CLK pin. Three clocks are available: + - 25MHz reference + - free-running 125MHz + - recovered 125MHz The phy can alternatively automatically switch between the reference and the 125MHz clocks based on its internal state. $ref: /schemas/types.yaml#/definitions/string enum: - 25mhz-reference - 125mhz-free-running + - 125mhz-recovered - adaptive-free-running adi,phy-output-reference-clock: diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c index 2e1a46e121d9..b1ed6fd24763 100644 --- a/drivers/net/phy/adin.c +++ b/drivers/net/phy/adin.c @@ -508,6 +508,8 @@ static int adin_config_clk_out(struct phy_device *phydev) sel |= ADIN1300_GE_CLK_CFG_25; } else if (strcmp(val, "125mhz-free-running") == 0) { sel |= ADIN1300_GE_CLK_CFG_FREE_125; + } else if (strcmp(val, "125mhz-recovered") == 0) { + sel |= ADIN1300_GE_CLK_CFG_RCVR_125; } else if (strcmp(val, "adaptive-free-running") == 0) { sel |= ADIN1300_GE_CLK_CFG_HRT_FREE; } else { base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d -- 2.39.2