Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Renesas Capture Engine Unit (CEU)
----------------------------------------------

The Capture Engine Unit is the image capture interface found in the Renesas
SH Mobile, R-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 one of the following values:
	"renesas,r7s72100-ceu" for CEU units found in RZ/A1H and RZ/A1M SoCs
	"renesas,r8a7740-ceu" for CEU units found in R-Mobile A1 R8A7740 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:
[1] 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: See [1] for description. If property is not present,
  default is active high.
- vsync-active: See [1] for description. If property is not present,
  default is active high.
- bus-width: See [1] for description. Accepted values are '8' and '16'.
  If property is not present, default is '8'.
- field-even-active: See [1] for description. If property is not present,
  an even field is identified by a logic 0 (active-low signal).

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>;
			};
		};
	};
};