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