dt-bindings: media: s5p-mfc: convert bindings to json-schema
Convert s5p-mfc bindings to DT schema format using json-schema. Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230328114729.61436-1-aakarsh.jain@samsung.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
parent
514a935fd0
commit
538af6e585
|
@ -1,78 +0,0 @@
|
||||||
* Samsung Multi Format Codec (MFC)
|
|
||||||
|
|
||||||
Multi Format Codec (MFC) is the IP present in Samsung SoCs which
|
|
||||||
supports high resolution decoding and encoding functionalities.
|
|
||||||
The MFC device driver is a v4l2 driver which can encode/decode
|
|
||||||
video raw/elementary streams and has support for all popular
|
|
||||||
video codecs.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : value should be either one among the following
|
|
||||||
(a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs
|
|
||||||
(b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs
|
|
||||||
(c) "samsung,exynos3250-mfc", "samsung,mfc-v7" for MFC v7
|
|
||||||
present in Exynos3250 SoC
|
|
||||||
(d) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC
|
|
||||||
(e) "samsung,mfc-v8" for MFC v8 present in Exynos5800 SoC
|
|
||||||
(f) "samsung,exynos5433-mfc" for MFC v8 present in Exynos5433 SoC
|
|
||||||
(g) "samsung,mfc-v10" for MFC v10 present in Exynos7880 SoC
|
|
||||||
|
|
||||||
- reg : Physical base address of the IP registers and length of memory
|
|
||||||
mapped region.
|
|
||||||
|
|
||||||
- interrupts : MFC interrupt number to the CPU.
|
|
||||||
- clocks : from common clock binding: handle to mfc clock.
|
|
||||||
- clock-names : from common clock binding: must contain "mfc",
|
|
||||||
corresponding to entry in the clocks property.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- power-domains : power-domain property defined with a phandle
|
|
||||||
to respective power domain.
|
|
||||||
- memory-region : from reserved memory binding: phandles to two reserved
|
|
||||||
memory regions, first is for "left" mfc memory bus interfaces,
|
|
||||||
second if for the "right" mfc memory bus, used when no SYSMMU
|
|
||||||
support is available; used only by MFC v5 present in Exynos4 SoCs
|
|
||||||
|
|
||||||
Obsolete properties:
|
|
||||||
- samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region
|
|
||||||
property instead
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
SoC specific DT entry:
|
|
||||||
|
|
||||||
mfc: codec@13400000 {
|
|
||||||
compatible = "samsung,mfc-v5";
|
|
||||||
reg = <0x13400000 0x10000>;
|
|
||||||
interrupts = <0 94 0>;
|
|
||||||
power-domains = <&pd_mfc>;
|
|
||||||
clocks = <&clock 273>;
|
|
||||||
clock-names = "mfc";
|
|
||||||
};
|
|
||||||
|
|
||||||
Reserved memory specific DT entry for given board (see reserved memory binding
|
|
||||||
for more information):
|
|
||||||
|
|
||||||
reserved-memory {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
mfc_left: region@51000000 {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
no-map;
|
|
||||||
reg = <0x51000000 0x800000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
mfc_right: region@43000000 {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
no-map;
|
|
||||||
reg = <0x43000000 0x800000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
Board specific DT entry:
|
|
||||||
|
|
||||||
codec@13400000 {
|
|
||||||
memory-region = <&mfc_left>, <&mfc_right>;
|
|
||||||
};
|
|
|
@ -0,0 +1,184 @@
|
||||||
|
# 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";
|
||||||
|
};
|
Loading…
Reference in New Issue