1*4874ea39SMartina Krasteva# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4874ea39SMartina Krasteva# Copyright (C) 2021 Intel Corporation
3*4874ea39SMartina Krasteva%YAML 1.2
4*4874ea39SMartina Krasteva---
5*4874ea39SMartina Krasteva$id: http://devicetree.org/schemas/media/i2c/ovti,ov9282.yaml#
6*4874ea39SMartina Krasteva$schema: http://devicetree.org/meta-schemas/core.yaml#
7*4874ea39SMartina Krasteva
8*4874ea39SMartina Krastevatitle: OmniVision OV9282 Sensor
9*4874ea39SMartina Krasteva
10*4874ea39SMartina Krastevamaintainers:
11*4874ea39SMartina Krasteva  - Paul J. Murphy <paul.j.murphy@intel.com>
12*4874ea39SMartina Krasteva  - Daniele Alessandrelli <daniele.alessandrelli@intel.com>
13*4874ea39SMartina Krasteva
14*4874ea39SMartina Krastevadescription:
15*4874ea39SMartina Krasteva  OV9282 sensor is an OmniVision black & white CMOS active pixel digital image
16*4874ea39SMartina Krasteva  sensor with an active array size of 1296H x 816V. It is programmable through
17*4874ea39SMartina Krasteva  I2C interface. The I2C client address is fixed to 0x60/0x70 as per sensor data
18*4874ea39SMartina Krasteva  sheet. Image data is sent through MIPI CSI-2.
19*4874ea39SMartina Krasteva
20*4874ea39SMartina Krastevaproperties:
21*4874ea39SMartina Krasteva  compatible:
22*4874ea39SMartina Krasteva    const: ovti,ov9282
23*4874ea39SMartina Krasteva  reg:
24*4874ea39SMartina Krasteva    description: I2C address
25*4874ea39SMartina Krasteva    maxItems: 1
26*4874ea39SMartina Krasteva
27*4874ea39SMartina Krasteva  assigned-clocks: true
28*4874ea39SMartina Krasteva  assigned-clock-parents: true
29*4874ea39SMartina Krasteva  assigned-clock-rates: true
30*4874ea39SMartina Krasteva
31*4874ea39SMartina Krasteva  clocks:
32*4874ea39SMartina Krasteva    description: Clock frequency from 6 to 27MHz
33*4874ea39SMartina Krasteva    maxItems: 1
34*4874ea39SMartina Krasteva
35*4874ea39SMartina Krasteva  reset-gpios:
36*4874ea39SMartina Krasteva    description: Reference to the GPIO connected to the XCLR pin, if any.
37*4874ea39SMartina Krasteva    maxItems: 1
38*4874ea39SMartina Krasteva
39*4874ea39SMartina Krasteva  port:
40*4874ea39SMartina Krasteva    additionalProperties: false
41*4874ea39SMartina Krasteva    $ref: /schemas/graph.yaml#/properties/port
42*4874ea39SMartina Krasteva
43*4874ea39SMartina Krasteva    properties:
44*4874ea39SMartina Krasteva      endpoint:
45*4874ea39SMartina Krasteva        $ref: /schemas/media/video-interfaces.yaml#
46*4874ea39SMartina Krasteva        unevaluatedProperties: false
47*4874ea39SMartina Krasteva
48*4874ea39SMartina Krasteva        properties:
49*4874ea39SMartina Krasteva          data-lanes: true
50*4874ea39SMartina Krasteva          link-frequencies: true
51*4874ea39SMartina Krasteva
52*4874ea39SMartina Krasteva        required:
53*4874ea39SMartina Krasteva          - data-lanes
54*4874ea39SMartina Krasteva          - link-frequencies
55*4874ea39SMartina Krasteva
56*4874ea39SMartina Krasteva    required:
57*4874ea39SMartina Krasteva      - endpoint
58*4874ea39SMartina Krasteva
59*4874ea39SMartina Krastevarequired:
60*4874ea39SMartina Krasteva  - compatible
61*4874ea39SMartina Krasteva  - reg
62*4874ea39SMartina Krasteva  - clocks
63*4874ea39SMartina Krasteva  - port
64*4874ea39SMartina Krasteva
65*4874ea39SMartina KrastevaadditionalProperties: false
66*4874ea39SMartina Krasteva
67*4874ea39SMartina Krastevaexamples:
68*4874ea39SMartina Krasteva  - |
69*4874ea39SMartina Krasteva    i2c0 {
70*4874ea39SMartina Krasteva        #address-cells = <1>;
71*4874ea39SMartina Krasteva        #size-cells = <0>;
72*4874ea39SMartina Krasteva
73*4874ea39SMartina Krasteva        camera@60 {
74*4874ea39SMartina Krasteva            compatible = "ovti,ov9282";
75*4874ea39SMartina Krasteva            reg = <0x60>;
76*4874ea39SMartina Krasteva            clocks = <&ov9282_clk>;
77*4874ea39SMartina Krasteva
78*4874ea39SMartina Krasteva            assigned-clocks = <&ov9282_clk>;
79*4874ea39SMartina Krasteva            assigned-clock-parents = <&ov9282_clk_parent>;
80*4874ea39SMartina Krasteva            assigned-clock-rates = <24000000>;
81*4874ea39SMartina Krasteva
82*4874ea39SMartina Krasteva            port {
83*4874ea39SMartina Krasteva                ov9282: endpoint {
84*4874ea39SMartina Krasteva                    remote-endpoint = <&cam>;
85*4874ea39SMartina Krasteva                    data-lanes = <1 2>;
86*4874ea39SMartina Krasteva                    link-frequencies = /bits/ 64 <800000000>;
87*4874ea39SMartina Krasteva                };
88*4874ea39SMartina Krasteva            };
89*4874ea39SMartina Krasteva        };
90*4874ea39SMartina Krasteva    };
91*4874ea39SMartina Krasteva...
92