1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*5f62a964SEmmanuel Vadot# Copyright (c) 2024 Linaro Ltd. 3*5f62a964SEmmanuel Vadot%YAML 1.2 4*5f62a964SEmmanuel Vadot--- 5*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/ovti,ov08x40.yaml# 6*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*5f62a964SEmmanuel Vadot 8*5f62a964SEmmanuel Vadottitle: Omnivision OV08X40 CMOS Sensor 9*5f62a964SEmmanuel Vadot 10*5f62a964SEmmanuel Vadotmaintainers: 11*5f62a964SEmmanuel Vadot - Bryan O'Donoghue <bryan.odonoghue@linaro.org> 12*5f62a964SEmmanuel Vadot 13*5f62a964SEmmanuel Vadotdescription: | 14*5f62a964SEmmanuel Vadot The Omnivision OV08X40 is a 9.2 megapixel, CMOS image sensor which supports: 15*5f62a964SEmmanuel Vadot - Automatic black level calibration (ABLC) 16*5f62a964SEmmanuel Vadot - Programmable controls for frame rate, mirror and flip, binning, cropping 17*5f62a964SEmmanuel Vadot and windowing 18*5f62a964SEmmanuel Vadot - Output formats 10-bit 4C RGB RAW, 10-bit Bayer RAW 19*5f62a964SEmmanuel Vadot - 4-lane MIPI D-PHY TX @ 1 Gbps per lane 20*5f62a964SEmmanuel Vadot - 2-lane MPIP D-PHY TX @ 2 Gbps per lane 21*5f62a964SEmmanuel Vadot - Dynamic defect pixel cancellation 22*5f62a964SEmmanuel Vadot - Standard SCCB command interface 23*5f62a964SEmmanuel Vadot 24*5f62a964SEmmanuel VadotallOf: 25*5f62a964SEmmanuel Vadot - $ref: /schemas/media/video-interface-devices.yaml# 26*5f62a964SEmmanuel Vadot 27*5f62a964SEmmanuel Vadotproperties: 28*5f62a964SEmmanuel Vadot compatible: 29*5f62a964SEmmanuel Vadot const: ovti,ov08x40 30*5f62a964SEmmanuel Vadot 31*5f62a964SEmmanuel Vadot reg: 32*5f62a964SEmmanuel Vadot maxItems: 1 33*5f62a964SEmmanuel Vadot 34*5f62a964SEmmanuel Vadot clocks: 35*5f62a964SEmmanuel Vadot maxItems: 1 36*5f62a964SEmmanuel Vadot 37*5f62a964SEmmanuel Vadot avdd-supply: 38*5f62a964SEmmanuel Vadot description: Analogue circuit voltage supply. 39*5f62a964SEmmanuel Vadot 40*5f62a964SEmmanuel Vadot dovdd-supply: 41*5f62a964SEmmanuel Vadot description: I/O circuit voltage supply. 42*5f62a964SEmmanuel Vadot 43*5f62a964SEmmanuel Vadot dvdd-supply: 44*5f62a964SEmmanuel Vadot description: Digital circuit voltage supply. 45*5f62a964SEmmanuel Vadot 46*5f62a964SEmmanuel Vadot reset-gpios: 47*5f62a964SEmmanuel Vadot description: Active low GPIO connected to XSHUTDOWN pad of the sensor. 48*5f62a964SEmmanuel Vadot 49*5f62a964SEmmanuel Vadot port: 50*5f62a964SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 51*5f62a964SEmmanuel Vadot additionalProperties: false 52*5f62a964SEmmanuel Vadot 53*5f62a964SEmmanuel Vadot properties: 54*5f62a964SEmmanuel Vadot endpoint: 55*5f62a964SEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 56*5f62a964SEmmanuel Vadot additionalProperties: false 57*5f62a964SEmmanuel Vadot 58*5f62a964SEmmanuel Vadot properties: 59*5f62a964SEmmanuel Vadot data-lanes: 60*5f62a964SEmmanuel Vadot oneOf: 61*5f62a964SEmmanuel Vadot - items: 62*5f62a964SEmmanuel Vadot - const: 1 63*5f62a964SEmmanuel Vadot - const: 2 64*5f62a964SEmmanuel Vadot - items: 65*5f62a964SEmmanuel Vadot - const: 1 66*5f62a964SEmmanuel Vadot - const: 2 67*5f62a964SEmmanuel Vadot - const: 3 68*5f62a964SEmmanuel Vadot - const: 4 69*5f62a964SEmmanuel Vadot link-frequencies: true 70*5f62a964SEmmanuel Vadot remote-endpoint: true 71*5f62a964SEmmanuel Vadot 72*5f62a964SEmmanuel Vadot required: 73*5f62a964SEmmanuel Vadot - data-lanes 74*5f62a964SEmmanuel Vadot - link-frequencies 75*5f62a964SEmmanuel Vadot - remote-endpoint 76*5f62a964SEmmanuel Vadot 77*5f62a964SEmmanuel Vadotrequired: 78*5f62a964SEmmanuel Vadot - compatible 79*5f62a964SEmmanuel Vadot - reg 80*5f62a964SEmmanuel Vadot - clocks 81*5f62a964SEmmanuel Vadot - port 82*5f62a964SEmmanuel Vadot 83*5f62a964SEmmanuel VadotunevaluatedProperties: false 84*5f62a964SEmmanuel Vadot 85*5f62a964SEmmanuel Vadotexamples: 86*5f62a964SEmmanuel Vadot - | 87*5f62a964SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 88*5f62a964SEmmanuel Vadot 89*5f62a964SEmmanuel Vadot i2c { 90*5f62a964SEmmanuel Vadot #address-cells = <1>; 91*5f62a964SEmmanuel Vadot #size-cells = <0>; 92*5f62a964SEmmanuel Vadot 93*5f62a964SEmmanuel Vadot ov08x40: camera@36 { 94*5f62a964SEmmanuel Vadot compatible = "ovti,ov08x40"; 95*5f62a964SEmmanuel Vadot reg = <0x36>; 96*5f62a964SEmmanuel Vadot 97*5f62a964SEmmanuel Vadot reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>; 98*5f62a964SEmmanuel Vadot pinctrl-names = "default"; 99*5f62a964SEmmanuel Vadot pinctrl-0 = <&cam_rgb_defaultt>; 100*5f62a964SEmmanuel Vadot 101*5f62a964SEmmanuel Vadot clocks = <&ov08x40_clk>; 102*5f62a964SEmmanuel Vadot 103*5f62a964SEmmanuel Vadot assigned-clocks = <&ov08x40_clk>; 104*5f62a964SEmmanuel Vadot assigned-clock-parents = <&ov08x40_clk_parent>; 105*5f62a964SEmmanuel Vadot assigned-clock-rates = <19200000>; 106*5f62a964SEmmanuel Vadot 107*5f62a964SEmmanuel Vadot avdd-supply = <&vreg_l7b_2p8>; 108*5f62a964SEmmanuel Vadot dvdd-supply = <&vreg_l7b_1p8>; 109*5f62a964SEmmanuel Vadot dovdd-supply = <&vreg_l3m_1p8>; 110*5f62a964SEmmanuel Vadot 111*5f62a964SEmmanuel Vadot port { 112*5f62a964SEmmanuel Vadot ov08x40_ep: endpoint { 113*5f62a964SEmmanuel Vadot remote-endpoint = <&csiphy4_ep>; 114*5f62a964SEmmanuel Vadot data-lanes = <1 2 3 4>; 115*5f62a964SEmmanuel Vadot link-frequencies = /bits/ 64 <400000000>; 116*5f62a964SEmmanuel Vadot }; 117*5f62a964SEmmanuel Vadot }; 118*5f62a964SEmmanuel Vadot }; 119*5f62a964SEmmanuel Vadot }; 120*5f62a964SEmmanuel Vadot... 121