From: David Jander <david@protonic.nl>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>,
David Miller <davem@davemloft.net>,
andrew@lunn.ch, f.fainelli@gmail.com, hkallweit1@gmail.com,
mark.rutland@arm.com, robh+dt@kernel.org, kernel@pengutronix.de,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
marex@denx.de, devicetree@vger.kernel.org, olteanv@gmail.com
Subject: Re: user space interface for configuring T1 PHY management mode (master/slave)
Date: Wed, 25 Mar 2020 11:28:51 +0100 [thread overview]
Message-ID: <20200325112851.43b3e6bc@erd988> (raw)
In-Reply-To: <20200325101111.GZ25745@shell.armlinux.org.uk>
On Wed, 25 Mar 2020 10:11:12 +0000
Russell King - ARM Linux admin <linux@armlinux.org.uk> wrote:
> On Wed, Mar 25, 2020 at 09:34:49AM +0100, Oleksij Rempel wrote:
> > Hi all,
> >
> > I'm working on mainlining of NXP1102 PHY (BroadR Reach/802.3bw) support.
> >
> > Basic functionality is working and support with mainline kernel. Now it is
> > time to extend it. According to the specification, each PHY can be master
> > or slave.
> >
> > The HW can be pre configured via bootstrap pins or fuses to have a default
> > configuration. But in some cases we still need to be able to configure the
> > PHY in a different mode:
> > --------------------------------------------------------------------------------
> > http://www.ieee802.org/3/1TPCESG/public/BroadR_Reach_Automotive_Spec_V3.0.pdf
> >
> > 6.1 MASTER-SLAVE configuration resolution
> >
> > All BroadR-Reach PHYs will default to configure as SLAVE upon power up or
> > reset until a management system (for example, processor/microcontroller)
> > configures it to be MASTER. MASTER-SLAVE assignment for each link
> > configuration is necessary for establishing the timing control of each PHY.
> >
> > 6.2 PHY-Initialization
> >
> > Both PHYs sharing a link segment are capable of being MASTER or SLAVE. In
> > IEEE 802.3-2012, MASTER-SLAVE resolution is attained during the
> > Auto-Negotiation process (see IEEE 802.3-2012 Clause 28). However, the
> > latency for this process is not acceptable for automotive application. A
> > forced assignment scheme is employed depending on the physical deployment
> > of the PHY within the car. This process is conducted at the power-up or
> > reset condition. The station management system manually configures the
> > BroadR-Reach PHY to be MASTER (before the link acquisition process starts)
> > while the link partner defaults to SLAVE (un-managed).
> > --------------------------------------------------------------------------------
> >
> > Should phylink be involved in this configuration? What's the proper user
> > space interface to use for this kind of configuration? ethtool or ip
> > comes into mind. Further having a Device Tree property to configure a
> > default mode to overwrite the boot strap pins would be nice to have.
>
> Well, the first question would be whether this is something that
> userspace needs to alter, or whether static configuration at boot
> time is what is necessary.
>
> Given what is in the description, it seems that the concern is with
> the latency it takes for the link to come up. I would suggest that
> the lowest latency would be achieved when using static configuration
> rather than waiting for the kernel to fully boot and userspace to
> start before configuring the PHY.
Yes, that would be the fastest, and in many cases the preferred way. But the
lack of auto negotiation is not a choice. It is imposed by the spec. Because
of this, and since the PHY's are configurable in software, there is some need
for configuration in user-space. Of course latency would not be an issue in
such a case, otherwise a fixed strapped configuration was chosen.
Best regards,
--
David Jander
Protonic Holland.
next prev parent reply other threads:[~2020-03-25 10:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-25 8:34 user space interface for configuring T1 PHY management mode (master/slave) Oleksij Rempel
2020-03-25 10:11 ` Russell King - ARM Linux admin
2020-03-25 10:28 ` David Jander [this message]
2020-03-25 10:21 ` Marek Vasut
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=20200325112851.43b3e6bc@erd988 \
--to=david@protonic.nl \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=marex@denx.de \
--cc=mark.rutland@arm.com \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=olteanv@gmail.com \
--cc=robh+dt@kernel.org \
/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.