# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright (C) 2024 Collabora Ltd. %YAML 1.2 --- $id: http://devicetree.org/schemas/media/i2c/maxim,max96717.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MAX96717 CSI-2 to GMSL2 Serializer maintainers: - Julien Massot description: The MAX96717 serializer converts MIPI CSI-2 D-PHY formatted input into GMSL2 serial outputs. The device allows the GMSL2 link to simultaneously transmit bidirectional control-channel data while forward video transmissions are in progress. The MAX96717 can connect to one remotely located deserializer using industry-standard coax or STP interconnects. The device cans operate in pixel or tunnel mode. In pixel mode the MAX96717 can select the MIPI datatype, while the tunnel mode forward all the MIPI data received by the serializer. The MAX96717 supports Reference Over Reverse (channel), to generate a clock output for the sensor from the GMSL reverse channel. The GMSL2 serial link operates at a fixed rate of 3Gbps or 6Gbps in the forward direction and 187.5Mbps in the reverse direction. MAX96717F only supports a fixed rate of 3Gbps in the forward direction. properties: compatible: oneOf: - const: maxim,max96717f - items: - enum: - maxim,max96717 - const: maxim,max96717f '#gpio-cells': const: 2 description: First cell is the GPIO pin number, second cell is the flags. The GPIO pin number must be in range of [0, 10]. gpio-controller: true '#clock-cells': const: 0 reg: maxItems: 1 ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false description: CSI-2 Input port properties: endpoint: $ref: /schemas/media/video-interfaces.yaml# unevaluatedProperties: false properties: data-lanes: minItems: 1 maxItems: 4 lane-polarities: minItems: 1 maxItems: 5 required: - data-lanes port@1: $ref: /schemas/graph.yaml#/properties/port unevaluatedProperties: false description: GMSL Output port required: - port@1 i2c-gate: $ref: /schemas/i2c/i2c-gate.yaml unevaluatedProperties: false description: The MAX96717 will forward the I2C requests from the incoming GMSL2 link. Therefore, it supports an i2c-gate subnode to configure a sensor. required: - compatible - reg - ports additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; serializer: serializer@40 { compatible = "maxim,max96717f"; reg = <0x40>; gpio-controller; #gpio-cells = <2>; #clock-cells = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; max96717f_csi_in: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&sensor_out>; }; }; port@1 { reg = <1>; max96917f_gmsl_out: endpoint { remote-endpoint = <&deser_gmsl_in>; }; }; }; i2c-gate { #address-cells = <1>; #size-cells = <0>; sensor@10 { compatible = "st,st-vgxy61"; reg = <0x10>; reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>; clocks = <&serializer>; VCORE-supply = <&v1v2>; VDDIO-supply = <&v1v8>; VANA-supply = <&v2v8>; port { sensor_out: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&max96717f_csi_in>; }; }; }; }; }; }; ...