hi, On Thu, Oct 18, 2012 at 03:18:04PM +0300, Tero Kristo wrote: > > > +static int __init omap4430_phy_power_down(void) > > > +{ > > > + void __iomem *ctrl_base; > > > + > > > + if (!cpu_is_omap44xx()) > > > + return 0; > > > + > > > + ctrl_base = ioremap(OMAP443X_SCM_BASE, SZ_1K); > > > + if (!ctrl_base) { > > > + pr_err("control module ioremap failed\n"); > > > + return -ENOMEM; > > > + } > > > + > > > + /* Power down the phy */ > > > + __raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF); > > > + > > > + iounmap(ctrl_base); > > > + > > > + return 0; > > > +} > > > +early_initcall(omap4430_phy_power_down); > > > +#endif > > > > I think you could do it even if the driver is enabled. > > Actually not at least now, it looks like the driver is not controlling > this bit at all, so the driver would fail if we do this.
then we can consider that a bug in the driver. Kishon, I thought you had added SCM address space to PHY driver for this particular reason until we get SCM driver, wasn't it ?? > > Just to make sure I understand the issue right: is the PHY enabled by > > default or did bootloader left this enabled ? > > The reset value for the register is zero (at least according to TRM), so > it is enabled from boot. Also, I couldn't find any code from the u-boot > that would touch this bit with a quick look. ok, so it looks like we must do this anyway, thanks ;-) -- balbi
signature.asc
Description: Digital signature