18c2ecf20Sopenharmony_ciXilinx Video Test Pattern Generator (TPG)
28c2ecf20Sopenharmony_ci-----------------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciRequired properties:
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci- compatible: Must contain at least one of
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci    "xlnx,v-tpg-5.0" (TPG version 5.0)
98c2ecf20Sopenharmony_ci    "xlnx,v-tpg-6.0" (TPG version 6.0)
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci  TPG versions backward-compatible with previous versions should list all
128c2ecf20Sopenharmony_ci  compatible versions in the newer to older order.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci- reg: Physical base address and length of the registers set for the device.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci- clocks: Reference to the video core clock.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci- xlnx,video-format, xlnx,video-width: Video format and width, as defined in
198c2ecf20Sopenharmony_ci  video.txt.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci- port: Video port, using the DT bindings defined in ../video-interfaces.txt.
228c2ecf20Sopenharmony_ci  The TPG has a single output port numbered 0.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciOptional properties:
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci- xlnx,vtc: A phandle referencing the Video Timing Controller that generates
278c2ecf20Sopenharmony_ci  video timings for the TPG test patterns.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci- timing-gpios: Specifier for a GPIO that controls the timing mux at the TPG
308c2ecf20Sopenharmony_ci  input. The GPIO active level corresponds to the selection of VTC-generated
318c2ecf20Sopenharmony_ci  video timings.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciThe xlnx,vtc and timing-gpios properties are mandatory when the TPG is
348c2ecf20Sopenharmony_cisynthesized with two ports and forbidden when synthesized with one port.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciExample:
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	tpg_0: tpg@40050000 {
398c2ecf20Sopenharmony_ci		compatible = "xlnx,v-tpg-6.0", "xlnx,v-tpg-5.0";
408c2ecf20Sopenharmony_ci		reg = <0x40050000 0x10000>;
418c2ecf20Sopenharmony_ci		clocks = <&clkc 15>;
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci		xlnx,vtc = <&vtc_3>;
448c2ecf20Sopenharmony_ci		timing-gpios = <&ps7_gpio_0 55 GPIO_ACTIVE_LOW>;
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci		ports {
478c2ecf20Sopenharmony_ci			#address-cells = <1>;
488c2ecf20Sopenharmony_ci			#size-cells = <0>;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci			port@0 {
518c2ecf20Sopenharmony_ci				reg = <0>;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci				xlnx,video-format = <XVIP_VF_YUV_422>;
548c2ecf20Sopenharmony_ci				xlnx,video-width = <8>;
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci				tpg_in: endpoint {
578c2ecf20Sopenharmony_ci					remote-endpoint = <&adv7611_out>;
588c2ecf20Sopenharmony_ci				};
598c2ecf20Sopenharmony_ci			};
608c2ecf20Sopenharmony_ci			port@1 {
618c2ecf20Sopenharmony_ci				reg = <1>;
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci				xlnx,video-format = <XVIP_VF_YUV_422>;
648c2ecf20Sopenharmony_ci				xlnx,video-width = <8>;
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci				tpg1_out: endpoint {
678c2ecf20Sopenharmony_ci					remote-endpoint = <&switch_in0>;
688c2ecf20Sopenharmony_ci				};
698c2ecf20Sopenharmony_ci			};
708c2ecf20Sopenharmony_ci		};
718c2ecf20Sopenharmony_ci	};
72