• Russell King - ARM Linux's avatar
    ARM: dts: Fix OMAP4430 SDP Ethernet startup · 54b53c59
    Russell King - ARM Linux authored
    [ Upstream commit 84fb6c7feb1494ebb7d1ec8b95cfb7ada0264465 ]
    
    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.
    
    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.
    
    This also got confirmed by Peter Ujfalusi <peter.ujfalusi@ti.com> based
    on Blaze schematics that should be very close to SDP4430:
    
    TPS22902YFPR is used as the regulator switch (gpio48 controlled):
    Convert arm boot_lock to raw 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.
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Reviewed-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
    [tony@atomide.com: updated with notes from schematics from Peter]
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    54b53c59
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...