162306a36Sopenharmony_ciXilinx Video Test Pattern Generator (TPG)
262306a36Sopenharmony_ci-----------------------------------------
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciRequired properties:
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci- compatible: Must contain at least one of
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci    "xlnx,v-tpg-5.0" (TPG version 5.0)
962306a36Sopenharmony_ci    "xlnx,v-tpg-6.0" (TPG version 6.0)
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci  TPG versions backward-compatible with previous versions should list all
1262306a36Sopenharmony_ci  compatible versions in the newer to older order.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci- reg: Physical base address and length of the registers set for the device.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci- clocks: Reference to the video core clock.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci- xlnx,video-format, xlnx,video-width: Video format and width, as defined in
1962306a36Sopenharmony_ci  video.txt.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci- port: Video port, using the DT bindings defined in ../video-interfaces.txt.
2262306a36Sopenharmony_ci  The TPG has a single output port numbered 0.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciOptional properties:
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci- xlnx,vtc: A phandle referencing the Video Timing Controller that generates
2762306a36Sopenharmony_ci  video timings for the TPG test patterns.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci- timing-gpios: Specifier for a GPIO that controls the timing mux at the TPG
3062306a36Sopenharmony_ci  input. The GPIO active level corresponds to the selection of VTC-generated
3162306a36Sopenharmony_ci  video timings.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciThe xlnx,vtc and timing-gpios properties are mandatory when the TPG is
3462306a36Sopenharmony_cisynthesized with two ports and forbidden when synthesized with one port.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciExample:
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	tpg_0: tpg@40050000 {
3962306a36Sopenharmony_ci		compatible = "xlnx,v-tpg-6.0", "xlnx,v-tpg-5.0";
4062306a36Sopenharmony_ci		reg = <0x40050000 0x10000>;
4162306a36Sopenharmony_ci		clocks = <&clkc 15>;
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci		xlnx,vtc = <&vtc_3>;
4462306a36Sopenharmony_ci		timing-gpios = <&ps7_gpio_0 55 GPIO_ACTIVE_LOW>;
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		ports {
4762306a36Sopenharmony_ci			#address-cells = <1>;
4862306a36Sopenharmony_ci			#size-cells = <0>;
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci			port@0 {
5162306a36Sopenharmony_ci				reg = <0>;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci				xlnx,video-format = <XVIP_VF_YUV_422>;
5462306a36Sopenharmony_ci				xlnx,video-width = <8>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci				tpg_in: endpoint {
5762306a36Sopenharmony_ci					remote-endpoint = <&adv7611_out>;
5862306a36Sopenharmony_ci				};
5962306a36Sopenharmony_ci			};
6062306a36Sopenharmony_ci			port@1 {
6162306a36Sopenharmony_ci				reg = <1>;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci				xlnx,video-format = <XVIP_VF_YUV_422>;
6462306a36Sopenharmony_ci				xlnx,video-width = <8>;
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci				tpg1_out: endpoint {
6762306a36Sopenharmony_ci					remote-endpoint = <&switch_in0>;
6862306a36Sopenharmony_ci				};
6962306a36Sopenharmony_ci			};
7062306a36Sopenharmony_ci		};
7162306a36Sopenharmony_ci	};
72