162306a36Sopenharmony_ciAtmel Image Sensor Interface (ISI) 262306a36Sopenharmony_ci---------------------------------- 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciRequired properties for ISI: 562306a36Sopenharmony_ci- compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi". 662306a36Sopenharmony_ci- reg: physical base address and length of the registers set for the device. 762306a36Sopenharmony_ci- interrupts: should contain IRQ line for the ISI. 862306a36Sopenharmony_ci- clocks: list of clock specifiers, corresponding to entries in the clock-names 962306a36Sopenharmony_ci property; please refer to clock-bindings.txt. 1062306a36Sopenharmony_ci- clock-names: required elements: "isi_clk". 1162306a36Sopenharmony_ci- pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciISI supports a single port node with parallel bus. It shall contain one 1462306a36Sopenharmony_ci'port' child node with child 'endpoint' node. Please refer to the bindings 1562306a36Sopenharmony_cidefined in Documentation/devicetree/bindings/media/video-interfaces.txt. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciEndpoint node properties 1862306a36Sopenharmony_ci------------------------ 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci- bus-width: <8> or <10> (mandatory) 2162306a36Sopenharmony_ci- hsync-active (default: active high) 2262306a36Sopenharmony_ci- vsync-active (default: active high) 2362306a36Sopenharmony_ci- pclk-sample (default: sample on falling edge) 2462306a36Sopenharmony_ci- remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory). 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciExample: 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciisi: isi@f0034000 { 2962306a36Sopenharmony_ci compatible = "atmel,at91sam9g45-isi"; 3062306a36Sopenharmony_ci reg = <0xf0034000 0x4000>; 3162306a36Sopenharmony_ci interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>; 3262306a36Sopenharmony_ci pinctrl-names = "default"; 3362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_isi_data_0_7>; 3462306a36Sopenharmony_ci clocks = <&isi_clk>; 3562306a36Sopenharmony_ci clock-names = "isi_clk"; 3662306a36Sopenharmony_ci port { 3762306a36Sopenharmony_ci isi_0: endpoint { 3862306a36Sopenharmony_ci remote-endpoint = <&ov2640_0>; 3962306a36Sopenharmony_ci bus-width = <8>; 4062306a36Sopenharmony_ci vsync-active = <1>; 4162306a36Sopenharmony_ci hsync-active = <1>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci}; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_cii2c1: i2c@f0018000 { 4762306a36Sopenharmony_ci ov2640: camera@30 { 4862306a36Sopenharmony_ci compatible = "ovti,ov2640"; 4962306a36Sopenharmony_ci reg = <0x30>; 5062306a36Sopenharmony_ci pinctrl-names = "default"; 5162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; 5262306a36Sopenharmony_ci resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>; 5362306a36Sopenharmony_ci pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>; 5462306a36Sopenharmony_ci clocks = <&pck0>; 5562306a36Sopenharmony_ci clock-names = "xvclk"; 5662306a36Sopenharmony_ci assigned-clocks = <&pck0>; 5762306a36Sopenharmony_ci assigned-clock-rates = <25000000>; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci port { 6062306a36Sopenharmony_ci ov2640_0: endpoint { 6162306a36Sopenharmony_ci remote-endpoint = <&isi_0>; 6262306a36Sopenharmony_ci bus-width = <8>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci}; 67