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