Russell, On 07/12/2018 14.52, Russell King - ARM Linux wrote: > It was noticed that unbinding and rebinding the KSZ8851 ethernet > resulted in the driver reporting "failed to read device ID" at probe. > Probing the reset line with a 'scope while repeatedly attempting to > bind the driver in a shell loop revealed that the KSZ8851 RSTN pin is > constantly held at zero, meaning the device is held in reset, and > does not respond on the SPI bus. > > Experimentation with the startup delay on the regulator set to 50ms > shows that the reset is positively released after 20ms. > > Schematics for this board are not available, and the traces are buried > in the inner layers of the board which makes tracing where the RSTN pin > extremely difficult. We can only guess that the RSTN pin is wired to a > reset generator chip driven off the ethernet supply, which fits the > observed behaviour. Based on the schematics of the Blaze device (which should be very close to SDP4430): TPS22902YFPR is used as the regulator switch (gpio48 controlled) The VOUT is routed to TPS3808G01DBV (SCH Note: Threshold set at 90%. Vsense: 0.405V). According to the TPS3808 data sheet the RESET delay time when Ct is open (this is the case in the schema): MIN/TYP/MAX: 12/20/28 ms. The 20ms you are seeing confirms this setup. > Include this delay in the regulator startup delay - effectively > treating the reset as a "supply stable" indicator. > > This can not be modelled as a delay in the KSZ8851 driver since the > reset generation is board specific - if the RSTN pin had been wired to > a GPIO, reset could be released earlier via the already provided support > in the KSZ8851 driver. Reviewed-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > --- > arch/arm/boot/dts/omap4-sdp.dts | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts > index 0831a2bf6cec..57acf3a8b8a1 100644 > --- a/arch/arm/boot/dts/omap4-sdp.dts > +++ b/arch/arm/boot/dts/omap4-sdp.dts > @@ -33,6 +33,7 @@ > gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */ > enable-active-high; > regulator-boot-on; > + startup-delay-us = <25000>; > }; > > vbat: fixedregulator-vbat { > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki