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