All of lore.kernel.org
 help / color / mirror / Atom feed
From: wangxiaolei <xiaolei.wang@windriver.com>
To: Florian Fainelli <f.fainelli@gmail.com>,
	"bcm-kernel-feedback-list@broadcom.com" 
	<bcm-kernel-feedback-list@broadcom.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	"pabeni@redhat.com" <pabeni@redhat.com>,
	"richardcochran@gmail.com" <richardcochran@gmail.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: BCM54220: After the BCM54220 closes the auto-negotiation, the configuration forces the 1000M network port to be linked down all the time.
Date: Tue, 21 Feb 2023 16:04:16 +0800	[thread overview]
Message-ID: <fcb5c95c-fb81-9a66-bb15-dbae28e4899d@windriver.com> (raw)
In-Reply-To: <ae41658a-ddf9-290d-e674-550372619b8f@gmail.com>


On 2/18/23 1:13 AM, Florian Fainelli wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> On 2/17/23 00:06, Wang, Xiaolei wrote:
>> hi
>>
>>      When I use the nxp-imx7 board, eth0 is connected to the PC, eth0 is
>> turned off the auto-negotiation mode, and the configuration is forced to
>> 10M, 100M, 1000M. When configured to force 1000M,
>>      The link status of phy status reg(0x1) is always 0, and the chip of
>> phy is BCM54220, but I did not find the relevant datasheet on BCM
>> official website, does anyone have any suggestions or the datasheet of
>> BCM54220?
>
> I don't have access to a system with a BCM54220 but can look at the
> datasheet, could you provide the full output of mii-diag in both cases?
In auto-negotiation mode: normal Link Up, dump of registers:

Read: reg0, 0x1140
Read: reg1, 0x796d
Read: reg2, 0x600d
Read: reg3, 0x8589
Read: reg4, 0x05e1
Read: reg5, 0xc5e1
Read: reg6, 0x006d
Read: reg7, 0x2001
Read: reg8, 0x5bbc
Read: reg9, 0x0200
Read: rega, 0x3800
Read: regb, 0x0000
Read: regc, 0x0000
Read: regd, 0x0000
Read: rege, 0x0000
Read: regf, 0x3000
Read: reg10, 0x0000
Read: reg11, 0x0301
Read: reg12, 0x0000
Read: reg13, 0x0000
Read: reg14, 0x0000
Read: reg15, 0xff1f
Read: reg16, 0x043e
Read: reg17, 0xffff
Read: reg18, 0x8800
Read: reg19, 0x3490
Read: reg1a, 0x0000
Read: reg1b, 0x0000

When auto-negotiation is disabled and configured as forced 1000M mode, 
the register dump:

Read: reg0, 0x0140
Read: reg1, 0x7949
Read: reg2, 0x600d
Read: reg3, 0x8589
Read: reg4, 0x0401
Read: reg5, 0x0000
Read: reg6, 0x0064
Read: reg7, 0x2001
Read: reg8, 0x0000
Read: reg9, 0x0200
Read: rega, 0x0000
Read: regb, 0x0000
Read: regc, 0x0000
Read: regd, 0x0000
Read: rege, 0x0000
Read: regf, 0x3000
Read: reg10, 0x0000
Read: reg11, 0x0000
Read: reg12, 0x0000
Read: reg13, 0x0000
Read: reg14, 0x0000
Read: reg15, 0x0700
Read: reg16, 0x0006
Read: reg17, 0xffff
Read: reg18, 0x8000
Read: reg19, 0x051d
Read: reg1a, 0x0000
Read: reg1b, 0x0000
> What do the PC report as far as link partner advertisement goes etc.?
The other end of the port is also in the link down state.
>
> You are using a twister pair cable to connect your two systems?

I am using copper mode.

And I found that the AR8031 PHY also has this problem. In the case of 
auto-negotiation, 1000M can be negotiated. When auto-negotiation is 
turned off, 10M and 100M can be Link Up, but 1000M can also be Link 
Down. I read the AR8031 manual https://pdf1. 
alldatasheet.com/datasheet-pdf/view/1132454/ETC2/AR8035.html, there is 
only such a statement "If auto-negotiation is disabled, a 10 BASE-Te or 
100 BASE-TX can be manually selected using the IEEE MII registers .”

thanks

xiaolei

> -- 
> Florian
>

  reply	other threads:[~2023-02-21  8:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <MW5PR11MB5764F9734ACFED2EF390DFF795A19@MW5PR11MB5764.namprd11.prod.outlook.com>
2023-02-17 17:13 ` BCM54220: After the BCM54220 closes the auto-negotiation, the configuration forces the 1000M network port to be linked down all the time Florian Fainelli
2023-02-21  8:04   ` wangxiaolei [this message]
2023-02-21 18:44 ` Doug Berger
2023-02-21 19:41   ` Andrew Lunn
2023-02-21 19:53     ` Doug Berger
2023-02-21 21:51       ` Doug Berger

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=fcb5c95c-fb81-9a66-bb15-dbae28e4899d@windriver.com \
    --to=xiaolei.wang@windriver.com \
    --cc=andrew@lunn.ch \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@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.