xref: /linux/Documentation/devicetree/bindings/media/i2c/ovti,ov5675.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1*c9dd5714SQuentin Schulz# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c9dd5714SQuentin Schulz# Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH
3*c9dd5714SQuentin Schulz%YAML 1.2
4*c9dd5714SQuentin Schulz---
5*c9dd5714SQuentin Schulz$id: http://devicetree.org/schemas/media/i2c/ovti,ov5675.yaml#
6*c9dd5714SQuentin Schulz$schema: http://devicetree.org/meta-schemas/core.yaml#
7*c9dd5714SQuentin Schulz
8*c9dd5714SQuentin Schulztitle: Omnivision OV5675 CMOS Sensor
9*c9dd5714SQuentin Schulz
10*c9dd5714SQuentin Schulzmaintainers:
11*c9dd5714SQuentin Schulz  - Quentin Schulz <quentin.schulz@theobroma-systems.com>
12*c9dd5714SQuentin Schulz
13*c9dd5714SQuentin SchulzallOf:
14*c9dd5714SQuentin Schulz  - $ref: /schemas/media/video-interface-devices.yaml#
15*c9dd5714SQuentin Schulz
16*c9dd5714SQuentin Schulzdescription: |
17*c9dd5714SQuentin Schulz  The Omnivision OV5675 is a high performance, 1/5-inch, 5 megapixel, CMOS
18*c9dd5714SQuentin Schulz  image sensor that delivers 2592x1944 at 30fps. It provides full-frame,
19*c9dd5714SQuentin Schulz  sub-sampled, and windowed 10-bit MIPI images in various formats via the
20*c9dd5714SQuentin Schulz  Serial Camera Control Bus (SCCB) interface.
21*c9dd5714SQuentin Schulz
22*c9dd5714SQuentin Schulz  This chip is programmable through I2C and two-wire SCCB. The sensor output
23*c9dd5714SQuentin Schulz  is available via CSI-2 serial data output (up to 2-lane).
24*c9dd5714SQuentin Schulz
25*c9dd5714SQuentin Schulzproperties:
26*c9dd5714SQuentin Schulz  compatible:
27*c9dd5714SQuentin Schulz    const: ovti,ov5675
28*c9dd5714SQuentin Schulz
29*c9dd5714SQuentin Schulz  reg:
30*c9dd5714SQuentin Schulz    maxItems: 1
31*c9dd5714SQuentin Schulz
32*c9dd5714SQuentin Schulz  clocks:
33*c9dd5714SQuentin Schulz    description:
34*c9dd5714SQuentin Schulz      System input clock (aka XVCLK). From 6 to 27 MHz.
35*c9dd5714SQuentin Schulz    maxItems: 1
36*c9dd5714SQuentin Schulz
37*c9dd5714SQuentin Schulz  dovdd-supply:
38*c9dd5714SQuentin Schulz    description:
39*c9dd5714SQuentin Schulz      Digital I/O voltage supply, 1.8 volts.
40*c9dd5714SQuentin Schulz
41*c9dd5714SQuentin Schulz  avdd-supply:
42*c9dd5714SQuentin Schulz    description:
43*c9dd5714SQuentin Schulz      Analog voltage supply, 2.8 volts.
44*c9dd5714SQuentin Schulz
45*c9dd5714SQuentin Schulz  dvdd-supply:
46*c9dd5714SQuentin Schulz    description:
47*c9dd5714SQuentin Schulz      Digital core voltage supply, 1.2 volts.
48*c9dd5714SQuentin Schulz
49*c9dd5714SQuentin Schulz  reset-gpios:
50*c9dd5714SQuentin Schulz    description:
51*c9dd5714SQuentin Schulz      The phandle and specifier for the GPIO that controls sensor reset.
52*c9dd5714SQuentin Schulz      This corresponds to the hardware pin XSHUTDN which is physically
53*c9dd5714SQuentin Schulz      active low.
54*c9dd5714SQuentin Schulz    maxItems: 1
55*c9dd5714SQuentin Schulz
56*c9dd5714SQuentin Schulz  port:
57*c9dd5714SQuentin Schulz    $ref: /schemas/graph.yaml#/$defs/port-base
58*c9dd5714SQuentin Schulz    additionalProperties: false
59*c9dd5714SQuentin Schulz
60*c9dd5714SQuentin Schulz    properties:
61*c9dd5714SQuentin Schulz      endpoint:
62*c9dd5714SQuentin Schulz        $ref: /schemas/media/video-interfaces.yaml#
63*c9dd5714SQuentin Schulz        unevaluatedProperties: false
64*c9dd5714SQuentin Schulz
65*c9dd5714SQuentin Schulz        properties:
66*c9dd5714SQuentin Schulz          data-lanes:
67*c9dd5714SQuentin Schulz            minItems: 1
68*c9dd5714SQuentin Schulz            maxItems: 2
69*c9dd5714SQuentin Schulz
70*c9dd5714SQuentin Schulz          # Supports max data transfer of 900 Mbps per lane
71*c9dd5714SQuentin Schulz          link-frequencies: true
72*c9dd5714SQuentin Schulz
73*c9dd5714SQuentin Schulzrequired:
74*c9dd5714SQuentin Schulz  - compatible
75*c9dd5714SQuentin Schulz  - reg
76*c9dd5714SQuentin Schulz  - clocks
77*c9dd5714SQuentin Schulz  - dovdd-supply
78*c9dd5714SQuentin Schulz  - avdd-supply
79*c9dd5714SQuentin Schulz  - dvdd-supply
80*c9dd5714SQuentin Schulz  - port
81*c9dd5714SQuentin Schulz
82*c9dd5714SQuentin SchulzunevaluatedProperties: false
83*c9dd5714SQuentin Schulz
84*c9dd5714SQuentin Schulzexamples:
85*c9dd5714SQuentin Schulz  - |
86*c9dd5714SQuentin Schulz    #include <dt-bindings/clock/px30-cru.h>
87*c9dd5714SQuentin Schulz    #include <dt-bindings/gpio/gpio.h>
88*c9dd5714SQuentin Schulz    #include <dt-bindings/pinctrl/rockchip.h>
89*c9dd5714SQuentin Schulz
90*c9dd5714SQuentin Schulz    i2c {
91*c9dd5714SQuentin Schulz        #address-cells = <1>;
92*c9dd5714SQuentin Schulz        #size-cells = <0>;
93*c9dd5714SQuentin Schulz
94*c9dd5714SQuentin Schulz        ov5675: camera@36 {
95*c9dd5714SQuentin Schulz            compatible = "ovti,ov5675";
96*c9dd5714SQuentin Schulz            reg = <0x36>;
97*c9dd5714SQuentin Schulz
98*c9dd5714SQuentin Schulz            reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
99*c9dd5714SQuentin Schulz            pinctrl-names = "default";
100*c9dd5714SQuentin Schulz            pinctrl-0 = <&cif_clkout_m0>;
101*c9dd5714SQuentin Schulz
102*c9dd5714SQuentin Schulz            clocks = <&cru SCLK_CIF_OUT>;
103*c9dd5714SQuentin Schulz            assigned-clocks = <&cru SCLK_CIF_OUT>;
104*c9dd5714SQuentin Schulz            assigned-clock-rates = <19200000>;
105*c9dd5714SQuentin Schulz
106*c9dd5714SQuentin Schulz            avdd-supply = <&vcc_1v8>;
107*c9dd5714SQuentin Schulz            dvdd-supply = <&vcc_1v2>;
108*c9dd5714SQuentin Schulz            dovdd-supply = <&vcc_2v8>;
109*c9dd5714SQuentin Schulz
110*c9dd5714SQuentin Schulz            rotation = <90>;
111*c9dd5714SQuentin Schulz            orientation = <0>;
112*c9dd5714SQuentin Schulz
113*c9dd5714SQuentin Schulz            port {
114*c9dd5714SQuentin Schulz                ucam_out: endpoint {
115*c9dd5714SQuentin Schulz                    remote-endpoint = <&mipi_in_ucam>;
116*c9dd5714SQuentin Schulz                    data-lanes = <1 2>;
117*c9dd5714SQuentin Schulz                    link-frequencies = /bits/ 64 <450000000>;
118*c9dd5714SQuentin Schulz                };
119*c9dd5714SQuentin Schulz            };
120*c9dd5714SQuentin Schulz        };
121*c9dd5714SQuentin Schulz    };
122*c9dd5714SQuentin Schulz...
123