1a5562f65SLaurent PinchartXilinx Video Test Pattern Generator (TPG)
2a5562f65SLaurent Pinchart-----------------------------------------
3a5562f65SLaurent Pinchart
4a5562f65SLaurent PinchartRequired properties:
5a5562f65SLaurent Pinchart
6a5562f65SLaurent Pinchart- compatible: Must contain at least one of
7a5562f65SLaurent Pinchart
8a5562f65SLaurent Pinchart    "xlnx,v-tpg-5.0" (TPG version 5.0)
9a5562f65SLaurent Pinchart    "xlnx,v-tpg-6.0" (TPG version 6.0)
10a5562f65SLaurent Pinchart
11a5562f65SLaurent Pinchart  TPG versions backward-compatible with previous versions should list all
12a5562f65SLaurent Pinchart  compatible versions in the newer to older order.
13a5562f65SLaurent Pinchart
14a5562f65SLaurent Pinchart- reg: Physical base address and length of the registers set for the device.
15a5562f65SLaurent Pinchart
16a5562f65SLaurent Pinchart- clocks: Reference to the video core clock.
17a5562f65SLaurent Pinchart
18a5562f65SLaurent Pinchart- xlnx,video-format, xlnx,video-width: Video format and width, as defined in
19a5562f65SLaurent Pinchart  video.txt.
20a5562f65SLaurent Pinchart
21a5562f65SLaurent Pinchart- port: Video port, using the DT bindings defined in ../video-interfaces.txt.
22a5562f65SLaurent Pinchart  The TPG has a single output port numbered 0.
23a5562f65SLaurent Pinchart
24a5562f65SLaurent PinchartOptional properties:
25a5562f65SLaurent Pinchart
26a5562f65SLaurent Pinchart- xlnx,vtc: A phandle referencing the Video Timing Controller that generates
27a5562f65SLaurent Pinchart  video timings for the TPG test patterns.
28a5562f65SLaurent Pinchart
29a5562f65SLaurent Pinchart- timing-gpios: Specifier for a GPIO that controls the timing mux at the TPG
30a5562f65SLaurent Pinchart  input. The GPIO active level corresponds to the selection of VTC-generated
31a5562f65SLaurent Pinchart  video timings.
32a5562f65SLaurent Pinchart
33a5562f65SLaurent PinchartThe xlnx,vtc and timing-gpios properties are mandatory when the TPG is
34a5562f65SLaurent Pinchartsynthesized with two ports and forbidden when synthesized with one port.
35a5562f65SLaurent Pinchart
36a5562f65SLaurent PinchartExample:
37a5562f65SLaurent Pinchart
38a5562f65SLaurent Pinchart	tpg_0: tpg@40050000 {
39a5562f65SLaurent Pinchart		compatible = "xlnx,v-tpg-6.0", "xlnx,v-tpg-5.0";
40a5562f65SLaurent Pinchart		reg = <0x40050000 0x10000>;
41a5562f65SLaurent Pinchart		clocks = <&clkc 15>;
42a5562f65SLaurent Pinchart
43a5562f65SLaurent Pinchart		xlnx,vtc = <&vtc_3>;
44a5562f65SLaurent Pinchart		timing-gpios = <&ps7_gpio_0 55 GPIO_ACTIVE_LOW>;
45a5562f65SLaurent Pinchart
46a5562f65SLaurent Pinchart		ports {
47a5562f65SLaurent Pinchart			#address-cells = <1>;
48a5562f65SLaurent Pinchart			#size-cells = <0>;
49a5562f65SLaurent Pinchart
50a5562f65SLaurent Pinchart			port@0 {
51a5562f65SLaurent Pinchart				reg = <0>;
52a5562f65SLaurent Pinchart
53a5562f65SLaurent Pinchart				xlnx,video-format = <XVIP_VF_YUV_422>;
54a5562f65SLaurent Pinchart				xlnx,video-width = <8>;
55a5562f65SLaurent Pinchart
56a5562f65SLaurent Pinchart				tpg_in: endpoint {
57a5562f65SLaurent Pinchart					remote-endpoint = <&adv7611_out>;
58a5562f65SLaurent Pinchart				};
59a5562f65SLaurent Pinchart			};
60a5562f65SLaurent Pinchart			port@1 {
61a5562f65SLaurent Pinchart				reg = <1>;
62a5562f65SLaurent Pinchart
63a5562f65SLaurent Pinchart				xlnx,video-format = <XVIP_VF_YUV_422>;
64a5562f65SLaurent Pinchart				xlnx,video-width = <8>;
65a5562f65SLaurent Pinchart
66a5562f65SLaurent Pinchart				tpg1_out: endpoint {
67a5562f65SLaurent Pinchart					remote-endpoint = <&switch_in0>;
68a5562f65SLaurent Pinchart				};
6919326ef0SAkinobu Mita			};
70a5562f65SLaurent Pinchart		};
71a5562f65SLaurent Pinchart	};
72