Re: [PATCH v2 2/7] dt-bindings: interconnect: Add MediaTek EMI Interconnect bindings
From: Rob Herring
Date: Wed Apr 17 2024 - 10:54:18 EST
On Wed, Apr 17, 2024 at 11:14:37AM +0200, AngeloGioacchino Del Regno wrote:
> Add bindings for the MediaTek External Memory Interface Interconnect,
> which providers support system bandwidth requirements through Dynamic
> Voltage Frequency Scaling Resource Collector (DVFSRC) hardware.
>
> This adds bindings for MediaTek MT8183 and MT8195 SoCs.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
> ---
> .../interconnect/mediatek,mt8183-emi.yaml | 76 +++++++++++++++++++
> .../interconnect/mediatek,mt8183.h | 23 ++++++
> .../interconnect/mediatek,mt8195.h | 44 +++++++++++
> 3 files changed, 143 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> create mode 100644 include/dt-bindings/interconnect/mediatek,mt8183.h
> create mode 100644 include/dt-bindings/interconnect/mediatek,mt8195.h
>
> diff --git a/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml b/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> new file mode 100644
> index 000000000000..3ad60fd21f83
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interconnect/mediatek,mt8183-emi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek External Memory Interface (EMI) Interconnect
> +
> +maintainers:
> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
> +
> +description: |
> + EMI interconnect providers support system bandwidth requirements through
> + Dynamic Voltage Frequency Scaling Resource Collector (DVFSRC) hardware.
> + The provider is able to communicate with the DVFSRC through Secure Monitor
> + Call (SMC).
> +
> + ICC provider ICC Nodes
> + ---- ----
> + _________ |CPU | |--- |VPU |
> + _____ | |----- ---- | ----
> + | |->| DRAM | ---- | ----
> + |DRAM |->|scheduler|----- |GPU | |--- |DISP|
> + | |->| (EMI) | ---- | ----
> + |_____|->|_________|---. ----- | ----
> + /|\ `-|MMSYS|--|--- |VDEC|
> + | ----- | ----
> + | | ----
> + | change DRAM freq |--- |VENC|
> + -------- | ----
> + SMC --> | DVFSRC | | ----
> + -------- |--- |IMG |
> + | ----
> + | ----
> + |--- |CAM |
> + ----
> +
> +properties:
> + compatible:
> + enum:
> + - mediatek,mt8183-emi
> + - mediatek,mt8195-emi
> +
> + reg:
> + maxItems: 1
> +
> + '#interconnect-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - '#interconnect-cells'
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interconnect/mediatek,mt8195.h>
> +
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + system-controller@10012000 {
> + compatible = "mediatek,mt8195-dvfsrc";
> + reg = <0 0x10012000 0 0x1000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + emi_icc: interconnect@1 {
> + compatible = "mediatek,mt8195-emi";
> + reg = <1>;
> + #interconnect-cells = <1>;
There's not really any need for this node. Just put #interconnect-cells
in the parent.
Rob