14ed545e7Sjason-jh.lin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 24ed545e7Sjason-jh.lin%YAML 1.2 34ed545e7Sjason-jh.lin--- 44ed545e7Sjason-jh.lin$id: http://devicetree.org/schemas/display/mediatek/mediatek,rdma.yaml# 54ed545e7Sjason-jh.lin$schema: http://devicetree.org/meta-schemas/core.yaml# 64ed545e7Sjason-jh.lin 74ed545e7Sjason-jh.lintitle: Mediatek Read Direct Memory Access 84ed545e7Sjason-jh.lin 94ed545e7Sjason-jh.linmaintainers: 104ed545e7Sjason-jh.lin - Chun-Kuang Hu <chunkuang.hu@kernel.org> 114ed545e7Sjason-jh.lin - Philipp Zabel <p.zabel@pengutronix.de> 124ed545e7Sjason-jh.lin 134ed545e7Sjason-jh.lindescription: | 144ed545e7Sjason-jh.lin Mediatek Read Direct Memory Access(RDMA) component used to read the 154ed545e7Sjason-jh.lin data into DMA. It provides real time data to the back-end panel 164ed545e7Sjason-jh.lin driver, such as DSI, DPI and DP_INTF. 174ed545e7Sjason-jh.lin It contains one line buffer to store the sufficient pixel data. 184ed545e7Sjason-jh.lin RDMA device node must be siblings to the central MMSYS_CONFIG node. 194ed545e7Sjason-jh.lin For a description of the MMSYS_CONFIG binding, see 204ed545e7Sjason-jh.lin Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml 214ed545e7Sjason-jh.lin for details. 224ed545e7Sjason-jh.lin 234ed545e7Sjason-jh.linproperties: 244ed545e7Sjason-jh.lin compatible: 254ed545e7Sjason-jh.lin oneOf: 26112d5560SKrzysztof Kozlowski - enum: 27112d5560SKrzysztof Kozlowski - mediatek,mt2701-disp-rdma 28112d5560SKrzysztof Kozlowski - mediatek,mt8173-disp-rdma 29112d5560SKrzysztof Kozlowski - mediatek,mt8183-disp-rdma 30112d5560SKrzysztof Kozlowski - mediatek,mt8195-disp-rdma 31a79257baSjason-jh.lin - items: 324ed545e7Sjason-jh.lin - enum: 33b5386f29SNathan Lu - mediatek,mt8188-disp-rdma 34b5386f29SNathan Lu - const: mediatek,mt8195-disp-rdma 35b5386f29SNathan Lu - items: 36b5386f29SNathan Lu - enum: 374ed545e7Sjason-jh.lin - mediatek,mt7623-disp-rdma 384ed545e7Sjason-jh.lin - mediatek,mt2712-disp-rdma 3946bc0d98SRex-BC Chen - const: mediatek,mt2701-disp-rdma 404ed545e7Sjason-jh.lin - items: 414ed545e7Sjason-jh.lin - enum: 4248ed9e64SAngeloGioacchino Del Regno - mediatek,mt6795-disp-rdma 4348ed9e64SAngeloGioacchino Del Regno - const: mediatek,mt8173-disp-rdma 4448ed9e64SAngeloGioacchino Del Regno - items: 4548ed9e64SAngeloGioacchino Del Regno - enum: 468a26ea19SRex-BC Chen - mediatek,mt8186-disp-rdma 474ed545e7Sjason-jh.lin - mediatek,mt8192-disp-rdma 48*1915460cSAlexandre Mergnat - mediatek,mt8365-disp-rdma 4946bc0d98SRex-BC Chen - const: mediatek,mt8183-disp-rdma 504ed545e7Sjason-jh.lin 514ed545e7Sjason-jh.lin reg: 524ed545e7Sjason-jh.lin maxItems: 1 534ed545e7Sjason-jh.lin 544ed545e7Sjason-jh.lin interrupts: 554ed545e7Sjason-jh.lin maxItems: 1 564ed545e7Sjason-jh.lin 574ed545e7Sjason-jh.lin power-domains: 584ed545e7Sjason-jh.lin description: A phandle and PM domain specifier as defined by bindings of 594ed545e7Sjason-jh.lin the power controller specified by phandle. See 604ed545e7Sjason-jh.lin Documentation/devicetree/bindings/power/power-domain.yaml for details. 614ed545e7Sjason-jh.lin 624ed545e7Sjason-jh.lin clocks: 634ed545e7Sjason-jh.lin items: 644ed545e7Sjason-jh.lin - description: RDMA Clock 654ed545e7Sjason-jh.lin 664ed545e7Sjason-jh.lin iommus: 674ed545e7Sjason-jh.lin description: 684ed545e7Sjason-jh.lin This property should point to the respective IOMMU block with master port as argument, 694ed545e7Sjason-jh.lin see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. 704ed545e7Sjason-jh.lin 714ed545e7Sjason-jh.lin mediatek,rdma-fifo-size: 724ed545e7Sjason-jh.lin description: 734ed545e7Sjason-jh.lin rdma fifo size may be different even in same SOC, add this property to the 744ed545e7Sjason-jh.lin corresponding rdma. 754ed545e7Sjason-jh.lin The value below is the Max value which defined in hardware data sheet 764ed545e7Sjason-jh.lin mediatek,rdma-fifo-size of mt8173-rdma0 is 8K 774ed545e7Sjason-jh.lin mediatek,rdma-fifo-size of mt8183-rdma0 is 5K 784ed545e7Sjason-jh.lin mediatek,rdma-fifo-size of mt8183-rdma1 is 2K 794ed545e7Sjason-jh.lin $ref: /schemas/types.yaml#/definitions/uint32 804ed545e7Sjason-jh.lin enum: [8192, 5120, 2048] 814ed545e7Sjason-jh.lin 824ed545e7Sjason-jh.lin mediatek,gce-client-reg: 834ed545e7Sjason-jh.lin description: The register of client driver can be configured by gce with 844ed545e7Sjason-jh.lin 4 arguments defined in this property, such as phandle of gce, subsys id, 854ed545e7Sjason-jh.lin register offset and size. Each GCE subsys id is mapping to a client 864ed545e7Sjason-jh.lin defined in the header include/dt-bindings/gce/<chip>-gce.h. 874ed545e7Sjason-jh.lin $ref: /schemas/types.yaml#/definitions/phandle-array 884ed545e7Sjason-jh.lin maxItems: 1 894ed545e7Sjason-jh.lin 904ed545e7Sjason-jh.linrequired: 914ed545e7Sjason-jh.lin - compatible 924ed545e7Sjason-jh.lin - reg 934ed545e7Sjason-jh.lin - interrupts 944ed545e7Sjason-jh.lin - power-domains 954ed545e7Sjason-jh.lin - clocks 964ed545e7Sjason-jh.lin - iommus 974ed545e7Sjason-jh.lin 984ed545e7Sjason-jh.linadditionalProperties: false 994ed545e7Sjason-jh.lin 1004ed545e7Sjason-jh.linexamples: 1014ed545e7Sjason-jh.lin - | 102bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 103bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/clock/mt8173-clk.h> 104bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/power/mt8173-power.h> 105bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/gce/mt8173-gce.h> 106bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/memory/mt8173-larb-port.h> 107bff4e302SAngeloGioacchino Del Regno 108bff4e302SAngeloGioacchino Del Regno soc { 109bff4e302SAngeloGioacchino Del Regno #address-cells = <2>; 110bff4e302SAngeloGioacchino Del Regno #size-cells = <2>; 1114ed545e7Sjason-jh.lin 1124ed545e7Sjason-jh.lin rdma0: rdma@1400e000 { 1134ed545e7Sjason-jh.lin compatible = "mediatek,mt8173-disp-rdma"; 1144ed545e7Sjason-jh.lin reg = <0 0x1400e000 0 0x1000>; 1154ed545e7Sjason-jh.lin interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>; 1164ed545e7Sjason-jh.lin power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 1174ed545e7Sjason-jh.lin clocks = <&mmsys CLK_MM_DISP_RDMA0>; 1184ed545e7Sjason-jh.lin iommus = <&iommu M4U_PORT_DISP_RDMA0>; 119bff4e302SAngeloGioacchino Del Regno mediatek,rdma-fifo-size = <8192>; 1204ed545e7Sjason-jh.lin mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>; 1214ed545e7Sjason-jh.lin }; 122bff4e302SAngeloGioacchino Del Regno }; 123