1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*cb7aa33aSEmmanuel Vadot%YAML 1.2 3*cb7aa33aSEmmanuel Vadot--- 4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml# 5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*cb7aa33aSEmmanuel Vadot 7*cb7aa33aSEmmanuel Vadottitle: OmniVision OV8858 Image Sensor 8*cb7aa33aSEmmanuel Vadot 9*cb7aa33aSEmmanuel Vadotmaintainers: 10*cb7aa33aSEmmanuel Vadot - Jacopo Mondi <jacopo.mondi@ideasonboard.com> 11*cb7aa33aSEmmanuel Vadot - Nicholas Roth <nicholas@rothemail.net> 12*cb7aa33aSEmmanuel Vadot 13*cb7aa33aSEmmanuel Vadotdescription: | 14*cb7aa33aSEmmanuel Vadot The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor 15*cb7aa33aSEmmanuel Vadot controlled through an I2C-compatible SCCB bus. The sensor transmits images 16*cb7aa33aSEmmanuel Vadot on a MIPI CSI-2 output interface with up to 4 data lanes. 17*cb7aa33aSEmmanuel Vadot 18*cb7aa33aSEmmanuel Vadotproperties: 19*cb7aa33aSEmmanuel Vadot compatible: 20*cb7aa33aSEmmanuel Vadot const: ovti,ov8858 21*cb7aa33aSEmmanuel Vadot 22*cb7aa33aSEmmanuel Vadot reg: 23*cb7aa33aSEmmanuel Vadot maxItems: 1 24*cb7aa33aSEmmanuel Vadot 25*cb7aa33aSEmmanuel Vadot clocks: 26*cb7aa33aSEmmanuel Vadot maxItems: 1 27*cb7aa33aSEmmanuel Vadot description: XVCLK external clock 28*cb7aa33aSEmmanuel Vadot 29*cb7aa33aSEmmanuel Vadot clock-names: 30*cb7aa33aSEmmanuel Vadot const: xvclk 31*cb7aa33aSEmmanuel Vadot 32*cb7aa33aSEmmanuel Vadot dvdd-supply: 33*cb7aa33aSEmmanuel Vadot description: Digital Domain Power Supply 34*cb7aa33aSEmmanuel Vadot 35*cb7aa33aSEmmanuel Vadot avdd-supply: 36*cb7aa33aSEmmanuel Vadot description: Analog Domain Power Supply 37*cb7aa33aSEmmanuel Vadot 38*cb7aa33aSEmmanuel Vadot dovdd-supply: 39*cb7aa33aSEmmanuel Vadot description: I/O Domain Power Supply 40*cb7aa33aSEmmanuel Vadot 41*cb7aa33aSEmmanuel Vadot powerdown-gpios: 42*cb7aa33aSEmmanuel Vadot description: PWDNB powerdown GPIO (active low) 43*cb7aa33aSEmmanuel Vadot 44*cb7aa33aSEmmanuel Vadot reset-gpios: 45*cb7aa33aSEmmanuel Vadot maxItems: 1 46*cb7aa33aSEmmanuel Vadot description: XSHUTDN reset GPIO (active low) 47*cb7aa33aSEmmanuel Vadot 48*cb7aa33aSEmmanuel Vadot port: 49*cb7aa33aSEmmanuel Vadot description: MIPI CSI-2 transmitter port 50*cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 51*cb7aa33aSEmmanuel Vadot additionalProperties: false 52*cb7aa33aSEmmanuel Vadot 53*cb7aa33aSEmmanuel Vadot properties: 54*cb7aa33aSEmmanuel Vadot endpoint: 55*cb7aa33aSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 56*cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 57*cb7aa33aSEmmanuel Vadot 58*cb7aa33aSEmmanuel Vadot properties: 59*cb7aa33aSEmmanuel Vadot data-lanes: 60*cb7aa33aSEmmanuel Vadot minItems: 1 61*cb7aa33aSEmmanuel Vadot maxItems: 4 62*cb7aa33aSEmmanuel Vadot 63*cb7aa33aSEmmanuel Vadot required: 64*cb7aa33aSEmmanuel Vadot - data-lanes 65*cb7aa33aSEmmanuel Vadot 66*cb7aa33aSEmmanuel Vadotrequired: 67*cb7aa33aSEmmanuel Vadot - compatible 68*cb7aa33aSEmmanuel Vadot - reg 69*cb7aa33aSEmmanuel Vadot - clocks 70*cb7aa33aSEmmanuel Vadot - port 71*cb7aa33aSEmmanuel Vadot 72*cb7aa33aSEmmanuel VadotadditionalProperties: false 73*cb7aa33aSEmmanuel Vadot 74*cb7aa33aSEmmanuel Vadotexamples: 75*cb7aa33aSEmmanuel Vadot - | 76*cb7aa33aSEmmanuel Vadot #include <dt-bindings/pinctrl/rockchip.h> 77*cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/rk3399-cru.h> 78*cb7aa33aSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 79*cb7aa33aSEmmanuel Vadot 80*cb7aa33aSEmmanuel Vadot i2c { 81*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 82*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 83*cb7aa33aSEmmanuel Vadot 84*cb7aa33aSEmmanuel Vadot ov8858: camera@36 { 85*cb7aa33aSEmmanuel Vadot compatible = "ovti,ov8858"; 86*cb7aa33aSEmmanuel Vadot reg = <0x36>; 87*cb7aa33aSEmmanuel Vadot 88*cb7aa33aSEmmanuel Vadot clocks = <&cru SCLK_CIF_OUT>; 89*cb7aa33aSEmmanuel Vadot clock-names = "xvclk"; 90*cb7aa33aSEmmanuel Vadot assigned-clocks = <&cru SCLK_CIF_OUT>; 91*cb7aa33aSEmmanuel Vadot assigned-clock-rates = <24000000>; 92*cb7aa33aSEmmanuel Vadot 93*cb7aa33aSEmmanuel Vadot dovdd-supply = <&vcc1v8_dvp>; 94*cb7aa33aSEmmanuel Vadot 95*cb7aa33aSEmmanuel Vadot reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>; 96*cb7aa33aSEmmanuel Vadot powerdown-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>; 97*cb7aa33aSEmmanuel Vadot 98*cb7aa33aSEmmanuel Vadot port { 99*cb7aa33aSEmmanuel Vadot ucam_out: endpoint { 100*cb7aa33aSEmmanuel Vadot remote-endpoint = <&mipi_in_ucam>; 101*cb7aa33aSEmmanuel Vadot data-lanes = <1 2 3 4>; 102*cb7aa33aSEmmanuel Vadot }; 103*cb7aa33aSEmmanuel Vadot }; 104*cb7aa33aSEmmanuel Vadot }; 105*cb7aa33aSEmmanuel Vadot }; 106*cb7aa33aSEmmanuel Vadot... 107