1*ce610aa5SLad Prabhakar# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*ce610aa5SLad Prabhakar# Copyright (c) 2019 MediaTek Inc. 3*ce610aa5SLad Prabhakar%YAML 1.2 4*ce610aa5SLad Prabhakar--- 5*ce610aa5SLad Prabhakar$id: http://devicetree.org/schemas/media/i2c/ovti,ov8856.yaml# 6*ce610aa5SLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml# 7*ce610aa5SLad Prabhakar 8*ce610aa5SLad Prabhakartitle: Omnivision OV8856 CMOS Sensor 9*ce610aa5SLad Prabhakar 10*ce610aa5SLad Prabhakarmaintainers: 11*ce610aa5SLad Prabhakar - Sakari Ailus <sakari.ailus@linux.intel.com> 12*ce610aa5SLad Prabhakar 13*ce610aa5SLad Prabhakardescription: |- 14*ce610aa5SLad Prabhakar The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS 15*ce610aa5SLad Prabhakar image sensor that delivers 3264x2448 at 30fps. It provides full-frame, 16*ce610aa5SLad Prabhakar sub-sampled, and windowed 10-bit MIPI images in various formats via the 17*ce610aa5SLad Prabhakar Serial Camera Control Bus (SCCB) interface. This chip is programmable 18*ce610aa5SLad Prabhakar through I2C and two-wire SCCB. The sensor output is available via CSI-2 19*ce610aa5SLad Prabhakar serial data output (up to 4-lane). 20*ce610aa5SLad Prabhakar 21*ce610aa5SLad Prabhakarproperties: 22*ce610aa5SLad Prabhakar compatible: 23*ce610aa5SLad Prabhakar const: ovti,ov8856 24*ce610aa5SLad Prabhakar 25*ce610aa5SLad Prabhakar reg: 26*ce610aa5SLad Prabhakar maxItems: 1 27*ce610aa5SLad Prabhakar 28*ce610aa5SLad Prabhakar clocks: 29*ce610aa5SLad Prabhakar maxItems: 1 30*ce610aa5SLad Prabhakar 31*ce610aa5SLad Prabhakar clock-names: 32*ce610aa5SLad Prabhakar description: 33*ce610aa5SLad Prabhakar Input clock for the sensor. 34*ce610aa5SLad Prabhakar items: 35*ce610aa5SLad Prabhakar - const: xvclk 36*ce610aa5SLad Prabhakar 37*ce610aa5SLad Prabhakar clock-frequency: 38*ce610aa5SLad Prabhakar description: 39*ce610aa5SLad Prabhakar Frequency of the xvclk clock in Hertz. 40*ce610aa5SLad Prabhakar 41*ce610aa5SLad Prabhakar dovdd-supply: 42*ce610aa5SLad Prabhakar description: 43*ce610aa5SLad Prabhakar Definition of the regulator used as interface power supply. 44*ce610aa5SLad Prabhakar 45*ce610aa5SLad Prabhakar avdd-supply: 46*ce610aa5SLad Prabhakar description: 47*ce610aa5SLad Prabhakar Definition of the regulator used as analog power supply. 48*ce610aa5SLad Prabhakar 49*ce610aa5SLad Prabhakar dvdd-supply: 50*ce610aa5SLad Prabhakar description: 51*ce610aa5SLad Prabhakar Definition of the regulator used as digital power supply. 52*ce610aa5SLad Prabhakar 53*ce610aa5SLad Prabhakar reset-gpios: 54*ce610aa5SLad Prabhakar description: 55*ce610aa5SLad Prabhakar The phandle and specifier for the GPIO that controls sensor reset. 56*ce610aa5SLad Prabhakar This corresponds to the hardware pin XSHUTDOWN which is physically 57*ce610aa5SLad Prabhakar active low. 58*ce610aa5SLad Prabhakar 59*ce610aa5SLad Prabhakar port: 60*ce610aa5SLad Prabhakar $ref: /schemas/graph.yaml#/$defs/port-base 61*ce610aa5SLad Prabhakar additionalProperties: false 62*ce610aa5SLad Prabhakar 63*ce610aa5SLad Prabhakar properties: 64*ce610aa5SLad Prabhakar endpoint: 65*ce610aa5SLad Prabhakar $ref: /schemas/media/video-interfaces.yaml# 66*ce610aa5SLad Prabhakar unevaluatedProperties: false 67*ce610aa5SLad Prabhakar 68*ce610aa5SLad Prabhakar properties: 69*ce610aa5SLad Prabhakar data-lanes: 70*ce610aa5SLad Prabhakar oneOf: 71*ce610aa5SLad Prabhakar - items: 72*ce610aa5SLad Prabhakar - const: 1 73*ce610aa5SLad Prabhakar - items: 74*ce610aa5SLad Prabhakar - const: 1 75*ce610aa5SLad Prabhakar - const: 2 76*ce610aa5SLad Prabhakar - items: 77*ce610aa5SLad Prabhakar - const: 1 78*ce610aa5SLad Prabhakar - const: 2 79*ce610aa5SLad Prabhakar - const: 3 80*ce610aa5SLad Prabhakar - const: 4 81*ce610aa5SLad Prabhakar 82*ce610aa5SLad Prabhakar required: 83*ce610aa5SLad Prabhakar - link-frequencies 84*ce610aa5SLad Prabhakar 85*ce610aa5SLad Prabhakarrequired: 86*ce610aa5SLad Prabhakar - compatible 87*ce610aa5SLad Prabhakar - reg 88*ce610aa5SLad Prabhakar - clocks 89*ce610aa5SLad Prabhakar - clock-names 90*ce610aa5SLad Prabhakar - clock-frequency 91*ce610aa5SLad Prabhakar - dovdd-supply 92*ce610aa5SLad Prabhakar - avdd-supply 93*ce610aa5SLad Prabhakar - dvdd-supply 94*ce610aa5SLad Prabhakar - reset-gpios 95*ce610aa5SLad Prabhakar - port 96*ce610aa5SLad Prabhakar 97*ce610aa5SLad PrabhakaradditionalProperties: false 98*ce610aa5SLad Prabhakar 99*ce610aa5SLad Prabhakarexamples: 100*ce610aa5SLad Prabhakar - | 101*ce610aa5SLad Prabhakar #include <dt-bindings/gpio/gpio.h> 102*ce610aa5SLad Prabhakar 103*ce610aa5SLad Prabhakar i2c { 104*ce610aa5SLad Prabhakar #address-cells = <1>; 105*ce610aa5SLad Prabhakar #size-cells = <0>; 106*ce610aa5SLad Prabhakar 107*ce610aa5SLad Prabhakar ov8856: camera@10 { 108*ce610aa5SLad Prabhakar compatible = "ovti,ov8856"; 109*ce610aa5SLad Prabhakar reg = <0x10>; 110*ce610aa5SLad Prabhakar 111*ce610aa5SLad Prabhakar reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>; 112*ce610aa5SLad Prabhakar pinctrl-names = "default"; 113*ce610aa5SLad Prabhakar pinctrl-0 = <&clk_24m_cam>; 114*ce610aa5SLad Prabhakar 115*ce610aa5SLad Prabhakar clocks = <&cam_osc>; 116*ce610aa5SLad Prabhakar clock-names = "xvclk"; 117*ce610aa5SLad Prabhakar clock-frequency = <19200000>; 118*ce610aa5SLad Prabhakar 119*ce610aa5SLad Prabhakar avdd-supply = <&mt6358_vcama2_reg>; 120*ce610aa5SLad Prabhakar dvdd-supply = <&mt6358_vcamd_reg>; 121*ce610aa5SLad Prabhakar dovdd-supply = <&mt6358_vcamio_reg>; 122*ce610aa5SLad Prabhakar 123*ce610aa5SLad Prabhakar port { 124*ce610aa5SLad Prabhakar wcam_out: endpoint { 125*ce610aa5SLad Prabhakar remote-endpoint = <&mipi_in_wcam>; 126*ce610aa5SLad Prabhakar data-lanes = <1 2 3 4>; 127*ce610aa5SLad Prabhakar link-frequencies = /bits/ 64 <360000000>; 128*ce610aa5SLad Prabhakar }; 129*ce610aa5SLad Prabhakar }; 130*ce610aa5SLad Prabhakar }; 131*ce610aa5SLad Prabhakar }; 132*ce610aa5SLad Prabhakar... 133