From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] ARM: shmobile: Koelsch: add Ether support
Date: Thu, 31 Oct 2013 20:25:03 +0000 [thread overview]
Message-ID: <5272CAA8.8070407@cogentembedded.com> (raw)
In-Reply-To: <20131031050215.GH1603@verge.net.au>
Hello.
On 10/31/2013 08:02 AM, Simon Horman wrote:
>> Register Ether platform device and pin data on the Koelsch board.
>> Register platform fixup for Micrel KSZ8041 PHY, just like on the Lager board.
>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> Thanks, I have been able to use this to successfully boot a Koelsch board
> using nfsroot. However, I believe there is a minor build problem which I
> have commented on below.
Yes, there is. Unfortunately, I haven't tested the build with
koelsch_defconfig...
>> ---
>> arch/arm/mach-shmobile/board-koelsch.c | 61 ++++++++++++++++++++++++++++++++-
>> 1 file changed, 60 insertions(+), 1 deletion(-)
>> Index: renesas/arch/arm/mach-shmobile/board-koelsch.c
>> =================================>> --- renesas.orig/arch/arm/mach-shmobile/board-koelsch.c
>> +++ renesas/arch/arm/mach-shmobile/board-koelsch.c
[...]
>> @@ -83,6 +118,30 @@ static void __init koelsch_add_standard_
>> sizeof(koelsch_keys_pdata));
>> }
>>
>> +/*
>> + * Ether LEDs on the Koelsch board are named LINK and ACTIVE which corresponds
>> + * to non-default 01 setting of the Micrel KSZ8041 PHY control register 1 bits
>> + * 14-15. We have to set them back to 01 from the default 00 value each time
>> + * the PHY is reset. It's also important because the PHY's LED0 signal is
>> + * connected to SoC's ETH_LINK signal and in the PHY's default mode it will
>> + * bounce on and off after each packet, which we apparently want to avoid.
>> + */
>> +static int koelsch_ksz8041_fixup(struct phy_device *phydev)
>> +{
>> + u16 phyctrl1 = phy_read(phydev, 0x1e);
>> +
>> + phyctrl1 &= ~0xc000;
>> + phyctrl1 |= 0x4000;
>> + return phy_write(phydev, 0x1e, phyctrl1);
>> +}
>> +
>> +static void __init koelsch_init(void)
>> +{
>> + koelsch_add_standard_devices();
>> +
>> + phy_register_fixup_for_id("r8a7790-ether-ff:01", koelsch_ksz8041_fixup);
> It seems to me that this code requires CONFIG_PHYLIB in order to compile.
Not really -- only in order to link.
> So I propose the following enhancement to this patch which replaces
> the line immediately above.
> if (IS_ENABLED(CONFIG_PHYLIB))
> phy_register_fixup_for_id("r8a7790-ether-ff:01",
> koelsch_ksz8041_fixup);
Strictly speaking, this is not enough. I'm getting:
arch/arm/mach-shmobile/built-in.o: In function `koelsch_ksz8041_fixup':
platsmp-apmu.c:(.text+0xb8): undefined reference to `mdiobus_read'
platsmp-apmu.c:(.text+0xd0): undefined reference to `mdiobus_write'
arch/arm/mach-shmobile/built-in.o: In function `koelsch_init':
platsmp-apmu.c:(.init.text+0xa90): undefined reference to
`phy_register_fixup_for_id'
So I guess the fixup function should be enclosed into #ifdef CONFIG_PHYLIB
too. However, in practice this change seems enough (gcc probably drops unused
static functions?)...
> I believe a similar enhancement is also needed for board-lager.c
> which I just realised does not compile if CONFIG_PHYLIB is not set.
I believe you meant to say it doesn't link too.
WBR, Sergei
next prev parent reply other threads:[~2013-10-31 20:25 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-30 22:16 [PATCH 0/2] Add Ether support for R8A7791/Koelsch board Sergei Shtylyov
2013-10-30 22:18 ` [PATCH 1/2] ARM: shmobile: r8a7791: add Ether clock Sergei Shtylyov
2013-10-31 6:06 ` Simon Horman
2013-10-31 20:50 ` Sergei Shtylyov
2013-11-01 6:29 ` Simon Horman
2013-12-19 17:59 ` [PATCH 1/2] arm: shmobile: r8a7791: Add SATA clocks Valentine Barshak
2014-01-09 8:25 ` Simon Horman
2014-02-06 21:12 ` [PATCH 1/2] ARM: shmobile: r8a7791: add Ether DT support Sergei Shtylyov
2014-02-10 12:54 ` Ben Dooks
2014-02-10 13:24 ` Sergei Shtylyov
2014-05-29 11:05 ` [PATCH 1/2] arm: shmobile: r8a7791: add USB3.0 clocks to device tree Yoshihiro Shimoda
2013-10-30 22:20 ` [PATCH 2/2] ARM: shmobile: Koelsch: add Ether support Sergei Shtylyov
2013-10-31 5:02 ` Simon Horman
2013-10-31 20:25 ` Sergei Shtylyov [this message]
2013-10-31 8:06 ` Magnus Damm
2013-10-31 18:03 ` Sergei Shtylyov
2013-12-09 18:58 ` Sergei Shtylyov
2013-12-09 21:14 ` Sergei Shtylyov
2013-12-18 20:23 ` Sergei Shtylyov
2013-10-31 8:10 ` Magnus Damm
2013-10-31 18:47 ` Sergei Shtylyov
2013-12-19 17:59 ` [PATCH 2/2] arm: shmobile: koelsch: Add SATA support Valentine Barshak
2014-11-11 4:37 ` [PATCH 2/2] ARM: shmobile: koelsch: add Volume Ramp usage on comment Kuninori Morimoto
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=5272CAA8.8070407@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=linux-arm-kernel@lists.infradead.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).