From: Sascha Hauer <s.hauer@pengutronix.de>
To: Trent Piepho <tpiepho@kymetacorp.com>
Cc: barebox <barebox@lists.infradead.org>
Subject: Re: [PATCH] socfpga: Initialize emac physels to RGMII correctly
Date: Wed, 11 Nov 2015 09:08:55 +0100 [thread overview]
Message-ID: <20151111080855.GP8526@pengutronix.de> (raw)
In-Reply-To: <1447198629.4553.98.camel@rtred1test09.kymeta.local>
On Tue, Nov 10, 2015 at 11:37:07PM +0000, Trent Piepho wrote:
> A comment in the socfpga init said that it was "Clearing emac0 PHY
> interface select to 0", but this was doubly incorrect. It was setting
> physel for emac1, not emac0, and it was setting physel to 1 (RGMII)
> not 0 (GMII). All supported socfpga boards use RGMII, and use emac1,
> so fix the comment to reflect the code. But then extend the code to
> set the physel for both emac0 and emac1, so it can work on boards that
> use either or both emacs (which are called gmac0/1 in the dts).
>
> The Cyclone V datasheet, page 17-60 "EMAC HPS Interface
> Initialization", says to set physel while the EMAC is in reset. So
> place the EMAC in reset while changing physel. The emacs are not in
> reset as code earlier in the boot has already taken most of the
> modules out of reset. So put them back in reset while the physel is
> changed. The Linux kernel does it this way too.
>
> If barebox has no network support, there is not much point in
> configuring the emac physel lines. This would be the case for the
> xloader pre-bootloader config, which configures physel, doesn't use
> the network, loads the main barebox, which then reconfigures physel
> again. Make this code depend on CONFIG_NET so it's just done in the
> main barebox. The Linux kernel does not need barebox to do this
> initialization to use networking.
>
> Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
> ---
> arch/arm/mach-socfpga/generic.c | 35 ++++++++++++++++++++++++++++++++---
> 1 file changed, 32 insertions(+), 3 deletions(-)
Applied with a small change.
> -static int socfpga_init(void)
> +#if defined(CONFIG_NET)
> +/* Some initialization for the EMAC */
> +static void socfpga_init_emac(void)
> {
> - uint32_t val;
> + uint32_t rst, val;
Dropped the #ifdef in favour for a:
if (!IS_ENABLED(CONFIG_NET))
return;
The binary result will be the same but the code looks nicer and the
compile coverage is better.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
prev parent reply other threads:[~2015-11-11 8:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-10 23:37 [PATCH] socfpga: Initialize emac physels to RGMII correctly Trent Piepho
2015-11-11 8:08 ` Sascha Hauer [this message]
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=20151111080855.GP8526@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=tpiepho@kymetacorp.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.