summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/renesas,ceu.txt
blob: 3fc66dfb192cd1bf2d5a307a20c92e83f59755e6 (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
Renesas Capture Engine Unit (CEU)
----------------------------------------------

The Capture Engine Unit is the image capture interface found in the Renesas
SH Mobile and RZ SoCs.

The interface supports a single parallel input with data bus width of 8 or 16
bits.

Required properties:
- compatible: Shall be "renesas,r7s72100-ceu" for CEU units found in RZ/A1H
  and RZ/A1M SoCs.
- reg: Registers address base and size.
- interrupts: The interrupt specifier.

The CEU supports a single parallel input and should contain a single 'port'
subnode with a single 'endpoint'. Connection to input devices are modeled
according to the video interfaces OF bindings specified in:
Documentation/devicetree/bindings/media/video-interfaces.txt

Optional endpoint properties applicable to parallel input bus described in
the above mentioned "video-interfaces.txt" file are supported.

- hsync-active: Active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
  If property is not present, default is active high.
- vsync-active: Active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
  If property is not present, default is active high.

Example:

The example describes the connection between the Capture Engine Unit and an
OV7670 image sensor connected to i2c1 interface.

ceu: ceu@e8210000 {
	reg = <0xe8210000 0x209c>;
	compatible = "renesas,r7s72100-ceu";
	interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;

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

	status = "okay";

	port {
		ceu_in: endpoint {
			remote-endpoint = <&ov7670_out>;

			hsync-active = <1>;
			vsync-active = <0>;
		};
	};
};

i2c1: i2c@fcfee400 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins>;

	status = "okay";

	clock-frequency = <100000>;

	ov7670: camera@21 {
		compatible = "ovti,ov7670";
		reg = <0x21>;

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

		reset-gpios = <&port3 11 GPIO_ACTIVE_LOW>;
		powerdown-gpios = <&port3 12 GPIO_ACTIVE_HIGH>;

		port {
			ov7670_out: endpoint {
				remote-endpoint = <&ceu_in>;

				hsync-active = <1>;
				vsync-active = <0>;
			};
		};
	};
};