1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e67e8565SEmmanuel Vadot# Copyright (C) 2021 Renesas Electronics Corp. 3e67e8565SEmmanuel Vadot%YAML 1.2 4e67e8565SEmmanuel Vadot--- 5e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/maxim,max96712.yaml# 6e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7e67e8565SEmmanuel Vadot 8e67e8565SEmmanuel Vadottitle: Quad GMSL2 to CSI-2 Deserializer with GMSL1 Compatibility 9e67e8565SEmmanuel Vadot 10e67e8565SEmmanuel Vadotmaintainers: 11e67e8565SEmmanuel Vadot - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> 12e67e8565SEmmanuel Vadot 13e67e8565SEmmanuel Vadotdescription: | 14e67e8565SEmmanuel Vadot The MAX96712 deserializer converts GMSL2 or GMSL1 serial inputs into MIPI 15e67e8565SEmmanuel Vadot CSI-2 D-PHY or C-PHY formatted outputs. The device allows each link to 16e67e8565SEmmanuel Vadot simultaneously transmit bidirectional control-channel data while forward 17e67e8565SEmmanuel Vadot video transmissions are in progress. The MAX96712 can accommodate as many as 18e67e8565SEmmanuel Vadot four remotely located sensors using industry-standard coax or STP 19e67e8565SEmmanuel Vadot interconnects. 20e67e8565SEmmanuel Vadot 21e67e8565SEmmanuel Vadot Each GMSL2 serial link operates at a fixed rate of 3Gbps or 6Gbps in the 22e67e8565SEmmanuel Vadot forward direction and 187.5Mbps in the reverse direction. In GMSL1 mode, the 23e67e8565SEmmanuel Vadot MAX96712 can be paired with first-generation 3.12Gbps or 1.5Gbps GMSL1 24e67e8565SEmmanuel Vadot serializers or operate up to 3.12Gbps with GMSL2 serializers in GMSL1 mode. 25e67e8565SEmmanuel Vadot 26e67e8565SEmmanuel Vadotproperties: 27e67e8565SEmmanuel Vadot compatible: 28e67e8565SEmmanuel Vadot const: maxim,max96712 29e67e8565SEmmanuel Vadot 30e67e8565SEmmanuel Vadot reg: 31e67e8565SEmmanuel Vadot description: I2C device address 32e67e8565SEmmanuel Vadot maxItems: 1 33e67e8565SEmmanuel Vadot 34e67e8565SEmmanuel Vadot enable-gpios: true 35e67e8565SEmmanuel Vadot 36e67e8565SEmmanuel Vadot ports: 37e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 38e67e8565SEmmanuel Vadot 39e67e8565SEmmanuel Vadot properties: 40e67e8565SEmmanuel Vadot port@0: 41e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 42e67e8565SEmmanuel Vadot description: GMSL Input 0 43e67e8565SEmmanuel Vadot 44e67e8565SEmmanuel Vadot port@1: 45e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 46e67e8565SEmmanuel Vadot description: GMSL Input 1 47e67e8565SEmmanuel Vadot 48e67e8565SEmmanuel Vadot port@2: 49e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 50e67e8565SEmmanuel Vadot description: GMSL Input 2 51e67e8565SEmmanuel Vadot 52e67e8565SEmmanuel Vadot port@3: 53e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 54e67e8565SEmmanuel Vadot description: GMSL Input 3 55e67e8565SEmmanuel Vadot 56e67e8565SEmmanuel Vadot port@4: 57e67e8565SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 58e67e8565SEmmanuel Vadot unevaluatedProperties: false 59e67e8565SEmmanuel Vadot description: CSI-2 Output 60e67e8565SEmmanuel Vadot 61e67e8565SEmmanuel Vadot properties: 62e67e8565SEmmanuel Vadot endpoint: 63e67e8565SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 64e67e8565SEmmanuel Vadot unevaluatedProperties: false 65e67e8565SEmmanuel Vadot 66e67e8565SEmmanuel Vadot properties: 67e67e8565SEmmanuel Vadot data-lanes: true 68*f126890aSEmmanuel Vadot bus-type: 69*f126890aSEmmanuel Vadot enum: 70*f126890aSEmmanuel Vadot - 1 # MEDIA_BUS_TYPE_CSI2_CPHY 71*f126890aSEmmanuel Vadot - 4 # MEDIA_BUS_TYPE_CSI2_DPHY 72e67e8565SEmmanuel Vadot 73e67e8565SEmmanuel Vadot required: 74e67e8565SEmmanuel Vadot - data-lanes 75*f126890aSEmmanuel Vadot - bus-type 76e67e8565SEmmanuel Vadot 77e67e8565SEmmanuel Vadot required: 78e67e8565SEmmanuel Vadot - port@4 79e67e8565SEmmanuel Vadot 80e67e8565SEmmanuel Vadotrequired: 81e67e8565SEmmanuel Vadot - compatible 82e67e8565SEmmanuel Vadot - reg 83e67e8565SEmmanuel Vadot - ports 84e67e8565SEmmanuel Vadot 85e67e8565SEmmanuel VadotadditionalProperties: false 86e67e8565SEmmanuel Vadot 87e67e8565SEmmanuel Vadotexamples: 88e67e8565SEmmanuel Vadot - | 89e67e8565SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 90*f126890aSEmmanuel Vadot #include <dt-bindings/media/video-interfaces.h> 91e67e8565SEmmanuel Vadot 92e67e8565SEmmanuel Vadot i2c@e6508000 { 93e67e8565SEmmanuel Vadot #address-cells = <1>; 94e67e8565SEmmanuel Vadot #size-cells = <0>; 95e67e8565SEmmanuel Vadot 96e67e8565SEmmanuel Vadot reg = <0 0xe6508000>; 97e67e8565SEmmanuel Vadot 98e67e8565SEmmanuel Vadot gmsl0: gmsl-deserializer@49 { 99e67e8565SEmmanuel Vadot compatible = "maxim,max96712"; 100e67e8565SEmmanuel Vadot reg = <0x49>; 101e67e8565SEmmanuel Vadot enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>; 102e67e8565SEmmanuel Vadot 103e67e8565SEmmanuel Vadot ports { 104e67e8565SEmmanuel Vadot #address-cells = <1>; 105e67e8565SEmmanuel Vadot #size-cells = <0>; 106e67e8565SEmmanuel Vadot 107e67e8565SEmmanuel Vadot port@4 { 108e67e8565SEmmanuel Vadot reg = <4>; 109e67e8565SEmmanuel Vadot max96712_out0: endpoint { 110*f126890aSEmmanuel Vadot bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 111e67e8565SEmmanuel Vadot clock-lanes = <0>; 112e67e8565SEmmanuel Vadot data-lanes = <1 2 3 4>; 113e67e8565SEmmanuel Vadot remote-endpoint = <&csi40_in>; 114e67e8565SEmmanuel Vadot }; 115e67e8565SEmmanuel Vadot }; 116e67e8565SEmmanuel Vadot }; 117e67e8565SEmmanuel Vadot }; 118e67e8565SEmmanuel Vadot }; 119