1*67b8786aSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*67b8786aSKrzysztof Kozlowski%YAML 1.2
3*67b8786aSKrzysztof Kozlowski---
4*67b8786aSKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/samsung,exynos4210-csis.yaml#
5*67b8786aSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*67b8786aSKrzysztof Kozlowski
7*67b8786aSKrzysztof Kozlowskititle: Samsung S5P/Exynos SoC series MIPI CSI-2 receiver (MIPI CSIS)
8*67b8786aSKrzysztof Kozlowski
9*67b8786aSKrzysztof Kozlowskimaintainers:
10*67b8786aSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11*67b8786aSKrzysztof Kozlowski  - Sylwester Nawrocki <s.nawrocki@samsung.com>
12*67b8786aSKrzysztof Kozlowski
13*67b8786aSKrzysztof Kozlowskiproperties:
14*67b8786aSKrzysztof Kozlowski  compatible:
15*67b8786aSKrzysztof Kozlowski    enum:
16*67b8786aSKrzysztof Kozlowski      - samsung,s5pv210-csis
17*67b8786aSKrzysztof Kozlowski      - samsung,exynos4210-csis
18*67b8786aSKrzysztof Kozlowski      - samsung,exynos4212-csis
19*67b8786aSKrzysztof Kozlowski      - samsung,exynos5250-csis
20*67b8786aSKrzysztof Kozlowski
21*67b8786aSKrzysztof Kozlowski  reg:
22*67b8786aSKrzysztof Kozlowski    maxItems: 1
23*67b8786aSKrzysztof Kozlowski
24*67b8786aSKrzysztof Kozlowski  '#address-cells':
25*67b8786aSKrzysztof Kozlowski    const: 1
26*67b8786aSKrzysztof Kozlowski
27*67b8786aSKrzysztof Kozlowski  '#size-cells':
28*67b8786aSKrzysztof Kozlowski    const: 0
29*67b8786aSKrzysztof Kozlowski
30*67b8786aSKrzysztof Kozlowski  bus-width:
31*67b8786aSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
32*67b8786aSKrzysztof Kozlowski    enum: [2, 4]
33*67b8786aSKrzysztof Kozlowski    description:
34*67b8786aSKrzysztof Kozlowski      Number of data lines supported.
35*67b8786aSKrzysztof Kozlowski
36*67b8786aSKrzysztof Kozlowski  clocks:
37*67b8786aSKrzysztof Kozlowski    maxItems: 2
38*67b8786aSKrzysztof Kozlowski
39*67b8786aSKrzysztof Kozlowski  clock-names:
40*67b8786aSKrzysztof Kozlowski    items:
41*67b8786aSKrzysztof Kozlowski      - const: csis
42*67b8786aSKrzysztof Kozlowski      - const: sclk_csis
43*67b8786aSKrzysztof Kozlowski
44*67b8786aSKrzysztof Kozlowski  clock-frequency:
45*67b8786aSKrzysztof Kozlowski    default: 166000000
46*67b8786aSKrzysztof Kozlowski    description:
47*67b8786aSKrzysztof Kozlowski      The IP's main (system bus) clock frequency in Hz.
48*67b8786aSKrzysztof Kozlowski
49*67b8786aSKrzysztof Kozlowski  interrupts:
50*67b8786aSKrzysztof Kozlowski    maxItems: 1
51*67b8786aSKrzysztof Kozlowski
52*67b8786aSKrzysztof Kozlowski  phys:
53*67b8786aSKrzysztof Kozlowski    maxItems: 1
54*67b8786aSKrzysztof Kozlowski
55*67b8786aSKrzysztof Kozlowski  phy-names:
56*67b8786aSKrzysztof Kozlowski    items:
57*67b8786aSKrzysztof Kozlowski      - const: csis
58*67b8786aSKrzysztof Kozlowski
59*67b8786aSKrzysztof Kozlowski  power-domains:
60*67b8786aSKrzysztof Kozlowski    maxItems: 1
61*67b8786aSKrzysztof Kozlowski
62*67b8786aSKrzysztof Kozlowski  vddio-supply:
63*67b8786aSKrzysztof Kozlowski    description: MIPI CSIS I/O and PLL voltage supply (e.g. 1.8V).
64*67b8786aSKrzysztof Kozlowski
65*67b8786aSKrzysztof Kozlowski  vddcore-supply:
66*67b8786aSKrzysztof Kozlowski    description: MIPI CSIS Core voltage supply (e.g. 1.1V).
67*67b8786aSKrzysztof Kozlowski
68*67b8786aSKrzysztof KozlowskipatternProperties:
69*67b8786aSKrzysztof Kozlowski  "^port@[34]$":
70*67b8786aSKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/$defs/port-base
71*67b8786aSKrzysztof Kozlowski    additionalProperties: false
72*67b8786aSKrzysztof Kozlowski    description:
73*67b8786aSKrzysztof Kozlowski      Camera input port.
74*67b8786aSKrzysztof Kozlowski
75*67b8786aSKrzysztof Kozlowski    properties:
76*67b8786aSKrzysztof Kozlowski      reg:
77*67b8786aSKrzysztof Kozlowski        enum: [3, 4]
78*67b8786aSKrzysztof Kozlowski
79*67b8786aSKrzysztof Kozlowski      endpoint:
80*67b8786aSKrzysztof Kozlowski        $ref: video-interfaces.yaml#
81*67b8786aSKrzysztof Kozlowski        unevaluatedProperties: false
82*67b8786aSKrzysztof Kozlowski
83*67b8786aSKrzysztof Kozlowski        properties:
84*67b8786aSKrzysztof Kozlowski          data-lanes:
85*67b8786aSKrzysztof Kozlowski            minItems: 1
86*67b8786aSKrzysztof Kozlowski            maxItems: 4
87*67b8786aSKrzysztof Kozlowski
88*67b8786aSKrzysztof Kozlowski          samsung,csis-hs-settle:
89*67b8786aSKrzysztof Kozlowski            $ref: /schemas/types.yaml#/definitions/uint32
90*67b8786aSKrzysztof Kozlowski            description: Differential receiver (HS-RX) settle time.
91*67b8786aSKrzysztof Kozlowski
92*67b8786aSKrzysztof Kozlowski          samsung,csis-wclk:
93*67b8786aSKrzysztof Kozlowski            type: boolean
94*67b8786aSKrzysztof Kozlowski            description:
95*67b8786aSKrzysztof Kozlowski              CSI-2 wrapper clock selection. If this property is present external clock
96*67b8786aSKrzysztof Kozlowski              from CMU will be used, or the bus clock if it's not specified.
97*67b8786aSKrzysztof Kozlowski
98*67b8786aSKrzysztof Kozlowski        required:
99*67b8786aSKrzysztof Kozlowski          - data-lanes
100*67b8786aSKrzysztof Kozlowski
101*67b8786aSKrzysztof Kozlowski    required:
102*67b8786aSKrzysztof Kozlowski      - reg
103*67b8786aSKrzysztof Kozlowski
104*67b8786aSKrzysztof Kozlowskirequired:
105*67b8786aSKrzysztof Kozlowski  - compatible
106*67b8786aSKrzysztof Kozlowski  - reg
107*67b8786aSKrzysztof Kozlowski  - bus-width
108*67b8786aSKrzysztof Kozlowski  - clocks
109*67b8786aSKrzysztof Kozlowski  - clock-names
110*67b8786aSKrzysztof Kozlowski  - interrupts
111*67b8786aSKrzysztof Kozlowski  - vddio-supply
112*67b8786aSKrzysztof Kozlowski  - vddcore-supply
113*67b8786aSKrzysztof Kozlowski
114*67b8786aSKrzysztof KozlowskianyOf:
115*67b8786aSKrzysztof Kozlowski  - required:
116*67b8786aSKrzysztof Kozlowski      - port@3
117*67b8786aSKrzysztof Kozlowski  - required:
118*67b8786aSKrzysztof Kozlowski      - port@4
119*67b8786aSKrzysztof Kozlowski
120*67b8786aSKrzysztof KozlowskiallOf:
121*67b8786aSKrzysztof Kozlowski  - if:
122*67b8786aSKrzysztof Kozlowski      required:
123*67b8786aSKrzysztof Kozlowski        - samsung,isp-wb
124*67b8786aSKrzysztof Kozlowski    then:
125*67b8786aSKrzysztof Kozlowski      required:
126*67b8786aSKrzysztof Kozlowski        - samsung,sysreg
127*67b8786aSKrzysztof Kozlowski
128*67b8786aSKrzysztof KozlowskiadditionalProperties: false
129*67b8786aSKrzysztof Kozlowski
130*67b8786aSKrzysztof Kozlowskiexamples:
131*67b8786aSKrzysztof Kozlowski  - |
132*67b8786aSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos4.h>
133*67b8786aSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
134*67b8786aSKrzysztof Kozlowski
135*67b8786aSKrzysztof Kozlowski    csis@11890000 {
136*67b8786aSKrzysztof Kozlowski        compatible = "samsung,exynos4210-csis";
137*67b8786aSKrzysztof Kozlowski        reg = <0x11890000 0x4000>;
138*67b8786aSKrzysztof Kozlowski        clocks = <&clock CLK_CSIS1>,
139*67b8786aSKrzysztof Kozlowski                 <&clock CLK_SCLK_CSIS1>;
140*67b8786aSKrzysztof Kozlowski        clock-names = "csis", "sclk_csis";
141*67b8786aSKrzysztof Kozlowski        assigned-clocks = <&clock CLK_MOUT_CSIS1>,
142*67b8786aSKrzysztof Kozlowski                          <&clock CLK_SCLK_CSIS1>;
143*67b8786aSKrzysztof Kozlowski        assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
144*67b8786aSKrzysztof Kozlowski        assigned-clock-rates = <0>, <176000000>;
145*67b8786aSKrzysztof Kozlowski
146*67b8786aSKrzysztof Kozlowski        interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
147*67b8786aSKrzysztof Kozlowski
148*67b8786aSKrzysztof Kozlowski        bus-width = <2>;
149*67b8786aSKrzysztof Kozlowski        power-domains = <&pd_cam>;
150*67b8786aSKrzysztof Kozlowski        phys = <&mipi_phy 2>;
151*67b8786aSKrzysztof Kozlowski        phy-names = "csis";
152*67b8786aSKrzysztof Kozlowski
153*67b8786aSKrzysztof Kozlowski        vddcore-supply = <&ldo8_reg>;
154*67b8786aSKrzysztof Kozlowski        vddio-supply = <&ldo10_reg>;
155*67b8786aSKrzysztof Kozlowski
156*67b8786aSKrzysztof Kozlowski        #address-cells = <1>;
157*67b8786aSKrzysztof Kozlowski        #size-cells = <0>;
158*67b8786aSKrzysztof Kozlowski
159*67b8786aSKrzysztof Kozlowski        /* Camera D (4) MIPI CSI-2 (CSIS1) */
160*67b8786aSKrzysztof Kozlowski        port@4 {
161*67b8786aSKrzysztof Kozlowski            reg = <4>;
162*67b8786aSKrzysztof Kozlowski
163*67b8786aSKrzysztof Kozlowski            endpoint {
164*67b8786aSKrzysztof Kozlowski                remote-endpoint = <&is_s5k6a3_ep>;
165*67b8786aSKrzysztof Kozlowski                data-lanes = <1>;
166*67b8786aSKrzysztof Kozlowski                samsung,csis-hs-settle = <18>;
167*67b8786aSKrzysztof Kozlowski                samsung,csis-wclk;
168*67b8786aSKrzysztof Kozlowski            };
169*67b8786aSKrzysztof Kozlowski        };
170*67b8786aSKrzysztof Kozlowski    };
171