Documentation / devicetree / bindings / media / i2c / ti,ds90ub953.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

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