xref: /linux/Documentation/devicetree/bindings/media/i2c/sony,imx678.yaml (revision f4cdf7ca9a1fdcca413157df19753f388a5a224e)
1*42f83a32SSakari Ailus# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*42f83a32SSakari Ailus# Copyright (C) 2026 Ideas on Board Oy
3*42f83a32SSakari Ailus%YAML 1.2
4*42f83a32SSakari Ailus---
5*42f83a32SSakari Ailus$id: http://devicetree.org/schemas/media/i2c/sony,imx678.yaml#
6*42f83a32SSakari Ailus$schema: http://devicetree.org/meta-schemas/core.yaml#
7*42f83a32SSakari Ailus
8*42f83a32SSakari Ailustitle: Sony IMX678 Sensor
9*42f83a32SSakari Ailus
10*42f83a32SSakari Ailusmaintainers:
11*42f83a32SSakari Ailus  - Jai Luthra <jai.luthra@ideasonboard.com>
12*42f83a32SSakari Ailus
13*42f83a32SSakari Ailusdescription:
14*42f83a32SSakari Ailus  Sony IMX678 diagonal 8.86 mm (Type 1/1.8) CMOS active pixel type solid-state
15*42f83a32SSakari Ailus  image sensor with a square pixel array and 8.40M (3856x2180) effective pixels.
16*42f83a32SSakari Ailus
17*42f83a32SSakari AilusallOf:
18*42f83a32SSakari Ailus  - $ref: /schemas/media/video-interface-devices.yaml#
19*42f83a32SSakari Ailus
20*42f83a32SSakari Ailusproperties:
21*42f83a32SSakari Ailus  compatible:
22*42f83a32SSakari Ailus    items:
23*42f83a32SSakari Ailus      - enum:
24*42f83a32SSakari Ailus          - sony,imx678-aamr
25*42f83a32SSakari Ailus          - sony,imx678-aaqr
26*42f83a32SSakari Ailus      - const: sony,imx678
27*42f83a32SSakari Ailus    description:
28*42f83a32SSakari Ailus      The IMX678 sensor exists in a colour variant (IMX678-AAQR) and a mono
29*42f83a32SSakari Ailus      variant (IMX678-AAMR). The variant-specific compatible describes the
30*42f83a32SSakari Ailus      exact sensor variant, with the generic IMX678 compatible as a fallback.
31*42f83a32SSakari Ailus
32*42f83a32SSakari Ailus  reg:
33*42f83a32SSakari Ailus    maxItems: 1
34*42f83a32SSakari Ailus
35*42f83a32SSakari Ailus  clocks:
36*42f83a32SSakari Ailus    description: |
37*42f83a32SSakari Ailus      Input clock (INCK). Only the rates listed in the datasheet are supported:
38*42f83a32SSakari Ailus      13.5, 18, 24, 27, 36, 37.125, 72, and 74.25 MHz.
39*42f83a32SSakari Ailus    maxItems: 1
40*42f83a32SSakari Ailus
41*42f83a32SSakari Ailus  avdd-supply:
42*42f83a32SSakari Ailus    description: Analog power supply (3.3V)
43*42f83a32SSakari Ailus
44*42f83a32SSakari Ailus  ovdd-supply:
45*42f83a32SSakari Ailus    description: Interface power supply (1.8V)
46*42f83a32SSakari Ailus
47*42f83a32SSakari Ailus  dvdd-supply:
48*42f83a32SSakari Ailus    description: Digital power supply (1.1V)
49*42f83a32SSakari Ailus
50*42f83a32SSakari Ailus  reset-gpios:
51*42f83a32SSakari Ailus    description: Sensor RESETN (XCLR) GPIO
52*42f83a32SSakari Ailus    maxItems: 1
53*42f83a32SSakari Ailus
54*42f83a32SSakari Ailus  port:
55*42f83a32SSakari Ailus    $ref: /schemas/graph.yaml#/$defs/port-base
56*42f83a32SSakari Ailus    additionalProperties: false
57*42f83a32SSakari Ailus
58*42f83a32SSakari Ailus    properties:
59*42f83a32SSakari Ailus      endpoint:
60*42f83a32SSakari Ailus        $ref: /schemas/media/video-interfaces.yaml#
61*42f83a32SSakari Ailus        unevaluatedProperties: false
62*42f83a32SSakari Ailus
63*42f83a32SSakari Ailus        properties:
64*42f83a32SSakari Ailus          data-lanes:
65*42f83a32SSakari Ailus            oneOf:
66*42f83a32SSakari Ailus              - items:
67*42f83a32SSakari Ailus                  - const: 1
68*42f83a32SSakari Ailus                  - const: 2
69*42f83a32SSakari Ailus              - items:
70*42f83a32SSakari Ailus                  - const: 1
71*42f83a32SSakari Ailus                  - const: 2
72*42f83a32SSakari Ailus                  - const: 3
73*42f83a32SSakari Ailus                  - const: 4
74*42f83a32SSakari Ailus              - items:
75*42f83a32SSakari Ailus                  - const: 1
76*42f83a32SSakari Ailus                  - const: 2
77*42f83a32SSakari Ailus                  - const: 3
78*42f83a32SSakari Ailus                  - const: 4
79*42f83a32SSakari Ailus                  - const: 5
80*42f83a32SSakari Ailus                  - const: 6
81*42f83a32SSakari Ailus                  - const: 7
82*42f83a32SSakari Ailus                  - const: 8
83*42f83a32SSakari Ailus
84*42f83a32SSakari Ailus        required:
85*42f83a32SSakari Ailus          - data-lanes
86*42f83a32SSakari Ailus          - link-frequencies
87*42f83a32SSakari Ailus
88*42f83a32SSakari Ailus    required:
89*42f83a32SSakari Ailus      - endpoint
90*42f83a32SSakari Ailus
91*42f83a32SSakari Ailusrequired:
92*42f83a32SSakari Ailus  - compatible
93*42f83a32SSakari Ailus  - reg
94*42f83a32SSakari Ailus  - clocks
95*42f83a32SSakari Ailus  - avdd-supply
96*42f83a32SSakari Ailus  - ovdd-supply
97*42f83a32SSakari Ailus  - dvdd-supply
98*42f83a32SSakari Ailus  - port
99*42f83a32SSakari Ailus
100*42f83a32SSakari AilusunevaluatedProperties: false
101*42f83a32SSakari Ailus
102*42f83a32SSakari Ailusexamples:
103*42f83a32SSakari Ailus  - |
104*42f83a32SSakari Ailus    #include <dt-bindings/gpio/gpio.h>
105*42f83a32SSakari Ailus
106*42f83a32SSakari Ailus    i2c {
107*42f83a32SSakari Ailus        #address-cells = <1>;
108*42f83a32SSakari Ailus        #size-cells = <0>;
109*42f83a32SSakari Ailus
110*42f83a32SSakari Ailus        camera@1a {
111*42f83a32SSakari Ailus            compatible = "sony,imx678-aaqr", "sony,imx678";
112*42f83a32SSakari Ailus            reg = <0x1a>;
113*42f83a32SSakari Ailus            clocks = <&imx678_clk>;
114*42f83a32SSakari Ailus
115*42f83a32SSakari Ailus            avdd-supply = <&camera_avdd_3v3>;
116*42f83a32SSakari Ailus            ovdd-supply = <&camera_ovdd_1v8>;
117*42f83a32SSakari Ailus            dvdd-supply = <&camera_dvdd_1v1>;
118*42f83a32SSakari Ailus
119*42f83a32SSakari Ailus            reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
120*42f83a32SSakari Ailus
121*42f83a32SSakari Ailus            port {
122*42f83a32SSakari Ailus                imx678: endpoint {
123*42f83a32SSakari Ailus                    remote-endpoint = <&cam>;
124*42f83a32SSakari Ailus                    data-lanes = <1 2 3 4>;
125*42f83a32SSakari Ailus                    link-frequencies = /bits/ 64 <720000000>;
126*42f83a32SSakari Ailus                };
127*42f83a32SSakari Ailus            };
128*42f83a32SSakari Ailus        };
129*42f83a32SSakari Ailus    };
130*42f83a32SSakari Ailus...
131