/dts-v1/;
/plugin/;
&fpga {
	firmware-name = "vpl_gen_fixed_pld.pdi";
	misc_clk_1: misc_clk_1 {
		compatible = "fixed-clock";
		clock-frequency = <100000000>;
		#clock-cells = <0>;
	};
	misc_clk_0: misc_clk_0 {
		compatible = "fixed-clock";
		clock-frequency = <99999900>;
		#clock-cells = <0>;
	};
};

&amba {
	axi_intc_parent: interrupt-controller@a4820000 {
		#interrupt-cells = <2>;
		interrupts = < 0 84 4 >;
		xlnx,sense-of-irq-edge-type = "Rising";
		xlnx,edk-special = "INTR_CTRL";
		xlnx,kind-of-intr = <0xffffffff>;
		xlnx,kind-of-edge = <0xffffffff>;
		xlnx,irq-is-level = <1>;
		xlnx,has-ivr = <1>;
		compatible = "xlnx,axi-intc-4.1" , "xlnx,xps-intc-1.00.a";
		xlnx,disable-synchronizers = <0>;
		xlnx,kind-of-lvl = <0xffffffff>;
		xlnx,ivar-reset-value = <0x10>;
		xlnx,irq-active = <0x1>;
		interrupt-parent = <&gic>;
		xlnx,en-cascade-mode = <0>;
		xlnx,ip-name = "axi_intc";
		xlnx,has-ilr = <0>;
		reg = <0x0 0xa4820000 0x0 0x10000>;
		xlnx,addr-width = <0x20>;
		clocks = <&misc_clk_0>;
		xlnx,s-axi-aclk-freq-mhz = <0x5f5e09c>;
		xlnx,num-sw-intr = <0>;
		xlnx,irq-connection = <1>;
		xlnx,num-intr-inputs = <0x20>;
		xlnx,has-sie = <1>;
		xlnx,enable-async = <0>;
		xlnx,has-cie = <1>;
		xlnx,num-sync-ff = <2>;
		xlnx,edk-iptype = "PERIPHERAL";
		xlnx,mb-clk-not-connected = <1>;
		xlnx,has-ipr = <1>;
		xlnx,sense-of-irq-level-type = "Active_High";
		xlnx,cascade-master = <0>;
		xlnx,processor-clk-freq-mhz = <100>;
		xlnx,is-fast = <0x0>;
		clock-names = "s_axi_aclk";
		xlnx,has-fast = <0>;
		xlnx,ivar-rst-val = <0x10>;
		interrupt-controller;
		interrupt-names = "irq";
		xlnx,async-intr = <0xffffffff>;
		xlnx,name = "axi_intc_parent";
	};
	ai_engine_0: ai_engine@20000000000 {
		xlnx,num-mi-axi = <8>;
		compatible = "xlnx,ai-engine-2.0" , "xlnx,ai-engine-v2.0";
		xlnx,aie-ref-clk-freqmhz = <0x1fc9f08>;
		xlnx,aie-col-dict = "col00 0x20000000000 col01 0x20002000000 col02 0x20004000000 col03 0x20006000000 col04 0x20008000000 col05 0x2000A000000 col06 0x2000C000000 col07 0x2000E000000 col08 0x20010000000 col09 0x20012000000 col10 0x20014000000 col11 0x20016000000 col12 0x20018000000 col13 0x2001A000000 col14 0x2001C000000 col15 0x2001E000000 col16 0x20020000000 col17 0x20022000000 col18 0x20024000000 col19 0x20026000000 col20 0x20028000000 col21 0x2002A000000 col22 0x2002C000000 col23 0x2002E000000 col24 0x20030000000 col25 0x20032000000 col26 0x20034000000 col27 0x20036000000 col28 0x20038000000 col29 0x2003A000000 col30 0x2003C000000 col31 0x2003E000000 col32 0x20040000000 col33 0x20042000000 col34 0x20044000000 col35 0x20046000000 col36 0x20048000000 col37 0x2004A000000";
		xlnx,num-mi-axis = <0>;
		xlnx,aie-max-freq = <1250>;
		xlnx,en-addr-virtualization = <0>;
		xlnx,aie-gen = /bits/ 8 <0x2>;
		xlnx,mem-rows = /bits/ 8 <1 2>;
		xlnx,mi-destid-pins;
		xlnx,ip-name = "ai_engine";
		#size-cells = <2>;
		xlnx,num-si-axi = <1>;
		xlnx,fast-pm-write;
		reg = <0x00000200 0x00000000 0x00000001 0x00000000>;
		clocks = <&aie_core_ref_clk_0>;
		xlnx,num-noc-axis-clks = <0>;
		ranges;
		xlnx,num-clks = <0>;
		xlnx,partition-enabled = <0>;
		#address-cells = <2>;
		xlnx,num-si-axis = <0>;
		xlnx,name-mi-axi = "M00_AXI";
		xlnx,num-column = <1>;
		xlnx,aie-core-ref-ctrl-freqmhz = <1250>;
		xlnx,fast-dm-write;
		xlnx,edk-iptype = "PERIPHERAL";
		xlnx,selected-nsu = <0>;
		xlnx,available-nsu = "NOC_NSU128_X1Y6 0x20000000000 NOC_NSU128_X2Y6 0x20002000000 NOC_NSU128_X3Y6 0x20008000000 NOC_NSU128_X4Y6 0x2000A000000 NOC_NSU128_X5Y6 0x20018000000 NOC_NSU128_X6Y6 0x20020000000 NOC_NSU128_X7Y6 0x2002C000000 NOC_NSU128_X8Y6 0x20032000000 NOC_NSU128_X9Y6 0x2003E000000 NOC_NSU128_X10Y6 0x20042000000 NOC_NSU128_X11Y6 0x20046000000 NOC_NSU128_X12Y6 0x2004A000000";
		clock-names = "aclk0";
		power-domains = <&versal_firmware 0x18224072>;
		xlnx,num-trig-in = <0>;
		xlnx,nsu-dict = "NOC_NSU128_X1Y6 0x20000000000 NOC_NSU128_X2Y6 0x20002000000 NOC_NSU128_X3Y6 0x20008000000 NOC_NSU128_X4Y6 0x2000A000000 NOC_NSU128_X5Y6 0x20018000000 NOC_NSU128_X6Y6 0x20020000000 NOC_NSU128_X7Y6 0x2002C000000 NOC_NSU128_X8Y6 0x20032000000 NOC_NSU128_X9Y6 0x2003E000000 NOC_NSU128_X10Y6 0x20042000000 NOC_NSU128_X11Y6 0x20046000000 NOC_NSU128_X12Y6 0x2004A000000";
		xlnx,en-ext-rst = <1>;
		xlnx,num-trig-out = <0>;
		xlnx,core-rows = /bits/ 8 <3 8>;
		xlnx,shim-rows = /bits/ 8 <0 1>;
		xlnx,name-si-axi = "S00_AXI";
		xlnx,start-column = <0>;
		xlnx,name = "ai_engine_0";
		xlnx,aie-site = "AIE_ML";
		aie_aperture_0: aie_aperture@20000000000 {
			xlnx,device-name = <0>;
			interrupt-parent = <&gic>;
			interrupts = <0x0 0x94 0x4>, <0x0 0x95 0x4>, <0x0 0x96 0x4>;
			#address-cells = <2>;
			power-domains = <&versal_firmware 0x18224072>;
			xlnx,node-id = <0x18800000>;
			#size-cells = <2>;
			interrupt-names = "interrupt1" , "interrupt2" , "interrupt3";
			reg = <0x00000200 0x00000000 0x00000001 0x00000000>;
			xlnx,columns = < 0 38 >;
		};
	};
	axi_gpio_0: gpio@a4810000 {
		xlnx,gpio-board-interface = "Custom";
		compatible = "xlnx,axi-gpio-2.0" , "xlnx,xps-gpio-1.00.a";
		xlnx,all-outputs = <1>;
		#gpio-cells = <2>;
		xlnx,gpio-width = <1>;
		xlnx,dout-default = <0x0>;
		xlnx,is-dual = <0>;
		xlnx,ip-name = "axi_gpio";
		xlnx,tri-default-2 = <0xffffffff>;
		reg = <0x0 0xa4810000 0x0 0x10000>;
		xlnx,all-inputs-2 = <0>;
		clocks = <&misc_clk_1>;
		xlnx,all-outputs-2 = <0>;
		gpio-controller;
		xlnx,interrupt-present = <0>;
		xlnx,gpio2-board-interface = "Custom";
		xlnx,edk-iptype = "PERIPHERAL";
		xlnx,dout-default-2 = <0x0>;
		xlnx,gpio2-width = <32>;
		clock-names = "s_axi_aclk";
		xlnx,tri-default = <0xffffffff>;
		xlnx,name = "axi_gpio_0";
		xlnx,all-inputs = <0>;
	};
	dummy_slave_0: axi_vip@a4800000 {
		xlnx,axi-has-cache = <1>;
		xlnx,has-user-bits-per-byte = <1>;
		xlnx,has-prot = <1>;
		xlnx,ip-name = "axi_vip";
		xlnx,has-aclken = <0>;
		reg = <0x0 0xa4800000 0x0 0x10000>;
		xlnx,axi-has-burst = <1>;
		xlnx,axi-rdata-width = <32>;
		xlnx,axi-has-lock = <1>;
		xlnx,has-wstrb = <1>;
		xlnx,has-qos = <1>;
		xlnx,has-size = <0>;
		xlnx,axi-buser-width = <0>;
		xlnx,aruser-width = <16>;
		xlnx,data-width = <32>;
		compatible = "xlnx,axi-vip-1.1";
		xlnx,axi-has-aresetn = <1>;
		xlnx,axi-has-wstrb = <1>;
		xlnx,axi-awuser-width = <16>;
		xlnx,axi-rid-width = <0>;
		xlnx,axi-has-prot = <1>;
		xlnx,has-bresp = <1>;
		xlnx,buser-width = <0>;
		xlnx,axi-wid-width = <0>;
		xlnx,axi-interface-mode = <2>;
		xlnx,has-aresetn = <1>;
		xlnx,axi-has-bresp = <1>;
		xlnx,axi-ruser-width = <0>;
		xlnx,axi-wdata-width = <32>;
		xlnx,name = "dummy_slave_0";
		xlnx,axi-has-qos = <1>;
		xlnx,awuser-width = <16>;
		xlnx,ruser-bits-per-byte = <0>;
		xlnx,has-rresp = <1>;
		xlnx,supports-narrow = <0>;
		xlnx,slave-seg-type = "REG";
		xlnx,ruser-width = <0>;
		xlnx,read-write-mode = "READ_WRITE";
		xlnx,axi-addr-width = <32>;
		xlnx,addr-width = <32>;
		clocks = <&misc_clk_0>;
		xlnx,id-width = <0>;
		xlnx,axi-has-rresp = <1>;
		xlnx,edk-iptype = "PERIPHERAL";
		clock-names = "aclk";
		xlnx,protocol = "AXI4";
		xlnx,axi-wuser-width = <0>;
		xlnx,vip-pkg-name = <0>;
		xlnx,wuser-bits-per-byte = <0>;
		xlnx,has-lock = <1>;
		xlnx,wuser-width = <0>;
		xlnx,interface-mode = "SLAVE";
		xlnx,axi-has-region = <0>;
		xlnx,axi-supports-narrow = <0>;
		xlnx,has-cache = <1>;
		xlnx,has-region = <0>;
		xlnx,axi-aruser-width = <16>;
		xlnx,axi-protocol = <0>;
		xlnx,has-burst = <1>;
	};
	vdu_0: vdu@a4000000 {
		reset-gpios = <&axi_gpio_0 0 1>;
		xlnx,mcu-clk = <571>;
		xlnx,ip-name = "vdu";
		reg = <0x0 0xa4000000 0x0 0x800000>;
		xlnx,core-color-format-0 = <420>;
		xlnx,core-color-format-1 = <420>;
		xlnx,dec-frame-size-1 = <2>;
		xlnx,core-color-format-2 = <420>;
		xlnx,dec-frame-size-2 = <2>;
		xlnx,core-color-format-3 = <420>;
		xlnx,dec-video-standard-1 = <0>;
		xlnx,dec-frame-size-3 = <2>;
		xlnx,dec-video-standard-2 = <0>;
		xlnx,dec-frame-size-4 = <2>;
		xlnx,dec-video-standard-3 = <0>;
		xlnx,dec-video-standard-4 = <0>;
		compatible = "xlnx,vdu-2.0";
		xlnx,actual-mcu-clk = <571>;
		xlnx,core-color-depth-0 = <10>;
		xlnx,no-of-dec-instances = <1>;
		xlnx,lc-clkin-period = <10>;
		xlnx,core-color-depth-1 = <10>;
		xlnx,core-color-depth-2 = <10>;
		xlnx,core-no-of-streams-0 = <1>;
		xlnx,core-color-depth-3 = <10>;
		xlnx,core-no-of-streams-1 = <1>;
		xlnx,core-resolution-0 = "3840x2160";
		xlnx,dec-color-depth-1 = <1>;
		xlnx,core-no-of-streams-2 = <1>;
		xlnx,core-resolution-1 = "3840x2160";
		xlnx,dec-color-depth-2 = <1>;
		xlnx,core-no-of-streams-3 = <1>;
		xlnx,core-resolution-2 = "3840x2160";
		xlnx,core_clk = <800>;
		xlnx,no-of-dec-streams-1 = <1>;
		xlnx,dec-color-depth-3 = <1>;
		xlnx,core-resolution-3 = "3840x2160";
		xlnx,no-of-dec-streams-2 = <1>;
		xlnx,dec-color-depth-4 = <1>;
		xlnx,core-frame-per-second-0 = <60>;
		xlnx,ref-clk = <100>;
		xlnx,no-of-dec-streams-3 = <1>;
		xlnx,core-frame-per-second-1 = <60>;
		xlnx,no-of-dec-streams-4 = <1>;
		xlnx,core-frame-per-second-2 = <60>;
		xlnx,core-frame-type-0 = "I_Frame";
		xlnx,core-frame-per-second-3 = <60>;
		xlnx,core-frame-type-1 = "I_Frame";
		xlnx,core-frame-type-2 = "I_Frame";
		xlnx,core-frame-type-3 = "I_Frame";
		xlnx,name = "vdu_0";
		xlnx,clock-source = <1>;
		xlnx,enable-interrupt-combine;
		xlnx,dec-color-format-1 = <0>;
		xlnx,dec-color-format-2 = <0>;
		xlnx,mcu_clk = <571>;
		xlnx,dec-color-format-3 = <0>;
		xlnx,dec-color-format-4 = <0>;
		xlnx,num-decoder-instances = <2>;
		clocks = <&misc_clk_1>, <&misc_clk_1>, <&versal_clk 67>, <&misc_clk_1>;
		xlnx,enabledpll = <1>;
		xlnx,edk-iptype = "PERIPHERAL";
		xlnx,core-coding-standard-0 = "HEVC";
		xlnx,core-coding-standard-1 = "HEVC";
		clock-names = "m_axi_dec_aclk" , "m_axi_mcu_aclk" , "ref_clk" , "s_axi_lite_aclk";
		xlnx,divclk-divide = <1>;
		xlnx,clkout3-divide = <7>;
		xlnx,core-coding-standard-2 = "HEVC";
		xlnx,dec-fps-1 = <3>;
		xlnx,core-coding-standard-3 = "HEVC";
		xlnx,dec-fps-2 = <3>;
		xlnx,clkin-period = <10>;
		xlnx,clkfbout-mult = <40>;
		xlnx,dec-fps-3 = <3>;
		xlnx,dec-coding-type-1 = <0>;
		xlnx,lc-divclk-divide = <1>;
		xlnx,dec-fps-4 = <3>;
		xlnx,dec-coding-type-2 = <0>;
		xlnx,dec-coding-type-3 = <0>;
		xlnx,lc-clkfbout-mult = <40>;
		xlnx,dec-coding-type-4 = <0>;
		xlnx,clkout2-divide = <5>;
		xlnx,core-clk = <800>;
		xlnx,lc-clkout-divide2 = <5>;
		xlnx,lc-clkout-divide3 = <7>;
		xlnx,enable-test;
		xlnx,core-frequency-0 = <800>;
		xlnx,ref_clk = <100>;
		xlnx,core-frequency-1 = <800>;
		xlnx,actual-core-clk = <800>;
		xlnx,core-frequency-2 = <800>;
		xlnx,core-frequency-3 = <800>;
	};
	aie_core_ref_clk_0: aie_core_ref_clk_0 {
		compatible = "fixed-clock";
		clock-frequency = <1250000000>;
		#clock-cells = <0>;
	};
	al5d0: al5d@a4020000 {
		interrupts = < 0 85 4 >;
		interrupt-parent = <&gic>;
		compatible = "al,al5d";
		xlnx,vdu = <&vdu_0>;
		interrupt-names = "vdu_host_interrupt0";
		reg = <0x0 0xa4020000 0x0 0x100000>;
		al,devicename = "allegroDecodeIP0";
	};
	al5d1: al5d@a4120000 {
		interrupts = < 0 86 4 >;
		interrupt-parent = <&gic>;
		compatible = "al,al5d";
		xlnx,vdu = <&vdu_0>;
		interrupt-names = "vdu_host_interrupt1";
		reg = <0x0 0xa4120000 0x0 0x100000>;
		al,devicename = "allegroDecodeIP1";
	};
	zyxclmm_drm {
		compatible = "xlnx,zocl-versal";
		interrupts-extended = <&axi_intc_parent 0 4>, <&axi_intc_parent 1 4>, <&axi_intc_parent 2 4>, <&axi_intc_parent 3 4>, <&axi_intc_parent 4 4>, <&axi_intc_parent 5 4>, <&axi_intc_parent 6 4>, <&axi_intc_parent 7 4>, <&axi_intc_parent 8 4>, <&axi_intc_parent 9 4>, <&axi_intc_parent 10 4>, <&axi_intc_parent 11 4>, <&axi_intc_parent 12 4>, <&axi_intc_parent 13 4>, <&axi_intc_parent 14 4>, <&axi_intc_parent 15 4>, <&axi_intc_parent 16 4>, <&axi_intc_parent 17 4>, <&axi_intc_parent 18 4>, <&axi_intc_parent 19 4>, <&axi_intc_parent 20 4>, <&axi_intc_parent 21 4>, <&axi_intc_parent 22 4>, <&axi_intc_parent 23 4>, <&axi_intc_parent 24 4>, <&axi_intc_parent 25 4>, <&axi_intc_parent 26 4>, <&axi_intc_parent 27 4>, <&axi_intc_parent 28 4>, <&axi_intc_parent 29 4>, <&axi_intc_parent 30 4>, <&axi_intc_parent 31 4>;
	};
};
