| # 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 specifying 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>; |
| }; |