Documentation / devicetree / bindings / media / i2c / sony,imx678.yaml


Based on kernel version 7.3. Page generated on 2026-10-19 13:17 EDT.

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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2026 Ideas on Board Oy
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/sony,imx678.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sony IMX678 Sensor

maintainers:
  - Jai Luthra <jai.luthra@ideasonboard.com>

description:
  Sony IMX678 diagonal 8.86 mm (Type 1/1.8) CMOS active pixel type solid-state
  image sensor with a square pixel array and 8.40M (3856x2180) effective pixels.

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    items:
      - enum:
          - sony,imx678-aamr
          - sony,imx678-aaqr
      - const: sony,imx678
    description:
      The IMX678 sensor exists in a colour variant (IMX678-AAQR) and a mono
      variant (IMX678-AAMR). The variant-specific compatible describes the
      exact sensor variant, with the generic IMX678 compatible as a fallback.

  reg:
    maxItems: 1

  clocks:
    description: |
      Input clock (INCK). Only the rates listed in the datasheet are supported:
      13.5, 18, 24, 27, 36, 37.125, 72, and 74.25 MHz.
    maxItems: 1

  avdd-supply:
    description: Analog power supply (3.3V)

  ovdd-supply:
    description: Interface power supply (1.8V)

  dvdd-supply:
    description: Digital power supply (1.1V)

  reset-gpios:
    description: Sensor RESETN (XCLR) GPIO
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

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

        properties:
          data-lanes:
            oneOf:
              - items:
                  - const: 1
                  - const: 2
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4
                  - const: 5
                  - const: 6
                  - const: 7
                  - const: 8

        required:
          - data-lanes
          - link-frequencies

    required:
      - endpoint

required:
  - compatible
  - reg
  - clocks
  - avdd-supply
  - ovdd-supply
  - dvdd-supply
  - port

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        camera@1a {
            compatible = "sony,imx678-aaqr", "sony,imx678";
            reg = <0x1a>;
            clocks = <&imx678_clk>;
 
            avdd-supply = <&camera_avdd_3v3>;
            ovdd-supply = <&camera_ovdd_1v8>;
            dvdd-supply = <&camera_dvdd_1v1>;
 
            reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
 
            port {
                imx678: endpoint {
                    remote-endpoint = <&cam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <720000000>;
                };
            };
        };
    };
...