[PATCH net-next v2 1/2] net: dsa: mt7530-mdio: read PHY address of switch from device tree

Arınç ÜNAL arinc.unal at arinc9.com
Sun Apr 14 01:17:52 PDT 2024


On 14.04.2024 09:07, Arınç ÜNAL via B4 Relay wrote:
> From: Arınç ÜNAL <arinc.unal at arinc9.com>
> 
> Read the PHY address the switch listens on from the reg property of the
> switch node on the device tree. This change brings support for MT7530
> switches on boards with such bootstrapping configuration where the switch
> listens on a different PHY address than the hardcoded PHY address on the
> driver, 31.
> 
> As described on the "MT7621 Programming Guide v0.4" document, the MT7530
> switch and its PHYs can be configured to listen on the range of 7-12,
> 15-20, 23-28, and 31 and 0-4 PHY addresses.
> 
> There are operations where the switch PHY registers are used. For the PHY
> address of the control PHY, transform the MT753X_CTRL_PHY_ADDR constant
> into a macro and use it. The PHY address for the control PHY is 0 when the
> switch listens on 31. In any other case, it is one greater than the PHY
> address the switch listens on.
> 
> Reviewed-by: Daniel Golle <daniel at makrotopia.org>
> Tested-by: Daniel Golle <daniel at makrotopia.org>
> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
> ---
>   drivers/net/dsa/mt7530-mdio.c | 28 ++++++++++++++--------------
>   drivers/net/dsa/mt7530.c      | 35 ++++++++++++++++++++++-------------
>   drivers/net/dsa/mt7530.h      |  4 +++-
>   3 files changed, 39 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/net/dsa/mt7530.h b/drivers/net/dsa/mt7530.h
> index 585db03c0548..dc48715f6534 100644
> --- a/drivers/net/dsa/mt7530.h
> +++ b/drivers/net/dsa/mt7530.h
> @@ -625,7 +625,7 @@ enum mt7531_clk_skew {
>   #define  MT7531_PHY_PLL_OFF		BIT(5)
>   #define  MT7531_PHY_PLL_BYPASS_MODE	BIT(4)
>   
> -#define MT753X_CTRL_PHY_ADDR		0
> +#define MT753X_CTRL_PHY_ADDR(phy_addr)	(phy_addr + 1 & 0x1f)

Whilst compiling, GCC suggests parentheses around ‘+’ in operand of ‘&’. I
will send another version in the upcoming days.

Arınç



More information about the linux-arm-kernel mailing list