On Mon, Aug 07, 2023 at 09:35:03PM +0200, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > Device-tree bindings for MDIO define per-PHY reset-gpios as well as a > global reset-gpios property at the MDIO node level which controlls all s/controlls/controls/ > devices on the bus. The latter is most likely a workaround for the > chicken-and-egg problem where we cannot read the ID of the PHY before > bringing it out of reset but we cannot bring it out of reset until we've > read its ID. > > I have proposed a solution for this problem in 2020 but it never got > upstream. Now we have a workaround in place which allows us to hard-code > the PHY id in the compatible property, thus skipping the ID scanning). nitpicky, but I think that already existed at that time :D > > Let's make the device-tree for sa8775p-ride slightly more correct by > moving the reset-gpios property to the PHY node with its ID put into the > PHY node's compatible. > > Link: https://lore.kernel.org/all/20200622093744.13685-1-brgl@xxxxxxxx/ > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/sa8775p-ride.dts | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dts b/arch/arm64/boot/dts/qcom/sa8775p-ride.dts > index 38327aff18b0..1c471278d441 100644 > --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dts > +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dts > @@ -279,13 +279,12 @@ mdio { > #address-cells = <1>; > #size-cells = <0>; > > - reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > - reset-delay-us = <11000>; > - reset-post-delay-us = <70000>; > - > sgmii_phy: phy@8 { > + compatible = "ethernet-phy-id0141.0dd4"; > reg = <0x8>; > device_type = "ethernet-phy"; > + reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; > + reset-deassert-us = <70000>; Doesn't this need reset-assert-us?