0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 # Copyright (c) 2019 MediaTek Inc.
0003 %YAML 1.2
0004 ---
0005 $id: http://devicetree.org/schemas/media/i2c/ov8856.yaml#
0006 $schema: http://devicetree.org/meta-schemas/core.yaml#
0007
0008 title: Omnivision OV8856 CMOS Sensor Device Tree Bindings
0009
0010 maintainers:
0011 - Dongchun Zhu <dongchun.zhu@mediatek.com>
0012
0013 description: |-
0014 The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS
0015 image sensor that delivers 3264x2448 at 30fps. It provides full-frame,
0016 sub-sampled, and windowed 10-bit MIPI images in various formats via the
0017 Serial Camera Control Bus (SCCB) interface. This chip is programmable
0018 through I2C and two-wire SCCB. The sensor output is available via CSI-2
0019 serial data output (up to 4-lane).
0020
0021 properties:
0022 compatible:
0023 const: ovti,ov8856
0024
0025 reg:
0026 maxItems: 1
0027
0028 clocks:
0029 maxItems: 1
0030
0031 clock-names:
0032 description:
0033 Input clock for the sensor.
0034 items:
0035 - const: xvclk
0036
0037 clock-frequency:
0038 description:
0039 Frequency of the xvclk clock in Hertz.
0040
0041 dovdd-supply:
0042 description:
0043 Definition of the regulator used as interface power supply.
0044
0045 avdd-supply:
0046 description:
0047 Definition of the regulator used as analog power supply.
0048
0049 dvdd-supply:
0050 description:
0051 Definition of the regulator used as digital power supply.
0052
0053 reset-gpios:
0054 description:
0055 The phandle and specifier for the GPIO that controls sensor reset.
0056 This corresponds to the hardware pin XSHUTDOWN which is physically
0057 active low.
0058
0059 port:
0060 $ref: /schemas/graph.yaml#/$defs/port-base
0061 additionalProperties: false
0062
0063 properties:
0064 endpoint:
0065 $ref: /schemas/media/video-interfaces.yaml#
0066 unevaluatedProperties: false
0067
0068 properties:
0069 data-lanes:
0070 description: |-
0071 The driver only supports four-lane operation.
0072 items:
0073 - const: 1
0074 - const: 2
0075 - const: 3
0076 - const: 4
0077
0078 link-frequencies:
0079 description: Frequencies listed are driver, not h/w limitations.
0080 maxItems: 2
0081 items:
0082 enum: [ 360000000, 180000000 ]
0083
0084 required:
0085 - link-frequencies
0086
0087 required:
0088 - compatible
0089 - reg
0090 - clocks
0091 - clock-names
0092 - clock-frequency
0093 - dovdd-supply
0094 - avdd-supply
0095 - dvdd-supply
0096 - reset-gpios
0097 - port
0098
0099 additionalProperties: false
0100
0101 examples:
0102 - |
0103 #include <dt-bindings/gpio/gpio.h>
0104
0105 i2c {
0106 #address-cells = <1>;
0107 #size-cells = <0>;
0108
0109 ov8856: camera@10 {
0110 compatible = "ovti,ov8856";
0111 reg = <0x10>;
0112
0113 reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
0114 pinctrl-names = "default";
0115 pinctrl-0 = <&clk_24m_cam>;
0116
0117 clocks = <&cam_osc>;
0118 clock-names = "xvclk";
0119 clock-frequency = <19200000>;
0120
0121 avdd-supply = <&mt6358_vcama2_reg>;
0122 dvdd-supply = <&mt6358_vcamd_reg>;
0123 dovdd-supply = <&mt6358_vcamio_reg>;
0124
0125 port {
0126 wcam_out: endpoint {
0127 remote-endpoint = <&mipi_in_wcam>;
0128 data-lanes = <1 2 3 4>;
0129 link-frequencies = /bits/ 64 <360000000>;
0130 };
0131 };
0132 };
0133 };
0134 ...