Commit a96dfea1 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Sakari Ailus
Browse files

media: dt-bindings: Convert imx290.txt to YAML



Convert the Sony IMX290 DT binding from text to YAML. Add Manivannan as
a maintainer given that he is listed in MAINTAINERS for the file, as
volunteering myself.

The name of the input clock, "xclk", is wrong as the hardware manual
names it INCK. As the device has a single clock, the name could be
omitted, but that would require a corresponding change to the driver and
is thus a candidate for further patches.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
parent 153e4ad4
Loading
Loading
Loading
Loading
+0 −57
Original line number Diff line number Diff line
* Sony IMX290 1/2.8-Inch CMOS Image Sensor

The Sony IMX290 is a 1/2.8-Inch CMOS Solid-state image sensor with
Square Pixel for Color Cameras. It is programmable through I2C and 4-wire
interfaces. The sensor output is available via CMOS logic parallel SDR output,
Low voltage LVDS DDR output and CSI-2 serial data output. The CSI-2 bus is the
default. No bindings have been defined for the other busses.

Required Properties:
- compatible: Should be "sony,imx290"
- reg: I2C bus address of the device
- clocks: Reference to the xclk clock.
- clock-names: Should be "xclk".
- clock-frequency: Frequency of the xclk clock in Hz.
- vdddo-supply: Sensor digital IO regulator.
- vdda-supply: Sensor analog regulator.
- vddd-supply: Sensor digital core regulator.

Optional Properties:
- reset-gpios: Sensor reset GPIO

The imx290 device node should contain one 'port' child node with
an 'endpoint' subnode. For further reading on port node refer to
Documentation/devicetree/bindings/media/video-interfaces.txt.

Required Properties on endpoint:
- data-lanes: check ../video-interfaces.txt
- link-frequencies: check ../video-interfaces.txt
- remote-endpoint: check ../video-interfaces.txt

Example:
	&i2c1 {
		...
		imx290: camera-sensor@1a {
			compatible = "sony,imx290";
			reg = <0x1a>;

			reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
			pinctrl-names = "default";
			pinctrl-0 = <&camera_rear_default>;

			clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
			clock-names = "xclk";
			clock-frequency = <37125000>;

			vdddo-supply = <&camera_vdddo_1v8>;
			vdda-supply = <&camera_vdda_2v8>;
			vddd-supply = <&camera_vddd_1v5>;

			port {
				imx290_ep: endpoint {
					data-lanes = <1 2 3 4>;
					link-frequencies = /bits/ 64 <445500000>;
					remote-endpoint = <&csiphy0_ep>;
				};
			};
		};
+129 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/sony,imx290.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sony IMX290 1/2.8-Inch CMOS Image Sensor

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>

description: |-
  The Sony IMX290 is a 1/2.8-Inch CMOS Solid-state image sensor with Square
  Pixel for Color Cameras. It is programmable through I2C and 4-wire
  interfaces. The sensor output is available via CMOS logic parallel SDR
  output, Low voltage LVDS DDR output and CSI-2 serial data output. The CSI-2
  bus is the default. No bindings have been defined for the other busses.

properties:
  compatible:
    enum:
      - sony,imx290

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    description: Input clock (37.125 MHz or 74.25 MHz)
    items:
      - const: xclk

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

  vdda-supply:
    description: Analog power supply (2.9V)

  vddd-supply:
    description: Digital core power supply (1.2V)

  vdddo-supply:
    description: Digital I/O power supply (1.8V)

  reset-gpios:
    description: Sensor reset (XCLR) GPIO
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    description: |
      Video output port

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          data-lanes:
            anyOf:
              - items:
                  - const: 1
                  - const: 2
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4

          link-frequencies: true

        required:
          - data-lanes
          - link-frequencies

    additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - clock-frequency
  - vdda-supply
  - vddd-supply
  - vdddo-supply
  - port

additionalProperties: false

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

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

        imx290: camera-sensor@1a {
            compatible = "sony,imx290";
            reg = <0x1a>;

            pinctrl-names = "default";
            pinctrl-0 = <&camera_rear_default>;

            clocks = <&gcc 90>;
            clock-names = "xclk";
            clock-frequency = <37125000>;

            vdddo-supply = <&camera_vdddo_1v8>;
            vdda-supply = <&camera_vdda_2v8>;
            vddd-supply = <&camera_vddd_1v5>;

            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;

            port {
                imx290_ep: endpoint {
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <445500000>;
                    remote-endpoint = <&csiphy0_ep>;
                };
            };
        };
    };
...
+1 −1
Original line number Diff line number Diff line
@@ -19207,7 +19207,7 @@ M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
L:	linux-media@vger.kernel.org
S:	Maintained
T:	git git://linuxtv.org/media_tree.git
F:	Documentation/devicetree/bindings/media/i2c/imx290.txt
F:	Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
F:	drivers/media/i2c/imx290.c
SONY IMX319 SENSOR DRIVER