xref: /openbmc/linux/Documentation/devicetree/bindings/media/samsung,exynos4210-fimc.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1*464c2572SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*464c2572SKrzysztof Kozlowski%YAML 1.2
3*464c2572SKrzysztof Kozlowski---
4*464c2572SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml#
5*464c2572SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*464c2572SKrzysztof Kozlowski
7*464c2572SKrzysztof Kozlowskititle: Samsung S5P/Exynos SoC Fully Integrated Mobile Camera
8*464c2572SKrzysztof Kozlowski
9*464c2572SKrzysztof Kozlowskimaintainers:
10*464c2572SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11*464c2572SKrzysztof Kozlowski  - Sylwester Nawrocki <s.nawrocki@samsung.com>
12*464c2572SKrzysztof Kozlowski
13*464c2572SKrzysztof Kozlowskidescription:
14*464c2572SKrzysztof Kozlowski  Each FIMC device should have an alias in the aliases node, in the form of
15*464c2572SKrzysztof Kozlowski  fimc<n>, where <n> is an integer specifying the IP block instance.
16*464c2572SKrzysztof Kozlowski
17*464c2572SKrzysztof Kozlowskiproperties:
18*464c2572SKrzysztof Kozlowski  compatible:
19*464c2572SKrzysztof Kozlowski    enum:
20*464c2572SKrzysztof Kozlowski      - samsung,exynos4210-fimc
21*464c2572SKrzysztof Kozlowski      - samsung,exynos4212-fimc
22*464c2572SKrzysztof Kozlowski      - samsung,s5pv210-fimc
23*464c2572SKrzysztof Kozlowski
24*464c2572SKrzysztof Kozlowski  reg:
25*464c2572SKrzysztof Kozlowski    maxItems: 1
26*464c2572SKrzysztof Kozlowski
27*464c2572SKrzysztof Kozlowski  clocks:
28*464c2572SKrzysztof Kozlowski    maxItems: 2
29*464c2572SKrzysztof Kozlowski
30*464c2572SKrzysztof Kozlowski  clock-names:
31*464c2572SKrzysztof Kozlowski    items:
32*464c2572SKrzysztof Kozlowski      - const: fimc
33*464c2572SKrzysztof Kozlowski      - const: sclk_fimc
34*464c2572SKrzysztof Kozlowski
35*464c2572SKrzysztof Kozlowski  clock-frequency:
36*464c2572SKrzysztof Kozlowski    description:
37*464c2572SKrzysztof Kozlowski      Maximum FIMC local clock (LCLK) frequency.
38*464c2572SKrzysztof Kozlowski
39*464c2572SKrzysztof Kozlowski  interrupts:
40*464c2572SKrzysztof Kozlowski    maxItems: 1
41*464c2572SKrzysztof Kozlowski
42*464c2572SKrzysztof Kozlowski  iommus:
43*464c2572SKrzysztof Kozlowski    maxItems: 1
44*464c2572SKrzysztof Kozlowski
45*464c2572SKrzysztof Kozlowski  power-domains:
46*464c2572SKrzysztof Kozlowski    maxItems: 1
47*464c2572SKrzysztof Kozlowski
48*464c2572SKrzysztof Kozlowski  samsung,cam-if:
49*464c2572SKrzysztof Kozlowski    type: boolean
50*464c2572SKrzysztof Kozlowski    description:
51*464c2572SKrzysztof Kozlowski      The FIMC IP block includes the camera input interface.
52*464c2572SKrzysztof Kozlowski
53*464c2572SKrzysztof Kozlowski  samsung,isp-wb:
54*464c2572SKrzysztof Kozlowski    type: boolean
55*464c2572SKrzysztof Kozlowski    description: |
56*464c2572SKrzysztof Kozlowski      The FIMC IP block has the ISP writeback input.
57*464c2572SKrzysztof Kozlowski
58*464c2572SKrzysztof Kozlowski  samsung,lcd-wb:
59*464c2572SKrzysztof Kozlowski    type: boolean
60*464c2572SKrzysztof Kozlowski    description: |
61*464c2572SKrzysztof Kozlowski      The FIMC IP block has the LCD writeback input.
62*464c2572SKrzysztof Kozlowski
63*464c2572SKrzysztof Kozlowski  samsung,mainscaler-ext:
64*464c2572SKrzysztof Kozlowski    type: boolean
65*464c2572SKrzysztof Kozlowski    description:
66*464c2572SKrzysztof Kozlowski      FIMC IP supports extended image size and has CIEXTEN register.
67*464c2572SKrzysztof Kozlowski
68*464c2572SKrzysztof Kozlowski  samsung,min-pix-alignment:
69*464c2572SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
70*464c2572SKrzysztof Kozlowski    items:
71*464c2572SKrzysztof Kozlowski      - description: Minimum supported image height alignment.
72*464c2572SKrzysztof Kozlowski      - description: Horizontal image offset.
73*464c2572SKrzysztof Kozlowski    description:
74*464c2572SKrzysztof Kozlowski      The values are in pixels and default is <2 1>.
75*464c2572SKrzysztof Kozlowski
76*464c2572SKrzysztof Kozlowski  samsung,min-pix-sizes:
77*464c2572SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
78*464c2572SKrzysztof Kozlowski    maxItems: 2
79*464c2572SKrzysztof Kozlowski    description: |
80*464c2572SKrzysztof Kozlowski      An array specyfing minimum image size in pixels at the FIMC input and
81*464c2572SKrzysztof Kozlowski      output DMA, in the first and second cell respectively.  Default value
82*464c2572SKrzysztof Kozlowski      is <16 16>.
83*464c2572SKrzysztof Kozlowski
84*464c2572SKrzysztof Kozlowski  samsung,pix-limits:
85*464c2572SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
86*464c2572SKrzysztof Kozlowski    maxItems: 4
87*464c2572SKrzysztof Kozlowski    description: |
88*464c2572SKrzysztof Kozlowski      An array of maximum supported image sizes in pixels, for details refer to
89*464c2572SKrzysztof Kozlowski      Table 2-1 in the S5PV210 SoC User Manual. The meaning of each cell is as
90*464c2572SKrzysztof Kozlowski      follows:
91*464c2572SKrzysztof Kozlowski       0 - scaler input horizontal size
92*464c2572SKrzysztof Kozlowski       1 - input horizontal size for the scaler bypassed
93*464c2572SKrzysztof Kozlowski       2 - REAL_WIDTH without input rotation
94*464c2572SKrzysztof Kozlowski       3 - REAL_HEIGHT with input rotation
95*464c2572SKrzysztof Kozlowski
96*464c2572SKrzysztof Kozlowski  samsung,rotators:
97*464c2572SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
98*464c2572SKrzysztof Kozlowski    default: 0x11
99*464c2572SKrzysztof Kozlowski    description: |
100*464c2572SKrzysztof Kozlowski      A bitmask specifying whether this IP has the input and the output
101*464c2572SKrzysztof Kozlowski      rotator. Bits 4 and 0 correspond to input and output rotator
102*464c2572SKrzysztof Kozlowski      respectively. If a rotator is present its corresponding bit should be
103*464c2572SKrzysztof Kozlowski      set.
104*464c2572SKrzysztof Kozlowski
105*464c2572SKrzysztof Kozlowski  samsung,sysreg:
106*464c2572SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
107*464c2572SKrzysztof Kozlowski    description:
108*464c2572SKrzysztof Kozlowski      System Registers (SYSREG) node.
109*464c2572SKrzysztof Kozlowski
110*464c2572SKrzysztof Kozlowskirequired:
111*464c2572SKrzysztof Kozlowski  - compatible
112*464c2572SKrzysztof Kozlowski  - reg
113*464c2572SKrzysztof Kozlowski  - clocks
114*464c2572SKrzysztof Kozlowski  - clock-names
115*464c2572SKrzysztof Kozlowski  - samsung,pix-limits
116*464c2572SKrzysztof Kozlowski
117*464c2572SKrzysztof KozlowskiallOf:
118*464c2572SKrzysztof Kozlowski  - if:
119*464c2572SKrzysztof Kozlowski      required:
120*464c2572SKrzysztof Kozlowski        - samsung,isp-wb
121*464c2572SKrzysztof Kozlowski    then:
122*464c2572SKrzysztof Kozlowski      required:
123*464c2572SKrzysztof Kozlowski        - samsung,sysreg
124*464c2572SKrzysztof Kozlowski
125*464c2572SKrzysztof KozlowskiadditionalProperties: false
126*464c2572SKrzysztof Kozlowski
127*464c2572SKrzysztof Kozlowskiexamples:
128*464c2572SKrzysztof Kozlowski  - |
129*464c2572SKrzysztof Kozlowski    #include <dt-bindings/clock/exynos4.h>
130*464c2572SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
131*464c2572SKrzysztof Kozlowski
132*464c2572SKrzysztof Kozlowski    fimc@11800000 {
133*464c2572SKrzysztof Kozlowski        compatible = "samsung,exynos4212-fimc";
134*464c2572SKrzysztof Kozlowski        reg = <0x11800000 0x1000>;
135*464c2572SKrzysztof Kozlowski        clocks = <&clock CLK_FIMC0>,
136*464c2572SKrzysztof Kozlowski                 <&clock CLK_SCLK_FIMC0>;
137*464c2572SKrzysztof Kozlowski        clock-names = "fimc", "sclk_fimc";
138*464c2572SKrzysztof Kozlowski        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
139*464c2572SKrzysztof Kozlowski        iommus = <&sysmmu_fimc0>;
140*464c2572SKrzysztof Kozlowski        power-domains = <&pd_cam>;
141*464c2572SKrzysztof Kozlowski        samsung,sysreg = <&sys_reg>;
142*464c2572SKrzysztof Kozlowski
143*464c2572SKrzysztof Kozlowski        samsung,pix-limits = <4224 8192 1920 4224>;
144*464c2572SKrzysztof Kozlowski        samsung,mainscaler-ext;
145*464c2572SKrzysztof Kozlowski        samsung,isp-wb;
146*464c2572SKrzysztof Kozlowski        samsung,cam-if;
147*464c2572SKrzysztof Kozlowski
148*464c2572SKrzysztof Kozlowski        assigned-clocks = <&clock CLK_MOUT_FIMC0>,
149*464c2572SKrzysztof Kozlowski                          <&clock CLK_SCLK_FIMC0>;
150*464c2572SKrzysztof Kozlowski        assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
151*464c2572SKrzysztof Kozlowski        assigned-clock-rates = <0>, <176000000>;
152*464c2572SKrzysztof Kozlowski    };
153