aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml
blob: b68141264c0e9fe0e530ce3b06fa3434fa712b38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/st,st-mipid02.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge

maintainers:
  - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
  - Sylvain Petinot <sylvain.petinot@foss.st.com>

description:
  MIPID02 has two CSI-2 input ports, only one of those ports can be
  active at a time. Active port input stream will be de-serialized
  and its content outputted through PARALLEL output port.
  CSI-2 first input port is a dual lane 800Mbps per lane whereas CSI-2
  second input port is a single lane 800Mbps. Both ports support clock
  and data lane polarity swap. First port also supports data lane swap.
  PARALLEL output port has a maximum width of 12 bits.
  Supported formats are RAW6, RAW7, RAW8, RAW10, RAW12, RGB565, RGB888,
  RGB444, YUV420 8-bit, YUV422 8-bit and YUV420 10-bit.

properties:
  compatible:
    const: st,st-mipid02

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: xclk

  VDDE-supply:
    description:
      Sensor digital IO supply. Must be 1.8 volts.

  VDDIN-supply:
    description:
      Sensor internal regulator supply. Must be 1.8 volts.

  reset-gpios:
    description:
      Reference to the GPIO connected to the xsdn pin, if any.
      This is an active low signal to the mipid02.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: CSI-2 first input port
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                description:
                  Single-lane operation shall be <1> or <2> .
                  Dual-lane operation shall be <1 2> or <2 1> .
                minItems: 1
                maxItems: 2

              lane-polarities:
                description:
                  Any lane can be inverted or not.
                minItems: 1
                maxItems: 2

            required:
              - data-lanes

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: CSI-2 second input port
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                description:
                  Single-lane operation shall be <1> or <2> .
                maxItems: 1

              lane-polarities:
                description:
                  Any lane can be inverted or not.
                maxItems: 1

            required:
              - data-lanes

      port@2:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: Output port
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              bus-width:
                enum: [6, 7, 8, 10, 12]

            required:
              - bus-width

    anyOf:
      - required:
          - port@0
      - required:
          - port@1

    required:
      - port@2

additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - VDDE-supply
  - VDDIN-supply
  - ports

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        mipid02: csi2rx@14 {
            compatible = "st,st-mipid02";
            reg = <0x14>;
            clocks = <&clk_ext_camera_12>;
            clock-names = "xclk";
            VDDE-supply = <&vdd>;
            VDDIN-supply = <&vdd>;
            ports {
                #address-cells = <1>;
                #size-cells = <0>;
                port@0 {
                    reg = <0>;

                    ep0: endpoint {
                        data-lanes = <1 2>;
                        remote-endpoint = <&mipi_csi2_in>;
                    };
                };
                port@2 {
                    reg = <2>;

                    ep2: endpoint {
                        bus-width = <8>;
                        hsync-active = <0>;
                        vsync-active = <0>;
                        remote-endpoint = <&parallel_out>;
                    };
                };
            };
        };
    };

...