Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | # 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 <matthias.bgg@gmail.com> - Moudy Ho <moudy.ho@mediatek.com> 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/<chip>-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/<chip>-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 <dt-bindings/clock/mt8183-clk.h> #include <dt-bindings/gce/mt8183-gce.h> #include <dt-bindings/power/mt8183-power.h> #include <dt-bindings/memory/mt8183-larb-port.h> dma-controller@14001000 { compatible = "mediatek,mt8183-mdp3-rdma"; reg = <0x14001000 0x1000>; mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>; mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>, <CMDQ_EVENT_MDP_RDMA0_EOF>; 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>; }; |