Post Go back to editing

Device tree incantation for AD9207 with externally provided SYSREF and device clock (no HMC7044)

Category: Software
Product Number: AD9207
Software Version: 2021_R2

Hi all,

I have a custom FPGA board based around a ZU11 MPSoC and AD9207 ADC, which is clocked by providing external device reference and SYSREF clocks.

Prior to moving to the custom platform, I had success bringing up the AD9082-FMCA-EBZ board with a commercial ZU11 dev kit, using the ADI reference designs where all clocking is from the HMC7044 PLL. I also got this setup working with external clocks not from this chip, and simply configured the device tree as if this chip were being used, even though the clocks were coming from elsewhere.

With the custom platform, I'd like to have a device tree which properly recognises that the clocks are fixed and external, however, I'm running into issues.

My current device tree reads:

/include/ "system-conf.dtsi"

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/iio/adc/adi,ad9081.h>
#include <dt-bindings/jesd204/adxcvr.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/frequency/hmc7044.h>

/ {


  osc150: osc150 {
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <150000000>;
	clock-output-names = "clk";
  };

  refclk: refclk{
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <150000000>;
	clock-output-names = "clk";
  };

  sysrefclk: sysrefclk{
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <2343750>;
	clock-output-names = "clk";
  };

  fpga_axi: fpga-axi@0 {
		interrupt-parent = <&gic>;
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges = <0 0 0 0xffffffff>;

		rx_dma: dma@9c420000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x9c420000 0x0400>;
			#dma-cells = <1>;
			#clock-cells = <0>;
			interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&zynqmp_clk 73>;
		};

		axi_ad9081_core_rx: axi-ad9081-rx-hpc@84a10000 {
			compatible = "adi,axi-ad9081-rx-1.0";
			reg = <0x84a10000 0x2000>;
			dmas = <&rx_dma 0>;
			dma-names = "rx";
			spibus-connected = <&trx0_ad9081>;

			jesd204-device;
			#jesd204-cells = <2>;
			jesd204-inputs = <&axi_ad9081_rx_jesd 0 FRAMER_LINK0_RX>;
		};

		axi_ad9081_rx_jesd: axi-jesd204-rx@84a90000 {
			compatible = "adi,axi-jesd204-rx-1.0";
			reg = <0x84a90000 0x4000>;

			interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;

			clocks = <&zynqmp_clk 71>, <&refclk>, <&axi_ad9081_adxcvr_rx 1>, <&axi_ad9081_adxcvr_rx 0>;
			//clocks = <&zynqmp_clk 71>, <&hmc7044 10>, <&axi_ad9081_adxcvr_rx 1>, <&axi_ad9081_adxcvr_rx 0>;
			clock-names = "s_axi_aclk", "device_clk", "link_clk", "lane_clk";

			#clock-cells = <0>;
			clock-output-names = "jesd_rx_lane_clk";

			jesd204-device;
			#jesd204-cells = <2>;
			jesd204-inputs = <&axi_ad9081_adxcvr_rx 0 FRAMER_LINK0_RX>;
		};

		axi_ad9081_adxcvr_rx: axi-adxcvr-rx@84a60000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "adi,axi-adxcvr-1.0";
			reg = <0x84a60000 0x10000>;

			clocks = <&osc150>;
			//clocks = <&hmc7044 12>;
			clock-names = "conv";

			#clock-cells = <1>;
			clock-output-names = "rx_gt_clk", "rx_out_clk";

			adi,sys-clk-select = <XCVR_QPLL>; //QPLL1 doesn't work for bitrates between 12.5 and 16 Gb/s (see https://docs.amd.com/r/en-US/ds926-zynq-ultrascale-plus-rfsoc/GTY-Transceiver-Switching-Characteristics)
			adi,out-clk-select = <XCVR_PROGDIV_CLK>;
			//adi,out-clk-select = <XCVR_REFCLK>;
 			adi,use-lpm-enable;

			jesd204-device;
			#jesd204-cells = <2>;
			//jesd204-inputs =  <&refclk 0 FRAMER_LINK0_RX>;
			//jesd204-inputs =  <&hmc7044 0 FRAMER_LINK0_RX>;
		};

		axi_sysid_0: axi-sysid-0@85000000 {
			compatible = "adi,axi-sysid-1.00.a";
			reg = <0x85000000 0x10000>;
		};

		axi_data_offload_rx: axi-data-offload-1@9c450000 {
			compatible = "adi,axi-data-offload-1.0.a";
			reg = <0x9c450000 0x4000>;
		};
	};

};


};
&spi0 {
	//hmc7044: hmc7044@1 {
	//	#address-cells = <1>;
	//	#size-cells = <0>;
	//	#clock-cells = <1>;
	//	compatible = "adi,hmc7044";
	//	reg = <1>;
	//	spi-max-frequency = <1000000>;

	//	jesd204-device;
	//	#jesd204-cells = <2>;
	//	jesd204-sysref-provider;

	//	adi,jesd204-max-sysref-frequency-hz = <2343750>; /* 2 MHz */
	//	//adi,pll1-ref-prio-ctrl = <0x1>; /* Use CLK1 if available, else CLK0 (see HMC7044 reg 0x14) */

	//	/*
	//	* There are different versions of the AD9081-FMCA-EBZ & AD9082-FMCA-EBZ
	//	* VCXO = 122.880 MHz, XO = 122.880MHz (AD9081-FMC-EBZ & AD9082-FMC-EBZ)
	//	* VCXO = 100.000 MHz, XO = 100.000MHz (AD9081-FMC-EBZ-A2 & AD9082-FMC-EBZ-A2)
	//	* To determine which board is which, read the freqency printed on the VCXO
	//	* or use the fru-dump utility:
	//	* #fru-dump -b /sys/bus/i2c/devices/15-0050/eeprom
	//	*/

	//	//adi,pll1-clkin-frequencies = <122880000 30720000 0 0>;
	//	//adi,vcxo-frequency = <122880000>;

	//	adi,pll1-clkin-frequencies = <100000000 100000000 0 0>;
	//	adi,vcxo-frequency = <100000000>;

	//	adi,pll1-loop-bandwidth-hz = <200>;

	//	adi,pll2-output-frequency = <2400000000>;

	//	adi,sysref-timer-divider = <1024>;
	//	adi,pulse-generator-mode = <0>;

	//	adi,clkin0-buffer-mode  = <0x07>;
	//	adi,clkin1-buffer-mode  = <0x07>;
	//	adi,oscin-buffer-mode = <0x15>;

	//	adi,gpi-controls = <0x00 0x00 0x00 0x00>;
	//	adi,gpo-controls = <0x37 0x33 0x00 0x00>;

	//	clock-output-names =
	//	"hmc7044_out0", "hmc7044_out1", "hmc7044_out2",
	//	"hmc7044_out3", "hmc7044_out4", "hmc7044_out5",
	//	"hmc7044_out6", "hmc7044_out7", "hmc7044_out8",
	//	"hmc7044_out9", "hmc7044_out10", "hmc7044_out11",
	//	"hmc7044_out12", "hmc7044_out13";

	//	hmc7044_c0: channel@0 { // unused
	//		reg = <0>;
	//		adi,extended-name = "CORE_CLK_RX";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//		adi,disable;
	//	};
	//	hmc7044_c2: channel@2 {
	//		reg = <2>;
	//		adi,extended-name = "DEV_REFCLK";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//	};
	//	hmc7044_c3: channel@3 {
	//		reg = <3>;
	//		adi,extended-name = "DEV_SYSREF";
	//		adi,divider = <1536>; // 0.78125 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//		adi,jesd204-sysref-chan;
	//	};

	//	hmc7044_c6: channel@6 {
	//		reg = <6>;
	//		adi,extended-name = "CORE_CLK_TX";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//	};

	//	hmc7044_c8: channel@8 { // UNUSED
	//		reg = <8>;
	//		adi,extended-name = "FPGA_REFCLK1";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//		adi,disable;
	//	};
	//	hmc7044_c10: channel@a {
	//		reg = <10>;
	//		adi,extended-name = "CORE_CLK_RX_ALT";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//	};

	//	hmc7044_c12: channel@c {
	//		reg = <12>;
	//		adi,extended-name = "FPGA_REFCLK2";
	//		adi,divider = <16>; // 150 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//	};
	//	hmc7044_c13: channel@d {
	//		reg = <13>;
	//		adi,extended-name = "FPGA_SYSREF";
	//		adi,divider = <1536>; // 0.78125 MHz
	//		adi,driver-mode = <HMC7044_DRIVER_MODE_LVDS>;
	//		adi,jesd204-sysref-chan;
        //                //adi,disable;
	//	};
	//};
	spidev0@1 {
		reg = <1>;
		status = "okay";
        	compatible = "rohm,dh2228fv";
        	spi-max-frequency = <5000000>;
	};
	trx0_ad9081: ad9082@0 {
		reset-gpios = <&gpio 133 0>;
		sysref-req-gpios = <&gpio 121 0>;
		rx2-enable-gpios = <&gpio 135 0>;
		rx1-enable-gpios = <&gpio 134 0>;
		//tx2-enable-gpios = <&gpio 137 0>;
		//tx1-enable-gpios = <&gpio 136 0>;
		#address-cells = <1>;
		#size-cells = <0>;
		//compatible = "adi,ad9082";
		compatible = "adi,ad9207";
		reg = <0>;
		spi-max-frequency = <5000000>;

		/* Clocks */
		clocks = <&osc150 0>;
		//clocks = <&hmc7044 2>;
		clock-names = "dev_clk";

		clock-output-names = "rx_sampl_clk", "tx_sampl_clk";
		#clock-cells = <1>;

		jesd204-device;
		#jesd204-cells = <2>;
		jesd204-top-device = <0>; /* This is the TOP device */
		jesd204-link-ids = <FRAMER_LINK0_RX>;

		jesd204-inputs =
			<&axi_ad9081_core_rx 0 FRAMER_LINK0_RX>;

		adi,continuous-sysref-mode-disable;

		adi,tx-dacs {
			#size-cells = <0>;
			#address-cells = <1>;

			adi,dac-frequency-hz = /bits/ 64 <9600000000>;
		};

		adi,rx-adcs {
			#size-cells = <0>;
			#address-cells = <1>;

			adi,adc-frequency-hz = /bits/ 64 <4800000000>;

			adi,main-data-paths {
				#address-cells = <1>;
				#size-cells = <0>;

				ad9081_adc0: adc@0 {
					reg = <0>;
					adi,decimation = <3>;
					adi,nco-frequency-shift-hz =  /bits/ 64 <1350000000>;
					adi,nco-mixer-mode = <AD9081_ADC_NCO_VIF>;
				};
				ad9081_adc1: adc@1 {
					reg = <1>;
					adi,decimation = <3>;
					adi,nco-frequency-shift-hz =  /bits/ 64 <1350000000>;
					adi,nco-mixer-mode = <AD9081_ADC_NCO_VIF>;
				};

			};

			adi,channelizer-paths {
				#address-cells = <1>;
				#size-cells = <0>;


				ad9081_rx_fddc_chan0: channel@0 {
					reg = <0>;
					adi,decimation = <1>;
					adi,gain = <2048>; /* 2048 * 10^(gain_dB/20) */
					adi,nco-frequency-shift-hz =  /bits/ 64 <0>;

				};
				ad9081_rx_fddc_chan1: channel@1 {
					reg = <1>;
					adi,decimation = <1>;
					adi,gain = <2048>; /* 2048 * 10^(gain_dB/20) */
					adi,nco-frequency-shift-hz =  /bits/ 64 <0>;

				};
			};

			adi,jesd-links {
				#size-cells = <0>;
				#address-cells = <1>;

				ad9081_rx_jesd_l0: link@0 {
					reg = <0>;
					adi,converter-select =
						 <&ad9081_rx_fddc_chan0 FDDC_I>, <&ad9081_rx_fddc_chan0 FDDC_Q>,
						 <&ad9081_rx_fddc_chan1 FDDC_I>, <&ad9081_rx_fddc_chan1 FDDC_Q>;

                                        adi,logical-lane-mapping = /bits/ 8 <2 0 7 6 5 4 3 1>;

					adi,link-mode = <18>;			/* JESD Quick Configuration Mode */
					adi,subclass = <1>;			/* JESD SUBCLASS 0,1,2 */
					adi,version = <2>;			/* JESD VERSION 0=204A,1=204B,2=204C */
					adi,dual-link = <0>;			/* JESD Dual Link Mode */

					adi,converters-per-device = <4>;	/* JESD M */
					adi,octets-per-frame = <1>;		/* JESD F */

					adi,frames-per-multiframe = <256>;	/* JESD K */
					adi,converter-resolution = <16>;	/* JESD N */
					adi,bits-per-sample = <16>;		/* JESD NP' */
					adi,control-bits-per-sample = <0>;	/* JESD CS */
					adi,lanes-per-device = <8>;		/* JESD L */
					adi,samples-per-converter-per-frame = <1>; /* JESD S */
					adi,high-density = <1>;			/* JESD HD */
				};
			};
		};
	};
};

