[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f6d8907b057241c7a72da0a0255cfd23@IL-EXCH01.marvell.com>
Date: Wed, 23 Aug 2017 10:40:46 +0000
From: Stefan Chulski <stefanc@...vell.com>
To: Andrew Lunn <andrew@...n.ch>,
Antoine Tenart <antoine.tenart@...e-electrons.com>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"jason@...edaemon.net" <jason@...edaemon.net>,
"gregory.clement@...e-electrons.com"
<gregory.clement@...e-electrons.com>,
"sebastian.hesselbarth@...il.com" <sebastian.hesselbarth@...il.com>,
"thomas.petazzoni@...e-electrons.com"
<thomas.petazzoni@...e-electrons.com>,
Nadav Haklai <nadavh@...vell.com>,
"linux@...linux.org.uk" <linux@...linux.org.uk>,
"mw@...ihalf.com" <mw@...ihalf.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [EXT] Re: [PATCH net-next 03/18] net: mvpp2: set the SMI PHY
address when connecting to the PHY
> -----Original Message-----
> From: Andrew Lunn [mailto:andrew@...n.ch]
> Sent: Friday, July 28, 2017 7:22 AM
> To: Antoine Tenart <antoine.tenart@...e-electrons.com>
> Cc: davem@...emloft.net; jason@...edaemon.net; gregory.clement@...e-
> electrons.com; sebastian.hesselbarth@...il.com; thomas.petazzoni@...e-
> electrons.com; Nadav Haklai <nadavh@...vell.com>; linux@...linux.org.uk;
> mw@...ihalf.com; Stefan Chulski <stefanc@...vell.com>;
> netdev@...r.kernel.org; linux-arm-kernel@...ts.infradead.org
> Subject: [EXT] Re: [PATCH net-next 03/18] net: mvpp2: set the SMI PHY address
> when connecting to the PHY
>
> External Email
>
> ----------------------------------------------------------------------
> On Thu, Jul 27, 2017 at 06:49:05PM -0700, Antoine Tenart wrote:
> > Hi Andrew,
> >
> > On Wed, Jul 26, 2017 at 06:08:06PM +0200, Andrew Lunn wrote:
> > > On Mon, Jul 24, 2017 at 03:48:33PM +0200, Antoine Tenart wrote:
> > > >
> > > > + if (priv->hw_version != MVPP22)
> > > > + return 0;
> > > > +
> > > > + /* Set the SMI PHY address */
> > > > + if (of_property_read_u32(port->phy_node, "reg", &phy_addr)) {
> > > > + netdev_err(port->dev, "cannot find the PHY address\n");
> > > > + return -EINVAL;
> > > > + }
> > > > +
> > > > + writel(phy_addr, priv->iface_base +
> > > > +MVPP22_SMI_PHY_ADDR(port->gop_id));
> > > > return 0;
> > > > }
> > >
> > > You could use phy_dev->mdiodev->addr, rather than parse the DT.
> >
> > OK.
> >
> > > Why does the MAC need to know this address? The phylib and PHY
> > > driver should be the only thing accessing the PHY, otherwise you are
> > > asking for trouble.
> >
> > This is part of the SMI/xSMI interface. I added into the mvpp2 driver
> > and not in the mvmdio one because the GoP port number must be known to
> > set this register (so that would be even less clean to do it).
>
> Hi Antoine
>
> It is still not clear to my why you need to program the address into the
> hardware. Is the hardware talking to the PHY?
>
> Andrew
Hi Andrew,
This register configures SMI(Serial Management Interface) hardware unit, not PPv2(Packet Processor) hardware unit.
The SB incorporates the following SMI management interfaces:
MDC - Serial Management Interface Clock , MDIO - Serial Management Interface Data and complies with IEEE 802.3 Clause 22.
SMI interface used for:
1. PHY register read/write.
The device provides a mechanism for PHY registers read and write access.
2. Auto-Negotiation with PHY devices connected to the GMAC ports.
The device uses a standard master Serial Management Interface for reading from/writing to the PHY
registers. In addition, the PHY polling unit performs Auto-Negotiation status update with PHY devices attached
to the Network ports via the Master SMI Interface.
The device polls the Status register of each PHY in a round-robin manner.
If the device detects a change in the link from down to up on 1 of the ports, it performs a series of
register reads from the PHY and updates the Auto-Negotiation results in the device's registers. The
Port MAC Status register is updated with these results only if Auto-Negotiation is enabled.
So SMI interface should know GoP(MAC) id.
Regards,
Stefan.
Powered by blists - more mailing lists