summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
blob: 2030366994d18b695328194da1a7d95607de4371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# 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

  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>

    serializer {
      compatible = "ti,ds90ub953-q1";

      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>;
            };
          };
        };
      };
    };
...