With this device tree, the current draw of the board goes up when the board boots, consistent with the ADC being clocked. From the iio status I see "JESD RX (JTX) Link0 204C PLL locked, PHASE lost, MODE valid" but from the jesd_status utility I get "Failed to find JESD devices"

The linux boot log is

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Mon Nov 4 12:19:44 UTC 2024
[    0.000000] Machine model: xlnx,zynqmp
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006dc00000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fefffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 256 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 22 pages/cpu s50968 r8192 d30952 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940
[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk1p2 rw rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000003bfff000-0x000000003ffff000] (64MB)
[    0.000000] Memory: 3751292K/4193280K available (16064K kernel code, 1728K rwdata, 12232K rodata, 2624K init, 660K bss, 179844K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x524 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000003] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008443] Console: colour dummy device 80x25
[    0.012483] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.022841] pid_max: default: 32768 minimum: 301
[    0.027591] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.034788] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.043565] rcu: Hierarchical SRCU implementation.
[    0.047531] EFI services will not be available.
[    0.051958] smp: Bringing up secondary CPUs ...
[    0.056687] Detected VIPT I-cache on CPU1
[    0.056725] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.057112] Detected VIPT I-cache on CPU2
[    0.057137] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.057512] Detected VIPT I-cache on CPU3
[    0.057535] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.057583] smp: Brought up 1 node, 4 CPUs
[    0.091780] SMP: Total of 4 processors activated.
[    0.096453] CPU features: detected: 32-bit EL0 Support
[    0.101556] CPU features: detected: CRC32 instructions
[    0.106693] CPU: All CPU(s) started at EL2
[    0.110737] alternatives: patching kernel code
[    0.116209] devtmpfs: initialized
[    0.122962] Registered cp15_barrier emulation handler
[    0.123450] Registered setend emulation handler
[    0.128062] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.137636] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.150947] pinctrl core: initialized pinctrl subsystem
[    0.151596] NET: Registered protocol family 16
[    0.156004] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.162029] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.169752] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.177565] audit: initializing netlink subsys (disabled)
[    0.183025] audit: type=2000 audit(0.116:1): state=initialized audit_enabled=0 res=1
[    0.190609] cpuidle: using governor menu
[    0.194556] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.201284] ASID allocator initialised with 65536 entries
[    0.225426] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.226484] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.233153] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.239810] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.305577] DRBG: Continuing without Jitter RNG
[    1.383272] raid6: neonx8   gen()  2140 MB/s
[    1.451332] raid6: neonx8   xor()  1596 MB/s
[    1.519405] raid6: neonx4   gen()  2190 MB/s
[    1.587455] raid6: neonx4   xor()  1561 MB/s
[    1.655533] raid6: neonx2   gen()  2078 MB/s
[    1.723581] raid6: neonx2   xor()  1441 MB/s
[    1.791653] raid6: neonx1   gen()  1775 MB/s
[    1.859712] raid6: neonx1   xor()  1219 MB/s
[    1.927778] raid6: int64x8  gen()  1437 MB/s
[    1.995839] raid6: int64x8  xor()   771 MB/s
[    2.063910] raid6: int64x4  gen()  1601 MB/s
[    2.131976] raid6: int64x4  xor()   815 MB/s
[    2.200053] raid6: int64x2  gen()  1398 MB/s
[    2.268110] raid6: int64x2  xor()   749 MB/s
[    2.336187] raid6: int64x1  gen()  1033 MB/s
[    2.404247] raid6: int64x1  xor()   517 MB/s
[    2.404286] raid6: using algorithm neonx4 gen() 2190 MB/s
[    2.408241] raid6: .... xor() 1561 MB/s, rmw enabled
[    2.413172] raid6: using neon recovery algorithm
[    2.418183] iommu: Default domain type: Translated 
[    2.422810] SCSI subsystem initialized
[    2.426466] usbcore: registered new interface driver usbfs
[    2.431799] usbcore: registered new interface driver hub
[    2.437073] usbcore: registered new device driver usb
[    2.442200] mc: Linux media interface: v0.10
[    2.446319] videodev: Linux video capture interface: v2.00
[    2.451814] EDAC MC: Ver: 3.0.0
[    2.455256] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.463683] jesd204: created con: id=0, topo=0, link=2, /fpga-axi@0/axi-adxcvr-rx@84a60000 <-> /fpga-axi@0/axi-jesd204-rx@84a90000
[    2.475032] jesd204: created con: id=1, topo=0, link=2, /fpga-axi@0/axi-jesd204-rx@84a90000 <-> /fpga-axi@0/axi-ad9081-rx-hpc@84a10000
[    2.487065] jesd204: created con: id=2, topo=0, link=2, /fpga-axi@0/axi-ad9081-rx-hpc@84a10000 <-> /axi/spi@ff040000/ad9082@0
[    2.498294] jesd204: /axi/spi@ff040000/ad9082@0: In jesd204_fsm
[    2.504182] jesd204: /axi/spi@ff040000/ad9082@0: JESD204[0:2] transition uninitialized -> initialized
[    2.513344] jesd204: found 6 devices and 1 topologies
[    2.518388] FPGA manager framework
[    2.521857] Advanced Linux Sound Architecture Driver Initialized.
[    2.528168] Bluetooth: Core ver 2.22
[    2.531343] NET: Registered protocol family 31
[    2.535743] Bluetooth: HCI device and connection manager initialized
[    2.542061] Bluetooth: HCI socket layer initialized
[    2.546902] Bluetooth: L2CAP socket layer initialized
[    2.551927] Bluetooth: SCO socket layer initialized
[    2.557099] clocksource: Switched to clocksource arch_sys_counter
[    2.562957] VFS: Disk quotas dquot_6.6.0
[    2.566752] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.577655] NET: Registered protocol family 2
[    2.578222] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    2.586390] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    2.594418] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    2.601865] TCP: Hash tables configured (established 32768 bind 32768)
[    2.608036] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.614704] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.621876] NET: Registered protocol family 1
[    2.626337] RPC: Registered named UNIX socket transport module.
[    2.631941] RPC: Registered udp transport module.
[    2.636605] RPC: Registered tcp transport module.
[    2.641279] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.648272] PCI: CLS 0 bytes, default 64
[    2.651958] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    2.658833] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    2.667190] Initialise system trusted keyrings
[    2.670853] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    2.677824] NFS: Registering the id_resolver key type
[    2.682205] Key type id_resolver registered
[    2.686342] Key type id_legacy registered
[    2.690339] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.696998] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.704170] fuse: init (API version 7.32)
[    2.745231] NET: Registered protocol family 38
[    2.745274] xor: measuring software checksum speed
[    2.752958]    8regs           :  2363 MB/sec
[    2.756633]    32regs          :  2799 MB/sec
[    2.761578]    arm64_neon      :  2380 MB/sec
[    2.761763] xor: using function: 32regs (2799 MB/sec)
[    2.766794] Key type asymmetric registered
[    2.770851] Asymmetric key parser 'x509' registered
[    2.775711] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    2.783050] io scheduler mq-deadline registered
[    2.787545] io scheduler kyber registered
[    2.818179] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.822843] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.829411] brd: module loaded
[    2.833781] loop: module loaded
[    2.834212] Registered mathworks_ip class
[    2.837341] libphy: Fixed MDIO Bus: probed
[    2.840342] tun: Universal TUN/TAP device driver, 1.6
[    2.844438] CAN device driver interface
[    2.849015] usbcore: registered new interface driver asix
[    2.853568] usbcore: registered new interface driver ax88179_178a
[    2.859596] usbcore: registered new interface driver cdc_ether
[    2.865388] usbcore: registered new interface driver net1080
[    2.871012] usbcore: registered new interface driver cdc_subset
[    2.876892] usbcore: registered new interface driver zaurus
[    2.882437] usbcore: registered new interface driver cdc_ncm
[    2.888858] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.894528] ehci-pci: EHCI PCI platform driver
[    2.899333] usbcore: registered new interface driver uas
[    2.904243] usbcore: registered new interface driver usb-storage
[    2.910229] usbcore: registered new interface driver usbserial_generic
[    2.916677] usbserial: USB Serial support registered for generic
[    2.922651] usbcore: registered new interface driver ftdi_sio
[    2.928352] usbserial: USB Serial support registered for FTDI USB Serial Device
[    2.935624] usbcore: registered new interface driver upd78f0730
[    2.941501] usbserial: USB Serial support registered for upd78f0730
[    2.948804] i2c /dev entries driver
[    2.953004] usbcore: registered new interface driver uvcvideo
[    2.956889] USB Video Class driver (1.1.1)
[    2.962099] Bluetooth: HCI UART driver ver 2.3
[    2.965368] Bluetooth: HCI UART protocol H4 registered
[    2.970468] Bluetooth: HCI UART protocol BCSP registered
[    2.975759] Bluetooth: HCI UART protocol LL registered
[    2.980848] Bluetooth: HCI UART protocol ATH3K registered
[    2.986221] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.992473] Bluetooth: HCI UART protocol Intel registered
[    2.997815] Bluetooth: HCI UART protocol QCA registered
[    3.003015] usbcore: registered new interface driver bcm203x
[    3.008639] usbcore: registered new interface driver bpa10x
[    3.014171] usbcore: registered new interface driver bfusb
[    3.019621] usbcore: registered new interface driver btusb
[    3.025091] usbcore: registered new interface driver ath3k
[    3.030700] EDAC MC0: Giving out device to module 1 controller synps_ddr_controller: DEV synps_edac (INTERRUPT)
[    3.040702] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    3.052981] sdhci: Secure Digital Host Controller Interface driver
[    3.058788] sdhci: Copyright(c) Pierre Ossman
[    3.063109] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.069141] ledtrig-cpu: registered to indicate activity on CPUs
[    3.074712] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    3.081139] zynqmp_firmware_probe Platform Management API v1.1
[    3.086902] zynqmp_firmware_probe Trustzone version v1.0
[    3.148801] zynqmp-aes firmware:zynqmp-firmware:zynqmp-aes: will run requests pump with realtime priority
[    3.164609] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    3.165327] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    3.170830] usbcore: registered new interface driver usbhid
[    3.176217] usbhid: USB HID core driver
[    3.187897] jesd204: /fpga-axi@0/axi-adxcvr-rx@84a60000,jesd204:5,parent=84a60000.axi-adxcvr-rx: In jesd204_fsm
[    3.192350] axi_adxcvr 84a60000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.05.a) using QPLL on GTY4 at 0x84A60000. Number of lanes: 8.
[    3.203857] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    3.214779] axi_sysid 85000000.axi-sysid-0: AXI System ID core version (1.01.a) found
[    3.222020] axi_sysid 85000000.axi-sysid-0: system ID header version mismatch. Expected 2, Reported 0
[    3.230917] axi_sysid: probe of 85000000.axi-sysid-0 failed with error -14
[    3.238196] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    3.244643] usbcore: registered new interface driver snd-usb-audio
[    3.252060] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    3.258420] Initializing XFRM netlink socket
[    3.262121] NET: Registered protocol family 10
[    3.266865] Segment Routing with IPv6
[    3.270250] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.276311] NET: Registered protocol family 17
[    3.280401] NET: Registered protocol family 15
[    3.284887] can: controller area network core
[    3.289155] NET: Registered protocol family 29
[    3.293544] can: raw protocol
[    3.296472] can: broadcast manager protocol
[    3.300633] can: netlink gateway - max_hops=1
[    3.305032] Bluetooth: RFCOMM TTY layer initialized
[    3.309808] Bluetooth: RFCOMM socket layer initialized
[    3.314914] Bluetooth: RFCOMM ver 1.11
[    3.318625] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.323897] Bluetooth: BNEP filters: protocol multicast
[    3.329092] Bluetooth: BNEP socket layer initialized
[    3.334017] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.339902] Bluetooth: HIDP socket layer initialized
[    3.344954] 9pnet: Installing 9P2000 support
[    3.349101] NET: Registered protocol family 36
[    3.353496] Key type dns_resolver registered
[    3.357910] registered taskstats version 1
[    3.361793] Loading compiled-in X.509 certificates
[    3.366917] Btrfs loaded, crc32c=crc32c-generic
[    3.379816] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 49, base_baud = 6249999) is a xuartps
[    3.388835] printk: console [ttyPS0] enabled
[    3.388835] printk: console [ttyPS0] enabled
[    3.393130] printk: bootconsole [cdns0] disabled
[    3.393130] printk: bootconsole [cdns0] disabled
[    3.402510] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 50, base_baud = 6249999) is a xuartps
[    3.415938] of-fpga-region fpga-full: FPGA Region probed
[    3.422210] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    3.429389] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    3.436566] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    3.443735] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    3.450907] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    3.458076] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    3.465255] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    3.472430] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    3.479671] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    3.486850] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    3.494021] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    3.501198] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    3.508368] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    3.515536] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    3.522712] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    3.529886] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    3.538142] ad9081 spi0.0: Disabling TX side
[    3.542461] ad9081 spi0.0: supply vdd not found, using dummy regulator
[    3.597492] zynqmp_pll_disable() clock disable failed for apll_int, ret = -13
[    4.820901] random: fast init done
[    5.205428] ad9081 spi0.0: AD9207 Rev. 3 Grade 2 (API 1.3.1) probed
[    5.211698] jesd204: /axi/spi@ff040000/ad9082@0,jesd204:0,parent=spi0.0: In jesd204_fsm
[    5.219991] zynqmp_gpd_attach_dev() domain6 request failed for node 36: -13
[    5.226954] cdns-spi ff050000.spi: failed to add to PM domain domain6: -13
[    5.233826] cdns-spi: probe of ff050000.spi failed with error -13
[    5.240277] zynqmp_gpd_attach_dev() domain7 request failed for node 47: -13
[    5.247236] xilinx_can ff060000.can: failed to add to PM domain domain7: -13
[    5.254276] xilinx_can: probe of ff060000.can failed with error -13
[    5.260957] macb ff0b0000.ethernet: Not enabling partial store and forward
[    5.268352] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    5.274929] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    5.281466] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    5.288001] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    5.294476] zynqmp_gpd_attach_dev() domain9 request failed for node 22: -13
[    5.301435] dwc3-xilinx ff9d0000.usb0: failed to add to PM domain domain9: -13
[    5.308660] dwc3-xilinx: probe of ff9d0000.usb0 failed with error -13
[    5.316316] at24 0-0051: supply vcc not found, using dummy regulator
[    5.323259] at24 0-0051: 256 byte 24c02 EEPROM, read-only
[    5.328824] lm75 0-0048: supply vs not found, using dummy regulator
[    5.335681] lm75 0-0048: hwmon0: sensor 'tmp112'
[    5.340457] lm75 0-004b: supply vs not found, using dummy regulator
[    5.347303] lm75 0-004b: hwmon1: sensor 'tmp112'
[    5.352802] cdns-i2c ff020000.i2c: 100 kHz mmio ff020000 irq 40
[    5.359274] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 41
[    5.365608] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    5.373130] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    5.401960] iio_dmaengine_buffer_alloc:226 width 0 (DMA width >= 256-bits ?)
[    5.409749] jesd204: /fpga-axi@0/axi-ad9081-rx-hpc@84a10000,jesd204:3,parent=84a10000.axi-ad9081-rx-hpc: In jesd204_fsm
[    5.415331] mmc1: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    5.420546] cf_axi_adc 84a10000.axi-ad9081-rx-hpc: ADI AIM (10.02.b) at 0x84A10000 mapped to 0x(____ptrval____) probed ADC AD9081 as MASTER
[    5.428327] mmc0: SDHCI controller on ff160000.mmc [ff160000.mmc] using ADMA 64-bit
[    5.441186] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    5.459207] macb ff0b0000.ethernet: Not enabling partial store and forward
[    5.467742] libphy: MACB_mii_bus: probed
[    5.472657] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 38 (d8:47:8f:92:4f:62)
[    5.482791] mmc1: new high speed SDHC card at address 59b4
[    5.483086] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    5.488656] mmcblk1: mmc1:59b4 USD00 29.5 GiB 
[    5.499249] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    5.504827]  mmcblk1: p1 p2
[    5.516207] of_cfs_init
[    5.517706] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    5.518975] of_cfs_init: OK
[    5.532387] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.569281] mmc0: new HS200 MMC card at address 0001
[    5.574611] mmcblk0: mmc0:0001 DG4008 7.28 GiB 
[    5.579324] mmcblk0boot0: mmc0:0001 DG4008 partition 1 4.00 MiB
[    5.585427] mmcblk0boot1: mmc0:0001 DG4008 partition 2 4.00 MiB
[    5.591423] mmcblk0rpmb: mmc0:0001 DG4008 partition 3 4.00 MiB, chardev (245:0)
[    5.600577]  mmcblk0: p1
[    5.605526] jesd204: /fpga-axi@0/axi-jesd204-rx@84a90000,jesd204:4,parent=84a90000.axi-jesd204-rx: FSM going to STOP
[    5.667489] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.674022] clk: Not disabling unused clocks
[    5.678527] ALSA device list:
[    5.681484]   No soundcards found.
[    5.685163] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    5.693775] cfg80211: failed to load regulatory.db
[    5.708306] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    5.716417] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    5.729098] devtmpfs: mounted
[    5.732781] Freeing unused kernel memory: 2624K
[    5.753153] Run /sbin/init as init process
[    6.316970] systemd[1]: System time before build time, advancing clock.
[    6.379133] systemd[1]: systemd 245.4-4ubuntu3.23 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[    6.402065] systemd[1]: Detected architecture arm64.

