# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/mediatek,mdp3-rdma.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MediaTek Read Direct Memory Access maintainers: - Matthias Brugger - Moudy Ho description: | MediaTek Read Direct Memory Access(RDMA) component used to do read DMA. It contains one line buffer to store the sufficient pixel data, and must be siblings to the central MMSYS_CONFIG node. For a description of the MMSYS_CONFIG binding, see Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml for details. properties: compatible: oneOf: - enum: - mediatek,mt8183-mdp3-rdma - mediatek,mt8195-mdp3-rdma - mediatek,mt8195-vdo1-rdma - items: - const: mediatek,mt8188-vdo1-rdma - const: mediatek,mt8195-vdo1-rdma reg: maxItems: 1 mediatek,gce-client-reg: $ref: /schemas/types.yaml#/definitions/phandle-array items: items: - description: phandle of GCE - description: GCE subsys id - description: register offset - description: register size description: The register of client driver can be configured by gce with 4 arguments defined in this property. Each GCE subsys id is mapping to a client defined in the header include/dt-bindings/gce/-gce.h. mediatek,gce-events: description: The event id which is mapping to the specific hardware event signal to gce. The event id is defined in the gce header include/dt-bindings/gce/-gce.h of each chips. $ref: /schemas/types.yaml#/definitions/uint32-array mediatek,scp: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to the System Control Processor (SCP) used for initializing and stopping the MDP3, for sending frame data locations to the MDP3's VPU and to install Inter-Processor Interrupt handlers to control processing states. power-domains: maxItems: 1 clocks: items: - description: RDMA clock - description: RSZ clock minItems: 1 iommus: maxItems: 1 mboxes: items: - description: used for 1st data pipe from RDMA - description: used for 2nd data pipe from RDMA - description: used for 3rd data pipe from RDMA - description: used for 4th data pipe from RDMA - description: used for the data pipe from SPLIT minItems: 1 interrupts: maxItems: 1 '#dma-cells': const: 1 required: - compatible - reg - mediatek,gce-client-reg - power-domains - clocks - iommus - '#dma-cells' allOf: - if: properties: compatible: contains: const: mediatek,mt8183-mdp3-rdma then: properties: clocks: minItems: 2 mboxes: minItems: 2 required: - mboxes - mediatek,gce-events - if: properties: compatible: contains: const: mediatek,mt8195-mdp3-rdma then: properties: clocks: maxItems: 1 mboxes: minItems: 5 required: - mediatek,gce-events - if: properties: compatible: contains: const: mediatek,mt8195-vdo1-rdma then: properties: clocks: maxItems: 1 additionalProperties: false examples: - | #include #include #include #include dma-controller@14001000 { compatible = "mediatek,mt8183-mdp3-rdma"; reg = <0x14001000 0x1000>; mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>; mediatek,gce-events = , ; power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; clocks = <&mmsys CLK_MM_MDP_RDMA0>, <&mmsys CLK_MM_MDP_RSZ1>; iommus = <&iommu>; mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST>, <&gce 21 CMDQ_THR_PRIO_LOWEST>; #dma-cells = <1>; };