From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Andrew Lunn <andrew@lunn.ch>, Jason Cooper <jason@lakedaemon.net>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
linuxppc-dev@lists.ozlabs.org, David Miller <davem@davemloft.net>,
Lennert Buytenhek <buytenh@wantstofly.org>
Subject: Re: [PATCH 2/2] net: mv643xx_eth: proper initialization for Kirkwood SoCs
Date: Wed, 22 May 2013 23:02:05 +0200 [thread overview]
Message-ID: <519D324D.6070903@gmail.com> (raw)
In-Reply-To: <20130522201607.GA18823@obsidianresearch.com>
On 05/22/2013 10:16 PM, 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.
It is safe to assume the bootloader alters it, but that modification is
lost when clocks get gated. I assume on clock ungate, the controller is
reset. Saying this, I will double check Dove's reset value but looks
like reset mess has been fixed in that later SoC.
> 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.
For Orion SoCs it is quite clear to me, with Gregory Clement and Thomas
Petazzoni we could also confirm if it does any harm there if we
unconditionally clear it. But for PPC system controllers I have no
idea...
>> + /* 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??
I have no strong opinion about checking the machine compatible or have
an extra compatible string for Kirkwood ethernet. Both would work fine
and are checked once upon probe anyway.
Sebastian
next prev parent reply other threads:[~2013-05-22 21:02 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 10:27 [PATCH 0/5 v2] mv643xx_eth: device tree bindings Florian Fainelli
2013-04-04 10:27 ` [PATCH 1/5 v2] mv643xx_eth: add Device Tree bindings Florian Fainelli
2013-04-04 21:29 ` Simon Baatz
2013-04-05 9:56 ` Florian Fainelli
2013-04-05 13:58 ` Sebastian Hesselbarth
2013-04-05 14:23 ` Florian Fainelli
2013-04-05 18:04 ` Jason Gunthorpe
2013-04-05 20:35 ` Sebastian Hesselbarth
2013-04-04 10:27 ` [PATCH 2/5] mv643xx_eth: update Device Tree bindings documentation Florian Fainelli
2013-04-04 10:27 ` [PATCH 3/5 v2] ARM: kirkwood: add device node entries for the gigabit interfaces Florian Fainelli
2013-04-04 21:35 ` Simon Baatz
2013-04-05 9:21 ` Florian Fainelli
2013-04-04 10:27 ` [PATCH 4/5 v2] ARM: orion5x: add gigabit ethernet device tree node Florian Fainelli
2013-04-04 10:27 ` [PATCH 5/5 v2] ARM: dove: add gigabit device tree nodes to dove.dtsi Florian Fainelli
2013-04-11 16:53 ` [PATCH 0/5 v2] mv643xx_eth: device tree bindings Jason Cooper
2013-04-11 17:09 ` Sebastian Hesselbarth
2013-04-13 15:21 ` Thomas Petazzoni
2013-04-13 19:00 ` Jason Cooper
2013-04-15 3:07 ` Ben Hutchings
2013-04-15 13:43 ` Jason Cooper
2013-04-15 10:00 ` Thomas Petazzoni
[not found] ` <1365071235-11611-1-git-send-email-florian-p3rKhJxN3npAfugRpC6u6w@public.gmane.org>
2013-05-06 15:33 ` [PATCH 0/7] " Sebastian Hesselbarth
[not found] ` <1367854420-8006-1-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-05-06 15:33 ` [PATCH v3 1/7] net: mv643xx_eth: add Device Tree bindings Sebastian Hesselbarth
2013-05-20 21:19 ` Simon Baatz
2013-05-20 21:34 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 2/7] net: mv643xx_eth: update Device Tree bindings documentation Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 3/7] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 4/7] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 5/7] ARM: kirkwood: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
[not found] ` <1367854420-8006-6-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-05-06 15:39 ` Thomas Petazzoni
2013-05-06 15:33 ` [PATCH v3 6/7] ARM: kirkwood: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-20 21:27 ` Simon Baatz
2013-05-20 21:38 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 7/7] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-06 16:07 ` [PATCH 0/7] mv643xx_eth: device tree bindings Jason Cooper
[not found] ` <20130506160743.GV31290-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2013-05-06 16:21 ` Sebastian Hesselbarth
2013-05-06 15:38 ` David Miller
2013-05-07 9:10 ` Valentin Longchamp
2013-05-21 16:41 ` [PATCH v4 00/12] net: mv643xx_eth DT support and fixes Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 01/12] net: mv643xx_eth: use phy_disconnect instead of phy_detach Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 02/12] net: mv643xx_eth: use managed devm_ioremap for port registers Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 03/12] net: mv643xx_eth: add phy_node to platform_data struct Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 04/12] net: mv643xx_eth: use of_phy_connect if phy_node present Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 05/12] net: mv643xx_eth: add DT parsing support Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 06/12] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-21 17:48 ` Andrew Lunn
2013-05-22 9:43 ` Sebastian Hesselbarth
2013-05-22 10:04 ` tiejun.chen
2013-05-22 10:13 ` Sebastian Hesselbarth
2013-05-22 13:10 ` Jason Cooper
2013-05-22 16:59 ` Jason Gunthorpe
2013-05-22 17:01 ` Jason Cooper
2013-05-22 17:32 ` Sebastian Hesselbarth
2013-05-22 17:35 ` Jason Cooper
2013-05-22 17:42 ` Sebastian Hesselbarth
2013-05-22 17:48 ` Jason Cooper
2013-05-22 18:44 ` Sebastian Hesselbarth
2013-05-22 18:49 ` Jason Cooper
2013-05-22 18:55 ` Sebastian Hesselbarth
2013-05-22 18:58 ` Jason Cooper
2013-05-22 19:52 ` Sebastian Hesselbarth
2013-05-22 18:24 ` Jason Gunthorpe
2013-05-22 18:51 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 07/12] ARM: kirkwood: " Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 08/12] ARM: orion5x: " Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 09/12] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 10/12] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 11/12] ARM: kirkwood: remove redundant DT board files Sebastian Hesselbarth
2013-05-22 20:36 ` Simon Baatz
2013-05-22 20:55 ` Sebastian Hesselbarth
2013-05-22 21:02 ` Jason Cooper
2013-05-22 21:17 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 12/12] ARM: orion5x: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
2013-05-22 16:16 ` [PATCH v4 00/12] net: mv643xx_eth DT support and fixes Andrew Lunn
2013-05-22 20:04 ` [PATCH 1/2] ARM: kirkwood: proper retain MAC address workaround on DT ethernet Sebastian Hesselbarth
2013-05-22 20:04 ` [PATCH 2/2] net: mv643xx_eth: proper initialization for Kirkwood SoCs Sebastian Hesselbarth
2013-05-22 20:16 ` Jason Gunthorpe
2013-05-22 21:02 ` Sebastian Hesselbarth [this message]
2013-05-23 16:01 ` Jason Cooper
2013-05-23 17:11 ` Jason Gunthorpe
2013-05-23 17:23 ` Jason Cooper
2013-05-23 17:53 ` Jason Gunthorpe
2013-05-23 18:40 ` Jason Cooper
2013-05-23 19:01 ` Jason Gunthorpe
2013-05-24 16:46 ` Jason Cooper
2013-05-24 16:53 ` Andrew Lunn
2013-05-24 17:03 ` Jason Cooper
2013-05-24 17:33 ` Jason Gunthorpe
2013-05-28 18:02 ` Jason Cooper
2013-05-23 22:40 ` Sebastian Hesselbarth
2013-05-24 11:03 ` Linus Walleij
2013-05-24 17:01 ` Jason Cooper
2013-05-24 17:13 ` Russell King - ARM Linux
2013-05-24 17:25 ` Sebastian Hesselbarth
2013-05-24 16:53 ` Jason Cooper
2013-05-26 4:04 ` [PATCH 1/2] ARM: kirkwood: proper retain MAC address workaround on DT ethernet David Miller
2013-05-26 20:06 ` Sebastian Hesselbarth
2013-05-27 9:23 ` David Miller
2013-05-27 9:39 ` Benjamin Herrenschmidt
2013-05-27 10:24 ` Sebastian Hesselbarth
2013-05-27 11:50 ` Benjamin Herrenschmidt
2013-05-27 12:47 ` Arnd Bergmann
2013-05-27 21:50 ` Benjamin Herrenschmidt
2013-05-27 22:12 ` Sebastian Hesselbarth
2013-05-27 22:17 ` David Miller
2013-05-27 20:18 ` David Miller
2013-05-27 21:48 ` Benjamin Herrenschmidt
2013-05-27 9:38 ` Benjamin Herrenschmidt
2013-05-29 19:32 ` [PATCH v5 00/13] net: mv643xx_eth DT support and fixes Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 01/13] net: mv643xx_eth: use phy_disconnect instead of phy_detach Sebastian Hesselbarth
2013-05-29 20:00 ` Jason Cooper
2013-05-29 19:32 ` [PATCH v5 02/13] net: mv643xx_eth: use managed devm_ioremap for port registers Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 03/13] net: mv643xx_eth: add phy_node to platform_data struct Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 04/13] net: mv643xx_eth: use of_phy_connect if phy_node present Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 05/13] net: mv643xx_eth: proper initialization for Kirkwood SoCs Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 06/13] net: mv643xx_eth: add DT parsing support Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 07/13] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 08/13] ARM: kirkwood: " Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 09/13] ARM: orion5x: " Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 10/13] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 11/13] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 12/13] ARM: kirkwood: remove redundant DT board files Sebastian Hesselbarth
2013-05-30 9:06 ` Arnaud Ebalard
2013-05-30 9:08 ` Sebastian Hesselbarth
2013-05-30 19:37 ` Jason Cooper
2013-05-30 22:28 ` Arnaud Ebalard
2013-05-31 11:54 ` Jason Cooper
2013-05-29 19:32 ` [PATCH v5 13/13] ARM: orion5x: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
2013-05-31 0:55 ` [PATCH v5 00/13] net: mv643xx_eth DT support and fixes David Miller
2013-05-31 6:28 ` Sebastian Hesselbarth
2013-05-31 9:32 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=519D324D.6070903@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=andrew@lunn.ch \
--cc=benh@kernel.crashing.org \
--cc=buytenh@wantstofly.org \
--cc=davem@davemloft.net \
--cc=jason@lakedaemon.net \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).