Welcome to Ubuntu 20.04.6 LTS!

[    6.437637] systemd[1]: Set hostname to <localhost.localdomain>.
[    6.671693] random: systemd: uninitialized urandom read (16 bytes read)
[    6.933881] random: systemd: uninitialized urandom read (16 bytes read)
[    6.940633] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    6.953007] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    6.963317] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[    6.985216] random: systemd: uninitialized urandom read (16 bytes read)
[    6.992476] systemd[1]: Created slice system-modprobe.slice.
[  OK  ] Created slice system-modprobe.slice.
[    7.013781] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    7.037874] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    7.061299] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    7.085259] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    7.109273] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[    7.120946] systemd[1]: Reached target Local Encrypted Volumes.
[  OK  ] Reached target Local Encrypted Volumes.
[    7.141222] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[    7.157177] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    7.177160] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    7.193187] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[    7.216158] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    7.233332] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    7.257690] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[    7.277345] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    7.297402] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    7.313413] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    7.333329] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    7.355745] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[    7.375941] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    7.399887] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    7.417476] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[    7.429263] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    7.446282] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[    7.460479] systemd[1]: Starting Load Kernel Module chromeos_pstore...
         Starting Load Kernel Module chromeos_pstore...
[    7.481261] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
[    7.492554] systemd[1]: Starting Load Kernel Module efi_pstore...
         Starting Load Kernel Module efi_pstore...
