Documentation / devicetree / bindings / media / i2c / ti,ds90ub913.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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub913.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments DS90UB913 FPD-Link III Serializer

maintainers:
  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

description:
  The TI DS90UB913 is an FPD-Link III video serializer for parallel video.

properties:
  compatible:
    enum:
      - ti,ds90ub913a-q1
 
  '#gpio-cells':
    const: 2
    description:
      First cell is the GPO pin number, second cell is the flags. The GPO pin
      number must be in range of [0, 3]. Note that GPOs 2 and 3 are not
      available in external oscillator mode.

  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: Parallel input port

        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            required:
              - pclk-sample

      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,ds90ub913a-q1";
 
      gpio-controller;
      #gpio-cells = <2>;
 
      clocks = <&clk_cam_48M>;
      clock-names = "clkin";
 
      #clock-cells = <0>;
 
      ports {
        #address-cells = <1>;
        #size-cells = <0>;
 
        port@0 {
          reg = <0>;
          ub913_in: endpoint {
            remote-endpoint = <&sensor_out>;
            pclk-sample = <1>;
          };
        };
 
        port@1 {
          reg = <1>;
          endpoint {
            remote-endpoint = <&deser_fpd_in>;
          };
        };
      };
 
      i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        sensor@48 {
          compatible = "aptina,mt9v111";
          reg = <0x48>;
 
          clocks = <&fixed_clock>;
 
          port {
            sensor_out: endpoint {
              remote-endpoint = <&ub913_in>;
            };
          };
        };
      };
    };
...