blob: d1e8ba6e368ec1f032a5200fb082c110157a08f8 [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (C) 2024 Collabora Ltd.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/i2c/maxim,max96717.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: MAX96717 CSI-2 to GMSL2 Serializer
9
10maintainers:
11 - Julien Massot <julien.massot@collabora.com>
12
13description:
14 The MAX96717 serializer converts MIPI CSI-2 D-PHY formatted input
15 into GMSL2 serial outputs. The device allows the GMSL2 link to
16 simultaneously transmit bidirectional control-channel data while forward
17 video transmissions are in progress. The MAX96717 can connect to one
18 remotely located deserializer using industry-standard coax or STP
19 interconnects. The device cans operate in pixel or tunnel mode. In pixel mode
20 the MAX96717 can select the MIPI datatype, while the tunnel mode forward all the MIPI
21 data received by the serializer.
22 The MAX96717 supports Reference Over Reverse (channel),
23 to generate a clock output for the sensor from the GMSL reverse channel.
24
25 The GMSL2 serial link operates at a fixed rate of 3Gbps or 6Gbps in the
26 forward direction and 187.5Mbps in the reverse direction.
27 MAX96717F only supports a fixed rate of 3Gbps in the forward direction.
28
29properties:
30 compatible:
31 oneOf:
32 - const: maxim,max96717f
33 - items:
34 - enum:
35 - maxim,max96717
36 - const: maxim,max96717f
37
38 '#gpio-cells':
39 const: 2
40 description:
41 First cell is the GPIO pin number, second cell is the flags. The GPIO pin
42 number must be in range of [0, 10].
43
44 gpio-controller: true
45
46 '#clock-cells':
47 const: 0
48
49 reg:
50 maxItems: 1
51
52 ports:
53 $ref: /schemas/graph.yaml#/properties/ports
54
55 properties:
56 port@0:
57 $ref: /schemas/graph.yaml#/$defs/port-base
58 unevaluatedProperties: false
59 description: CSI-2 Input port
60
61 properties:
62 endpoint:
63 $ref: /schemas/media/video-interfaces.yaml#
64 unevaluatedProperties: false
65
66 properties:
67 data-lanes:
68 minItems: 1
69 maxItems: 4
70
71 lane-polarities:
72 minItems: 1
73 maxItems: 5
74
75 required:
76 - data-lanes
77
78 port@1:
79 $ref: /schemas/graph.yaml#/properties/port
80 unevaluatedProperties: false
81 description: GMSL Output port
82
83 required:
84 - port@1
85
86 i2c-gate:
87 $ref: /schemas/i2c/i2c-gate.yaml
88 unevaluatedProperties: false
89 description:
90 The MAX96717 will forward the I2C requests from the
91 incoming GMSL2 link. Therefore, it supports an i2c-gate
92 subnode to configure a sensor.
93
94required:
95 - compatible
96 - reg
97 - ports
98
99additionalProperties: false
100
101examples:
102 - |
103 #include <dt-bindings/gpio/gpio.h>
104 #include <dt-bindings/media/video-interfaces.h>
105
106 i2c {
107 #address-cells = <1>;
108 #size-cells = <0>;
109 serializer: serializer@40 {
110 compatible = "maxim,max96717f";
111 reg = <0x40>;
112 gpio-controller;
113 #gpio-cells = <2>;
114 #clock-cells = <0>;
115
116 ports {
117 #address-cells = <1>;
118 #size-cells = <0>;
119
120 port@0 {
121 reg = <0>;
122 max96717f_csi_in: endpoint {
123 data-lanes = <1 2 3 4>;
124 remote-endpoint = <&sensor_out>;
125 };
126 };
127
128 port@1 {
129 reg = <1>;
130 max96917f_gmsl_out: endpoint {
131 remote-endpoint = <&deser_gmsl_in>;
132 };
133 };
134 };
135
136 i2c-gate {
137 #address-cells = <1>;
138 #size-cells = <0>;
139 sensor@10 {
140 compatible = "st,st-vgxy61";
141 reg = <0x10>;
142 reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
143 clocks = <&serializer>;
144 VCORE-supply = <&v1v2>;
145 VDDIO-supply = <&v1v8>;
146 VANA-supply = <&v2v8>;
147 port {
148 sensor_out: endpoint {
149 data-lanes = <1 2 3 4>;
150 remote-endpoint = <&max96717f_csi_in>;
151 };
152 };
153 };
154 };
155 };
156 };
157...