File Index
Files and directories
Sign in
FILE

samsung,s5p-mfc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/media/samsung,s5p-mfc.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/media/samsung,s5p-mfc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Exynos Multi Format Codec (MFC)
  8
  9maintainers:
 10  - Marek Szyprowski <m.szyprowski@samsung.com>
 11  - Aakarsh Jain <aakarsh.jain@samsung.com>
 12
 13description:
 14  Multi Format Codec (MFC) is the IP present in Samsung SoCs which
 15  supports high resolution decoding and encoding functionalities.
 16
 17properties:
 18  compatible:
 19    oneOf:
 20      - enum:
 21          - samsung,exynos5433-mfc        # Exynos5433
 22          - samsung,mfc-v5                # Exynos4
 23          - samsung,mfc-v6                # Exynos5
 24          - samsung,mfc-v7                # Exynos5420
 25          - samsung,mfc-v8                # Exynos5800
 26          - samsung,mfc-v10               # Exynos7880
 27          - tesla,fsd-mfc                 # Tesla FSD
 28      - items:
 29          - enum:
 30              - samsung,exynos3250-mfc    # Exynos3250
 31          - const: samsung,mfc-v7         # Fall back for Exynos3250
 32
 33  reg:
 34    maxItems: 1
 35
 36  clocks:
 37    minItems: 1
 38    maxItems: 3
 39
 40  clock-names:
 41    minItems: 1
 42    maxItems: 3
 43
 44  interrupts:
 45    maxItems: 1
 46
 47  iommus:
 48    minItems: 1
 49    maxItems: 2
 50
 51  iommu-names:
 52    minItems: 1
 53    items:
 54      - const: left
 55      - const: right
 56
 57  power-domains:
 58    maxItems: 1
 59
 60  memory-region:
 61    minItems: 1
 62    maxItems: 2
 63
 64required:
 65  - compatible
 66  - reg
 67  - clocks
 68  - clock-names
 69  - interrupts
 70
 71additionalProperties: false
 72
 73allOf:
 74  - if:
 75      properties:
 76        compatible:
 77          contains:
 78            enum:
 79              - samsung,exynos3250-mfc
 80    then:
 81      properties:
 82        clocks:
 83          maxItems: 2
 84        clock-names:
 85          items:
 86            - const: mfc
 87            - const: sclk_mfc
 88        iommus:
 89          maxItems: 1
 90        iommu-names: false
 91
 92  - if:
 93      properties:
 94        compatible:
 95          contains:
 96            enum:
 97              - samsung,exynos5433-mfc
 98    then:
 99      properties:
100        clocks:
101          maxItems: 3
102        clock-names:
103          items:
104            - const: pclk
105            - const: aclk
106            - const: aclk_xiu
107        iommus:
108          minItems: 2
109        iommu-names:
110          minItems: 2
111
112  - if:
113      properties:
114        compatible:
115          contains:
116            enum:
117              - samsung,mfc-v5
118    then:
119      properties:
120        clocks:
121          maxItems: 2
122        clock-names:
123          items:
124            - const: mfc
125            - const: sclk_mfc
126        iommus:
127          minItems: 2
128        iommu-names:
129          minItems: 2
130
131  - if:
132      properties:
133        compatible:
134          contains:
135            enum:
136              - samsung,mfc-v6
137              - samsung,mfc-v8
138    then:
139      properties:
140        clocks:
141          maxItems: 1
142        clock-names:
143          items:
144            - const: mfc
145        iommus:
146          minItems: 2
147        iommu-names:
148          minItems: 2
149
150  - if:
151      properties:
152        compatible:
153          contains:
154            enum:
155              - samsung,mfc-v7
156    then:
157      properties:
158        clocks:
159          minItems: 1
160          maxItems: 2
161
162  - if:
163      properties:
164        compatible:
165          contains:
166            enum:
167              - tesla,fsd-mfc
168    then:
169      properties:
170        clocks:
171          maxItems: 1
172        clock-names:
173          items:
174            - const: mfc
175        iommus:
176          maxItems: 2
177        iommus-names: false
178
179examples:
180  - |
181    #include <dt-bindings/clock/exynos4.h>
182    #include <dt-bindings/clock/exynos-audss-clk.h>
183    #include <dt-bindings/interrupt-controller/arm-gic.h>
184    #include <dt-bindings/interrupt-controller/irq.h>
185
186    codec@13400000 {
187        compatible = "samsung,mfc-v5";
188        reg = <0x13400000 0x10000>;
189        interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
190        power-domains = <&pd_mfc>;
191        clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
192        clock-names = "mfc", "sclk_mfc";
193        iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
194        iommu-names = "left", "right";
195    };
~/ Read-only file preview.