[PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor

Matthias Fend posted 8 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor
Posted by Matthias Fend 1 month, 1 week ago
Add YAML bindings for the Omnivision OV08D10 CMOS image sensor.

Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
---
 .../bindings/media/i2c/ovti,ov08d10.yaml           | 101 +++++++++++++++++++++
 MAINTAINERS                                        |   1 +
 2 files changed, 102 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..96dbf61cf7c188544f4120216ae2b8e0155128b7
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ovti,ov08d10.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Omnivision OV08D10 1/4-Inch 8MP CMOS color image sensor
+
+maintainers:
+  - Jimmy Su <jimmy.su@intel.com>
+
+description:
+  The Omnivision OV08D10 is a 1/4-Inch 8MP CMOS color image sensor with an
+  active array size of 3280 x 2464. It is programmable through I2C
+  interface. Image data is transmitted via MIPI CSI-2 using 2 lanes.
+
+allOf:
+  - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+  compatible:
+    const: ovti,ov08d10
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description: MCLK input clock (6 - 27 MHz)
+    maxItems: 1
+
+  reset-gpios:
+    description: Active low XSHUTDN pin
+    maxItems: 1
+
+  dovdd-supply:
+    description: IO power supply (1.8V)
+
+  avdd-supply:
+    description: Analog power supply (2.8V)
+
+  dvdd-supply:
+    description: Core power supply (1.2V)
+
+  port:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        required:
+          - data-lanes
+          - link-frequencies
+
+    required:
+      - endpoint
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - port
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/media/video-interfaces.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        sensor@36 {
+            compatible = "ovti,ov08d10";
+            reg = <0x36>;
+
+            clocks = <&ov08d10_clk>;
+
+            dovdd-supply = <&ov08d10_vdddo_1v8>;
+            avdd-supply = <&ov08d10_vdda_2v8>;
+            dvdd-supply = <&ov08d10_vddd_1v2>;
+
+            orientation = <2>;
+            rotation = <0>;
+
+            reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+
+            port {
+                ov08d10_output: endpoint {
+                    data-lanes = <1 2>;
+                    link-frequencies = /bits/ 64 <360000000 720000000>;
+                    remote-endpoint = <&csi_input>;
+                };
+            };
+        };
+    };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 55af015174a54e17cc7449e5a80b6cdc83aa6fde..2484d0bcc1f09582828cafbdb7d45dd12b55af60 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19505,6 +19505,7 @@ M:	Jimmy Su <jimmy.su@intel.com>
 L:	linux-media@vger.kernel.org
 S:	Maintained
 T:	git git://linuxtv.org/media.git
+F:	Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
 F:	drivers/media/i2c/ov08d10.c
 
 OMNIVISION OV08X40 SENSOR DRIVER

