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