devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
To: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Georg.Soffel-k21M0aUVSxZWk0Htik3J/w@public.gmane.org
Subject: Re: [PATCH] net: phy: smsc: disable energy detect mode
Date: Fri, 16 Oct 2015 07:37:04 +0200	[thread overview]
Message-ID: <56208D00.80707@denx.de> (raw)
In-Reply-To: <561DD749.9000802-ynQEQJNshbs@public.gmane.org>

Hello Florian,

Am 14.10.2015 um 06:17 schrieb Heiko Schocher:
> Hello Florian,
>
> Am 13.10.2015 um 21:26 schrieb Florian Fainelli:
>> On 12/10/15 22:13, Heiko Schocher wrote:
>>> On some boards the energy enable detect mode leads in
>>> trouble with some switches, so make the enabling of
>>> this mode configurable through DT.
>>>
>>> Signed-off-by: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
>>> ---
>>>
>>>   .../devicetree/bindings/net/smsc-lan87xx.txt       | 19 +++++++++++++++++
>>>   drivers/net/phy/smsc.c                             | 24 +++++++++++++++++-----
>>>   2 files changed, 38 insertions(+), 5 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/net/smsc-lan87xx.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/net/smsc-lan87xx.txt
>>> b/Documentation/devicetree/bindings/net/smsc-lan87xx.txt
>>> new file mode 100644
>>> index 0000000..39aa1dc
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/net/smsc-lan87xx.txt
>>> @@ -0,0 +1,19 @@
>>> +SMSC LAN87xx Ethernet PHY
>>> +
>>> +Some boards require special tuning values. Configure them
>>> +through an Ethernet OF device node.
>>> +
>>> +Optional properties:
>>> +
>>> +- disable-energy-detect:
>>> +  If set, do not enable energy detect mode for the SMSC phy.
>>> +  default: enable energy detect mode
>>
>> Although energy detection is something that is implemented by many PHYs,
>> I am not sure a generic property is suitable here, I would prefix that
>> with the SMSC vendor prefix here to make it clear this only applies to
>> this PHY.
>
> Hmm... but all PHYs should be able to enable, disable it in some way, or?

ping?

>> Would not you want to make it a reverse property here though, something
>> like this:
>>
>> smsc,energy-detect: boolean, when present indicates the PHY reliably
>> supports energy detection
>
> Yes, that was also my first thought, but currently, on this PHYs
> energy detect mode is on ... and if I introduce such a property,
> it will disable it for all existing boards, because property is
> missing ... so, maybe I break boards ...

I have a v2 prepared, but what to do here?

>>> +
>>> +Examples:
>>> +
>>> +    /* Attach to an Ethernet device with autodetected PHY */
>>> +    &cpsw_emac0 {
>>> +        phy_id = <&davinci_mdio>, <0>;
>>> +        phy-mode = "mii";
>>> +        disable-energy-detect;
>>> +    };
>>> diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
>>> index 70b0895..f90fbf3 100644
>>> --- a/drivers/net/phy/smsc.c
>>> +++ b/drivers/net/phy/smsc.c
>>> @@ -43,16 +43,30 @@ static int smsc_phy_ack_interrupt(struct phy_device *phydev)
>>>
>>>   static int smsc_phy_config_init(struct phy_device *phydev)
>>>   {
>>> +#ifdef CONFIG_OF
>>> +    int len;
>>> +    struct device *dev = &phydev->dev;
>>> +    struct device_node *of_node = dev->of_node;
>>
>> That does not need to be ifdefd out, at best annontate with __maybe_unused?
>
> Yes, I try it.

removed.

>>> +#endif
>>>       int rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
>>> +    int enable_energy = 1;
>>>
>>>       if (rc < 0)
>>>           return rc;
>>>
>>> -    /* Enable energy detect mode for this SMSC Transceivers */
>>> -    rc = phy_write(phydev, MII_LAN83C185_CTRL_STATUS,
>>> -               rc | MII_LAN83C185_EDPWRDOWN);
>>> -    if (rc < 0)
>>> -        return rc;
>>> +#ifdef CONFIG_OF
>>> +    if (!of_node && dev->parent->of_node)
>>> +        of_node = dev->parent->of_node;
>>
>> That looks strange, why would the property be placed at the parent level
>> when this is a PHY device tree node property?
>
> Hmm.. I recheck this.

Hmm.. the drivers/net/ethernet/ti/cpsw.c has no phy-handle
support ... I added this, so my v2 is now a patchset of 2 patches.

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-10-16  5:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-13  5:13 [PATCH] net: phy: smsc: disable energy detect mode Heiko Schocher
2015-10-13 19:26 ` Florian Fainelli
2015-10-14  4:17   ` Heiko Schocher
     [not found]     ` <561DD749.9000802-ynQEQJNshbs@public.gmane.org>
2015-10-16  5:37       ` Heiko Schocher [this message]
2015-10-16 16:27       ` Florian Fainelli
     [not found]         ` <CAGVrzcZLTg_2tUCTyMkEF7y-Esh5ByZsputO6u41RLPizCcz+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-17  3:42           ` Heiko Schocher

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=56208D00.80707@denx.de \
    --to=hs-ynqeqjnshbs@public.gmane.org \
    --cc=Georg.Soffel-k21M0aUVSxZWk0Htik3J/w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.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).