linux-loongson/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
Jai Luthra ca26126a6c media: dt-bindings: ti,ds90ub960: Allow setting serializer address
The serializer's I2C address on the FPD-Link bus is usually communicated
to the deserializer once the forward-channel is established. But in some
cases it might be necessary to program the serializer (over the
back-channel) before the forward-channel is established.

This can be used e.g. to correct serializer configuration which
otherwise would prevent the FC to be enabled. To be able to communicate
to the serializer before the forward-channel is up, the deserializer
driver neds to know the default i2c address of the serializer.

Allow setting the serializer i2c address using the 'reg' property. This
is optional, and usually not needed.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2025-04-25 10:15:10 +02:00

148 lines
3.0 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub953.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments DS90UB953 FPD-Link III Serializer
maintainers:
- Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
description:
The TI DS90UB953 is an FPD-Link III video serializer for MIPI CSI-2.
properties:
compatible:
enum:
- ti,ds90ub953-q1
- ti,ds90ub971-q1
'#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, 3].
gpio-controller: true
clocks:
maxItems: 1
description:
Reference clock connected to the CLKIN pin.
clock-names:
items:
- const: clkin
'#clock-cells':
const: 0
reg:
maxItems: 1
description:
The strap I2C address of the serializer. Can be used by the deserializer
to communicate over back-channel when the forward-channel is not yet
active.
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
required:
- data-lanes
port@1:
$ref: /schemas/graph.yaml#/properties/port
unevaluatedProperties: false
description: FPD-Link III output port
required:
- port@0
- port@1
i2c:
$ref: /schemas/i2c/i2c-controller.yaml#
unevaluatedProperties: false
required:
- compatible
- '#gpio-cells'
- gpio-controller
- '#clock-cells'
- ports
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
link {
#address-cells = <1>;
#size-cells = <0>;
serializer@18 {
compatible = "ti,ds90ub953-q1";
reg = <0x18>;
gpio-controller;
#gpio-cells = <2>;
#clock-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ub953_in: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&sensor_out>;
};
};
port@1 {
reg = <1>;
endpoint {
remote-endpoint = <&deser_fpd_in>;
};
};
};
i2c {
#address-cells = <1>;
#size-cells = <0>;
sensor@1a {
compatible = "sony,imx274";
reg = <0x1a>;
reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
clocks = <&serializer>;
clock-names = "inck";
port {
sensor_out: endpoint {
remote-endpoint = <&ub953_in>;
};
};
};
};
};
};
...