Post Go back to editing

zc706 ad9375/ad9371

Good afternoon, unfortunately I have to create a new topic. the previous one was blocked.
hardware platform zc706 adrv9375
the essence of the problem is in non-working profiles with sampling rates ad 9375 / ad9371 rx / tx 40/80 120/240 160/320.
The first time I encountered the problem in the linux image ADI_2019_1,
I followed the recommendations received on this forum, but there was no progress, after which I was offered to switch to the ADI_2019_2 version, where the problems remained, an error was found in the sources on GIT. After this fix a new commit was made (mhennerich) the problem in ADI_2019_2 was fixed and everything works. Circumstances have developed so that I need the image of ADI_2019_1. I followed all the instructions that I was recommended (mhennerich) with the device tree and in the source code of the JESD driver, but the problem was not resolved. After that, my account and the theme I created were deleted, which is very unfortunate. I still do not lose hope to find a solution to the problem on this forum. I attach Linux logs and device tree:

mmcblk0: mmc0:0007 DDINC 3.71 GiB (ro)
mmcblk0: p1
axi_adxcvr 44a60000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.01.a) using GTX2 at 0x44A60000 mapped to 0xf092a000. Number of lanes: 2.
axi_adxcvr 44a50000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.01.a) using GTX2 at 0x44A50000 mapped to 0xf092c000. Number of lanes: 2.
axi_adxcvr 44a80000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.01.a) using GTX2 at 0x44A80000 mapped to 0xf092e000. Number of lanes: 4.
axi_sysid 45000000.axi-sysid-0: [adrv9371x] on [zc706] git <0> dirty [2021-03-16 07:31:06] UTC
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
NET: Registered protocol family 17
Registering SWP/SWPB emulation handler
[drm] Cannot find any crtc or sizes
[drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0
ad9371 spi0.1: ad9371_probe : enter
ad9371 spi0.1: Request framer lanerate 4800000 kHz failed (-22)
ad9371 spi0.1: Request framer lanerate 4800000 kHz failed (-22)
ad9371: probe of spi0.1 failed with error -22
asoc-simple-card adv7511_hdmi_snd: spdif-hifi <-> 75c00000.axi-spdif-tx mapping ok
input: gpio_keys as /devices/soc0/gpio_keys/input/input0
rtc-pcf8563 5-0051: setting system clock to 2021-06-17 13:50:31 UTC (1623937831)
ALSA device list:

/dts-v1/;

/ {
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	compatible = "xlnx,zynq-7000";
	interrupt-parent = <0x1>;
	model = "Xilinx Zynq ZC706";

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@0 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <0x0>;
			clocks = <0x2 0x3>;
			clock-latency = <0x3e8>;
			cpu0-supply = <0x3>;
			operating-points = <0xa2c2b 0xf4240 0x51616 0xf4240>;
		};

		cpu@1 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <0x1>;
			clocks = <0x2 0x3>;
		};
	};

	fpga-full {
		compatible = "fpga-region";
		fpga-mgr = <0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;
	};

	pmu@f8891000 {
		compatible = "arm,cortex-a9-pmu";
		interrupts = <0x0 0x5 0x4 0x0 0x6 0x4>;
		interrupt-parent = <0x1>;
		reg = <0xf8891000 0x1000 0xf8893000 0x1000>;
	};

	fixedregulator {
		compatible = "regulator-fixed";
		regulator-name = "VCCPINT";
		regulator-min-microvolt = <0xf4240>;
		regulator-max-microvolt = <0xf4240>;
		regulator-boot-on;
		regulator-always-on;
		phandle = <0x3>;
	};

	amba {
		u-boot,dm-pre-reloc;
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		interrupt-parent = <0x1>;
		ranges;

		adc@f8007100 {
			compatible = "xlnx,zynq-xadc-1.00.a";
			reg = <0xf8007100 0x20>;
			interrupts = <0x0 0x7 0x4>;
			interrupt-parent = <0x1>;
			clocks = <0x2 0xc>;
		};

		can@e0008000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clocks = <0x2 0x13 0x2 0x24>;
			clock-names = "can_clk", "pclk";
			reg = <0xe0008000 0x1000>;
			interrupts = <0x0 0x1c 0x4>;
			interrupt-parent = <0x1>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
		};

		can@e0009000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clocks = <0x2 0x14 0x2 0x25>;
			clock-names = "can_clk", "pclk";
			reg = <0xe0009000 0x1000>;
			interrupts = <0x0 0x33 0x4>;
			interrupt-parent = <0x1>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
		};

		gpio@e000a000 {
			compatible = "xlnx,zynq-gpio-1.0";
			#gpio-cells = <0x2>;
			clocks = <0x2 0x2a>;
			gpio-controller;
			interrupt-controller;
			#interrupt-cells = <0x2>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x14 0x4>;
			reg = <0xe000a000 0x1000>;
			phandle = <0x5>;
		};

		i2c@e0004000 {
			compatible = "cdns,i2c-r1p10";
			status = "disabled";
			clocks = <0x2 0x26>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x19 0x4>;
			reg = <0xe0004000 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		i2c@e0005000 {
			compatible = "cdns,i2c-r1p10";
			status = "disabled";
			clocks = <0x2 0x27>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x30 0x4>;
			reg = <0xe0005000 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		interrupt-controller@f8f01000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <0x3>;
			interrupt-controller;
			reg = <0xf8f01000 0x1000 0xf8f00100 0x100>;
			phandle = <0x1>;
		};

		cache-controller@f8f02000 {
			compatible = "arm,pl310-cache";
			reg = <0xf8f02000 0x1000>;
			interrupts = <0x0 0x2 0x4>;
			arm,data-latency = <0x3 0x2 0x2>;
			arm,tag-latency = <0x2 0x2 0x2>;
			cache-unified;
			cache-level = <0x2>;
		};

		memory-controller@f8006000 {
			compatible = "xlnx,zynq-ddrc-a05";
			reg = <0xf8006000 0x1000>;
		};

		ocmc@f800c000 {
			compatible = "xlnx,zynq-ocmc-1.0";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x3 0x4>;
			reg = <0xf800c000 0x1000>;
		};

		serial@e0000000 {
			compatible = "xlnx,xuartps", "cdns,uart-r1p8";
			status = "disabled";
			clocks = <0x2 0x17 0x2 0x28>;
			clock-names = "uart_clk", "pclk";
			reg = <0xe0000000 0x1000>;
			interrupts = <0x0 0x1b 0x4>;
		};

		serial@e0001000 {
			compatible = "xlnx,xuartps", "cdns,uart-r1p8";
			status = "okay";
			clocks = <0x2 0x18 0x2 0x29>;
			clock-names = "uart_clk", "pclk";
			reg = <0xe0001000 0x1000>;
			interrupts = <0x0 0x32 0x4>;
		};

		spi@e0006000 {
			compatible = "xlnx,zynq-spi-r1p6";
			reg = <0xe0006000 0x1000>;
			status = "okay";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x1a 0x4>;
			clocks = <0x2 0x19 0x2 0x22>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;

			ad9528-1@0 {
				compatible = "adi,ad9528";
				reg = <0x0>;
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				spi-max-frequency = <0x989680>;
				clock-output-names = "ad9528-1_out0", "ad9528-1_out1", "ad9528-1_out2", "ad9528-1_out3", "ad9528-1_out4", "ad9528-1_out5", "ad9528-1_out6", "ad9528-1_out7", "ad9528-1_out8", "ad9528-1_out9", "ad9528-1_out10", "ad9528-1_out11", "ad9528-1_out12", "ad9528-1_out13";
				#clock-cells = <0x1>;
				adi,vcxo-freq = <0x5f5e100>;
				adi,pll1-bypass-enable;
				adi,osc-in-diff-enable;
				adi,pll2-m1-frequency = <0x47868c00>;
				adi,pll2-charge-pump-current-nA = <0xc4888>;
				adi,status-mon-pin0-function-select = <0x1>;
				adi,status-mon-pin1-function-select = <0x7>;
				reset-gpios = <0x5 0x71 0x0>;
				jesd204-device;
				#jesd204-cells = <0x2>;
				jesd204-sysref-provider;
				adi,jesd204-max-sysref-frequency-hz = <0x1312d>;
				phandle = <0x9>;

				channel@13 {
					reg = <0xd>;
					adi,extended-name = "DEV_CLK";
					adi,driver-mode = <0x0>;
					adi,divider-phase = <0x0>;
					adi,channel-divider = <0xc>;
					adi,signal-source = <0x0>;
				};

				channel@1 {
					reg = <0x1>;
					adi,extended-name = "FMC_CLK";
					adi,driver-mode = <0x0>;
					adi,divider-phase = <0x0>;
					adi,channel-divider = <0xc>;
					adi,signal-source = <0x0>;
				};

				channel@12 {
					reg = <0xc>;
					adi,extended-name = "DEV_SYSREF";
					adi,driver-mode = <0x0>;
					adi,divider-phase = <0x0>;
					adi,channel-divider = <0xc>;
					adi,signal-source = <0x2>;
				};

				channel@3 {
					reg = <0x3>;
					adi,extended-name = "FMC_SYSREF";
					adi,driver-mode = <0x0>;
					adi,divider-phase = <0x0>;
					adi,channel-divider = <0xc>;
					adi,signal-source = <0x2>;
				};
			};

			ad9371-phy@1 {
				compatible = "adi,ad9375";
				reg = <0x1>;
				spi-max-frequency = <0x17d7840>;
				clocks = <0x6 0x7 0x8 0x9 0xd 0x9 0x1 0x9 0xc 0x9 0x3>;
				clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";
				clock-output-names = "rx_sampl_clk", "rx_os_sampl_clk", "tx_sampl_clk";
				#clock-cells = <0x1>;
				adi,clocks-clk-pll-vco-freq_khz = <0x927c00>;
				adi,clocks-device-clock_khz = <0x186a0>;
				adi,clocks-clk-pll-hs-div = <0x4>;
				adi,clocks-clk-pll-vco-div = <0x2>;
				adi,jesd204-obs-framer-over-sample = <0x0>;
				adi,rx-profile-adc-div = <0x1>;
				adi,rx-profile-en-high-rej-dec5 = <0x1>;
				adi,rx-profile-iq-rate_khz = <0x1d4c0>;
				adi,rx-profile-rf-bandwidth_hz = <0x4c4b400>;
				adi,rx-profile-rhb1-decimation = <0x1>;
				adi,rx-profile-rx-bbf-3db-corner_khz = <0x13880>;
				adi,rx-profile-rx-dec5-decimation = <0x5>;
				adi,rx-profile-rx-fir-decimation = <0x2>;
				adi,rx-profile-rx-fir-gain_db = <0xfffffffa>;
				adi,rx-profile-rx-fir-num-fir-coefs = <0x30>;
				adi,rx-profile-rx-fir-coefs = <0xfffcffef 0x170029 0xffcbffa1 0x7500b8 0xff23feb5 0x1850229 0xfd7cfc88 0x402056b 0xf9b8f792 0xa140d9d 0xed4ee23a 0x259d7e74 0x7e74259d 0xe23aed4e 0xd9d0a14 0xf792f9b8 0x56b0402 0xfc88fd7c 0x2290185 0xfeb5ff23 0xb80075 0xffa1ffcb 0x290017 0xffeffffc>;
				adi,rx-profile-custom-adc-profile = <0x29401d9 0xc90062 0x50001dd 0x633010d 0x4260052 0x285001c 0x300020 0x1300be>;
				adi,obs-profile-adc-div = <0x1>;
				adi,obs-profile-en-high-rej-dec5 = <0x1>;
				adi,obs-profile-iq-rate_khz = <0x3a980>;
				adi,obs-profile-rf-bandwidth_hz = <0xaba9500>;
				adi,obs-profile-rhb1-decimation = <0x1>;
				adi,obs-profile-rx-bbf-3db-corner_khz = <0x15f90>;
				adi,obs-profile-rx-dec5-decimation = <0x5>;
				adi,obs-profile-rx-fir-decimation = <0x1>;
				adi,obs-profile-rx-fir-gain_db = <0x6>;
				adi,obs-profile-rx-fir-num-fir-coefs = <0x18>;
				adi,obs-profile-rx-fir-coefs = <0xff89011c 0xffe40022 0x95fee1 0x186fed8 0xfdfb05d8 0xf07a5945 0xf07a05d8 0xfdfbfed8 0x186fee1 0x950022 0xffe4011c 0xff890000>;
				adi,obs-profile-custom-adc-profile = <0x22e01bb 0xc90062 0x50002c7 0x68f0332 0x4ae023d 0x2aa0015 0x2b001e 0x1400cc>;
				adi,obs-settings-custom-loopback-adc-profile = <0x2de01b9 0xc90062 0x5000082 0x5e5003e 0x4380014 0x29a0027 0x300021 0x1300c1>;
				adi,tx-profile-dac-div = <0x1>;
				adi,tx-profile-iq-rate_khz = <0x3a980>;
				adi,tx-profile-primary-sig-bandwidth_hz = <0x47868c0>;
				adi,tx-profile-rf-bandwidth_hz = <0xaba9500>;
				adi,tx-profile-thb1-interpolation = <0x2>;
				adi,tx-profile-thb2-interpolation = <0x1>;
				adi,tx-profile-tx-bbf-3db-corner_khz = <0x15f90>;
				adi,tx-profile-tx-dac-3db-corner_khz = <0x2bf20>;
				adi,tx-profile-tx-fir-interpolation = <0x1>;
				adi,tx-profile-tx-input-hb-interpolation = <0x1>;
				adi,tx-profile-tx-fir-gain_db = <0x6>;
				adi,tx-profile-tx-fir-num-fir-coefs = <0x10>;
				adi,tx-profile-tx-fir-coefs = <0xffd6ff28 0xdeff29 0xfffd0379 0xf3ea51f6 0xf3ea0379 0xfffdff29 0xdeff28 0xffd60000>;
				adi,obs-settings-obs-rx-channels-enable = <0x3>;
				reset-gpios = <0x5 0x6a 0x0>;
				test-gpios = <0x5 0x6b 0x0>;
				sysref_req-gpios = <0x5 0x70 0x0>;
				rx2_enable-gpios = <0x5 0x6c 0x0>;
				rx1_enable-gpios = <0x5 0x6d 0x0>;
				tx2_enable-gpios = <0x5 0x6e 0x0>;
				tx1_enable-gpios = <0x5 0x6f 0x0>;
				adi,dpd-damping = <0x5>;
				adi,dpd-num-weights = <0x1>;
				adi,dpd-model-version = <0x2>;
				adi,dpd-high-power-model-update = <0x1>;
				adi,dpd-model-prior-weight = <0x14>;
				adi,dpd-robust-modeling = <0x0>;
				adi,dpd-samples = <0x200>;
				adi,dpd-outlier-threshold = <0x1000>;
				adi,dpd-additional-delay-offset = <0x0>;
				adi,dpd-path-delay-pn-seq-level = <0xff>;
				adi,dpd-weights0-real = <0x40>;
				adi,dpd-weights0-imag = <0x0>;
				adi,dpd-weights1-real = <0x0>;
				adi,dpd-weights1-imag = <0x0>;
				adi,dpd-weights2-real = <0x0>;
				adi,dpd-weights2-imag = <0x0>;
				adi,clgc-tx1-desired-gain = <0xfffff830>;
				adi,clgc-tx2-desired-gain = <0xfffff830>;
				adi,clgc-tx1-atten-limit = <0x0>;
				adi,clgc-tx2-atten-limit = <0x0>;
				adi,clgc-tx1-control-ratio = <0x4b>;
				adi,clgc-tx2-control-ratio = <0x4b>;
				adi,clgc-allow-tx1-atten-updates = <0x1>;
				adi,clgc-allow-tx2-atten-updates = <0x1>;
				adi,clgc-additional-delay-offset = <0x0>;
				adi,clgc-path-delay-pn-seq-level = <0xff>;
				adi,clgc-tx1-rel-threshold = <0x258>;
				adi,clgc-tx2-rel-threshold = <0x258>;
				adi,clgc-tx1-rel-threshold-en = <0x0>;
				adi,clgc-tx2-rel-threshold-en = <0x0>;
				adi,vswr-additional-delay-offset = <0x0>;
				adi,vswr-path-delay-pn-seq-level = <0xff>;
				adi,vswr-tx1-vswr-switch-gpio3p3-pin = <0x0>;
				adi,vswr-tx2-vswr-switch-gpio3p3-pin = <0x1>;
				adi,vswr-tx1-vswr-switch-polarity = <0x0>;
				adi,vswr-tx2-vswr-switch-polarity = <0x0>;
				adi,vswr-tx1-vswr-switch-delay_us = <0x32>;
				adi,vswr-tx2-vswr-switch-delay_us = <0x32>;
				jesd204-device;
				#jesd204-cells = <0x2>;
				jesd204-top-device = <0x0>;
				jesd204-link-ids = <0x0 0x1 0x2>;
				jesd204-inputs = <0x6 0x0 0x1 0x8 0x0 0x2 0xa 0x0 0x0>;
				phandle = <0x14>;
			};
		};

		spi@e0007000 {
			compatible = "xlnx,zynq-spi-r1p6";
			reg = <0xe0007000 0x1000>;
			status = "disabled";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x31 0x4>;
			clocks = <0x2 0x1a 0x2 0x23>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		spi@e000d000 {
			clock-names = "ref_clk", "pclk";
			clocks = <0x2 0xa 0x2 0x2b>;
			compatible = "xlnx,zynq-qspi-1.0";
			status = "okay";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x13 0x4>;
			reg = <0xe000d000 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			is-dual = <0x1>;
			num-cs = <0x1>;

			ps7-qspi@0 {
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				spi-tx-bus-width = <0x1>;
				spi-rx-bus-width = <0x4>;
				compatible = "n25q128a11";
				reg = <0x0>;
				spi-max-frequency = <0x2faf080>;

				partition@0 {
					label = "boot";
					reg = <0x0 0x500000>;
				};

				partition@500000 {
					label = "bootenv";
					reg = <0x500000 0x20000>;
				};

				partition@520000 {
					label = "config";
					reg = <0x520000 0x20000>;
				};

				partition@540000 {
					label = "image";
					reg = <0x540000 0xa80000>;
				};

				partition@fc0000 {
					label = "spare";
					reg = <0xfc0000 0x0>;
				};
			};
		};

		memory-controller@e000e000 {
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			status = "disabled";
			clock-names = "memclk", "apb_pclk";
			clocks = <0x2 0xb 0x2 0x2c>;
			compatible = "arm,pl353-smc-r2p1", "arm,primecell";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x12 0x4>;
			ranges;
			reg = <0xe000e000 0x1000>;

			flash@e1000000 {
				status = "disabled";
				compatible = "arm,pl353-nand-r2p1";
				reg = <0xe1000000 0x1000000>;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
			};

			flash@e2000000 {
				status = "disabled";
				compatible = "cfi-flash";
				reg = <0xe2000000 0x2000000>;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
			};
		};

		ethernet@e000b000 {
			compatible = "cdns,zynq-gem", "cdns,gem";
			reg = <0xe000b000 0x1000>;
			status = "okay";
			interrupts = <0x0 0x16 0x4>;
			clocks = <0x2 0x1e 0x2 0x1e 0x2 0xd>;
			clock-names = "pclk", "hclk", "tx_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			phy-handle = <0xb>;
			phy-mode = "rgmii-id";

			phy@7 {
				device_type = "ethernet-phy";
				reg = <0x7>;
				phandle = <0xb>;
			};
		};

		ethernet@e000c000 {
			compatible = "cdns,zynq-gem", "cdns,gem";
			reg = <0xe000c000 0x1000>;
			status = "disabled";
			interrupts = <0x0 0x2d 0x4>;
			clocks = <0x2 0x1f 0x2 0x1f 0x2 0xe>;
			clock-names = "pclk", "hclk", "tx_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		mmc@e0100000 {
			compatible = "arasan,sdhci-8.9a";
			status = "okay";
			clock-names = "clk_xin", "clk_ahb";
			clocks = <0x2 0x15 0x2 0x20>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x18 0x4>;
			reg = <0xe0100000 0x1000>;
		};

		mmc@e0101000 {
			compatible = "arasan,sdhci-8.9a";
			status = "disabled";
			clock-names = "clk_xin", "clk_ahb";
			clocks = <0x2 0x16 0x2 0x21>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x2f 0x4>;
			reg = <0xe0101000 0x1000>;
		};

		slcr@f8000000 {
			u-boot,dm-pre-reloc;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";
			reg = <0xf8000000 0x1000>;
			ranges;
			phandle = <0xc>;

			clkc@100 {
				u-boot,dm-pre-reloc;
				#clock-cells = <0x1>;
				compatible = "xlnx,ps7-clkc";
				fclk-enable = <0xf>;
				clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", "dci", "lqspi", "smc", "pcap", "gem0", "gem1", "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", "dma", "usb0_aper", "usb1_aper", "gem0_aper", "gem1_aper", "sdio0_aper", "sdio1_aper", "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", "gpio_aper", "lqspi_aper", "smc_aper", "swdt", "dbg_trc", "dbg_apb";
				reg = <0x100 0x100>;
				ps-clk-frequency = <0x1fca055>;
				phandle = <0x2>;
			};

			rstc@200 {
				compatible = "xlnx,zynq-reset";
				reg = <0x200 0x48>;
				#reset-cells = <0x1>;
				syscon = <0xc>;
			};

			pinctrl@700 {
				compatible = "xlnx,pinctrl-zynq";
				reg = <0x700 0x200>;
				syscon = <0xc>;
			};
		};

		dmac@f8003000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0xf8003000 0x1000>;
			interrupt-parent = <0x1>;
			interrupt-names = "abort", "dma0", "dma1", "dma2", "dma3", "dma4", "dma5", "dma6", "dma7";
			interrupts = <0x0 0xd 0x4 0x0 0xe 0x4 0x0 0xf 0x4 0x0 0x10 0x4 0x0 0x11 0x4 0x0 0x28 0x4 0x0 0x29 0x4 0x0 0x2a 0x4 0x0 0x2b 0x4>;
			#dma-cells = <0x1>;
			#dma-channels = <0x8>;
			#dma-requests = <0x4>;
			clocks = <0x2 0x1b>;
			clock-names = "apb_pclk";
			phandle = <0x11>;
		};

		devcfg@f8007000 {
			compatible = "xlnx,zynq-devcfg-1.0";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x8 0x4>;
			reg = <0xf8007000 0x100>;
			clocks = <0x2 0xc 0x2 0xf 0x2 0x10 0x2 0x11 0x2 0x12>;
			clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
			syscon = <0xc>;
			phandle = <0x4>;
		};

		efuse@f800d000 {
			compatible = "xlnx,zynq-efuse";
			reg = <0xf800d000 0x20>;
		};

		timer@f8f00200 {
			compatible = "arm,cortex-a9-global-timer";
			reg = <0xf8f00200 0x20>;
			interrupts = <0x1 0xb 0x301>;
			interrupt-parent = <0x1>;
			clocks = <0x2 0x4>;
		};

		timer@f8001000 {
			interrupt-parent = <0x1>;
			interrupts = <0x0 0xa 0x4 0x0 0xb 0x4 0x0 0xc 0x4>;
			compatible = "cdns,ttc";
			clocks = <0x2 0x6>;
			reg = <0xf8001000 0x1000>;
		};

		timer@f8002000 {
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x25 0x4 0x0 0x26 0x4 0x0 0x27 0x4>;
			compatible = "cdns,ttc";
			clocks = <0x2 0x6>;
			reg = <0xf8002000 0x1000>;
		};

		timer@f8f00600 {
			interrupt-parent = <0x1>;
			interrupts = <0x1 0xd 0x301>;
			compatible = "arm,cortex-a9-twd-timer";
			reg = <0xf8f00600 0x20>;
			clocks = <0x2 0x4>;
		};

		usb@e0002000 {
			compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
			status = "okay";
			clocks = <0x2 0x1c>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x15 0x4>;
			reg = <0xe0002000 0x1000>;
			phy_type = "ulpi";
			dr_mode = "host";
			xlnx,phy-reset-gpio = <0x5 0x7 0x0>;
		};

		usb@e0003000 {
			compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
			status = "disabled";
			clocks = <0x2 0x1d>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x2c 0x4>;
			reg = <0xe0003000 0x1000>;
			phy_type = "ulpi";
		};

		watchdog@f8005000 {
			clocks = <0x2 0x2d>;
			compatible = "cdns,wdt-r1p2";
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x9 0x1>;
			reg = <0xf8005000 0x1000>;
			timeout-sec = <0xa>;
		};
	};

	aliases {
		ethernet0 = "/amba/ethernet@e000b000";
		serial0 = "/amba/serial@e0001000";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x40000000>;
	};

	chosen {
		bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait";
		stdout-path = "/amba@0/uart@E0001000";
	};

	leds {
		compatible = "gpio-leds";

		ds8 {
			label = "ds12:green";
			gpios = <0x5 0x3d 0x0>;
		};

		ds9 {
			label = "ds15:green";
			gpios = <0x5 0x3e 0x0>;
		};

		ds10 {
			label = "ds16:green";
			gpios = <0x5 0x3f 0x0>;
		};

		ds35 {
			label = "ds17:green";
			gpios = <0x5 0x40 0x0>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		autorepeat;

		sw7 {
			label = "Left";
			linux,code = <0x69>;
			gpios = <0x5 0x3a 0x0>;
		};

		sw8 {
			label = "Right";
			linux,code = <0x6a>;
			gpios = <0x5 0x3c 0x0>;
		};

		sw9 {
			label = "Select";
			linux,code = <0x1c>;
			gpios = <0x5 0x3b 0x0>;
		};
	};

	fpga-axi@0 {
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		i2c@41600000 {
			compatible = "xlnx,axi-iic-1.02.a", "xlnx,xps-iic-2.00.a";
			reg = <0x41600000 0x10000>;
			interrupt-parent = <0x1>;
			interrupts = <0x0 0x3a 0x4>;
			clocks = <0x2 0xf>;
			clock-names = "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;

			i2cswitch@74 {
				compatible = "nxp,pca9548";
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				reg = <0x74>;

				i2c@0 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x0>;

					osc@5d {
						compatible = "si570";
						temperature-stability = <0x32>;
						reg = <0x5d>;
						factory-fout = <0x9502f90>;
						initial-fout = <0x8d9ee20>;
					};
				};

				i2c@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;

					adv7511 {
						compatible = "adi,adv7511";
						reg = <0x39 0x3f>;
						reg-names = "primary", "edid";
						adi,input-depth = <0x8>;
						adi,input-colorspace = "rgb";
						adi,input-clock = "1x";
						adi,clock-delay = <0x0>;
						#sound-dai-cells = <0x0>;
						phandle = <0x1e>;

						ports {
							#address-cells = <0x1>;
							#size-cells = <0x0>;

							port@0 {
								reg = <0x0>;

								endpoint {
									remote-endpoint = <0xd>;
									phandle = <0x10>;
								};
							};

							port@1 {
								reg = <0x1>;
							};
						};
					};
				};

				i2c@2 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x2>;

					eeprom@54 {
						compatible = "at,24c08";
						reg = <0x54>;
					};
				};

				i2c@3 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x3>;

					gpio@21 {
						compatible = "ti,tca6416";
						reg = <0x21>;
						gpio-controller;
						#gpio-cells = <0x2>;
					};
				};

				i2c@4 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x4>;

					rtc@51 {
						compatible = "nxp,pcf8563";
						reg = <0x51>;
					};
				};

				i2c@5 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x5>;

					eeprom@50 {
						compatible = "at24,24c02";
						reg = <0x50>;
					};

					eeprom@54 {
						compatible = "at24,24c02";
						reg = <0x54>;
					};

					ad7291@2f {
						compatible = "adi,ad7291";
						reg = <0x2f>;
					};
				};
			};
		};

		dma@43000000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x43000000 0x10000>;
			#dma-cells = <0x1>;
			interrupts = <0x0 0x3b 0x4>;
			clocks = <0x2 0x10>;
			phandle = <0xe>;

			adi,channels {
				#size-cells = <0x0>;
				#address-cells = <0x1>;

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x0>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x1>;
				};
			};
		};

		axi-clkgen@79000000 {
			compatible = "adi,axi-clkgen-2.00.a";
			reg = <0x79000000 0x10000>;
			#clock-cells = <0x0>;
			clocks = <0x2 0xf 0x2 0x10>;
			clock-names = "s_axi_aclk", "clkin1";
			phandle = <0xf>;
		};

		axi_hdmi@70e00000 {
			compatible = "adi,axi-hdmi-tx-1.00.a";
			reg = <0x70e00000 0x10000>;
			dmas = <0xe 0x0>;
			dma-names = "video";
			clocks = <0xf>;
			adi,is-rgb;

			port {

				endpoint {
					remote-endpoint = <0x10>;
					phandle = <0xd>;
				};
			};
		};

		axi-spdif-tx@75c00000 {
			compatible = "adi,axi-spdif-tx-1.00.a";
			reg = <0x75c00000 0x1000>;
			dmas = <0x11 0x0>;
			dma-names = "tx";
			clocks = <0x2 0xf 0x12>;
			clock-names = "axi", "ref";
			#sound-dai-cells = <0x0>;
			phandle = <0x1d>;
		};

		axi-sysid-0@45000000 {
			compatible = "adi,axi-sysid-1.00.a";
			reg = <0x45000000 0x10000>;
		};

		rx-dmac@7c400000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x7c400000 0x10000>;
			#dma-cells = <0x1>;
			interrupts = <0x0 0x39 0x4>;
			clocks = <0x2 0x10>;
			phandle = <0x13>;

			adi,channels {
				#size-cells = <0x0>;
				#address-cells = <0x1>;

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x2>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x0>;
				};
			};
		};

		rx-obs-dmac@7c440000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x7c440000 0x10000>;
			#dma-cells = <0x1>;
			interrupts = <0x0 0x37 0x4>;
			clocks = <0x2 0x10>;
			phandle = <0x15>;

			adi,channels {
				#size-cells = <0x0>;
				#address-cells = <0x1>;

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x2>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x0>;
				};
			};
		};

		tx-dmac@7c420000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x7c420000 0x10000>;
			#dma-cells = <0x1>;
			interrupts = <0x0 0x38 0x4>;
			clocks = <0x2 0x10>;
			phandle = <0x16>;

			adi,channels {
				#size-cells = <0x0>;
				#address-cells = <0x1>;

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x0>;
					adi,destination-bus-width = <0x80>;
					adi,destination-bus-type = <0x1>;
				};
			};
		};

		axi-ad9371-rx-hpc@44a00000 {
			compatible = "adi,axi-ad9371-rx-1.0";
			reg = <0x44a00000 0x8000>;
			dmas = <0x13 0x0>;
			dma-names = "rx";
			spibus-connected = <0x14>;
			adi,axi-decimation-core-available;
			decimation-gpios = <0x5 0x73 0x0>;
		};

		axi-ad9371-rx-obs-hpc@44a08000 {
			compatible = "adi,axi-ad9371-obs-1.0";
			reg = <0x44a08000 0x1000>;
			dmas = <0x15 0x0>;
			dma-names = "rx";
			clocks = <0x14 0x1>;
			clock-names = "sampl_clk";
		};

		axi-ad9371-tx-hpc@44a04000 {
			compatible = "adi,axi-ad9371-tx-1.0";
			reg = <0x44a04000 0x4000>;
			dmas = <0x16 0x0>;
			dma-names = "tx";
			clocks = <0x14 0x2>;
			clock-names = "sampl_clk";
			spibus-connected = <0x14>;
			adi,axi-pl-fifo-enable;
			adi,axi-interpolation-core-available;
			interpolation-gpios = <0x5 0x74 0x0>;
			plddrbypass-gpios = <0x5 0x72 0x0>;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x7 0x0 0x0>;
			phandle = <0xa>;
		};

		axi-jesd204-rx@44aa0000 {
			compatible = "adi,axi-jesd204-rx-1.0";
			reg = <0x44aa0000 0x1000>;
			interrupts = <0x0 0x36 0x4>;
			clocks = <0x2 0x10 0x17 0x18 0x0>;
			clock-names = "s_axi_aclk", "device_clk", "lane_clk";
			#clock-cells = <0x0>;
			clock-output-names = "jesd_rx_lane_clk";
			adi,octets-per-frame = <0x4>;
			adi,frames-per-multiframe = <0x20>;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x18 0x0 0x1>;
			phandle = <0x6>;
		};

		axi-jesd204-tx@44a90000 {
			compatible = "adi,axi-jesd204-tx-1.0";
			reg = <0x44a90000 0x1000>;
			interrupts = <0x0 0x35 0x4>;
			clocks = <0x2 0x10 0x19 0x1a 0x0>;
			clock-names = "s_axi_aclk", "device_clk", "lane_clk";
			#clock-cells = <0x0>;
			clock-output-names = "jesd_tx_lane_clk";
			adi,octets-per-frame = <0x2>;
			adi,frames-per-multiframe = <0x20>;
			adi,converter-resolution = <0xe>;
			adi,bits-per-sample = <0x10>;
			adi,converters-per-device = <0x4>;
			adi,control-bits-per-sample = <0x2>;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x1a 0x0 0x0>;
			phandle = <0x7>;
		};

		axi-jesd204-rx@44ab0000 {
			compatible = "adi,axi-jesd204-rx-1.0";
			reg = <0x44ab0000 0x1000>;
			interrupts = <0x0 0x34 0x4>;
			clocks = <0x2 0x10 0x1b 0x1c 0x0>;
			clock-names = "s_axi_aclk", "device_clk", "lane_clk";
			#clock-cells = <0x0>;
			clock-output-names = "jesd_rx_os_lane_clk";
			adi,octets-per-frame = <0x2>;
			adi,frames-per-multiframe = <0x20>;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x1c 0x0 0x2>;
			phandle = <0x8>;
		};

		axi-clkgen@43c00000 {
			compatible = "adi,axi-clkgen-2.00.a";
			reg = <0x43c00000 0x10000>;
			#clock-cells = <0x0>;
			clocks = <0x2 0xf 0x9 0x1>;
			clock-names = "s_axi_aclk", "clkin1";
			clock-output-names = "axi_tx_clkgen";
			phandle = <0x19>;
		};

		axi-clkgen@43c10000 {
			compatible = "adi,axi-clkgen-2.00.a";
			reg = <0x43c10000 0x10000>;
			#clock-cells = <0x0>;
			clocks = <0x2 0xf 0x9 0x1>;
			clock-names = "s_axi_aclk", "clkin1";
			clock-output-names = "axi_rx_clkgen";
			phandle = <0x17>;
		};

		axi-clkgen@43c20000 {
			compatible = "adi,axi-clkgen-2.00.a";
			reg = <0x43c20000 0x10000>;
			#clock-cells = <0x0>;
			clocks = <0x2 0xf 0x9 0x1>;
			clock-names = "s_axi_aclk", "clkin1";
			clock-output-names = "axi_rx_os_clkgen";
			phandle = <0x1b>;
		};

		axi-adxcvr-rx@44a60000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "adi,axi-adxcvr-1.0";
			reg = <0x44a60000 0x1000>;
			clocks = <0x9 0x1>;
			clock-names = "conv";
			#clock-cells = <0x1>;
			clock-output-names = "rx_gt_clk", "rx_out_clk";
			adi,sys-clk-select = <0x0>;
			adi,out-clk-select = <0x3>;
			adi,use-lpm-enable;
			adi,use-cpll-enable;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x9 0x0 0x1>;
			phandle = <0x18>;
		};

		axi-adxcvr-rx-os@44a50000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "adi,axi-adxcvr-1.0";
			reg = <0x44a50000 0x1000>;
			clocks = <0x9 0x1>;
			clock-names = "conv";
			#clock-cells = <0x1>;
			clock-output-names = "rx_os_gt_clk", "rx_os_out_clk";
			adi,sys-clk-select = <0x0>;
			adi,out-clk-select = <0x3>;
			adi,use-lpm-enable;
			adi,use-cpll-enable;
			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x9 0x0 0x2>;
			phandle = <0x1c>;
		};

		axi-adxcvr-tx@44a80000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "adi,axi-adxcvr-1.0";
			reg = <0x44a80000 0x1000>;
			clocks = <0x9 0x1>;
			clock-names = "conv";
			#clock-cells = <0x1>;
			clock-output-names = "tx_gt_clk", "tx_out_clk";
			adi,sys-clk-select = <0x3>;
			adi,out-clk-select = <0x3>;
         		
			adi,vco1-min-khz = <9500000>;

			jesd204-device;
			#jesd204-cells = <0x2>;
			jesd204-inputs = <0x9 0x0 0x0>;
			phandle = <0x1a>;
		};
	};

	audio_clock {
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0xbb8000>;
		phandle = <0x12>;
	};

	adv7511_hdmi_snd {
		compatible = "simple-audio-card";
		simple-audio-card,name = "HDMI monitor";
		simple-audio-card,widgets = "Speaker", "Speaker";
		simple-audio-card,routing = "Speaker", "TX";

		simple-audio-card,dai-link@0 {
			format = "spdif";

			cpu {
				sound-dai = <0x1d>;
				frame-master;
				bitclock-master;
			};

			codec {
				sound-dai = <0x1e>;
			};
		};
	};
};

Top Replies