Commit 105c3bc0 authored by Lad Prabhakar's avatar Lad Prabhakar Committed by Mauro Carvalho Chehab
Browse files

media: dt-bindings: ov5645: Convert OV5645 binding to a schema



Convert the simple OV5645 Device Tree binding to json-schema.

The previous binding marked the below properties as required which was a
driver requirement and not the device requirement so just drop them from
the required list during the conversion.
- clock-frequency
- enable-gpios
- reset-gpios

Also drop the "clock-names" property as we have a single clock source for
the sensor and the driver has been updated to drop the clk referencing by
name.

Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent f8604f1f
Loading
Loading
Loading
Loading
+0 −54
Original line number Diff line number Diff line
* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor

The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with
an active array size of 2592H x 1944V. It is programmable through a serial I2C
interface.

Required Properties:
- compatible: Value should be "ovti,ov5645".
- clocks: Reference to the xclk clock.
- clock-names: Should be "xclk".
- clock-frequency: Frequency of the xclk clock.
- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds
  to the hardware pin PWDNB which is physically active low.
- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to
  the hardware pin RESETB.
- vdddo-supply: Chip digital IO regulator.
- vdda-supply: Chip analog regulator.
- vddd-supply: Chip digital core regulator.

The device node must contain one 'port' child node for its digital output
video port, in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:

	&i2c1 {
		...

		ov5645: ov5645@3c {
			compatible = "ovti,ov5645";
			reg = <0x3c>;

			enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
			reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
			pinctrl-names = "default";
			pinctrl-0 = <&camera_rear_default>;

			clocks = <&clks 200>;
			clock-names = "xclk";
			clock-frequency = <24000000>;

			vdddo-supply = <&camera_dovdd_1v8>;
			vdda-supply = <&camera_avdd_2v8>;
			vddd-supply = <&camera_dvdd_1v2>;

			port {
				ov5645_ep: endpoint {
					clock-lanes = <1>;
					data-lanes = <0 2>;
					remote-endpoint = <&csi0_ep>;
				};
			};
		};
	};
+104 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ovti,ov5645.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: OmniVision OV5645 Image Sensor Device Tree Bindings

maintainers:
  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

properties:
  compatible:
    const: ovti,ov5645

  reg:
    maxItems: 1

  clocks:
    description: XCLK Input Clock

  clock-frequency:
    description: Frequency of the xclk clock in Hz.

  vdda-supply:
    description: Analog voltage supply, 2.8 volts

  vddd-supply:
    description: Digital core voltage supply, 1.5 volts

  vdddo-supply:
    description: Digital I/O voltage supply, 1.8 volts

  enable-gpios:
    maxItems: 1
    description:
      Reference to the GPIO connected to the PWDNB pin, if any.

  reset-gpios:
    maxItems: 1
    description:
      Reference to the GPIO connected to the RESETB pin, if any.

  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:
          data-lanes:
            minItems: 1
            maxItems: 2
            items:
              enum: [1, 2]

        required:
          - data-lanes

required:
  - compatible
  - reg
  - clocks
  - vdddo-supply
  - vdda-supply
  - vddd-supply
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        camera@3c {
            compatible = "ovti,ov5645";
            reg = <0x3c>;
            clocks = <&clks 1>;
            clock-frequency = <24000000>;
            vdddo-supply = <&ov5645_vdddo_1v8>;
            vdda-supply = <&ov5645_vdda_2v8>;
            vddd-supply = <&ov5645_vddd_1v5>;
            enable-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&pinctrl_ov5645>;

            port {
                ov5645_ep: endpoint {
                    remote-endpoint = <&csi0_ep>;
                    data-lanes = <1 2>;
                };
            };
        };
    };
...