blob: dc6eb1812e4afe5a7bd65ef2d2ea5b78e65f432b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2021 Toradex
*/
// Verdin iMX8M Plus Mezzanine orderable at Toradex.
// CSI Camera Module 5MP OV5640 previously orderable at Toradex.
// Note: Uses the same GPIOs as the first camera interface CSI_1
// and the same I2C bus as used for DSI display adapters!
/dts-v1/;
/plugin/;
#include <dt-bindings/clock/imx8mp-clock.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "toradex,verdin-imx8mp";
};
&cameradev {
status = "okay";
};
/* Verdin I2C_2_DSI (JP3 2-3, JP4 2-3) */
&i2c2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ov5640_mipi@3c {
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
assigned-clock-rates = <24000000>;
AVDD-supply = <®_3p3v>;
compatible = "ovti,ov5640";
clock-names = "xclk";
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
csi_id = <1>;
DOVDD-supply = <®_3p3v>;
DVDD-supply = <®_3p3v>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio5>, <&pinctrl_gpio6>;
/* Verdin GPIO6 (JP6 2-3) */
powerdown-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
PVDD-supply = <®_3p3v>;
reg = <0x3c>;
/* Verdin GPIO5 (JP5 2-3) */
reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
status = "okay";
port {
ov5640_mipi_1_ep: endpoint {
clock-lanes = <0>;
data-lanes = <1 2>;
remote-endpoint = <&mipi_csi1_ep>;
};
};
};
};
&isi_1 {
status = "okay";
cap_device {
status = "okay";
};
};
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port@1 {
reg = <1>;
mipi_csi1_ep: endpoint {
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
data-lanes = <2>;
remote-endpoint = <&ov5640_mipi_1_ep>;
};
};
};
|