Re: [PATCH net-next v5 4/4] net: phy: tja11xx: add delayed registration of TJA1102 PHY1

From: Florian Fainelli
Date: Wed Apr 22 2020 - 23:21:35 EST




On 4/22/2020 2:24 AM, Oleksij Rempel wrote:
TJA1102 is a dual PHY package with PHY0 having proper PHYID and PHY1
having no ID. On one hand it is possible to for PHY detection by
compatible, on other hand we should be able to reset complete chip
before PHY1 configured it, and we need to define dependencies for proper
power management.

We can solve it by defining PHY1 as child of PHY0:
tja1102_phy0: ethernet-phy@4 {
reg = <0x4>;

interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;

reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
reset-assert-us = <20>;
reset-deassert-us = <2000>;

tja1102_phy1: ethernet-phy@5 {
reg = <0x5>;

interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
};
};

The PHY1 should be a subnode of PHY0 and registered only after PHY0 was
completely reset and initialized.

Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

You did not expand too much on why you had to use a workqueue to register the second PHY instance?
--
Florian