1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/mediatek/mediatek,rdma.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Mediatek Read Direct Memory Access 8 9maintainers: 10 - Chun-Kuang Hu <chunkuang.hu@kernel.org> 11 - Philipp Zabel <p.zabel@pengutronix.de> 12 13description: | 14 Mediatek Read Direct Memory Access(RDMA) component used to read the 15 data into DMA. It provides real time data to the back-end panel 16 driver, such as DSI, DPI and DP_INTF. 17 It contains one line buffer to store the sufficient pixel data. 18 RDMA device node must be siblings to the central MMSYS_CONFIG node. 19 For a description of the MMSYS_CONFIG binding, see 20 Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml 21 for details. 22 23properties: 24 compatible: 25 oneOf: 26 - enum: 27 - mediatek,mt2701-disp-rdma 28 - mediatek,mt8173-disp-rdma 29 - mediatek,mt8183-disp-rdma 30 - mediatek,mt8195-disp-rdma 31 - items: 32 - enum: 33 - mediatek,mt8188-disp-rdma 34 - const: mediatek,mt8195-disp-rdma 35 - items: 36 - enum: 37 - mediatek,mt7623-disp-rdma 38 - mediatek,mt2712-disp-rdma 39 - mediatek,mt8167-disp-rdma 40 - const: mediatek,mt2701-disp-rdma 41 - items: 42 - enum: 43 - mediatek,mt6795-disp-rdma 44 - const: mediatek,mt8173-disp-rdma 45 - items: 46 - enum: 47 - mediatek,mt8186-disp-rdma 48 - mediatek,mt8192-disp-rdma 49 - mediatek,mt8365-disp-rdma 50 - const: mediatek,mt8183-disp-rdma 51 52 reg: 53 maxItems: 1 54 55 interrupts: 56 maxItems: 1 57 58 power-domains: 59 description: A phandle and PM domain specifier as defined by bindings of 60 the power controller specified by phandle. See 61 Documentation/devicetree/bindings/power/power-domain.yaml for details. 62 63 clocks: 64 items: 65 - description: RDMA Clock 66 67 iommus: 68 description: 69 This property should point to the respective IOMMU block with master port as argument, 70 see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. 71 72 mediatek,rdma-fifo-size: 73 description: 74 rdma fifo size may be different even in same SOC, add this property to the 75 corresponding rdma. 76 The value below is the Max value which defined in hardware data sheet 77 mediatek,rdma-fifo-size of mt8173-rdma0 is 8K 78 mediatek,rdma-fifo-size of mt8183-rdma0 is 5K 79 mediatek,rdma-fifo-size of mt8183-rdma1 is 2K 80 $ref: /schemas/types.yaml#/definitions/uint32 81 enum: [8192, 5120, 2048] 82 83 mediatek,gce-client-reg: 84 description: The register of client driver can be configured by gce with 85 4 arguments defined in this property, such as phandle of gce, subsys id, 86 register offset and size. Each GCE subsys id is mapping to a client 87 defined in the header include/dt-bindings/gce/<chip>-gce.h. 88 $ref: /schemas/types.yaml#/definitions/phandle-array 89 maxItems: 1 90 91 ports: 92 $ref: /schemas/graph.yaml#/properties/ports 93 description: 94 Input and output ports can have multiple endpoints, each of those 95 connects to either the primary, secondary, etc, display pipeline. 96 97 properties: 98 port@0: 99 $ref: /schemas/graph.yaml#/properties/port 100 description: RDMA input port, usually from MMSYS, OD or OVL 101 102 port@1: 103 $ref: /schemas/graph.yaml#/properties/port 104 description: 105 RDMA output to the input of the next desired component in the 106 display pipeline, for example one of the available COLOR, DPI, 107 DSI, MERGE or UFOE blocks. 108 109 required: 110 - port@0 111 - port@1 112 113required: 114 - compatible 115 - reg 116 - interrupts 117 - power-domains 118 - clocks 119 - iommus 120 121additionalProperties: false 122 123examples: 124 - | 125 #include <dt-bindings/interrupt-controller/arm-gic.h> 126 #include <dt-bindings/clock/mt8173-clk.h> 127 #include <dt-bindings/power/mt8173-power.h> 128 #include <dt-bindings/gce/mt8173-gce.h> 129 #include <dt-bindings/memory/mt8173-larb-port.h> 130 131 soc { 132 #address-cells = <2>; 133 #size-cells = <2>; 134 135 rdma0: rdma@1400e000 { 136 compatible = "mediatek,mt8173-disp-rdma"; 137 reg = <0 0x1400e000 0 0x1000>; 138 interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>; 139 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 140 clocks = <&mmsys CLK_MM_DISP_RDMA0>; 141 iommus = <&iommu M4U_PORT_DISP_RDMA0>; 142 mediatek,rdma-fifo-size = <8192>; 143 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>; 144 }; 145 }; 146