[    7.511877] systemd[1]: Starting Load Kernel Module pstore_blk...
         Starting Load Kernel Module pstore_blk...
[    7.531934] systemd[1]: Starting Load Kernel Module pstore_zone...
         Starting Load Kernel Module pstore_zone...
[    7.555953] systemd[1]: Starting Load Kernel Module ramoops...
         Starting Load Kernel Module ramoops...
[    7.574746] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    7.587723] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    7.607752] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    7.635830] systemd[1]: Starting udev Coldplug all Devices...
         Starting udev Coldplug all Devices...
[    7.656640] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Finished Load Kernel Module chromeos_pstore.
[  OK  ] Finished Load Kernel Module efi_pstore.
[  OK  ] Finished Load Kernel Module pstore_blk.
[  OK  ] Finished Load Kernel Module pstore_zone.
[  OK  ] Finished Load Kernel Module ramoops.
[  OK  ] Finished Load Kernel Modules.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Mounting FUSE Control File System...
         Mounting Kernel Configuration File System...
         Starting Flush Journal to Persistent Storage...
[    7.913994] systemd-journald[143]: Received client request to flush runtime journal.
         Starting Load/Save Random Seed...
[    7.924863] systemd-journald[143]: File /var/log/journal/3c6cc1e7369340fbafb0f69e92984ed7/system.journal corrupted or uncleanly shut down, renaming and replacing.
         Starting Apply Kernel Variables...
         Starting Create System Users...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished udev Coldplug all Devices.
         Starting Helper to synchronize boot up for ifupdown...
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Starting udev Kernel Device Manager...
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Found device /dev/ttyPS0.
[  OK  ] Found device /dev/mmcblk1p1.
[  OK  ] Finished Helper to synchronize boot up for ifupdown.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
         Mounting /boot...
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
         Starting Enable support fo…l executable binary formats...
