[PATCH net-next 1/2] net: dsa: mt7530-mdio: read PHY address of switch from device tree
Christophe JAILLET
christophe.jaillet at wanadoo.fr
Sun Apr 14 01:06:42 PDT 2024
Le 14/04/2024 à 05:10, Daniel Golle a écrit :
> On Sun, Apr 14, 2024 at 01:08:19AM +0300, 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.
>>
>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>
> See minor nit inline below.
>
...
>>
>> -#define MT753X_CTRL_PHY_ADDR 0
>> +#define MT753X_CTRL_PHY_ADDR(phy_addr) (phy_addr == 0x1f ? 0 : phy_addr + 1)
>
> #define MT753X_CTRL_PHY_ADDR(phy_addr) (phy_addr + 1 & 0x1f)
Nit: maybe (even if certainly useless in this case):
#define MT753X_CTRL_PHY_ADDR(phy_addr) ((phy_addr) + 1 & 0x1f)
?
>
> It's shorter, and works without conditional operator which is expensive.
>
Cj
More information about the Linux-mediatek
mailing list