hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Texas Instruments VPIF
----------------------
 
The TI Video Port InterFace (VPIF) is the primary component for video
capture and display on the DA850/AM18x family of TI DaVinci/Sitara
SoCs.
 
TI Document reference: SPRUH82C, Chapter 35
http://www.ti.com/lit/pdf/spruh82
 
Required properties:
- compatible: must be "ti,da850-vpif"
- reg: physical base address and length of the registers set for the device;
- interrupts: should contain IRQ line for the VPIF
 
Video Capture:
 
VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
single 16-bit channel. It should contain one or two port child nodes
with child 'endpoint' node. If there are two ports then port@0 must
describe the input and port@1 output channels. Please refer to the
bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.
 
Example using 2 8-bit input channels, one of which is connected to an
I2C-connected TVP5147 decoder:
 
   vpif: vpif@217000 {
       compatible = "ti,da850-vpif";
       reg = <0x217000 0x1000>;
       interrupts = <92>;
 
       port@0 {
           vpif_input_ch0: endpoint@0 {
               reg = <0>;
               bus-width = <8>;
               remote-endpoint = <&composite_in>;
           };
 
           vpif_input_ch1: endpoint@1 {
               reg = <1>;
               bus-width = <8>;
               data-shift = <8>;
           };
       };
 
       port@1 {
           vpif_output_ch0: endpoint {
               bus-width = <8>;
               remote-endpoint = <&composite_out>;
           };
       };
   };
 
[ ... ]
 
&i2c0 {
 
   tvp5147@5d {
       compatible = "ti,tvp5147";
       reg = <0x5d>;
 
       port {
           composite_in: endpoint {
               hsync-active = <1>;
               vsync-active = <1>;
               pclk-sample = <0>;
 
               /* VPIF channel 0 (lower 8-bits) */
               remote-endpoint = <&vpif_input_ch0>;
               bus-width = <8>;
           };
       };
   };
 
   adv7343@2a {
       compatible = "adi,adv7343";
       reg = <0x2a>;
 
       port {
           composite_out: endpoint {
               adi,dac-enable = <1 1 1>;
               adi,sd-dac-enable = <1>;
 
               remote-endpoint = <&vpif_output_ch0>;
               bus-width = <8>;
           };
       };
   };
};
 
 
Alternatively, an example when the bus is configured as a single
16-bit input (e.g. for raw-capture mode):
 
   vpif: vpif@217000 {
       compatible = "ti,da850-vpif";
       reg = <0x217000 0x1000>;
       interrupts = <92>;
 
       port {
           vpif_ch0: endpoint {
                 bus-width = <16>;
           };
       };
   };