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

Atmel Image Sensor Controller (ISC)
----------------------------------------------

Required properties for ISC:
- compatible
	Must be "atmel,sama5d2-isc".
- reg
	Physical base address and length of the registers set for the device.
- interrupts
	Should contain IRQ line for the ISC.
- clocks
	List of clock specifiers, corresponding to entries in
	the clock-names property;
	Please refer to clock-bindings.txt.
- clock-names
	Required elements: "hclock", "iscck", "gck".
- #clock-cells
	Should be 0.
- clock-output-names
	Should be "isc-mck".
- pinctrl-names, pinctrl-0
	Please refer to pinctrl-bindings.txt.

ISC supports a single port node with parallel bus. It should contain one
'port' child node with child 'endpoint' node. Please refer to the bindings
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:
isc: isc@f0008000 {
	compatible = "atmel,sama5d2-isc";
	reg = <0xf0008000 0x4000>;
	interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
	clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
	clock-names = "hclock", "iscck", "gck";
	#clock-cells = <0>;
	clock-output-names = "isc-mck";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;

	port {
		isc_0: endpoint {
			remote-endpoint = <&ov7740_0>;
			hsync-active = <1>;
			vsync-active = <0>;
			pclk-sample = <1>;
		};
	};
};

i2c1: i2c@fc028000 {
	ov7740: camera@21 {
		compatible = "ovti,ov7740";
		reg = <0x21>;
		clocks = <&isc>;
		clock-names = "xvclk";
		assigned-clocks = <&isc>;
		assigned-clock-rates = <24000000>;

		port {
			ov7740_0: endpoint {
				remote-endpoint = <&isc_0>;
			};
		};
	};
};