Renesas R-Car MIPI CSI-2 ------------------------ The R-Car CSI-2 receiver device provides MIPI CSI-2 capabilities for the Renesas R-Car family of devices. It is used in conjunction with the R-Car VIN module, which provides the video capture capabilities. Mandatory properties -------------------- - compatible: Must be one or more of the following - "renesas,r8a7795-csi2" for the R8A7795 device. - "renesas,r8a7796-csi2" for the R8A7796 device. - "renesas,r8a77965-csi2" for the R8A77965 device. - "renesas,r8a77970-csi2" for the R8A77970 device. - "renesas,r8a77980-csi2" for the R8A77980 device. - "renesas,r8a77990-csi2" for the R8A77990 device. - reg: the register base and size for the device registers - interrupts: the interrupt for the device - clocks: reference to the parent clock The device node shall contain two 'port' child nodes according to the bindings defined in Documentation/devicetree/bindings/media/ video-interfaces.txt. port@0 shall connect to the CSI-2 source. port@1 shall connect to all the R-Car VIN modules that have a hardware connection to the CSI-2 receiver. - port@0- Video source (mandatory) - endpoint@0 - sub-node describing the endpoint that is the video source - port@1 - VIN instances (optional) - One endpoint sub-node for every R-Car VIN instance which is connected to the R-Car CSI-2 receiver. Example: csi20: csi2@fea80000 { compatible = "renesas,r8a7796-csi2"; reg = <0 0xfea80000 0 0x10000>; interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 714>; power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; resets = <&cpg 714>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; csi20_in: endpoint@0 { reg = <0>; clock-lanes = <0>; data-lanes = <1>; remote-endpoint = <&adv7482_txb>; }; }; port@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; csi20vin0: endpoint@0 { reg = <0>; remote-endpoint = <&vin0csi20>; }; csi20vin1: endpoint@1 { reg = <1>; remote-endpoint = <&vin1csi20>; }; csi20vin2: endpoint@2 { reg = <2>; remote-endpoint = <&vin2csi20>; }; csi20vin3: endpoint@3 { reg = <3>; remote-endpoint = <&vin3csi20>; }; csi20vin4: endpoint@4 { reg = <4>; remote-endpoint = <&vin4csi20>; }; csi20vin5: endpoint@5 { reg = <5>; remote-endpoint = <&vin5csi20>; }; csi20vin6: endpoint@6 { reg = <6>; remote-endpoint = <&vin6csi20>; }; csi20vin7: endpoint@7 { reg = <7>; remote-endpoint = <&vin7csi20>; }; }; }; };