blob: 3ace50e11921b2b93858725726388ca8a7bbc168 [file] [log] [blame]
# 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,max96714.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Maxim MAX96714 GMSL2 to CSI-2 Deserializer
maintainers:
- Julien Massot <julien.massot@collabora.com>
description:
The MAX96714 deserializer converts GMSL2 serial inputs into MIPI
CSI-2 D-PHY formatted output. The device allows the GMSL2 link to
simultaneously transmit bidirectional control-channel data while forward
video transmissions are in progress. The MAX96714 can connect to one
remotely located serializer using industry-standard coax or STP
interconnects. The device cans operate in pixel or tunnel mode. In pixel mode
the MAX96714 can select individual video stream, while the tunnel mode forward all
the MIPI data received by the serializer.
The GMSL2 serial link operates at a fixed rate of 3Gbps or 6Gbps in the
forward direction and 187.5Mbps in the reverse direction.
MAX96714F only supports a fixed rate of 3Gbps in the forward direction.
properties:
compatible:
oneOf:
- const: maxim,max96714f
- items:
- enum:
- maxim,max96714
- const: maxim,max96714f
reg:
maxItems: 1
powerdown-gpios:
maxItems: 1
description:
Specifier for the GPIO connected to the PWDNB pin.
ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
unevaluatedProperties: false
description: GMSL Input
properties:
endpoint:
$ref: /schemas/media/video-interfaces.yaml#
unevaluatedProperties: false
description:
Endpoint for GMSL2-Link port.
port@1:
$ref: /schemas/graph.yaml#/$defs/port-base
unevaluatedProperties: false
description: CSI-2 Output port
properties:
endpoint:
$ref: /schemas/media/video-interfaces.yaml#
unevaluatedProperties: false
properties:
data-lanes:
minItems: 1
maxItems: 4
lane-polarities:
minItems: 1
maxItems: 5
link-frequencies:
maxItems: 1
required:
- data-lanes
required:
- port@1
i2c-gate:
$ref: /schemas/i2c/i2c-gate.yaml
unevaluatedProperties: false
description:
The MAX96714 will pass through and forward the I2C requests from the
incoming I2C bus over the GMSL2 link. Therefore it supports an i2c-gate
subnode to configure a serializer.
port0-poc-supply:
description: Regulator providing Power over Coax for the GMSL port
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>;
deserializer@28 {
compatible = "maxim,max96714f";
reg = <0x28>;
powerdown-gpios = <&main_gpio0 37 GPIO_ACTIVE_LOW>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
max96714_gmsl_in: endpoint {
remote-endpoint = <&max96917f_gmsl_out>;
};
};
port@1 {
reg = <1>;
max96714_csi_out: endpoint {
data-lanes = <1 2 3 4>;
link-frequencies = /bits/ 64 <400000000>;
remote-endpoint = <&csi_in>;
};
};
};
i2c-gate {
#address-cells = <1>;
#size-cells = <0>;
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>;
lane-polarities = <1 0 1>;
remote-endpoint = <&sensor_out>;
};
};
port@1 {
reg = <1>;
max96917f_gmsl_out: endpoint {
remote-endpoint = <&max96714_gmsl_in>;
};
};
};
};
};
};
};
...