[  OK  ] Started ifup for eth0.
         Starting Raise network interfaces...
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Enable support fo…nal executable binary formats.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Name Resolution...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Started Message of the Day.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Regular background program processing daemon.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Save initial kernel messages after boot.
         Starting Remove Stale Onli…t4 Metadata Check Snapshots...
         Starting Dispatcher daemon for systemd-networkd...
[  OK  ] Started Set the CPU Frequency Scaling governor.
         Starting System Logging Service...
         Starting Login Service...
[  OK  ] Finished Raise network interfaces.
[  OK  ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting Network Time Service...
         Starting OpenBSD Secure Shell server...
         Starting Permit User Sessions...
[  OK  ] Started System Logging Service.
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyPS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Login Service.
[  OK  ] Started Network Time Service.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Started Dispatcher daemon for systemd-networkd.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.

Ubuntu 20.04.6 LTS localhost.localdomain ttyPS0

localhost login: 

In the device tree (currently commented out) if I set the jesd204-inputs of the axi_ad9081_adxcvr_rx to be jesd204-inputs =  <&refclk 0 FRAMER_LINK0_RX> then I am also required to declare the fixed-clock as a "jesd204-device". This still gets me to the same place.

If I add an HMC7044 to the device tree -- even though there isn't one in hardware! -- then I see the JESD204 state machine going through the appropriate steps for bootup.

I'm hoping that I'm missing something obvious, and there is a simple way to get a fixed clock to serve as the JESD204 reference -- I'd very much appreciate any pointers!

Thanks

Jack