| 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. |
| |
| - 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>; |
| }; |
| }; |
| }; |
| }; |