[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d21e1775-d5d4-4f58-865e-0cb33d14f371@kernel.org>
Date: Thu, 22 May 2025 17:09:19 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: "Nancy.Lin" <nancy.lin@...iatek.com>,
Chun-Kuang Hu <chunkuang.hu@...nel.org>, Liam Girdwood
<lgirdwood@...il.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Cc: Mark Brown <broonie@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-mediatek@...ts.infradead.org,
Project_Global_Chrome_Upstream_Group@...iatek.com,
jason-jh.lin@...iatek.com, singo.chang@...iatek.com,
paul-pl.chen@...iatek.com
Subject: Re: [PATCH 1/2] dt-bindings: regulator: mediatek: Add MT8196 vmm
controller
On 22/05/2025 17:03, Nancy.Lin wrote:
> From: Nancy Lin <nancy.lin@...iatek.com>
>
> Add a device tree binding document for the MediaTek MT8196 VMM (Vcore
> for MultiMedia) regulator controller. The VMM controller acts as the
> main power supplier for multimedia power domains, such as those used
> by display, video encode and decode subsystems. It provides virtual
> regulators that serve as the power sources for various multimedia IPs,
Virtual regulators do not sound real, so feels like you want some sort
of power domains?
A nit, subject: drop second/last, redundant "bindings". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
> and coordinates with the hardware common clock framework (hwccf) and
> the Video Companion Processor (VCP) to manage the power domains of
> these components. The regulator is controlled by the VCP firmware,
> and the operating system signals its requirement through a voting
> hardware block (hwccf).
>
> Signed-off-by: Nancy Lin <nancy.lin@...iatek.com>
> ---
> .../mediatek,mt8196-vmm-regulator.yaml | 70 +++++++++++++++++++
> 1 file changed, 70 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt8196-vmm-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt8196-vmm-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt8196-vmm-regulator.yaml
> new file mode 100644
> index 000000000000..a50e35c2e238
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt8196-vmm-regulator.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/regulator/mediatek,mt8196-vmm-regulator.yaml#"
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT8196 VMM (Vcore for MultiMedia) Regulator Controller
> +
> +maintainers:
> + - Nancy Lin <nancy.lin@...iatek.com>
> +
> +description: |
> + The MediaTek MT8196 VMM (Vcore for Multi Media) controller acts as the
> + main power supplier for multimedia power domains, such as those used by
> + display, video encode and decode subsystems. The VMM hardware block
> + provides virtual regulators that serve as the power sources (suppliers)
> + for various multimedia IPs. It coordinates with the MediaTek hardware
> + common clock framework (HWCCF) and the Video Companion Processor (VCP)
> + to manage the power domains of these multimedia components.
> +
> + Each child node under the VMM node represents a virtual regulator
> + (e.g., vdisp, vdec-vcore) and must specify a 'regulator-name'.
> +
> +properties:
> + compatible:
> + const: "mediatek,mt8196-vmm"
Not tested...
> +
> + mediatek,hw-ccf:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: Phandle to the hardware common clock framework syscon controller.
No, you cannot express clocks with syscon.
> +
> + mediatek,vcp:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: Phandle to the Video Co-Processor (VCP) node.
For what purpose?
> +
> +patternProperties:
> + "^(vdisp|vdec-vcore)$":
Redundant nodes, useless. Drop these completely.
> + type: object
> + description: |
> + Virtual regulator for a specific multimedia domain.
> + The node name should match the supported regulator (e.g., vdisp, vdec-vcore).
> + properties:
> + regulator-name:
No, you cannot start redefining properties. This binding is nowhere
close to hardware description. Looks like some copy-paste downstream
driver, so binding to fulfill driver needs.
Please rework to match hardware. I suggest reaching internally to get
some help how upstream drivers and bindings look like *prior* sending
downstream code.
Best regards,
Krzysztof
Powered by blists - more mailing lists