MLK-17959: media: dt/bindings: Add device tree description for Omnivision ov5640 sensor
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com> Upstream already added a binding ov5640, placed our docs in ov5640_mipi.txt instead. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>pull/10/head
parent
4225544763
commit
e1fa767753
|
@ -0,0 +1,114 @@
|
|||
* 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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue