* Omnivision OV5640 image sensor

The Omnivision OV5640 is a 1/4" color CMOS QSXGA 5 megapixel image sensor.
All image processing functions are programmable through the SCCB interface
or embedded microcontroller.
The OV5640 supports both a digital video parallel port and a dual lane
serial MIPI port.

The OV5640 sensor supports multiple resolutions output, such as QSXGA, 1080p,
720p, VGA, QVGA. It also can support YUV422/420, YCbCr422, RGB565/555/444,
CCIR656 or raw RGB output formats.


Required Properties:
- compatible: should be "ovti,ov5640_mipi"
- clocks: reference to the csi_mclk input clock.
- clock-names: should be "csi_mclk".
- reg: I2C slave address
- csi-id: virtual channel for this sensor
- mclk: used to calculate xvclk (sensor master input clock, xvclk = mclk /10000)


Optional Properties:
- rst-gpios: reference to the GPIO connected to the resetb pin, if any.
- pwn-gpios: reference to the GPIO connected to the pwdn pin, if any.

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.

Please note that the default I2C slave address is 0x3c.
In case dual-camera is used, it might be necessary to change
the I2C slave address for both cameras, and disable the reset pin,
this is if the board has only one reset line for both cameras, for
example imx-8mq-evk rev B3. Also, unique csi-id is needed for each
camera. See the dual-camera example.


Example for single camera:

i2c1: i2c@30a20000 {
	ov5640_mipi: ov5640_mipi@3c {
		compatible = "ovti,ov5640_mipi";
		reg = <0x3c>;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1_pwn>, <&pinctrl_csi_rst>;
		clocks = <&clk IMX8MQ_CLK_CLKO2_DIV>;
		clock-names = "csi_mclk";
		assigned-clocks = <&clk IMX8MQ_CLK_CLKO2_SRC>,
				  <&clk IMX8MQ_CLK_CLKO2_DIV>;
		assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;
		assigned-clock-rates = <0>, <20000000>;
		csi_id = <0>;
		pwn-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		rst-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
		mclk = <20000000>;
		mclk_source = <0>;
		port {
			ov5640_mipi1_ep: endpoint {
				remote-endpoint = <&mipi1_sensor_ep>;
			};
		};
	};


Example for dual-camera:

	ov5640_mipi: ov5640_mipi@1c {
		compatible = "ovti,ov5640_mipi";
		reg = <0x1c>;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1_pwn>, <&pinctrl_csi_rst>;
		clocks = <&clk IMX8MQ_CLK_CLKO2_DIV>;
		clock-names = "csi_mclk";
		assigned-clocks = <&clk IMX8MQ_CLK_CLKO2_SRC>,
				  <&clk IMX8MQ_CLK_CLKO2_DIV>;
		assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;
		assigned-clock-rates = <0>, <20000000>;
		csi_id = <0>;
		pwn-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		mclk = <20000000>;
		mclk_source = <0>;
		port {
			ov5640_mipi1_ep: endpoint {
				remote-endpoint = <&mipi1_sensor_ep>;
			};
		};
	};

	ov5640_mipi2: ov5640_mipi2@2c {
		compatible = "ovti,ov5640_mipi";
		reg = <0x2c>;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi2_pwn>;
		clocks = <&clk IMX8MQ_CLK_CLKO2_DIV>;
		clock-names = "csi_mclk";
		assigned-clocks = <&clk IMX8MQ_CLK_CLKO2_SRC>,
				  <&clk IMX8MQ_CLK_CLKO2_DIV>;
		assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;
		assigned-clock-rates = <0>, <20000000>;
		csi_id = <1>;
		pwn-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		mclk = <20000000>;
		mclk_source = <0>;
		port {
			ov5640_mipi2_ep: endpoint {
				remote-endpoint = <&mipi2_sensor_ep>;
			};
		};
	};
};
