On 1/24/19 11:24 AM, Marek Behun wrote:
> On Thu, 24 Jan 2019 19:11:59 +0100
> Andrew Lunn <and...@lunn.ch> wrote:
> 
>> On Thu, Jan 24, 2019 at 07:04:51PM +0100, Marek Behun wrote:
>>> What properties does the cpu port node need to contain to force it?
>>> phy-mode = "2500base-x"; is not enough.  
>>
>> Hi Marek
>>
>> For DSA ports we have:
>>
>>                                                 phy-mode =
>> "rgmii-txid"; fixed-link {
>>                                                         speed =
>> <1000>; full-duplex;
>>                                                 };
>>
>> See dsa_port_fixed_link_register_of()
>>
>>     Andrew
> 
> Hi Andrew,
> the configuration
>   phy-mode = "2500base-x";
>   fixed-link {
>     speed = <2500>;
>     full-duplex;
>   };
> does not work, because swphy does not support speed=2500 (only 10, 100
> and 1000).
>   managed = "in-band-status";
> does not work either.
> 
> If I use speed = <1000>, then the swphy is created correctly, cmode is
> set correctly to 2500base-x, but speed register on the port is set to
> 1000, and the connection does not work.
> 
> The easiest way would probably be to implement swphy to support speed
> 2500. But I don't know what values should the simulated PHY registers
> contain...
> 
> The function dsa_port_fixed_link_register_of creates this phy device,
> adjusts the link and then calls  put_device(&phydev->mdio.dev);
> Does this mean that the phy device is immediately destroyed?

Yes, we should actually migrate that code over to PHYLINK, because in
PHYLINK the fixed links don't require creating a phy_device instance.
This is something that has a potential of breaking a lot of people, so I
have not really started doing it just yet :)
-- 
Florian

Reply via email to