18c2ecf20Sopenharmony_ciAtmel Image Sensor Controller (ISC)
28c2ecf20Sopenharmony_ci----------------------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciRequired properties for ISC:
58c2ecf20Sopenharmony_ci- compatible
68c2ecf20Sopenharmony_ci	Must be "atmel,sama5d2-isc".
78c2ecf20Sopenharmony_ci- reg
88c2ecf20Sopenharmony_ci	Physical base address and length of the registers set for the device.
98c2ecf20Sopenharmony_ci- interrupts
108c2ecf20Sopenharmony_ci	Should contain IRQ line for the ISC.
118c2ecf20Sopenharmony_ci- clocks
128c2ecf20Sopenharmony_ci	List of clock specifiers, corresponding to entries in
138c2ecf20Sopenharmony_ci	the clock-names property;
148c2ecf20Sopenharmony_ci	Please refer to clock-bindings.txt.
158c2ecf20Sopenharmony_ci- clock-names
168c2ecf20Sopenharmony_ci	Required elements: "hclock", "iscck", "gck".
178c2ecf20Sopenharmony_ci- #clock-cells
188c2ecf20Sopenharmony_ci	Should be 0.
198c2ecf20Sopenharmony_ci- clock-output-names
208c2ecf20Sopenharmony_ci	Should be "isc-mck".
218c2ecf20Sopenharmony_ci- pinctrl-names, pinctrl-0
228c2ecf20Sopenharmony_ci	Please refer to pinctrl-bindings.txt.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciISC supports a single port node with parallel bus. It should contain one
258c2ecf20Sopenharmony_ci'port' child node with child 'endpoint' node. Please refer to the bindings
268c2ecf20Sopenharmony_cidefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciExample:
298c2ecf20Sopenharmony_ciisc: isc@f0008000 {
308c2ecf20Sopenharmony_ci	compatible = "atmel,sama5d2-isc";
318c2ecf20Sopenharmony_ci	reg = <0xf0008000 0x4000>;
328c2ecf20Sopenharmony_ci	interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
338c2ecf20Sopenharmony_ci	clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
348c2ecf20Sopenharmony_ci	clock-names = "hclock", "iscck", "gck";
358c2ecf20Sopenharmony_ci	#clock-cells = <0>;
368c2ecf20Sopenharmony_ci	clock-output-names = "isc-mck";
378c2ecf20Sopenharmony_ci	pinctrl-names = "default";
388c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	port {
418c2ecf20Sopenharmony_ci		isc_0: endpoint {
428c2ecf20Sopenharmony_ci			remote-endpoint = <&ov7740_0>;
438c2ecf20Sopenharmony_ci			hsync-active = <1>;
448c2ecf20Sopenharmony_ci			vsync-active = <0>;
458c2ecf20Sopenharmony_ci			pclk-sample = <1>;
468c2ecf20Sopenharmony_ci		};
478c2ecf20Sopenharmony_ci	};
488c2ecf20Sopenharmony_ci};
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cii2c1: i2c@fc028000 {
518c2ecf20Sopenharmony_ci	ov7740: camera@21 {
528c2ecf20Sopenharmony_ci		compatible = "ovti,ov7740";
538c2ecf20Sopenharmony_ci		reg = <0x21>;
548c2ecf20Sopenharmony_ci		clocks = <&isc>;
558c2ecf20Sopenharmony_ci		clock-names = "xvclk";
568c2ecf20Sopenharmony_ci		assigned-clocks = <&isc>;
578c2ecf20Sopenharmony_ci		assigned-clock-rates = <24000000>;
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		port {
608c2ecf20Sopenharmony_ci			ov7740_0: endpoint {
618c2ecf20Sopenharmony_ci				remote-endpoint = <&isc_0>;
628c2ecf20Sopenharmony_ci			};
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci};
66