net: phy: dp83867: Add ability to disable output clock
authorTrent Piepho <tpiepho@impinj.com>
Wed, 22 May 2019 18:43:22 +0000 (18:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 May 2019 00:40:17 +0000 (17:40 -0700)
commit13c83cf8af0dcc6103982b4dc0b70826f0b54f21
tree66599156aea1d9922048e5a1bcc864afdd7d4212
parent980066e6d9642fa5854bed8e592b1a30ea885b76
net: phy: dp83867: Add ability to disable output clock

Generally, the output clock pin is only used for testing and only serves
as a source of RF noise after this.  It could be used to daisy-chain
PHYs, but this is uncommon.  Since the PHY can disable the output, make
doing so an option.  I do this by adding another enumeration to the
allowed values of ti,clk-output-sel.

The code was not using the value DP83867_CLK_O_SEL_REF_CLK as one might
expect: to select the REF_CLK as the output.  Rather it meant "keep
clock output setting as is", which, depending on PHY strapping, might
not be outputting REF_CLK.

Change this so DP83867_CLK_O_SEL_REF_CLK means enable REF_CLK output.
Omitting the property will leave the setting as is (which was the
previous behavior in this case).

Out of range values were silently converted into
DP83867_CLK_O_SEL_REF_CLK.  Change this so they generate an error.

Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/dp83867.c