xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/ti,ds90ub953.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub953.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments DS90UB953 FPD-Link III Serializer
8
9maintainers:
10  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11
12description:
13  The TI DS90UB953 is an FPD-Link III video serializer for MIPI CSI-2.
14
15properties:
16  compatible:
17    enum:
18      - ti,ds90ub953-q1
19      - ti,ds90ub971-q1
20
21  '#gpio-cells':
22    const: 2
23    description:
24      First cell is the GPIO pin number, second cell is the flags. The GPIO pin
25      number must be in range of [0, 3].
26
27  gpio-controller: true
28
29  clocks:
30    maxItems: 1
31    description:
32      Reference clock connected to the CLKIN pin.
33
34  clock-names:
35    items:
36      - const: clkin
37
38  '#clock-cells':
39    const: 0
40
41  reg:
42    maxItems: 1
43    description:
44      The strap I2C address of the serializer. Can be used by the deserializer
45      to communicate over back-channel when the forward-channel is not yet
46      active.
47
48  ports:
49    $ref: /schemas/graph.yaml#/properties/ports
50
51    properties:
52      port@0:
53        $ref: /schemas/graph.yaml#/$defs/port-base
54        unevaluatedProperties: false
55        description: CSI-2 input port
56
57        properties:
58          endpoint:
59            $ref: /schemas/media/video-interfaces.yaml#
60            unevaluatedProperties: false
61
62            required:
63              - data-lanes
64
65      port@1:
66        $ref: /schemas/graph.yaml#/properties/port
67        unevaluatedProperties: false
68        description: FPD-Link III output port
69
70    required:
71      - port@0
72      - port@1
73
74  i2c:
75    $ref: /schemas/i2c/i2c-controller.yaml#
76    unevaluatedProperties: false
77
78required:
79  - compatible
80  - '#gpio-cells'
81  - gpio-controller
82  - '#clock-cells'
83  - ports
84
85additionalProperties: false
86
87examples:
88  - |
89    #include <dt-bindings/gpio/gpio.h>
90
91    link {
92      #address-cells = <1>;
93      #size-cells = <0>;
94
95      serializer@18 {
96        compatible = "ti,ds90ub953-q1";
97        reg = <0x18>;
98
99        gpio-controller;
100        #gpio-cells = <2>;
101
102        #clock-cells = <0>;
103
104        ports {
105          #address-cells = <1>;
106          #size-cells = <0>;
107
108          port@0 {
109            reg = <0>;
110            ub953_in: endpoint {
111              clock-lanes = <0>;
112              data-lanes = <1 2 3 4>;
113              remote-endpoint = <&sensor_out>;
114            };
115          };
116
117          port@1 {
118            reg = <1>;
119            endpoint {
120              remote-endpoint = <&deser_fpd_in>;
121            };
122          };
123        };
124
125        i2c {
126          #address-cells = <1>;
127          #size-cells = <0>;
128
129          sensor@1a {
130            compatible = "sony,imx274";
131            reg = <0x1a>;
132
133            reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
134
135            clocks = <&serializer>;
136            clock-names = "inck";
137
138            port {
139              sensor_out: endpoint {
140                remote-endpoint = <&ub953_in>;
141              };
142            };
143          };
144        };
145      };
146    };
147...
148