From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Kory Maincent <kory.maincent@bootlin.com>
Cc: "Maxime Chevallier" <maxime.chevallier@bootlin.com>,
davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com,
"Andrew Lunn" <andrew@lunn.ch>,
"Jakub Kicinski" <kuba@kernel.org>,
"Eric Dumazet" <edumazet@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Russell King" <linux@armlinux.org.uk>,
linux-arm-kernel@lists.infradead.org,
"Christophe Leroy" <christophe.leroy@csgroup.eu>,
"Herve Codina" <herve.codina@bootlin.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
"Vladimir Oltean" <vladimir.oltean@nxp.com>,
"Marek Behún" <kabel@kernel.org>,
"Nicolò Veronese" <nicveronese@gmail.com>,
"Simon Horman" <horms@kernel.org>,
mwojtas@chromium.org, "Antoine Tenart" <atenart@kernel.org>
Subject: Re: [PATCH net-next RFC 0/5] net: phy: Introduce a port representation
Date: Mon, 6 Jan 2025 19:17:35 +0100 [thread overview]
Message-ID: <Z3weP2JpURuRgHnb@pengutronix.de> (raw)
In-Reply-To: <20250104232359.2c7a7090@kmaincent-XPS-13-7390>
On Sat, Jan 04, 2025 at 11:23:59PM +0100, Kory Maincent wrote:
> On Sun, 22 Dec 2024 19:54:37 +0100
> Oleksij Rempel <o.rempel@pengutronix.de> wrote:
> > pse = <&pse1>; /* Reference to the attached PSE controller */
>
> The PSE pairset and polarity are already described in the PSE bindings.
> https://elixir.bootlin.com/linux/v6.12.6/source/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
>
> I am not sure it is a good idea to have PSE information at two different places.
You are right, the PSE PI node already covers the IEEE specifications. But
there are still some missing pieces. These are not directly tied to the PSE but
are important for port functionality, like LEDs, thermal sensors, and
transformer characteristics.
### Why Link to the Port Node
While LEDs, thermal zones, and other components can be described in the Device
Tree, there’s currently no clear way to indicate which ones belong to a
specific port. For single-port devices, this isn’t a big issue, but for devices
like switches with multiple ports, it gets messy very quickly.
For example:
- LEDs: Each port may have multiple LEDs for link, activity, and PoE
status. Without linking them to specific ports, the software cannot correctly
map these LEDs to their respective functionalities.
- Thermal Sensors: Sensors located near specific ports or magnetics are crucial
for thermal management. If they aren’t linked to a port, it’s unclear which
sensor data applies to which port.
### Why Transformer Characteristics Matter
Transformers (magnetics) are critical for Ethernet and affect software in these
ways:
1. Signal Integrity:
- Transformers influence noise and insertion loss.
- Some PHYs allow analog tuning for the connected transformer. Software
needs this information to configure PHY registers for optimal performance.
2. Power Delivery:
- Transformers have power and current limits.
- Software must ensure the power budget stays within these limits and detect
overcurrent conditions.
3. Thermal Management:
- Transformers can overheat under load.
- Software should monitor nearby sensors and reduce power if temperatures
exceed safe levels.
This functionality does not need to be added right now. However, I’ve
encountered some of these issues and believe they may impact others sooner or
later. It would be good if newly added specifications avoid conflicting with or
blocking potential solutions to these known issues.
> > In case of PoDL, we will have something like this:
> >
> > pair@0 {
> > name = "A"; /* Single pair for 10BaseT1L */
> > pins = <1 2>; /* Connector pins */
> > phy-mapping = <PHY_TXRX0_P PHY_TXRX0_N>; /* PHY pin mapping */
> > podl-mapping = <PODL_OUT0_P PODL_OUT0_N>; /* PoDL mapping: Positive and
> > negative outputs */ };
>
> We should do the same for PoDL. Put all information in the same place, the PSE
> bindings.
Ack.
Since IEEE does not provide anything beyond pinout and polarity description for
PSE PI specifications (at least for PoE variants), let's keep those details
there. Magnetics, being a shared component, should be described as part of the
port. Thermal sensors located near magnetics or physical ports are port-related
and should also be linked to the port. LEDs, however, fall into different
groups: some are connected to PHYs, others to PSE, and they may be controlled
by PHYs, PSE, or external controllers with software. These LEDs need a clear
linkage to their corresponding port functionality. What would be the best way
to establish this linkage without introducing unnecessary complexity?
Best regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
prev parent reply other threads:[~2025-01-06 18:17 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-20 20:14 [PATCH net-next RFC 0/5] net: phy: Introduce a port representation Maxime Chevallier
2024-12-20 20:15 ` [PATCH net-next RFC 1/5] net: ethtool: common: Make BaseT a 4-lanes mode Maxime Chevallier
2024-12-20 20:15 ` [PATCH net-next RFC 2/5] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values Maxime Chevallier
2024-12-20 20:15 ` [PATCH net-next RFC 3/5] net: ethtool: Export the link_mode_params definitions Maxime Chevallier
2024-12-20 20:15 ` [PATCH net-next RFC 4/5] net: phy: Introduce PHY ports representation Maxime Chevallier
2024-12-20 20:15 ` [PATCH net-next RFC 5/5] net: phy: dp83822: Add support for phy_port representation Maxime Chevallier
2024-12-22 15:59 ` [PATCH net-next RFC 0/5] net: phy: Introduce a port representation Oleksij Rempel
2024-12-22 18:54 ` Oleksij Rempel
2025-01-02 10:48 ` Russell King (Oracle)
2025-01-02 17:03 ` Oleksij Rempel
2025-01-07 13:26 ` Kory Maincent
2025-01-07 14:02 ` Oleksij Rempel
2025-01-07 14:43 ` Kory Maincent
2025-01-07 14:53 ` Oleksij Rempel
2025-01-07 15:14 ` Russell King (Oracle)
2025-01-07 15:54 ` Oleksij Rempel
2025-01-07 15:12 ` Russell King (Oracle)
2025-01-07 16:13 ` Andrew Lunn
2025-01-07 16:15 ` Maxime Chevallier
2025-01-07 16:22 ` Andrew Lunn
2025-01-07 16:41 ` Oleksij Rempel
2025-01-07 16:49 ` Oleksij Rempel
2025-01-08 7:25 ` Maxime Chevallier
2025-01-08 8:12 ` Oleksij Rempel
2025-01-04 22:23 ` Kory Maincent
2025-01-06 18:17 ` Oleksij Rempel [this message]
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=Z3weP2JpURuRgHnb@pengutronix.de \
--to=o.rempel@pengutronix.de \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kabel@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=mwojtas@chromium.org \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=pabeni@redhat.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.oltean@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).