On 07/29/2018 05:51 PM, Andrew Lunn wrote:
> On Sun, Jul 29, 2018 at 04:03:10PM +0200, Hauke Mehrtens wrote:
>> On 07/25/2018 05:28 PM, Andrew Lunn wrote:
>>>> +  /* Make sure the firmware of the embedded GPHY is loaded before,
>>>> +   * otherwise they will not be detectable on the MDIO bus.
>>>> +   */
>>>> +  of_for_each_phandle(&it, err, np, "lantiq,phys", NULL, 0) {
>>>> +          phy_np = it.node;
>>>> +          if (phy_np) {
>>>> +                  struct platform_device *phy = 
>>>> of_find_device_by_node(phy_np);
>>>> +
>>>> +                  of_node_put(phy_np);
>>>> +                  if (!platform_get_drvdata(phy))
>>>> +                          return -EPROBE_DEFER;
>>>> +          }
>>>> +  }
>>>
>>> Is there a device tree binding document for this somewhere?
>>>
>>>    Andrew
>>>
>>
>> No, but I will create one.
>>
>> I am also not sure iof this is the correct way of doing this.
>>
>> We first have to load the FW into the Ethernet PHY though some generic
>> SoC registers and then we can find it normally on the MDIO bus and
>> interact with it like an external PHY on the MDIO bus.
> 
> Hi Hauke
> 
> It look sensible so far, but it would be good to post the PHY firmware
> download code as well. Lets see the big picture, then we can decide if
> there is a better way.

Hi Andrew,

It is already in the kernel tree and can be found here:
https://elixir.bootlin.com/linux/v4.18-rc6/source/drivers/soc/lantiq/gphy.c

I am thinking about merging this into the switch driver, then we do not
have to configure the dependency any more.

Hauke

Reply via email to