155 lines
3.6 KiB
YAML
155 lines
3.6 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5640.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: OmniVision OV5640 Image Sensor Device Tree Bindings
|
||
|
|
||
|
maintainers:
|
||
|
- Steve Longerbeam <slongerbeam@gmail.com>
|
||
|
|
||
|
allOf:
|
||
|
- $ref: /schemas/media/video-interface-devices.yaml#
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: ovti,ov5640
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
clocks:
|
||
|
description: XCLK Input Clock
|
||
|
|
||
|
clock-names:
|
||
|
const: xclk
|
||
|
|
||
|
AVDD-supply:
|
||
|
description: Analog voltage supply, 2.8 volts
|
||
|
|
||
|
DVDD-supply:
|
||
|
description: Digital core voltage supply, 1.5 volts
|
||
|
|
||
|
DOVDD-supply:
|
||
|
description: Digital I/O voltage supply, 1.8 volts
|
||
|
|
||
|
powerdown-gpios:
|
||
|
maxItems: 1
|
||
|
description: >
|
||
|
Reference to the GPIO connected to the powerdown pin, if any.
|
||
|
|
||
|
reset-gpios:
|
||
|
maxItems: 1
|
||
|
description: >
|
||
|
Reference to the GPIO connected to the reset pin, if any.
|
||
|
|
||
|
rotation:
|
||
|
enum:
|
||
|
- 0
|
||
|
- 180
|
||
|
|
||
|
port:
|
||
|
description: Digital Output Port
|
||
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||
|
additionalProperties: false
|
||
|
|
||
|
properties:
|
||
|
endpoint:
|
||
|
$ref: /schemas/media/video-interfaces.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
clock-lanes:
|
||
|
const: 0
|
||
|
|
||
|
data-lanes:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
items:
|
||
|
enum: [1, 2]
|
||
|
|
||
|
bus-width:
|
||
|
enum: [8, 10]
|
||
|
|
||
|
data-shift:
|
||
|
enum: [0, 2]
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
- AVDD-supply
|
||
|
- DVDD-supply
|
||
|
- DOVDD-supply
|
||
|
- port
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/imx6qdl-clock.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
|
||
|
i2c {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
camera@3c {
|
||
|
compatible = "ovti,ov5640";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_ov5640>;
|
||
|
reg = <0x3c>;
|
||
|
clocks = <&clks IMX6QDL_CLK_CKO>;
|
||
|
clock-names = "xclk";
|
||
|
DOVDD-supply = <&vgen4_reg>; /* 1.8v */
|
||
|
AVDD-supply = <&vgen3_reg>; /* 2.8v */
|
||
|
DVDD-supply = <&vgen2_reg>; /* 1.5v */
|
||
|
powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
|
||
|
reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
|
||
|
rotation = <180>;
|
||
|
|
||
|
port {
|
||
|
/* MIPI CSI-2 bus endpoint */
|
||
|
ov5640_to_mipi_csi2: endpoint {
|
||
|
remote-endpoint = <&mipi_csi2_from_ov5640>;
|
||
|
clock-lanes = <0>;
|
||
|
data-lanes = <1 2>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
- |
|
||
|
i2c {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
camera@3c {
|
||
|
compatible = "ovti,ov5640";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_ov5640>;
|
||
|
reg = <0x3c>;
|
||
|
clocks = <&clk_ext_camera>;
|
||
|
clock-names = "xclk";
|
||
|
DOVDD-supply = <&vgen4_reg>; /* 1.8v */
|
||
|
AVDD-supply = <&vgen3_reg>; /* 2.8v */
|
||
|
DVDD-supply = <&vgen2_reg>; /* 1.5v */
|
||
|
|
||
|
port {
|
||
|
/* Parallel bus endpoint */
|
||
|
ov5640_to_parallel: endpoint {
|
||
|
remote-endpoint = <¶llel_from_ov5640>;
|
||
|
bus-width = <8>;
|
||
|
data-shift = <2>; /* lines 9:2 are used */
|
||
|
hsync-active = <0>;
|
||
|
vsync-active = <0>;
|
||
|
pclk-sample = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|