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