Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Renesas R-Car Video Input driver (rcar_vin)
2-------------------------------------------
3
4The rcar_vin device provides video input capabilities for the Renesas R-Car
5family of devices. The current blocks are always slaves and suppot one input
6channel 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
28Additionally, an alias named vinX will need to be created to specify
29which video input device this is.
30
31The 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
40Device node example
41-------------------
42
43 aliases {
44 vin0 = &vin0;
45 };
46
47 vin0: vin@e6ef0000 {
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
55Board 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