[PATCH v1 1/6] dt-bindings: soc: mediatek: Add DVFSRC bindings for MT8183 and MT8195

Conor Dooley conor at kernel.org
Tue Apr 16 10:28:58 PDT 2024


On Tue, Apr 16, 2024 at 05:38:00PM +0200, AngeloGioacchino Del Regno wrote:
> Add bindings for the MediaTek Dynamic Voltage and Frequency Scaling
> Resource Collector (DVFSRC), a hardware module used to collect all the
> requests from both software and the various remote processors embedded
> into the SoC and decide about a minimum operating voltage and a minimum
> DRAM frequency to fulfill those requests in an effort to provide the
> best achievable performance per watt.
> 
> This hardware IP is capable of transparently performing direct register
> R/W on all of the DVFSRC-controlled regulators and SoC bandwidth knobs.
> 
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> ---
>  .../soc/mediatek/mediatek,mt8183-dvfsrc.yaml  | 57 +++++++++++++++++++
>  1 file changed, 57 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml
> 
> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml
> new file mode 100644
> index 000000000000..12bcc3fdfd07
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt8183-dvfsrc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC)
> +
> +description:
> +  The Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC) is a
> +  Hardware module used to collect all the requests from both software and the
> +  various remote processors embedded into the SoC and decide about a minimum
> +  operating voltage and a minimum DRAM frequency to fulfill those requests in
> +  an effort to provide the best achievable performance per watt.
> +  This hardware IP is capable of transparently performing direct register R/W
> +  on all of the DVFSRC-controlled regulators and SoC bandwidth knobs.
> +
> +maintainers:
> +  - AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> +  - Henry Chen <henryc.chen at mediatek.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:

This items should not be needed with the enum, right?

> +          - enum:
> +              - mediatek,mt8183-dvfsrc
> +              - mediatek,mt8195-dvfsrc
> +      - items:
> +          - const: mediatek,mt8192-dvfsrc
> +          - const: mediatek,mt8195-dvfsrc
> +
> +  reg:
> +    maxItems: 1
> +    description: DVFSRC common register address and length.
> +
> +patternProperties:
> +  "@[0-9a-f]+$":
> +    type: object

Why is there no enforcement of what a child could be here?

> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    soc {
> +        #address-cells = <2>;
> +        #size-cells = <2>;
> +
> +        dvfsrc at 10012000 {

"dvfsrc" looks like something my (imaginary given allergies) cat would
produce from sitting on my keyboard. Could you use full words for the
node name and make it something that attempts to be generic please?

> +            compatible = "mediatek,mt8195-dvfsrc";
> +            reg = <0 0x10012000 0 0x1000>;
> +        };
> +    };
> -- 
> 2.44.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20240416/d4752c84/attachment.sig>


More information about the linux-arm-kernel mailing list