166bdc2bfSNiklas Söderlund# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 266bdc2bfSNiklas Söderlund# Copyright (C) 2021 Renesas Electronics Corp. 366bdc2bfSNiklas Söderlund%YAML 1.2 466bdc2bfSNiklas Söderlund--- 566bdc2bfSNiklas Söderlund$id: http://devicetree.org/schemas/media/i2c/maxim,max96712.yaml# 666bdc2bfSNiklas Söderlund$schema: http://devicetree.org/meta-schemas/core.yaml# 766bdc2bfSNiklas Söderlund 866bdc2bfSNiklas Söderlundtitle: Quad GMSL2 to CSI-2 Deserializer with GMSL1 Compatibility 966bdc2bfSNiklas Söderlund 1066bdc2bfSNiklas Söderlundmaintainers: 1166bdc2bfSNiklas Söderlund - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> 1266bdc2bfSNiklas Söderlund 1366bdc2bfSNiklas Söderlunddescription: | 1466bdc2bfSNiklas Söderlund The MAX96712 deserializer converts GMSL2 or GMSL1 serial inputs into MIPI 1566bdc2bfSNiklas Söderlund CSI-2 D-PHY or C-PHY formatted outputs. The device allows each link to 1666bdc2bfSNiklas Söderlund simultaneously transmit bidirectional control-channel data while forward 1766bdc2bfSNiklas Söderlund video transmissions are in progress. The MAX96712 can accommodate as many as 1866bdc2bfSNiklas Söderlund four remotely located sensors using industry-standard coax or STP 1966bdc2bfSNiklas Söderlund interconnects. 2066bdc2bfSNiklas Söderlund 2166bdc2bfSNiklas Söderlund Each GMSL2 serial link operates at a fixed rate of 3Gbps or 6Gbps in the 2266bdc2bfSNiklas Söderlund forward direction and 187.5Mbps in the reverse direction. In GMSL1 mode, the 2366bdc2bfSNiklas Söderlund MAX96712 can be paired with first-generation 3.12Gbps or 1.5Gbps GMSL1 2466bdc2bfSNiklas Söderlund serializers or operate up to 3.12Gbps with GMSL2 serializers in GMSL1 mode. 2566bdc2bfSNiklas Söderlund 2666bdc2bfSNiklas Söderlundproperties: 2766bdc2bfSNiklas Söderlund compatible: 2866bdc2bfSNiklas Söderlund const: maxim,max96712 2966bdc2bfSNiklas Söderlund 3066bdc2bfSNiklas Söderlund reg: 3166bdc2bfSNiklas Söderlund description: I2C device address 3266bdc2bfSNiklas Söderlund maxItems: 1 3366bdc2bfSNiklas Söderlund 3466bdc2bfSNiklas Söderlund enable-gpios: true 3566bdc2bfSNiklas Söderlund 3666bdc2bfSNiklas Söderlund ports: 3766bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/properties/ports 3866bdc2bfSNiklas Söderlund 3966bdc2bfSNiklas Söderlund properties: 4066bdc2bfSNiklas Söderlund port@0: 4166bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/properties/port 4266bdc2bfSNiklas Söderlund description: GMSL Input 0 4366bdc2bfSNiklas Söderlund 4466bdc2bfSNiklas Söderlund port@1: 4566bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/properties/port 4666bdc2bfSNiklas Söderlund description: GMSL Input 1 4766bdc2bfSNiklas Söderlund 4866bdc2bfSNiklas Söderlund port@2: 4966bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/properties/port 5066bdc2bfSNiklas Söderlund description: GMSL Input 2 5166bdc2bfSNiklas Söderlund 5266bdc2bfSNiklas Söderlund port@3: 5366bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/properties/port 5466bdc2bfSNiklas Söderlund description: GMSL Input 3 5566bdc2bfSNiklas Söderlund 5666bdc2bfSNiklas Söderlund port@4: 5766bdc2bfSNiklas Söderlund $ref: /schemas/graph.yaml#/$defs/port-base 5866bdc2bfSNiklas Söderlund unevaluatedProperties: false 5966bdc2bfSNiklas Söderlund description: CSI-2 Output 6066bdc2bfSNiklas Söderlund 6166bdc2bfSNiklas Söderlund properties: 6266bdc2bfSNiklas Söderlund endpoint: 6366bdc2bfSNiklas Söderlund $ref: /schemas/media/video-interfaces.yaml# 6466bdc2bfSNiklas Söderlund unevaluatedProperties: false 6566bdc2bfSNiklas Söderlund 6666bdc2bfSNiklas Söderlund properties: 6766bdc2bfSNiklas Söderlund data-lanes: true 68*290cebd1SNiklas Söderlund bus-type: 69*290cebd1SNiklas Söderlund enum: 70*290cebd1SNiklas Söderlund - 1 # MEDIA_BUS_TYPE_CSI2_CPHY 71*290cebd1SNiklas Söderlund - 4 # MEDIA_BUS_TYPE_CSI2_DPHY 7266bdc2bfSNiklas Söderlund 7366bdc2bfSNiklas Söderlund required: 7466bdc2bfSNiklas Söderlund - data-lanes 75*290cebd1SNiklas Söderlund - bus-type 7666bdc2bfSNiklas Söderlund 7766bdc2bfSNiklas Söderlund required: 7866bdc2bfSNiklas Söderlund - port@4 7966bdc2bfSNiklas Söderlund 8066bdc2bfSNiklas Söderlundrequired: 8166bdc2bfSNiklas Söderlund - compatible 8266bdc2bfSNiklas Söderlund - reg 8366bdc2bfSNiklas Söderlund - ports 8466bdc2bfSNiklas Söderlund 8566bdc2bfSNiklas SöderlundadditionalProperties: false 8666bdc2bfSNiklas Söderlund 8766bdc2bfSNiklas Söderlundexamples: 8866bdc2bfSNiklas Söderlund - | 8966bdc2bfSNiklas Söderlund #include <dt-bindings/gpio/gpio.h> 90*290cebd1SNiklas Söderlund #include <dt-bindings/media/video-interfaces.h> 9166bdc2bfSNiklas Söderlund 9266bdc2bfSNiklas Söderlund i2c@e6508000 { 9366bdc2bfSNiklas Söderlund #address-cells = <1>; 9466bdc2bfSNiklas Söderlund #size-cells = <0>; 9566bdc2bfSNiklas Söderlund 9666bdc2bfSNiklas Söderlund reg = <0 0xe6508000>; 9766bdc2bfSNiklas Söderlund 9866bdc2bfSNiklas Söderlund gmsl0: gmsl-deserializer@49 { 9966bdc2bfSNiklas Söderlund compatible = "maxim,max96712"; 10066bdc2bfSNiklas Söderlund reg = <0x49>; 10166bdc2bfSNiklas Söderlund enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>; 10266bdc2bfSNiklas Söderlund 10366bdc2bfSNiklas Söderlund ports { 10466bdc2bfSNiklas Söderlund #address-cells = <1>; 10566bdc2bfSNiklas Söderlund #size-cells = <0>; 10666bdc2bfSNiklas Söderlund 10766bdc2bfSNiklas Söderlund port@4 { 10866bdc2bfSNiklas Söderlund reg = <4>; 10966bdc2bfSNiklas Söderlund max96712_out0: endpoint { 110*290cebd1SNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 11166bdc2bfSNiklas Söderlund clock-lanes = <0>; 11266bdc2bfSNiklas Söderlund data-lanes = <1 2 3 4>; 11366bdc2bfSNiklas Söderlund remote-endpoint = <&csi40_in>; 11466bdc2bfSNiklas Söderlund }; 11566bdc2bfSNiklas Söderlund }; 11666bdc2bfSNiklas Söderlund }; 11766bdc2bfSNiklas Söderlund }; 11866bdc2bfSNiklas Söderlund }; 119