linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).