[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <875yd630cu.fsf@miraculix.mork.no>
Date: Mon, 16 Jan 2023 17:33:53 +0100
From: Bjørn Mork <bjorn@...k.no>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: Frank Wunderlich <frank-w@...lic-files.de>,
Frank Wunderlich <linux@...web.de>,
linux-mediatek@...ts.infradead.org,
Alexander Couzens <lynxis@...0.eu>,
Felix Fietkau <nbd@....name>, John Crispin <john@...ozen.org>,
Sean Wang <sean.wang@...iatek.com>,
Mark Lee <Mark-MC.Lee@...iatek.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Matthias Brugger <matthias.bgg@...il.com>,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops
"Russell King (Oracle)" <linux@...linux.org.uk> writes:
> On Mon, Jan 16, 2023 at 04:21:30PM +0100, Bjørn Mork wrote:
>> [ 54.539438] mtk_soc_eth 15100000.ethernet wan: Link is Down
>> [ 56.619937] mtk_sgmii_select_pcs: id=1
>> [ 56.623690] mtk_pcs_config: interface=4
>> [ 56.627511] offset:0 0x140
>> [ 56.627513] offset:4 0x4d544950
>> [ 56.630215] offset:8 0x20
>> [ 56.633340] forcing AN
>> [ 56.638292] mtk_pcs_config: rgc3=0x0, advertise=0x1 (changed), link_timer=1600000, sgm_mode=0x103, bmcr=0x1000, use_an=1
>> [ 56.649226] mtk_pcs_link_up: interface=4
>> [ 56.653135] offset:0 0x81140
>> [ 56.653137] offset:4 0x4d544950
>> [ 56.656001] offset:8 0x1
>> [ 56.659137] mtk_soc_eth 15100000.ethernet wan: Link is Up - 1Gbps/Full - flow control rx/tx
>
> Thanks - there seems to be something weird with the bmcr value printed
> above in the mtk_pcs_config line.
>
> You have bmcr=0x1000, but the code sets two bits - SGMII_AN_RESTART and
> SGMII_AN_ENABLE which are bits 9 and 12, so bmcr should be 0x1200, not
> 0x1000. Any ideas why?
No, not really
> Can you also hint at what the bits in the PHY register you quote mean
> please?
This could very well be a red herring. It's the only difference I've
been able to spot, but I have no idea what it means.
This is an attempt at reformatting the pdf tables for email. Hope it's
readable:
VSPEC1_SGMII_STAT Reset Value
Chip Level SGMII status register (Register 30.9) 0008 H
15 14..8 7 6 5 4 3 2 1 .. 0
MACSEC_* Res RES Res ANOK RF ANAB LS DR
ro ro ro rolh ro roll ro
Field Bits Type Description
MACSEC_CAP 15 RO MACSEC Capability in the product
0 B DISABLED Product is not MACSEC capable
1 B ENABLED Product is MACSEC capable
RES 7 RO Reserved
Ignore when read.
ANOK 5 RO Auto-Negotiation Completed
Indicates whether the auto-negotiation process is completed or not.
0 B RUNNING Auto-negotiation process is in progress or not started
1 B COMPLETED Auto-negotiation process is completed
RF 4 ROLH Remote Fault
Indicates the detection of a remote fault event.
0 B INACTIVE No remote fault condition detected
1 B ACTIVE Remote fault condition detected
ANAB 3 RO Auto-Negotiation Ability
Specifies the auto-negotiation ability.
0 B DISABLED PHY is not able to perform auto-negotiation
1 B ENABLED PHY is able to perform auto-negotiation
LS 2 ROLL Link Status
Indicates the link status of the SGMII
0 B INACTIVE The link is down. No communication with link partner possible.
1 B ACTIVE The link is up. Data communication with link partner is possible.
DR 1:0 RO SGMII Data Rate
This field indicates the operating data rate of SGMII when link is up
00 B DR_10 SGMII link rate is 10 Mbit/s
01 B DR_100 SGMII link rate is 100 Mbit/s
10 B DR_1G SGMII link rate is 1000 Mbit/s
11 B DR_2G5 SGMII link rate is 2500 Mbit/s
Bjørn
Powered by blists - more mailing lists