mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 13:09:58 +00:00

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>
148 lines
3.0 KiB
YAML
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|