-- 
2.34.1
Re: [PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor
Posted by Krzysztof Kozlowski 1 month, 1 week ago
On Thu, Feb 26, 2026 at 09:56:01AM +0100, Matthias Fend wrote:
> Add YAML bindings for the Omnivision OV08D10 CMOS image sensor.

Drop YAML. You add DT bindings, not YAML. No YAML is bound here to
anything.

> 
> Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
> ---
>  .../bindings/media/i2c/ovti,ov08d10.yaml           | 101 +++++++++++++++++++++
>  MAINTAINERS                                        |   1 +
>  2 files changed, 102 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..96dbf61cf7c188544f4120216ae2b8e0155128b7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
> @@ -0,0 +1,101 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov08d10.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Omnivision OV08D10 1/4-Inch 8MP CMOS color image sensor
> +
> +maintainers:
> +  - Jimmy Su <jimmy.su@intel.com>
> +
> +description:
> +  The Omnivision OV08D10 is a 1/4-Inch 8MP CMOS color image sensor with an
> +  active array size of 3280 x 2464. It is programmable through I2C
> +  interface. Image data is transmitted via MIPI CSI-2 using 2 lanes.
> +
> +allOf:
> +  - $ref: /schemas/media/video-interface-devices.yaml#
> +
> +properties:
> +  compatible:
> +    const: ovti,ov08d10
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    description: MCLK input clock (6 - 27 MHz)
> +    maxItems: 1
> +
> +  reset-gpios:
> +    description: Active low XSHUTDN pin

So maybe rather powerdown-gpios, see gpio-consumer-common.yaml?

> +    maxItems: 1

Best regards,
Krzysztof
Re: [PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor
Posted by Matthias Fend 1 month, 1 week ago
Hi Krzysztof,

thanks for your comments.

Am 27.02.2026 um 11:45 schrieb Krzysztof Kozlowski:
> On Thu, Feb 26, 2026 at 09:56:01AM +0100, Matthias Fend wrote:
>> Add YAML bindings for the Omnivision OV08D10 CMOS image sensor.
> 
> Drop YAML. You add DT bindings, not YAML. No YAML is bound here to
> anything.

ACK

> 
>>
>> Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
>> ---
>>   .../bindings/media/i2c/ovti,ov08d10.yaml           | 101 +++++++++++++++++++++
>>   MAINTAINERS                                        |   1 +
>>   2 files changed, 102 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..96dbf61cf7c188544f4120216ae2b8e0155128b7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml
>> @@ -0,0 +1,101 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov08d10.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Omnivision OV08D10 1/4-Inch 8MP CMOS color image sensor
>> +
>> +maintainers:
>> +  - Jimmy Su <jimmy.su@intel.com>
>> +
>> +description:
>> +  The Omnivision OV08D10 is a 1/4-Inch 8MP CMOS color image sensor with an
>> +  active array size of 3280 x 2464. It is programmable through I2C
>> +  interface. Image data is transmitted via MIPI CSI-2 using 2 lanes.
>> +
>> +allOf:
>> +  - $ref: /schemas/media/video-interface-devices.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: ovti,ov08d10
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    description: MCLK input clock (6 - 27 MHz)
>> +    maxItems: 1
>> +
>> +  reset-gpios:
>> +    description: Active low XSHUTDN pin
> 
> So maybe rather powerdown-gpios, see gpio-consumer-common.yaml?

As activating the XSHUTDN pin on this sensor works like a reset, I guess 
it's okay as it is.

 From what I've seen, it's also common practice for some other 
Omnivision sensors to designate the XSHUTDN pin as the reset pin.
This is also the case, for example, with the recently added OS05B10.

During a review for another sensor, I was asked to use the reset 
controller framework instead of the GPIO pin for the reset function, 
which I did in this case as well.
To my knowledge, the fallback from the reset controller to a simple 
reset pin only works with the 'reset-gpios' property.

Thanks
  ~Matthias

> 
>> +    maxItems: 1
> 
> Best regards,
> Krzysztof
>
Re: [PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor
Posted by Sakari Ailus 4 weeks, 1 day ago
Hi Matthias, Krzysztof,

On Fri, Feb 27, 2026 at 04:10:50PM +0100, Matthias Fend wrote:
> > > +  reset-gpios:
> > > +    description: Active low XSHUTDN pin
> > 
> > So maybe rather powerdown-gpios, see gpio-consumer-common.yaml?
> 
> As activating the XSHUTDN pin on this sensor works like a reset, I guess
> it's okay as it is.
> 
> From what I've seen, it's also common practice for some other Omnivision
> sensors to designate the XSHUTDN pin as the reset pin.
> This is also the case, for example, with the recently added OS05B10.
> 
> During a review for another sensor, I was asked to use the reset controller
> framework instead of the GPIO pin for the reset function, which I did in
> this case as well.
> To my knowledge, the fallback from the reset controller to a simple reset
> pin only works with the 'reset-gpios' property.

I'd use "reset" for this, too: it's first and foremost reset. In most
camera sensors with "xshutdown" or similar pin the function of the pin is
documented to be hardware reset. Most such devices still use very little
power in hardware reset state but from software point of view that is still
secondary to the reset function.

-- 
Regards,

Sakari Ailus