linux-loongson/Documentation/devicetree/bindings/media/i2c/ovti,ov02e10.yaml
Bryan O'Donoghue f287a048bc media: dt-bindings: Add OmniVision OV02C10
Extend the ov02e10 bindings yaml to describe the ov02c10 sensor which has
the same bindings with a different compat string and different i2c
address only.

Other differences in sensor capabilities exist but are not expressed in
devicetree.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
[hverkuil: fix typos: 0V02C10 -> OV02C10]
[hverkuil: fix type: Ominivision -> OmniVision]
2025-05-06 09:53:48 +02:00

153 lines
4.0 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2025 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ovti,ov02e10.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Omnivision OV02E10 CMOS Sensor
maintainers:
- Bryan O'Donoghue <bryan.odonoghue@linaro.org>
description: |
The Omnivision OV02E10 and OV02C10 sensors are 2 megapixel, CMOS image sensors which support:
- Automatic black level calibration (ABLC)
- Programmable controls for frame rate, mirror and flip, binning, cropping
and windowing
- OVO2C10
- 10 bit RAW Bayer 1920x1080 60 fps 2-lane @ 800 Mbps/lane
- 10 bit RAW Bayer 1920x1080 60 fps 1-lane @ 1500 Mbps/lane
- 10 bit RAW Bayer 1280x720 60 fps cropped 1-lane @ 960 Mbps/lane
- 10 bit RGB/BW 640x480 60 fps bin2 or skip2 1-lane @ 800 Mbps/lane
- 10 bit RGB/BW 480x270 60 fps bin4 or skip4 1-lane @ 800 Mbps/lane
- OV02E10
- 10 bit RAW Bayer 1920x1088 60 fps 2-lane @ 720 Mbps/lane
- 10 bit RAW Bayer 1280x1080 60 fps 2-lane @ 720 Mbps/lane
- 10 bit Quad Bayer 960x540 60 fps 2-lane 360 Mbps/lane
- 8 bit Quad Bayer 480x270 1/3/5/10 fps sub2 288 Mbps/lane
- 8 bit Quad Bayer 232x132 1/3/5/10 fps sub4 144 Mbps/lane
- Dynamic defect pixel cancellation
- Standard SCCB command interface
allOf:
- $ref: /schemas/media/video-interface-devices.yaml#
properties:
compatible:
enum:
- ovti,ov02c10
- ovti,ov02e10
reg:
maxItems: 1
clocks:
maxItems: 1
avdd-supply:
description: Analogue circuit voltage supply.
dovdd-supply:
description: I/O circuit voltage supply.
dvdd-supply:
description: Digital circuit voltage supply.
reset-gpios:
description: Active low GPIO connected to XSHUTDOWN pad of the sensor.
port:
$ref: /schemas/graph.yaml#/$defs/port-base
additionalProperties: false
properties:
endpoint:
$ref: /schemas/media/video-interfaces.yaml#
additionalProperties: false
properties:
data-lanes:
items:
- const: 1
- const: 2
link-frequencies: true
remote-endpoint: true
required:
- data-lanes
- link-frequencies
- remote-endpoint
required:
- compatible
- reg
- clocks
- port
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
ov02e10: camera@10 {
compatible = "ovti,ov02e10";
reg = <0x10>;
reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&cam_rgb_defaultt>;
clocks = <&ov02e10_clk>;
assigned-clocks = <&ov02e10_clk>;
assigned-clock-parents = <&ov02e10_clk_parent>;
assigned-clock-rates = <19200000>;
avdd-supply = <&vreg_l7b_2p8>;
dvdd-supply = <&vreg_l7b_1p8>;
dovdd-supply = <&vreg_l3m_1p8>;
port {
ov02e10_ep: endpoint {
remote-endpoint = <&csiphy4_ep>;
data-lanes = <1 2>;
link-frequencies = /bits/ 64 <400000000>;
};
};
};
ov02c10: camera@36 {
compatible = "ovti,ov02c10";
reg = <0x36>;
reset-gpios = <&tlmm 237 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&cam_rgb_defaultt>;
clocks = <&ov02c10_clk>;
assigned-clocks = <&ov02c10_clk>;
assigned-clock-parents = <&ov02c10_clk_parent>;
assigned-clock-rates = <19200000>;
avdd-supply = <&vreg_l7b_2p8>;
dvdd-supply = <&vreg_l7b_1p8>;
dovdd-supply = <&vreg_l3m_1p8>;
port {
ov02c10_ep: endpoint {
remote-endpoint = <&csiphy4_ep>;
data-lanes = <1 2>;
link-frequencies = /bits/ 64 <400000000>;
};
};
};
};
...