Commit 44ade291 authored by Rob Herring's avatar Rob Herring
Browse files

media: dt-bindings: Merge OV5695 into OV5693 binding



The OV5695 binding is almost the same as the OV5693 binding. The only
difference is 'clock-names' is defined for OV5695. However, the lack of
clock-names is an omission as the Linux OV5693 driver expects the same
'xvclk' clock name.

'link-frequencies' is required by OV5693, but not OV5695, so make that
conditional. Really, this shouldn't vary by device, but we're stuck with
the existing binding use.

The rockchip-isp1 binding example is missing required properties, so it
has to be updated as well.

Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230817202647.2179609-1-robh@kernel.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent cf60ce92
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
* Omnivision OV5695 MIPI CSI-2 sensor

Required Properties:
- compatible: shall be "ovti,ov5695"
- clocks: reference to the xvclk input clock
- clock-names: shall be "xvclk"
- avdd-supply: Analog voltage supply, 2.8 volts
- dovdd-supply: Digital I/O voltage supply, 1.8 volts
- dvdd-supply: Digital core voltage supply, 1.2 volts
- reset-gpios: Low active reset gpio

The device node shall contain one 'port' child node with an
'endpoint' subnode for its digital output video port,
in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.
The endpoint optional property 'data-lanes' shall be "<1 2>".

Example:
&i2c7 {
	ov5695: camera-sensor@36 {
		compatible = "ovti,ov5695";
		reg = <0x36>;
		pinctrl-names = "default";
		pinctrl-0 = <&clk_24m_cam>;

		clocks = <&cru SCLK_TESTCLKOUT1>;
		clock-names = "xvclk";

		avdd-supply = <&pp2800_cam>;
		dovdd-supply = <&pp1800>;
		dvdd-supply = <&pp1250_cam>;
		reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;

		port {
			wcam_out: endpoint {
				remote-endpoint = <&mipi_in_wcam>;
				data-lanes = <1 2>;
			};
		};
	};
};
+24 −7
Original line number Diff line number Diff line
@@ -5,26 +5,41 @@
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5693.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Omnivision OV5693 CMOS Sensor
title: Omnivision OV5693/OV5695 CMOS Sensors

maintainers:
  - Tommaso Merciai <tommaso.merciai@amarulasolutions.com>

description: |
  The Omnivision OV5693 is a high performance, 1/4-inch, 5 megapixel, CMOS
  image sensor that delivers 2592x1944 at 30fps. It provides full-frame,
  The Omnivision OV5693/OV5695 are high performance, 1/4-inch, 5 megapixel, CMOS
  image sensors that deliver 2592x1944 at 30fps. It provides full-frame,
  sub-sampled, and windowed 10-bit MIPI images in various formats via the
  Serial Camera Control Bus (SCCB) interface.

  OV5693 is controlled via I2C and two-wire Serial Camera Control Bus (SCCB).
  The sensor output is available via CSI-2 serial data output (up to 2-lane).
  OV5693/OV5695 are controlled via I2C and two-wire Serial Camera Control Bus
  (SCCB). The sensor output is available via CSI-2 serial data output (up to
  2-lane).

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

  - if:
      properties:
        compatible:
          contains:
            const: ovti,ov5693
    then:
      properties:
        port:
          properties:
            endpoint:
              required:
                - link-frequencies

properties:
  compatible:
    enum:
      - ovti,ov5693
      - ovti,ov5695

  reg:
    maxItems: 1
@@ -34,6 +49,9 @@ properties:
      System input clock (aka XVCLK). From 6 to 27 MHz.
    maxItems: 1

  clock-names:
    const: xvclk

  dovdd-supply:
    description:
      Digital I/O voltage supply, 1.8V.
@@ -72,7 +90,6 @@ properties:

        required:
          - data-lanes
          - link-frequencies

required:
  - compatible
+1 −0
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ examples:
            wcam: camera@36 {
                compatible = "ovti,ov5695";
                reg = <0x36>;
                clocks = <&cru SCLK_TESTCLKOUT1>;

                port {
                    wcam_out: endpoint {