mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Guillermo Rodriguez Garcia <guille.rodriguez@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org, Philipp Zabel <pza@pengutronix.de>
Subject: Re: Fwd: Micrel KSZ9031RN PHY problem
Date: Tue, 26 Apr 2016 11:55:29 +0200	[thread overview]
Message-ID: <CABDcavbqwXRM2y_uTup3m-pWBqSAjOthpZZBy-8MfM9yL3a-WA@mail.gmail.com> (raw)
In-Reply-To: <20160421073206.GC21638@pengutronix.de>

Hello,

2016-04-21 9:32 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
> On Wed, Apr 20, 2016 at 05:58:40PM +0200, Guillermo Rodriguez Garcia wrote:
>> Hello,
>>
>> 2016-04-19 9:11 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
>> > Hi Guillermo,
>> >
>> > +Cc Philipp Zabel who ported the patch to barebox
>> >
>> > On Mon, Apr 18, 2016 at 04:49:47PM +0200, Guillermo Rodriguez Garcia wrote:
>> >> Hello all,
>> >>
>> >> I am playing with barebox on an Atmel SAMA5D3 Xplained board. It is
>> >> now working fine for the most part, however after updating to the
>> >> latest sources from git I found a problem that I had not seen before.
>> >>
>> >> This board has two Ethernet interfaces; eth0 uses a Micrel KSZ9031RN
>> >> PHY, and eth1 uses a Micrel KSZ8081RNB PHY.
>> >>
>> >> It seems that after release 2016.03.0, eth0 does not work anymore with
>> >> some routers. Specifically I found this problem with a Comtrend
>> >> VG-8050. I have tested other routers and the problem was not present
>> >> there.
>> >>
>> >> After some research it seems that the problem is caused by this
>> >> commit: http://git.pengutronix.de/?p=barebox.git;a=commit;h=da89ee8f2e04e116410632a185024f58b8262d87
>> >>
>> >> Before this commit eth0 was working fine. After this commit, the link
>> >> cannot established anymore:
>> >>
>> >> [...]
>> >> barebox:/# ping 192.168.0.128
>> >> ping failed: Network is down
>> >>
>> >> Before diving further into this I thought it could be a good idea to
>> >> ask, in case someone can shed some light here.
>> >
>> > I have no idea what the issue is here. We might have to make this option
>> > configurable via devicetree to give boards different options. Since the
>> > patch comes from the Linux Kernel, do you have the same problems under
>> > Linux?
>>
>> I'm trying to get the latest kernel to boot. The latest version
>> supported by Atmel is 4.1, which doesn't have the patch yet. Will
>> report back asap.
>
> Thanks. We can revert this patch since Philipp only ported it to stay in
> sync with the kernel. Anyway, if it makes problems we'll probably need a
> solution for the kernel aswell.

More info on this after researching the issue.

Looks like problem is not directly caused by the modified FLP timings,
but is revealed by that change.

Immediately after setting the FLP timings, the autonegotiation is
restarted by calling genphy_restart_aneg(phydev).
Within genphy_restart_aneg, the following line:

    oldadv = adv = phy_read(phydev, MII_ADVERTISE);

returns 0xffff, and negotiation fails.

It seems to be a timing problem. Any minimal delay _before_ that
phy_read (1ms) is enough to make it work -- phy_read returns 481
instead of 0xffff, and the negotiation completes. The same delay right
after phy_read does not solve the problem.

This happens even if I modify ksz9031_center_flp_timing() so that it
does NOT touch the FLP timings. So as I said it is not directly
related to the actual FLP timing values, but rather to some timing
issue related to the negotiation itself. It just happens that the
center_flp_timing function does restart the autonegotiation, and thus
reveals the problem.

Is it OK to add this 1ms delay in genphy_restart_aneg?

Best,

Guillermo Rodriguez Garcia
guille.rodriguez@gmail.com

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2016-04-26  9:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CABDcavZr1PCpFrHVJFFayRQZ6vninf-xFS0H9QKSdA8u53OkDg@mail.gmail.com>
2016-04-18 14:49 ` Guillermo Rodriguez Garcia
2016-04-19  7:11   ` Sascha Hauer
2016-04-20 15:58     ` Guillermo Rodriguez Garcia
2016-04-21  7:32       ` Sascha Hauer
2016-04-21 11:04         ` Guillermo Rodriguez Garcia
2016-04-26  9:55         ` Guillermo Rodriguez Garcia [this message]
2016-04-26 11:10           ` Guillermo Rodriguez Garcia
2016-04-27  5:59           ` Sascha Hauer
2016-04-28  9:51             ` Guillermo Rodriguez Garcia
2016-04-28 21:09               ` Trent Piepho
2016-04-29 11:00                 ` Guillermo Rodriguez Garcia
2016-04-29 18:18                   ` Trent Piepho
2016-05-03 14:40                     ` Guillermo Rodriguez Garcia
2016-05-04  7:43                       ` Sascha Hauer
2016-05-04 10:39                         ` Guillermo Rodriguez Garcia
2016-06-13 17:29                         ` [PATCH] Fix genphy_restart_aneg() for Micrel's ksz9031 Guillermo Rodriguez Garcia
2016-06-14  6:39                           ` Sascha Hauer
2016-06-14  7:39                             ` Guillermo Rodriguez Garcia
2016-06-15  5:49                               ` Sascha Hauer
2016-06-15  7:44                                 ` Guillermo Rodriguez Garcia

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=CABDcavbqwXRM2y_uTup3m-pWBqSAjOthpZZBy-8MfM9yL3a-WA@mail.gmail.com \
    --to=guille.rodriguez@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=pza@pengutronix.de \
    --cc=s.hauer@pengutronix.de \
    /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