Freescale i.MX7 CMOS Sensor Interface
=====================================

csi node
--------

This is device node for the CMOS Sensor Interface (CSI) which enables the chip
to connect directly to external CMOS image sensors.

Required properties:

- compatible    : "fsl,imx7-csi";
- reg           : base address and length of the register set for the device;
- interrupts    : should contain CSI interrupt;
- clocks        : list of clock specifiers, see
        Documentation/devicetree/bindings/clock/clock-bindings.txt for details;
- clock-names   : must contain "mclk";

The device node shall contain one 'port' child node with one child 'endpoint'
node, according to the bindings defined in:
Documentation/devicetree/bindings/media/video-interfaces.txt.

In the following example a remote endpoint is a video multiplexer.

example:

                csi: csi@30710000 {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        compatible = "fsl,imx7-csi";
                        reg = <0x30710000 0x10000>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clks IMX7D_CSI_MCLK_ROOT_CLK>;
                        clock-names = "mclk";

                        port {
                                csi_from_csi_mux: endpoint {
                                        remote-endpoint = <&csi_mux_to_csi>;
                                };
                        };
                };
