From: Mason <slash.tmp@free.fr>
To: Daniel Mack <daniel@zonque.org>, netdev@vger.kernel.org
Cc: Florian Fainelli <f.fainelli@gmail.com>,
Mugunthan <mugunthanvnm@ti.com>,
"David S. Miller" <davem@davemloft.net>,
Matus Ujhelyi <ujhelyi.m@gmail.com>
Subject: Re: Atheros 8035 PHY only works when at803x_config_init() is commented out
Date: Thu, 09 Apr 2015 21:05:40 +0200 [thread overview]
Message-ID: <5526CD84.9090402@free.fr> (raw)
In-Reply-To: <5526806E.5020309@zonque.org>
Daniel Mack wrote:
> Mason wrote:
>
>> Here is the data sheet for the AR8035:
>> http://www.redeszone.net/app/uploads/2014/04/AR8035.pdf
>>
>> It seems the problem comes from the fact that the PHY treats
>> HW reset and SW reset differently:
>>
>> HW reset: registers are set to specific values
>> SW reset: some bits are retained across reset
>>
>> Case in point: the control register (BMCR)
>> HW reset: BMCR = 0x3100
>> SW reset: retain bits[6,8,12,13] / other bits = 0
>>
>> (0x3100 means bit_6=0, bit_8=bit_12=bit_13=1)
>>
>> When we execute this line from genphy_soft_reset()
>>
>> phy_write(phydev, MII_BMCR, BMCR_RESET);
>>
>> we reset the bits in BMCR, and SW reset does not restore them.
>>
>> It seems to me (please tell me if I am wrong) that it should
>> be safe for all PHYs to write old_val | BMCR_RESET, instead of
>> just BMCR_RESET. Thus...
>>
>> On chips that REALLY reset, the old_val bits will be discarded;
>> while on chips that retain some bits, we do want to keep them.
>>
>> So the patch would go something like below. What do you think?
>
> I don't think that'll work, because writing a 1 into the RESET bit of
> the register causes the PHY to enter its software reset routine
> immediately. The other bits should hence be reset to their defaults,
> regardless of what you set them to at the same time.
I forgot to ask:
(I presume you have a system with an AR8035.)
When the PHY is reset, you don't see the odd behavior I get?
Can you print the value of BMCR, before and after
phy_write(phydev, MII_BMCR, BMCR_RESET);
Regards.
prev parent reply other threads:[~2015-04-09 19:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-08 16:28 Atheros 8035 PHY only works when at803x_config_init() is commented out Mason
2015-04-08 17:29 ` Florian Fainelli
2015-04-08 21:37 ` Mason
2015-04-09 11:44 ` Mason
2015-04-09 13:15 ` Mason
2015-04-09 13:36 ` Daniel Mack
2015-04-09 14:38 ` Mason
2015-04-09 15:22 ` Mason
2015-04-09 15:32 ` Daniel Mack
2015-04-09 15:58 ` Mason
2015-04-09 17:25 ` Florian Fainelli
2015-04-09 18:52 ` Mason
2015-04-09 19:00 ` Florian Fainelli
2015-04-09 19:30 ` Mason
2015-04-09 20:26 ` Florian Fainelli
2015-04-09 22:10 ` Mason
2015-04-09 22:30 ` Florian Fainelli
2015-04-09 22:31 ` Fabio Estevam
2015-04-10 10:27 ` Fabio Estevam
2015-04-10 15:04 ` Mason
2015-04-10 9:33 ` Daniel Mack
2015-04-10 10:01 ` Mason
2015-04-10 10:21 ` Daniel Mack
2015-04-09 19:05 ` Mason [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=5526CD84.9090402@free.fr \
--to=slash.tmp@free.fr \
--cc=daniel@zonque.org \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=mugunthanvnm@ti.com \
--cc=netdev@vger.kernel.org \
--cc=ujhelyi.m@gmail.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.