1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c9ccf3a3SEmmanuel Vadot%YAML 1.2 3c9ccf3a3SEmmanuel Vadot--- 4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,wdma.yaml# 5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c9ccf3a3SEmmanuel Vadot 7c9ccf3a3SEmmanuel Vadottitle: Mediatek Write Direct Memory Access 8c9ccf3a3SEmmanuel Vadot 9c9ccf3a3SEmmanuel Vadotmaintainers: 10c9ccf3a3SEmmanuel Vadot - Chun-Kuang Hu <chunkuang.hu@kernel.org> 11c9ccf3a3SEmmanuel Vadot - Philipp Zabel <p.zabel@pengutronix.de> 12c9ccf3a3SEmmanuel Vadot 13c9ccf3a3SEmmanuel Vadotdescription: | 14c9ccf3a3SEmmanuel Vadot Mediatek Write Direct Memory Access(WDMA) component used to write 15c9ccf3a3SEmmanuel Vadot the data into DMA. 16c9ccf3a3SEmmanuel Vadot WDMA device node must be siblings to the central MMSYS_CONFIG node. 17c9ccf3a3SEmmanuel Vadot For a description of the MMSYS_CONFIG binding, see 18c9ccf3a3SEmmanuel Vadot Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml 19c9ccf3a3SEmmanuel Vadot for details. 20c9ccf3a3SEmmanuel Vadot 21c9ccf3a3SEmmanuel Vadotproperties: 22c9ccf3a3SEmmanuel Vadot compatible: 23c9ccf3a3SEmmanuel Vadot oneOf: 24fac71e4eSEmmanuel Vadot - enum: 25fac71e4eSEmmanuel Vadot - mediatek,mt8173-disp-wdma 26*f126890aSEmmanuel Vadot - items: 27*f126890aSEmmanuel Vadot - const: mediatek,mt6795-disp-wdma 28*f126890aSEmmanuel Vadot - const: mediatek,mt8173-disp-wdma 29c9ccf3a3SEmmanuel Vadot 30c9ccf3a3SEmmanuel Vadot reg: 31c9ccf3a3SEmmanuel Vadot maxItems: 1 32c9ccf3a3SEmmanuel Vadot 33c9ccf3a3SEmmanuel Vadot interrupts: 34c9ccf3a3SEmmanuel Vadot maxItems: 1 35c9ccf3a3SEmmanuel Vadot 36c9ccf3a3SEmmanuel Vadot power-domains: 37c9ccf3a3SEmmanuel Vadot description: A phandle and PM domain specifier as defined by bindings of 38c9ccf3a3SEmmanuel Vadot the power controller specified by phandle. See 39c9ccf3a3SEmmanuel Vadot Documentation/devicetree/bindings/power/power-domain.yaml for details. 40c9ccf3a3SEmmanuel Vadot 41c9ccf3a3SEmmanuel Vadot clocks: 42c9ccf3a3SEmmanuel Vadot items: 43c9ccf3a3SEmmanuel Vadot - description: WDMA Clock 44c9ccf3a3SEmmanuel Vadot 45c9ccf3a3SEmmanuel Vadot iommus: 46c9ccf3a3SEmmanuel Vadot description: 47c9ccf3a3SEmmanuel Vadot This property should point to the respective IOMMU block with master port as argument, 48c9ccf3a3SEmmanuel Vadot see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. 49c9ccf3a3SEmmanuel Vadot 50c9ccf3a3SEmmanuel Vadot mediatek,gce-client-reg: 51c9ccf3a3SEmmanuel Vadot description: The register of client driver can be configured by gce with 52c9ccf3a3SEmmanuel Vadot 4 arguments defined in this property, such as phandle of gce, subsys id, 53c9ccf3a3SEmmanuel Vadot register offset and size. Each GCE subsys id is mapping to a client 54c9ccf3a3SEmmanuel Vadot defined in the header include/dt-bindings/gce/<chip>-gce.h. 55c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 56c9ccf3a3SEmmanuel Vadot maxItems: 1 57c9ccf3a3SEmmanuel Vadot 58c9ccf3a3SEmmanuel Vadotrequired: 59c9ccf3a3SEmmanuel Vadot - compatible 60c9ccf3a3SEmmanuel Vadot - reg 61c9ccf3a3SEmmanuel Vadot - interrupts 62c9ccf3a3SEmmanuel Vadot - power-domains 63c9ccf3a3SEmmanuel Vadot - clocks 64c9ccf3a3SEmmanuel Vadot - iommus 65c9ccf3a3SEmmanuel Vadot 66c9ccf3a3SEmmanuel VadotadditionalProperties: false 67c9ccf3a3SEmmanuel Vadot 68c9ccf3a3SEmmanuel Vadotexamples: 69c9ccf3a3SEmmanuel Vadot - | 70c9ccf3a3SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 71c9ccf3a3SEmmanuel Vadot #include <dt-bindings/clock/mt8173-clk.h> 72c9ccf3a3SEmmanuel Vadot #include <dt-bindings/power/mt8173-power.h> 73c9ccf3a3SEmmanuel Vadot #include <dt-bindings/gce/mt8173-gce.h> 74c9ccf3a3SEmmanuel Vadot #include <dt-bindings/memory/mt8173-larb-port.h> 75c9ccf3a3SEmmanuel Vadot 76c9ccf3a3SEmmanuel Vadot soc { 77c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 78c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 79c9ccf3a3SEmmanuel Vadot 80c9ccf3a3SEmmanuel Vadot wdma0: wdma@14011000 { 81c9ccf3a3SEmmanuel Vadot compatible = "mediatek,mt8173-disp-wdma"; 82c9ccf3a3SEmmanuel Vadot reg = <0 0x14011000 0 0x1000>; 83c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_LOW>; 84c9ccf3a3SEmmanuel Vadot power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 85c9ccf3a3SEmmanuel Vadot clocks = <&mmsys CLK_MM_DISP_WDMA0>; 86c9ccf3a3SEmmanuel Vadot iommus = <&iommu M4U_PORT_DISP_WDMA0>; 87c9ccf3a3SEmmanuel Vadot mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>; 88c9ccf3a3SEmmanuel Vadot }; 89c9ccf3a3SEmmanuel Vadot }; 90