GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / media / rcar_vin.txt
1 Renesas R-Car Video Input driver (rcar_vin)
2 -------------------------------------------
3
4 The rcar_vin device provides video input capabilities for the Renesas R-Car
5 family of devices. The current blocks are always slaves and suppot one input
6 channel which can be either RGB, YUYV or BT656.
7
8  - compatible: Must be one or more of the following
9    - "renesas,vin-r8a7795" for the R8A7795 device
10    - "renesas,vin-r8a7794" for the R8A7794 device
11    - "renesas,vin-r8a7793" for the R8A7793 device
12    - "renesas,vin-r8a7792" for the R8A7792 device
13    - "renesas,vin-r8a7791" for the R8A7791 device
14    - "renesas,vin-r8a7790" for the R8A7790 device
15    - "renesas,vin-r8a7779" for the R8A7779 device
16    - "renesas,vin-r8a7778" for the R8A7778 device
17    - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 compatible device.
18    - "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device.
19
20    When compatible with the generic version nodes must list the
21    SoC-specific version corresponding to the platform first
22    followed by the generic version.
23
24  - reg: the register base and size for the device registers
25  - interrupts: the interrupt for the device
26  - clocks: Reference to the parent clock
27
28 Additionally, an alias named vinX will need to be created to specify
29 which video input device this is.
30
31 The per-board settings:
32  - port sub-node describing a single endpoint connected to the vin
33    as described in video-interfaces.txt[1]. Only the first one will
34    be considered as each vin interface has one input port.
35
36    These settings are used to work out video input format and widths
37    into the system.
38
39
40 Device node example
41 -------------------
42
43         aliases {
44                vin0 = &vin0;
45         };
46
47         vin0: vin@0xe6ef0000 {
48                 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
49                 clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
50                 reg = <0 0xe6ef0000 0 0x1000>;
51                 interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
52                 status = "disabled";
53         };
54
55 Board setup example (vin1 composite video input)
56 ------------------------------------------------
57
58 &i2c2   {
59         status = "ok";
60         pinctrl-0 = <&i2c2_pins>;
61         pinctrl-names = "default";
62
63         adv7180@20 {
64                 compatible = "adi,adv7180";
65                 reg = <0x20>;
66                 remote = <&vin1>;
67
68                 port {
69                         adv7180: endpoint {
70                                 bus-width = <8>;
71                                 remote-endpoint = <&vin1ep0>;
72                         };
73                 };
74         };
75 };
76
77 /* composite video input */
78 &vin1 {
79         pinctrl-0 = <&vin1_pins>;
80         pinctrl-names = "default";
81
82         status = "ok";
83
84         port {
85                 #address-cells = <1>;
86                 #size-cells = <0>;
87
88                 vin1ep0: endpoint {
89                         remote-endpoint = <&adv7180>;
90                         bus-width = <8>;
91                 };
92         };
93 };
94
95
96
97 [1] video-interfaces.txt common video media interface