1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot# Copyright (c) 2025 Linaro Ltd. 3*ae5de77eSEmmanuel Vadot%YAML 1.2 4*ae5de77eSEmmanuel Vadot--- 5*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/ovti,ov02e10.yaml# 6*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*ae5de77eSEmmanuel Vadot 8*ae5de77eSEmmanuel Vadottitle: Omnivision OV02E10 CMOS Sensor 9*ae5de77eSEmmanuel Vadot 10*ae5de77eSEmmanuel Vadotmaintainers: 11*ae5de77eSEmmanuel Vadot - Bryan O'Donoghue <bryan.odonoghue@linaro.org> 12*ae5de77eSEmmanuel Vadot 13*ae5de77eSEmmanuel Vadotdescription: | 14*ae5de77eSEmmanuel Vadot The Omnivision OV02E10 and OV02C10 sensors are 2 megapixel, CMOS image sensors which support: 15*ae5de77eSEmmanuel Vadot - Automatic black level calibration (ABLC) 16*ae5de77eSEmmanuel Vadot - Programmable controls for frame rate, mirror and flip, binning, cropping 17*ae5de77eSEmmanuel Vadot and windowing 18*ae5de77eSEmmanuel Vadot - OVO2C10 19*ae5de77eSEmmanuel Vadot - 10 bit RAW Bayer 1920x1080 60 fps 2-lane @ 800 Mbps/lane 20*ae5de77eSEmmanuel Vadot - 10 bit RAW Bayer 1920x1080 60 fps 1-lane @ 1500 Mbps/lane 21*ae5de77eSEmmanuel Vadot - 10 bit RAW Bayer 1280x720 60 fps cropped 1-lane @ 960 Mbps/lane 22*ae5de77eSEmmanuel Vadot - 10 bit RGB/BW 640x480 60 fps bin2 or skip2 1-lane @ 800 Mbps/lane 23*ae5de77eSEmmanuel Vadot - 10 bit RGB/BW 480x270 60 fps bin4 or skip4 1-lane @ 800 Mbps/lane 24*ae5de77eSEmmanuel Vadot - OV02E10 25*ae5de77eSEmmanuel Vadot - 10 bit RAW Bayer 1920x1088 60 fps 2-lane @ 720 Mbps/lane 26*ae5de77eSEmmanuel Vadot - 10 bit RAW Bayer 1280x1080 60 fps 2-lane @ 720 Mbps/lane 27*ae5de77eSEmmanuel Vadot - 10 bit Quad Bayer 960x540 60 fps 2-lane 360 Mbps/lane 28*ae5de77eSEmmanuel Vadot - 8 bit Quad Bayer 480x270 1/3/5/10 fps sub2 288 Mbps/lane 29*ae5de77eSEmmanuel Vadot - 8 bit Quad Bayer 232x132 1/3/5/10 fps sub4 144 Mbps/lane 30*ae5de77eSEmmanuel Vadot - Dynamic defect pixel cancellation 31*ae5de77eSEmmanuel Vadot - Standard SCCB command interface 32*ae5de77eSEmmanuel Vadot 33*ae5de77eSEmmanuel VadotallOf: 34*ae5de77eSEmmanuel Vadot - $ref: /schemas/media/video-interface-devices.yaml# 35*ae5de77eSEmmanuel Vadot 36*ae5de77eSEmmanuel Vadotproperties: 37*ae5de77eSEmmanuel Vadot compatible: 38*ae5de77eSEmmanuel Vadot enum: 39*ae5de77eSEmmanuel Vadot - ovti,ov02c10 40*ae5de77eSEmmanuel Vadot - ovti,ov02e10 41*ae5de77eSEmmanuel Vadot 42*ae5de77eSEmmanuel Vadot reg: 43*ae5de77eSEmmanuel Vadot maxItems: 1 44*ae5de77eSEmmanuel Vadot 45*ae5de77eSEmmanuel Vadot clocks: 46*ae5de77eSEmmanuel Vadot maxItems: 1 47*ae5de77eSEmmanuel Vadot 48*ae5de77eSEmmanuel Vadot avdd-supply: 49*ae5de77eSEmmanuel Vadot description: Analogue circuit voltage supply. 50*ae5de77eSEmmanuel Vadot 51*ae5de77eSEmmanuel Vadot dovdd-supply: 52*ae5de77eSEmmanuel Vadot description: I/O circuit voltage supply. 53*ae5de77eSEmmanuel Vadot 54*ae5de77eSEmmanuel Vadot dvdd-supply: 55*ae5de77eSEmmanuel Vadot description: Digital circuit voltage supply. 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot reset-gpios: 58*ae5de77eSEmmanuel Vadot description: Active low GPIO connected to XSHUTDOWN pad of the sensor. 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel Vadot port: 61*ae5de77eSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 62*ae5de77eSEmmanuel Vadot additionalProperties: false 63*ae5de77eSEmmanuel Vadot 64*ae5de77eSEmmanuel Vadot properties: 65*ae5de77eSEmmanuel Vadot endpoint: 66*ae5de77eSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 67*ae5de77eSEmmanuel Vadot additionalProperties: false 68*ae5de77eSEmmanuel Vadot 69*ae5de77eSEmmanuel Vadot properties: 70*ae5de77eSEmmanuel Vadot data-lanes: 71*ae5de77eSEmmanuel Vadot items: 72*ae5de77eSEmmanuel Vadot - const: 1 73*ae5de77eSEmmanuel Vadot - const: 2 74*ae5de77eSEmmanuel Vadot link-frequencies: true 75*ae5de77eSEmmanuel Vadot remote-endpoint: true 76*ae5de77eSEmmanuel Vadot 77*ae5de77eSEmmanuel Vadot required: 78*ae5de77eSEmmanuel Vadot - data-lanes 79*ae5de77eSEmmanuel Vadot - link-frequencies 80*ae5de77eSEmmanuel Vadot - remote-endpoint 81*ae5de77eSEmmanuel Vadot 82*ae5de77eSEmmanuel Vadotrequired: 83*ae5de77eSEmmanuel Vadot - compatible 84*ae5de77eSEmmanuel Vadot - reg 85*ae5de77eSEmmanuel Vadot - clocks 86*ae5de77eSEmmanuel Vadot - port 87*ae5de77eSEmmanuel Vadot 88*ae5de77eSEmmanuel VadotunevaluatedProperties: false 89*ae5de77eSEmmanuel Vadot 90*ae5de77eSEmmanuel Vadotexamples: 91*ae5de77eSEmmanuel Vadot - | 92*ae5de77eSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 93*ae5de77eSEmmanuel Vadot 94*ae5de77eSEmmanuel Vadot i2c { 95*ae5de77eSEmmanuel Vadot #address-cells = <1>; 96*ae5de77eSEmmanuel Vadot #size-cells = <0>; 97*ae5de77eSEmmanuel Vadot 98*ae5de77eSEmmanuel Vadot ov02e10: camera@10 { 99*ae5de77eSEmmanuel Vadot compatible = "ovti,ov02e10"; 100*ae5de77eSEmmanuel Vadot reg = <0x10>; 101*ae5de77eSEmmanuel Vadot 102*ae5de77eSEmmanuel Vadot reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>; 103*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 104*ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_rgb_defaultt>; 105*ae5de77eSEmmanuel Vadot 106*ae5de77eSEmmanuel Vadot clocks = <&ov02e10_clk>; 107*ae5de77eSEmmanuel Vadot 108*ae5de77eSEmmanuel Vadot assigned-clocks = <&ov02e10_clk>; 109*ae5de77eSEmmanuel Vadot assigned-clock-parents = <&ov02e10_clk_parent>; 110*ae5de77eSEmmanuel Vadot assigned-clock-rates = <19200000>; 111*ae5de77eSEmmanuel Vadot 112*ae5de77eSEmmanuel Vadot avdd-supply = <&vreg_l7b_2p8>; 113*ae5de77eSEmmanuel Vadot dvdd-supply = <&vreg_l7b_1p8>; 114*ae5de77eSEmmanuel Vadot dovdd-supply = <&vreg_l3m_1p8>; 115*ae5de77eSEmmanuel Vadot 116*ae5de77eSEmmanuel Vadot port { 117*ae5de77eSEmmanuel Vadot ov02e10_ep: endpoint { 118*ae5de77eSEmmanuel Vadot remote-endpoint = <&csiphy4_ep>; 119*ae5de77eSEmmanuel Vadot data-lanes = <1 2>; 120*ae5de77eSEmmanuel Vadot link-frequencies = /bits/ 64 <400000000>; 121*ae5de77eSEmmanuel Vadot }; 122*ae5de77eSEmmanuel Vadot }; 123*ae5de77eSEmmanuel Vadot }; 124*ae5de77eSEmmanuel Vadot 125*ae5de77eSEmmanuel Vadot ov02c10: camera@36 { 126*ae5de77eSEmmanuel Vadot compatible = "ovti,ov02c10"; 127*ae5de77eSEmmanuel Vadot reg = <0x36>; 128*ae5de77eSEmmanuel Vadot 129*ae5de77eSEmmanuel Vadot reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>; 130*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 131*ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_rgb_defaultt>; 132*ae5de77eSEmmanuel Vadot 133*ae5de77eSEmmanuel Vadot clocks = <&ov02c10_clk>; 134*ae5de77eSEmmanuel Vadot 135*ae5de77eSEmmanuel Vadot assigned-clocks = <&ov02c10_clk>; 136*ae5de77eSEmmanuel Vadot assigned-clock-parents = <&ov02c10_clk_parent>; 137*ae5de77eSEmmanuel Vadot assigned-clock-rates = <19200000>; 138*ae5de77eSEmmanuel Vadot 139*ae5de77eSEmmanuel Vadot avdd-supply = <&vreg_l7b_2p8>; 140*ae5de77eSEmmanuel Vadot dvdd-supply = <&vreg_l7b_1p8>; 141*ae5de77eSEmmanuel Vadot dovdd-supply = <&vreg_l3m_1p8>; 142*ae5de77eSEmmanuel Vadot 143*ae5de77eSEmmanuel Vadot port { 144*ae5de77eSEmmanuel Vadot ov02c10_ep: endpoint { 145*ae5de77eSEmmanuel Vadot remote-endpoint = <&csiphy4_ep>; 146*ae5de77eSEmmanuel Vadot data-lanes = <1 2>; 147*ae5de77eSEmmanuel Vadot link-frequencies = /bits/ 64 <400000000>; 148*ae5de77eSEmmanuel Vadot }; 149*ae5de77eSEmmanuel Vadot }; 150*ae5de77eSEmmanuel Vadot }; 151*ae5de77eSEmmanuel Vadot }; 152*ae5de77eSEmmanuel Vadot... 153