-
Notifications
You must be signed in to change notification settings - Fork 103
/
fsl,v4l2-capture.txt
112 lines (103 loc) · 3.98 KB
/
fsl,v4l2-capture.txt
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
* Freescale V4L2 Capture for i.MX6DQ/i.MX6SDL
Required board properties for IPUv3 capture:
- clocks: should include the clock provided by i.MX6 to sensor
- clock-names: sensor clock's name should be "ipux_csiy"
x should be 1 or 2 for i.MX6DQ; should be 1 for i.MX6SDL
y is 0 or 1 for i.MX6DQ/i.MX6SDL
Note: other detailed information for IPUv3, please refer to
Documentation/devicetree/bindings/fb/fsl_ipuv3_fb.txt
Required properties for v4l2_capture
- compatible: should be "fsl,imx6q-v4l2-capture"
- ipu_id: ipu id for v4l2 capture device
should be 0 or 1 for i.MX6DQ; should be 0 for i.MX6SDL
- csi_id: csi id for v4l2 capture device
should be 0 or 1 for i.MX6DQ/i.MX6SDL
- mclk_source: should be 0 or 1. two mclk sources at most now
- status: should be set to "okay" to enable this device
Required properties for sensor
- compatible: "<vendor>,<sensor>"
please check the supported sensor in the Supported Sensor fields.
- reg: sensor I2C slave address
- pinctrl-names: should be "default" for parallel sensor
- pinctrl-0: should depend on the connection between sensor and i.MX
connection between sensor and i.MX could be MIPI-CSI2 or legacy parallel
- clocks: should be the clock source provided to sensor.
- clock-names: should be "csi_mclk"
- DOVDD-supply: set according to the board.
- AVDD-supply: set according to the board.
- DVDD-supply: set according to the board.
- pwn-gpios: set according to the board.
- rst-gpios: set according to the board.
- csi_id: csi id for v4l2 capture device
should be 0 or 1 for i.MX6DQ/i.MX6SDL.
- ipu_id: ipu id for v4l2 capture device.
should be 0 or 1 for i.MX6DQ/i.MX6SDL.
- mclk: should the value of mclk clock send out the sensor. unit is Hz.
- mclk_source: should be 0 or 1 and should be the same as the setting in
v4l2_capture.
- cvbs: 1 for CVBS input, 0 YPbPr input. This property is only needed for
adv7180 tv decoder.
- digi,alt-pwn-gpios: Alternative power GPIO. It can be used to power off
a second sensor with a conflicting I2C slave address so that the current
slave address could be changed. This is needed if for example reset and
power down pins are not available in both camera boards.
- digi,defer-probe: Voluntarily defer probe to give other camera sensors
the chance to probe first and if using digi,alt-pwn-gpios place this one
in power down so that they can reconfigure its i2c slave address (in case
of i2c slave address clash)
Supported Sensor
- ov5640
- ov5642
- ov5640_mipi
- adv7180
Example for IPUv3 including capture settings on imx6q-sabresd.dts:
ipu1: ipu@02400000 { /* IPU1 */
compatible = "fsl,imx6q-ipuv3";
reg = <0x02400000 0x400000>;
interrupts = <0 5 0x04>, < 0 6 0x04>;
clocks = <&clks 130>, <&clks 131>, <&clks 132>, <&clks 39>, <&clks 40>, <&clks 169>;
clock-names = "ipu1", "ipu1_di0", "ipu1_di1", "ipu1_di0_sel", "ipu1_di1_sel", "ipu1_csi0";
status = "disabled";
};
Examples for v4l2_capture:
v4l2_cap {
compatible = "fsl,imx6q-v4l2-capture";
ipu_id = <0>;
csi_id = <0>;
mclk_source = <0>;
status = "okay";
};
Examples for sensors:
ov5642: ov5642@3c {
compatible = "ovti,ov5642";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_2>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <&vgen4_reg>; /* 1.8v */
AVDD-supply = <&vgen3_reg>; /* 2.8v, on rev C board is VGEN3 */
DVDD-supply = <&vgen2_reg>; /* 1.5v*/
pwn-gpios = <&gpio1 16 1>; /* active low: SD1_DAT0 */
rst-gpios = <&gpio1 17 0>; /* active high: SD1_DAT1 */
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
};
adv7180: adv7180@21 {
compatible = "adv,adv7180";
reg = <0x21>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_3>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <®_3p3v>; /* 3.3v, enabled via 2.8 VGEN6 */
AVDD-supply = <®_3p3v>; /* 1.8v */
DVDD-supply = <®_3p3v>; /* 1.8v */
PVDD-supply = <®_3p3v>; /* 1.8v */
pwn-gpios = <&max7310_b 2 0>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
cvbs = <1>;
};