185 lines
3.8 KiB
YAML
185 lines
3.8 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/media/samsung,s5p-mfc.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Samsung Exynos Multi Format Codec (MFC)
|
||
|
|
||
|
maintainers:
|
||
|
- Marek Szyprowski <m.szyprowski@samsung.com>
|
||
|
- Aakarsh Jain <aakarsh.jain@samsung.com>
|
||
|
|
||
|
description:
|
||
|
Multi Format Codec (MFC) is the IP present in Samsung SoCs which
|
||
|
supports high resolution decoding and encoding functionalities.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- enum:
|
||
|
- samsung,exynos5433-mfc # Exynos5433
|
||
|
- samsung,mfc-v5 # Exynos4
|
||
|
- samsung,mfc-v6 # Exynos5
|
||
|
- samsung,mfc-v7 # Exynos5420
|
||
|
- samsung,mfc-v8 # Exynos5800
|
||
|
- samsung,mfc-v10 # Exynos7880
|
||
|
- items:
|
||
|
- enum:
|
||
|
- samsung,exynos3250-mfc # Exynos3250
|
||
|
- const: samsung,mfc-v7 # Fall back for Exynos3250
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
clocks:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
iommus:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
iommu-names:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
memory-region:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
- interrupts
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
allOf:
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- samsung,exynos3250-mfc
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 2
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: mfc
|
||
|
- const: sclk_mfc
|
||
|
iommus:
|
||
|
maxItems: 1
|
||
|
iommus-names: false
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- samsung,exynos5433-mfc
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 3
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: pclk
|
||
|
- const: aclk
|
||
|
- const: aclk_xiu
|
||
|
iommus:
|
||
|
maxItems: 2
|
||
|
iommus-names:
|
||
|
items:
|
||
|
- const: left
|
||
|
- const: right
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- samsung,mfc-v5
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 2
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: mfc
|
||
|
- const: sclk_mfc
|
||
|
iommus:
|
||
|
maxItems: 2
|
||
|
iommus-names:
|
||
|
items:
|
||
|
- const: left
|
||
|
- const: right
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- samsung,mfc-v6
|
||
|
- samsung,mfc-v8
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: mfc
|
||
|
iommus:
|
||
|
maxItems: 2
|
||
|
iommus-names:
|
||
|
items:
|
||
|
- const: left
|
||
|
- const: right
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- samsung,mfc-v7
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
iommus:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/exynos4.h>
|
||
|
#include <dt-bindings/clock/exynos-audss-clk.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
|
||
|
codec@13400000 {
|
||
|
compatible = "samsung,mfc-v5";
|
||
|
reg = <0x13400000 0x10000>;
|
||
|
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
power-domains = <&pd_mfc>;
|
||
|
clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
|
||
|
clock-names = "mfc", "sclk_mfc";
|
||
|
iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
|
||
|
iommu-names = "left", "right";
|
||
|
};
|