Devicetree
 help / color / mirror / Atom feed
From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Jonas Jelonek <jelonek.jonas@gmail.com>
Cc: "Sander Vanheule" <sander@svanheule.net>,
	"Kory Maincent" <kory.maincent@bootlin.com>,
	"Andrew Lunn" <andrew+netdev@lunn.ch>,
	"David S . Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Daniel Golle" <daniel@makrotopia.org>,
	"Bjørn Mork" <bjorn@mork.no>,
	"Conor Dooley" <conor.dooley@microchip.com>
Subject: Re: [PATCH net-next v8 1/4] dt-bindings: net: pse-pd: add bindings for Realtek PSE MCU
Date: Thu, 23 Jul 2026 09:36:32 +0200	[thread overview]
Message-ID: <amHEgOAWYXYuZwnl@pengutronix.de> (raw)
In-Reply-To: <3f71640b-9f22-4d0b-9c4d-dc64c397d286@gmail.com>

Hi Jonas,

On Wed, Jul 22, 2026 at 09:49:24PM +0200, Jonas Jelonek wrote:
> Hi,
> 
> On 22.07.26 19:49, Sander Vanheule wrote:
> > [...]
> >
> >> +  power-supply:
> >> +    description: Regulator supplying the PoE power rail.
> > As I reported to Jonas earlier [1], I used this property to define a power
> > supply for the 54V rail. While everything was working nicely, I still got this
> > warning for the missing vpwr-supply property on the PSE-PI nodes:
> >
> > regulator regulator.2: supply vpwr not found, using dummy regulator
> > Of course I don't like seeing warnings when everything is seemingly working
> > fine, but I was also wondering if this duplicated way of providing the PoE power
> > rail is a good way to go forward and if the generic pse-pi@n/vpwr-supply
> > shouldn't just be used instead. The latter is admittedly more verbose, with a
> > property on every node, but going forward offers a few advantages IMHO:
> >  * Being able to reserve "power-supply" on the main node for the MCU's actual
> >    3.3V regulator (not needed anywhere at the moment AFAIK)
> 
> I would probably rename this, mirroring the PD692x0 naming. "power" is actually
> too blurry, leaving too much room for interpretation. Still keeping its purpose
> to reference the supply that serves the PoE rail for this MCU with its downstream
> PSE. Reasoning below.
> 
> >  * Being able to take advantage of the generic pse-pi framework evolving to take
> >    into account more properties of the parent regulator, such as requesting more
> >    power, or ensuring the parent supply is not overdrawn by the combined PSE-PI
> >    outputs.
> 
> Correct me if I'm wrong but from what I see, most of that budgeting machinery
> isn't used in dynamic budget evaluation strategy, which is used here because the
> MCU does budgeting on it's own.

Hm, I guess the wording in header is a bit confusing, I see now the
misconception :)

dynamic vs static means - haw available budget is calculated, not where.
Dynamic can be implemented in the linux core too, but so far no one did.
Static can be implement in the MCU firmware as well.

In static case - the Powered Device tells us haw much power budget we
need to reserve for this device and it will be permanently accounted.
Advantage - every device will get what it is requesting.
Disadvantage - we do not use full capability of the power supply.

In dynamic case - we do not fully trust the Powered Device, first we
reserve requested budget and then start measuring the PD consumption.
If real consumption is less as requested, the reservation will be
reduced.
Advantage - more PDs can be attached.
Disadvantage - a spike in consumption of one PD, may kick out some low
prio PDs.

Since the dynamic case need a lot of measurements, it is usually
implemented in the firmware. Both strategies have advantages and
disadvantages and MCUs may allow to change the strategies, this is why we
provide this information.

In your case it is not documented, but it can be tested if you have
enough PDs where you can influence the load.

Not sure if we need an UNKNOWN flag to tell the user - we do not know
what to expect, use it on your own risk.

> Using vpwr-supply on each PI still buys that the
> supply is enabled and ref-counted by PSE-PD core, and keeps potential for what
> might come. But no requesting, allocation or deallocation of power.

Ack, in many cases it is for diagnostic. Please note, a "manger" is in
the practice a multi channel current limiter/regulator. It has maximal
load per chip and different max load per port. This can be properly
reflected with the regulators. 

For example, RTL8238B-VB datasheet do not document maximal rating per
chip, only per port. Calculating 8 ports, with 36W max, would result in
288W. It feels like a lot of heat. Can it actually handle it?
May be the MCU firmware has integrated maximal power limit do avoid HW
damage. A proper information in the regulator tree would help user to
understand why not all ports will get requested power.

> Given that, I had a closer look at PD692x0 and it seems, this has a similar setup.
> The difference here being just that there's no multi-manager concept. There is
> also a manager-level supply reference "vmain-supply" which the driver reads
> and applies to the hardware, which does budgeting also in hardware.

According to RTL8238B documentation, it has same multi-manager concept.
Since one manager RTL8238B supports max 8 ports, a switch with more PoE
capable ports would need more chips.

Since we already talk about power budgeting - all of this make sense if
we have port priorities. For example PD692x0 firmware has default prios
bound to port numbers. Is it the same with this firmware?

pw-bot: changes-requested
-- 
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 |

  reply	other threads:[~2026-07-23  7:36 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-15  7:55 [PATCH net-next v8 0/4] net: pse-pd: add Realtek PSE MCU support Jonas Jelonek
2026-07-15  7:55 ` [PATCH net-next v8 1/4] dt-bindings: net: pse-pd: add bindings for Realtek PSE MCU Jonas Jelonek
2026-07-17  9:39   ` Kory Maincent
2026-07-22 17:49   ` Sander Vanheule
2026-07-22 19:49     ` Jonas Jelonek
2026-07-23  7:36       ` Oleksij Rempel [this message]
2026-07-23  9:45         ` Jonas Jelonek
2026-07-23 10:20           ` Oleksij Rempel
2026-07-15  7:55 ` [PATCH net-next v8 2/4] net: pse-pd: add Realtek PSE MCU core Jonas Jelonek
2026-07-17  9:41   ` Kory Maincent
2026-07-15  7:55 ` [PATCH net-next v8 3/4] net: pse-pd: realtek-pse-mcu: add I2C transport Jonas Jelonek
2026-07-17  9:45   ` Kory Maincent
2026-07-15  7:55 ` [PATCH net-next v8 4/4] net: pse-pd: realtek-pse-mcu: add UART transport Jonas Jelonek
2026-07-17  9:46   ` Kory Maincent

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=amHEgOAWYXYuZwnl@pengutronix.de \
    --to=o.rempel@pengutronix.de \
    --cc=andrew+netdev@lunn.ch \
    --cc=bjorn@mork.no \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=jelonek.jonas@gmail.com \
    --cc=kory.maincent@bootlin.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=sander@svanheule.net \
    /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