[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130523160111.GP31290@titan.lakedaemon.net>
Date: Thu, 23 May 2013 12:01:11 -0400
From: Jason Cooper <jason@...edaemon.net>
To: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
linux-kernel@...r.kernel.org,
Lennert Buytenhek <buytenh@...tstofly.org>,
netdev@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
David Miller <davem@...emloft.net>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 2/2] net: mv643xx_eth: proper initialization for
Kirkwood SoCs
Sebastian,
On Wed, May 22, 2013 at 02:16:07PM -0600, Jason Gunthorpe wrote:
> On Wed, May 22, 2013 at 10:04:02PM +0200, Sebastian Hesselbarth wrote:
>
> > Ethernet controllers found on Kirkwood SoCs not only suffer from loosing
> > MAC address register contents on clock gating but also some important
> > registers are reset to values that would break ethernet. This patch
>
> FWIW, we found that the bootloader has to write to PSC1, the driver
> doesn't work with the power on/reset value of the register. So I think
> it is safe to assume that all kirkwood bootloaders alter the value.
>
> Our systems write the value 0x00638488 to PSC1.
>
> I looked at patching mv643xx_eth, but ran into the same complexity you
> did, it isn't clear what variants of this IP block have the
> register/etc.
>
> > + /* Kirkwood resets some registers on gated clocks. Especially
> > + * CLK125_BYPASS_EN must be cleared but is not available on
> > + * all other SoCs/System Controllers using this driver.
> > + */
> > + if (of_machine_is_compatible("marvell,kirkwood"))
> > + wrlp(mp, PORT_SERIAL_CONTROL1,
> > + rdlp(mp, PORT_SERIAL_CONTROL1) & ~CLK125_BYPASS_EN);
>
> of_machine_is_compatible seems heavy handed, I would expect this to be
> based on the compatible string of the ethernet node itself, not the
> machine??
Is there a model number variation between IP that needs this and IP that
doesn't? If not, I'm fine with of_machine_is_compatible().
thx,
Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists