dt-bindings: Whitespace clean-ups in schema files
[linux-block.git] / Documentation / devicetree / bindings / media / i2c / imi,rdacm2x-gmsl.yaml
1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2 # Copyright (C) 2019 Renesas Electronics Corp.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/media/i2c/imi,rdacm2x-gmsl.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: IMI D&D RDACM20 and RDACM21 Automotive Camera Platforms
9
10 maintainers:
11   - Jacopo Mondi <jacopo+renesas@jmondi.org>
12   - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
13   - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
14   - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
15
16 description: -|
17   The IMI D&D RDACM20 and RDACM21 are GMSL-compatible camera designed for
18   automotive applications.
19
20   The RDACM20 camera module encloses a Maxim Integrated MAX9271 GMSL serializer,
21   coupled with an OV10635 image sensor and an embedded MCU. Both the MCU and
22   the image sensor are connected to the serializer local I2C bus and are
23   accessible by the host SoC by direct addressing.
24
25   The RDACM21 camera module encloses the same serializer, coupled with an
26   OV10640 image sensor and an OV490 ISP. Only the OV490 ISP is interfaced to
27   the serializer local I2C bus while the image sensor is not accessible from
28   the host SoC.
29
30   They both connect to a remote GMSL endpoint through a coaxial cable.
31
32                                                    IMI RDACM20
33   +---------------+                        +--------------------------------+
34   |      GMSL     |   <- Video Stream      |       <- Video--------\        |
35   |               |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV10635 |
36   | de-serializer |   <- I2C messages ->   |                   \<-->MCU     |
37   +---------------+                        +--------------------------------+
38
39                                                    IMI RDACM21
40   +---------------+                        +--------------------------------+
41   |      GMSL     |   <- Video Stream      |       <- Video--------\        |
42   |               |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV490   |
43   |               |   <- I2C messages ->   |                          |     |
44   | de-serializer |                        |          OV10640 <-------|     |
45   +---------------+                        +--------------------------------+
46
47   Both camera modules serialize video data generated by the embedded camera
48   sensor on the GMSL serial channel to a remote GMSL de-serializer. They also
49   receive and transmit I2C messages encapsulated and transmitted on the GMSL
50   bidirectional control channel.
51
52   All I2C traffic received on the GMSL link not directed to the serializer is
53   propagated on the local I2C bus to the remote device there connected. All the
54   I2C traffic generated on the local I2C bus not directed to the serializer is
55   propagated to the remote de-serializer encapsulated in the GMSL control
56   channel.
57
58   The RDACM20 and RDACM21 DT node should be a direct child of the GMSL
59   deserializer's I2C bus corresponding to the GMSL link that the camera is
60   attached to.
61
62 properties:
63   '#address-cells':
64     const: 1
65
66   '#size-cells':
67     const: 0
68
69   compatible:
70     enum:
71       - imi,rdacm20
72       - imi,rdacm21
73
74   reg:
75     description: -|
76       I2C device addresses, the first to be assigned to the serializer, the
77       following ones to be assigned to the remote devices.
78
79       For RDACM20 the second entry of the property is assigned to the
80       OV10635 image sensor and the optional third one to the embedded MCU.
81
82       For RDACM21 the second entry is assigned to the OV490 ISP and the optional
83       third one ignored.
84
85     minItems: 2
86     maxItems: 3
87
88   port:
89     type: object
90     additionalProperties: false
91     description: -|
92       Connection to the remote GMSL endpoint are modelled using the OF graph
93       bindings in accordance with the video interface bindings defined in
94       Documentation/devicetree/bindings/media/video-interfaces.txt.
95
96       The device node contains a single "port" child node with a single
97       "endpoint" sub-device.
98
99     properties:
100       endpoint:
101         type: object
102         additionalProperties: false
103
104         properties:
105           remote-endpoint:
106             description: -|
107               phandle to the remote GMSL endpoint sub-node in the remote node
108               port.
109             maxItems: 1
110
111         required:
112           - remote-endpoint
113
114     required:
115       - endpoint
116
117 required:
118   - compatible
119   - reg
120   - port
121
122 examples:
123   - |
124     i2c@e66d8000 {
125       #address-cells = <1>;
126       #size-cells = <0>;
127
128       reg = <0 0xe66d8000>;
129
130       camera@31 {
131         compatible = "imi,rdacm20";
132         reg = <0x31>, <0x41>, <0x51>;
133
134         port {
135           rdacm20_out0: endpoint {
136             remote-endpoint = <&max9286_in0>;
137           };
138         };
139       };
140     };
141
142   - |
143     i2c@e66d8000 {
144       #address-cells = <1>;
145       #size-cells = <0>;
146
147       reg = <0 0xe66d8000>;
148
149       camera@31 {
150         compatible = "imi,rdacm21";
151         reg = <0x31>, <0x41>;
152
153         port {
154           rdacm21_out0: endpoint {
155             remote-endpoint = <&max9286_in0>;
156           };
157         };
158       };
159     };