blob: 271d0577a83c718858ab478bc6dd61b9a4f67777 [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung S5P/Exynos SoC Fully Integrated Mobile Camera
maintainers:
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
- Sylwester Nawrocki <s.nawrocki@samsung.com>
description:
Each FIMC device should have an alias in the aliases node, in the form of
fimc<n>, where <n> is an integer specifying the IP block instance.
properties:
compatible:
enum:
- samsung,exynos4210-fimc
- samsung,exynos4212-fimc
- samsung,s5pv210-fimc
reg:
maxItems: 1
clocks:
maxItems: 2
clock-names:
items:
- const: fimc
- const: sclk_fimc
clock-frequency:
description:
Maximum FIMC local clock (LCLK) frequency.
interrupts:
maxItems: 1
iommus:
maxItems: 1
power-domains:
maxItems: 1
samsung,cam-if:
type: boolean
description:
The FIMC IP block includes the camera input interface.
samsung,isp-wb:
type: boolean
description: |
The FIMC IP block has the ISP writeback input.
samsung,lcd-wb:
type: boolean
description: |
The FIMC IP block has the LCD writeback input.
samsung,mainscaler-ext:
type: boolean
description:
FIMC IP supports extended image size and has CIEXTEN register.
samsung,min-pix-alignment:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: Minimum supported image height alignment.
- description: Horizontal image offset.
description:
The values are in pixels and default is <2 1>.
samsung,min-pix-sizes:
$ref: /schemas/types.yaml#/definitions/uint32-array
maxItems: 2
description: |
An array specyfing minimum image size in pixels at the FIMC input and
output DMA, in the first and second cell respectively. Default value
is <16 16>.
samsung,pix-limits:
$ref: /schemas/types.yaml#/definitions/uint32-array
maxItems: 4
description: |
An array of maximum supported image sizes in pixels, for details refer to
Table 2-1 in the S5PV210 SoC User Manual. The meaning of each cell is as
follows:
0 - scaler input horizontal size
1 - input horizontal size for the scaler bypassed
2 - REAL_WIDTH without input rotation
3 - REAL_HEIGHT with input rotation
samsung,rotators:
$ref: /schemas/types.yaml#/definitions/uint32
default: 0x11
description: |
A bitmask specifying whether this IP has the input and the output
rotator. Bits 4 and 0 correspond to input and output rotator
respectively. If a rotator is present its corresponding bit should be
set.
samsung,sysreg:
$ref: /schemas/types.yaml#/definitions/phandle
description:
System Registers (SYSREG) node.
required:
- compatible
- reg
- clocks
- clock-names
- samsung,pix-limits
allOf:
- if:
required:
- samsung,isp-wb
then:
required:
- samsung,sysreg
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/exynos4.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
fimc@11800000 {
compatible = "samsung,exynos4212-fimc";
reg = <0x11800000 0x1000>;
clocks = <&clock CLK_FIMC0>,
<&clock CLK_SCLK_FIMC0>;
clock-names = "fimc", "sclk_fimc";
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
iommus = <&sysmmu_fimc0>;
power-domains = <&pd_cam>;
samsung,sysreg = <&sys_reg>;
samsung,pix-limits = <4224 8192 1920 4224>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,cam-if;
assigned-clocks = <&clock CLK_MOUT_FIMC0>,
<&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
};