From: Chen-Yu Tsai <wenst@chromium.org>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
broonie@kernel.org, lgirdwood@gmail.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, matthias.bgg@gmail.com,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, kernel@collabora.com
Subject: Re: [PATCH v2 3/6] dt-bindings: regulator: Document MediaTek MT6363 PMIC Regulators
Date: Mon, 30 Jun 2025 16:34:35 +0800 [thread overview]
Message-ID: <CAGXv+5EwLDue4y6fVuyNd-z1mytqXJJhQuohhe3htT-XiNcGHw@mail.gmail.com> (raw)
In-Reply-To: <c5dffc8c-2abe-4fd3-a062-6d1adb417d27@collabora.com>
Hi,
On Mon, Jun 30, 2025 at 3:52 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
>
> Il 30/06/25 05:25, Chen-Yu Tsai ha scritto:
> > On Fri, Jun 27, 2025 at 4:24 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >>
> >> On Tue, Jun 24, 2025 at 09:35:45AM +0200, AngeloGioacchino Del Regno wrote:
> >>> Add bindings for the regulators found in the MediaTek MT6363 PMIC,
> >>> usually found in board designs using the MT6991 Dimensity 9400 and
> >>> on MT8196 Kompanio SoC for Chromebooks, along with the MT6316 and
> >>> MT6373 PMICs.
> >>>
> >>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> >>> ---
> >>> .../regulator/mediatek,mt6363-regulator.yaml | 123 ++++++++++++++++++
> >>> 1 file changed, 123 insertions(+)
> >>> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
> >>> new file mode 100644
> >>> index 000000000000..f866c89c56f7
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6363-regulator.yaml
> >>> @@ -0,0 +1,123 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: http://devicetree.org/schemas/regulator/mediatek,mt6363-regulator.yaml#
> >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>> +
> >>> +title: MediaTek MT6363 PMIC Regulators
> >>> +
> >>> +maintainers:
> >>> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> >>> +
> >>> +description:
> >>> + The MT6363 SPMI PMIC provides 10 BUCK and 26 LDO (Low Dropout) regulators
> >>> + and can optionally provide overcurrent warnings with one ocp interrupt
> >>> + for each voltage regulator.
> >>> +
> >>> +properties:
> >>> + compatible:
> >>> + const: mediatek,mt6363-regulator
> >>> +
> >>> + interrupts:
> >>> + description: Overcurrent warning interrupts
> >>
> >> Are you sure interrupts are physically not connected?
>
> Yes, I'm sure, they are not.
>
> >
> > Side note:
> >
> > I wonder if we really need to describe _all_ the interrupts here.
> >
> > Looking at the PMIC as a whole, the interrupt tree is something like
> >
> > SoC <- SPMI inband IRQ - PMIC top level IRQ block <- sub-function IRQ blocks:
> >
> > - BUCK (buck regulator over current)
> > - LDO (LDO regulator over current)
> > - PSC (key press / system low voltage)
> > - MISC (protected registers accessed / SPMI stuff)
> >
> > And some other blocks that may apply to other MediaTek PMICs:
> >
> > - HK (some threshold triggered interrupt)
> > - BM (battery management related)
> >
> > The thing I'm trying to get to is that all these interrupt vectors are
> > internal to the whole PMIC. Do we really need to spell them out in the
> > device tree? The top level compatible should already imply how all the
> > internals are wired up.
> >
>
> Chen-Yu:
>
> Yes, we do: not all boards need overcurrent protection on all of the rails, but
> especially, in the past I have seen (multiple times) board designs (not MediaTek,
> but that doesn't mean anything) that will trigger the overcurrent protection due
> to a high inrush upon rail enablement - in these cases, the ocp would have to be
> either ignored completely or reset and read after a while.
>
> Not only that: since not all rails are actually used, due to EMI (and other issues
> which usually mean suboptimally built boards) some of those may randomly trigger
> OCP, and that's another case in which that should be ignored.
>
> So... yes, we want to define the overcurrent interrupts in the devicetree.
I understand the use case, but I think that's kind of giving the interrupts
property a second meaning.
Instead, if you look at the common regulator bindings, there is a
"regulator-over-current-protection" which signals that over current
protection should be enabled for a given regulator. Perhaps you could
use that? I think this common property also implies that over current
protection has to be explicitly enabled.
> >
> > ChenYu
> >
> >>> + minItems: 1
> >>> + maxItems: 36
> >>> +
> >>> + interrupt-names:
> >>> + description:
> >>> + Names for the overcurrent interrupts are the same as the name
> >>> + of a regulator (hence the same as each regulator's node name).
> >>> + For example, the interrupt name for regulator vs2 will be "vs2".
> >>
> >> You need to define the items or pattern if this is really flexible in
> >> the hardware (not drivers).
>
> krzk:
>
> It's flexible in the hardware... but how do I define a pattern here?
> I avoided to define the items because you can miss some; I mean....
>
> You may have, on one board:
> "vs1", "vsram", "someother", "another"
>
> on another: "vsram", "another"
>
> ...and another: "vs1", "another"
>
> (etc etc)
>
> Is there any way to allow missing items in between?
> Because then there's 36 possible items, so there are more than 100 possible
> combinations (keeping the order, but missing something in between..!).
I recently saw in the net/snps,dwmac.yaml binding the following:
clock-names:
minItems: 1
maxItems: 10
additionalItems: true
contains:
enum:
- stmmaceth
- pclk
- ptp_ref
I suppose you could adapt this pattern, list all the possibilities, and
set additionalItems to false. I don't think it can pick out duplicates
though.
ChenYu
> Cheers,
> Angelo
>
>
>
next prev parent reply other threads:[~2025-06-30 8:38 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-24 7:35 [PATCH v2 0/6] regulator: Add support for MediaTek MT6316/6363/6373 PMICs AngeloGioacchino Del Regno
2025-06-24 7:35 ` [PATCH v2 1/6] dt-bindings: regulator: Document MediaTek MT6316 PMIC Regulators AngeloGioacchino Del Regno
2025-06-27 8:16 ` Krzysztof Kozlowski
2025-06-24 7:35 ` [PATCH v2 2/6] regulator: Add support for MediaTek MT6316 SPMI " AngeloGioacchino Del Regno
2025-06-25 5:06 ` Chen-Yu Tsai
2025-06-25 8:43 ` AngeloGioacchino Del Regno
2025-06-24 7:35 ` [PATCH v2 3/6] dt-bindings: regulator: Document MediaTek MT6363 " AngeloGioacchino Del Regno
2025-06-27 8:18 ` Krzysztof Kozlowski
2025-06-30 3:25 ` Chen-Yu Tsai
2025-06-30 7:52 ` AngeloGioacchino Del Regno
2025-06-30 8:34 ` Chen-Yu Tsai [this message]
2025-06-24 7:35 ` [PATCH v2 4/6] regulator: Add support for MediaTek MT6363 SPMI " AngeloGioacchino Del Regno
2025-06-27 19:42 ` Dan Carpenter
2025-07-06 6:22 ` kernel test robot
2025-06-24 7:35 ` [PATCH v2 5/6] dt-bindings: regulator: Document MediaTek MT6373 " AngeloGioacchino Del Regno
2025-06-27 8:21 ` Krzysztof Kozlowski
2025-06-24 7:35 ` [PATCH v2 6/6] regulator: Add support for MediaTek MT6373 SPMI " AngeloGioacchino Del Regno
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=CAGXv+5EwLDue4y6fVuyNd-z1mytqXJJhQuohhe3htT-XiNcGHw@mail.gmail.com \
--to=wenst@chromium.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh@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 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).