| Renesas R-Car Video Input driver (rcar_vin) |
| ------------------------------------------- |
| |
| The rcar_vin device provides video input capabilities for the Renesas R-Car |
| family of devices. The current blocks are always slaves and suppot one input |
| channel which can be either RGB, YUYV or BT656. |
| |
| - compatible: Must be one or more of the following |
| - "renesas,vin-r8a7795" for the R8A7795 device |
| - "renesas,vin-r8a7794" for the R8A7794 device |
| - "renesas,vin-r8a7793" for the R8A7793 device |
| - "renesas,vin-r8a7792" for the R8A7792 device |
| - "renesas,vin-r8a7791" for the R8A7791 device |
| - "renesas,vin-r8a7790" for the R8A7790 device |
| - "renesas,vin-r8a7779" for the R8A7779 device |
| - "renesas,vin-r8a7778" for the R8A7778 device |
| - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 compatible device. |
| - "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device. |
| |
| When compatible with the generic version nodes must list the |
| SoC-specific version corresponding to the platform first |
| followed by the generic version. |
| |
| - reg: the register base and size for the device registers |
| - interrupts: the interrupt for the device |
| - clocks: Reference to the parent clock |
| |
| Additionally, an alias named vinX will need to be created to specify |
| which video input device this is. |
| |
| The per-board settings: |
| - port sub-node describing a single endpoint connected to the vin |
| as described in video-interfaces.txt[1]. Only the first one will |
| be considered as each vin interface has one input port. |
| |
| These settings are used to work out video input format and widths |
| into the system. |
| |
| |
| Device node example |
| ------------------- |
| |
| aliases { |
| vin0 = &vin0; |
| }; |
| |
| vin0: vin@0xe6ef0000 { |
| compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; |
| clocks = <&mstp8_clks R8A7790_CLK_VIN0>; |
| reg = <0 0xe6ef0000 0 0x1000>; |
| interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>; |
| status = "disabled"; |
| }; |
| |
| Board setup example (vin1 composite video input) |
| ------------------------------------------------ |
| |
| &i2c2 { |
| status = "ok"; |
| pinctrl-0 = <&i2c2_pins>; |
| pinctrl-names = "default"; |
| |
| adv7180@20 { |
| compatible = "adi,adv7180"; |
| reg = <0x20>; |
| remote = <&vin1>; |
| |
| port { |
| adv7180: endpoint { |
| bus-width = <8>; |
| remote-endpoint = <&vin1ep0>; |
| }; |
| }; |
| }; |
| }; |
| |
| /* composite video input */ |
| &vin1 { |
| pinctrl-0 = <&vin1_pins>; |
| pinctrl-names = "default"; |
| |
| status = "ok"; |
| |
| port { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| vin1ep0: endpoint { |
| remote-endpoint = <&adv7180>; |
| bus-width = <8>; |
| }; |
| }; |
| }; |
| |
| |
| |
| [1] video-interfaces.txt common video media interface |