158 lines
4.3 KiB
YAML
158 lines
4.3 KiB
YAML
# 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 <julien.massot@collabora.com>
|
|
|
|
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 <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/media/video-interfaces.h>
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|