From c40f6dda9f7b7daf319619be22ae42b8775913ac Mon Sep 17 00:00:00 2001 From: Andrea Oesmer Date: Tue, 31 Mar 2026 14:06:44 +0800 Subject: [PATCH 1/3] reference-designs/eval-ad916x: Add wiki-migration pages Signed-off-by: Andrea Oesmer --- .../images/AD9161-TR-chip-illustration.png | 3 + .../AD9162-FMC-EBZBOTTOM-evaluation-board.jpg | 3 + .../AD9162-FMC-EBZTOP-evaluation-board.jpg | 3 + .../images/AD9162-TR-chip-illustration.png | 3 + .../images/ad9161-ad9162-block-diagram.png | 3 + .../images/ad9162_IIO_Oscilloscope.png | 3 + ...9162_IIO_Oscilloscope_DAC_Data_Manager.png | 3 + .../ad9162_IIO_Oscilloscope_DAC_Modes.png | 3 + .../images/ad9162_IIO_Oscilloscope_Debug.png | 3 + .../images/ad9162_IIO_Oscilloscope_oneCW.png | 3 + .../images/ad9162_out_frequency_domain.png | 3 + .../images/ad9162_out_time_domain.png | 3 + .../images/ad9162_zcu102_setup.PNG | 3 + .../images/ad9164fmc+zcu102+HWequipment.png | 3 + .../eval-ad916x/images/ad9164fmc+zcu102.png | 3 + .../ad916x_fmc_zcu102_block_diagram.svg | 5275 +++++++++++++++++ .../eval-ad916x/images/eval-ad9162-top.PNG | 3 + .../reference-designs/eval-ad916x/index.rst | 136 + .../eval-ad916x/prerequisites.rst | 88 + .../eval-ad916x/quickstart/index.rst | 49 + .../eval-ad916x/quickstart/zcu102.rst | 1080 ++++ .../eval-ad916x/user-guide.rst | 88 + 22 files changed, 6764 insertions(+) create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/AD9161-TR-chip-illustration.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZBOTTOM-evaluation-board.jpg create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/AD9162-TR-chip-illustration.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9161-ad9162-block-diagram.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Data_Manager.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Modes.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_Debug.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_oneCW.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_frequency_domain.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_time_domain.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9162_zcu102_setup.PNG create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102+HWequipment.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102.png create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/ad916x_fmc_zcu102_block_diagram.svg create mode 100644 docs/solutions/reference-designs/eval-ad916x/images/eval-ad9162-top.PNG create mode 100644 docs/solutions/reference-designs/eval-ad916x/index.rst create mode 100644 docs/solutions/reference-designs/eval-ad916x/prerequisites.rst create mode 100644 docs/solutions/reference-designs/eval-ad916x/quickstart/index.rst create mode 100644 docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst create mode 100644 docs/solutions/reference-designs/eval-ad916x/user-guide.rst diff --git a/docs/solutions/reference-designs/eval-ad916x/images/AD9161-TR-chip-illustration.png b/docs/solutions/reference-designs/eval-ad916x/images/AD9161-TR-chip-illustration.png new file mode 100644 index 00000000000..298e7fa799a --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/AD9161-TR-chip-illustration.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d9fede90519a8b567a8bfcfbbbc7c2a1e8dfb97d0ecd99d3f5afb0270286d2 +size 938651 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZBOTTOM-evaluation-board.jpg b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZBOTTOM-evaluation-board.jpg new file mode 100644 index 00000000000..27f598c3755 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZBOTTOM-evaluation-board.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1163fd19a9ecee529392e850cdec393bdd6fd47bc1c42cc0054dc1e93efabd2 +size 12794884 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg new file mode 100644 index 00000000000..0446adb064c --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c4c3051069063aab37b78923c8e160e8b4d0d14f1799d435a8cb12d56af62d1 +size 15847881 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/AD9162-TR-chip-illustration.png b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-TR-chip-illustration.png new file mode 100644 index 00000000000..a8f546dfca2 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/AD9162-TR-chip-illustration.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24aeb48c4bc83cddaf5df66a1a13da263e286551c5db510eb511f8f3ac156f23 +size 1503149 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9161-ad9162-block-diagram.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9161-ad9162-block-diagram.png new file mode 100644 index 00000000000..7d1923fa2b3 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9161-ad9162-block-diagram.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:138c96f85a1cb4bb54de243a7881a1e768c26f178374947bd826de10d19d4d03 +size 84886 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope.png new file mode 100644 index 00000000000..45de1c5c1de --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cab97ecbe0d7aa4c1ef687f252fe9555be03c505d33e5518761bc9e04d39edc +size 42388 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Data_Manager.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Data_Manager.png new file mode 100644 index 00000000000..b7006155255 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Data_Manager.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1f5f511058d9e45d42d7178d5239bad82e0b542b1927ed12a9665d29cd498fb +size 36344 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Modes.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Modes.png new file mode 100644 index 00000000000..81de3a8317e --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_DAC_Modes.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98dac378988d3f1d939fcd0d91b7b2137709e71fa55e39471749f7fc9eefea51 +size 59247 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_Debug.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_Debug.png new file mode 100644 index 00000000000..391d40e778d --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_Debug.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b19fed6ba3722297c67f96a823931247d684692f3302a7e81f199d9a406c70 +size 89740 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_oneCW.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_oneCW.png new file mode 100644 index 00000000000..1c030d197f8 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_IIO_Oscilloscope_oneCW.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa9573cecdf736440b0b73dfdea5706229d4649bebe3b2847f306d459e47e2f3 +size 56968 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_frequency_domain.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_frequency_domain.png new file mode 100644 index 00000000000..fcfe2446727 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_frequency_domain.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd1dacafc50d70e93831da415420f2832c1adec2704540d5de521aa5bd5aab8d +size 120024 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_time_domain.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_time_domain.png new file mode 100644 index 00000000000..998d78221f1 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_out_time_domain.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b527fca2a9fb3062902f89c4d568e55007abef393c51976d7d41dfabeb427ab +size 119230 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9162_zcu102_setup.PNG b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_zcu102_setup.PNG new file mode 100644 index 00000000000..51eafe1226b --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9162_zcu102_setup.PNG @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad90289a4f314c46f3cefe403a5021a6911afd88086f732b8ce169a09fc4a26b +size 669319 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102+HWequipment.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102+HWequipment.png new file mode 100644 index 00000000000..bf631cc2df5 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102+HWequipment.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01581c720f4295d0fb124473997937355ca3b0ab14471a358f3f39eb1060c0b +size 930909 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102.png b/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102.png new file mode 100644 index 00000000000..05291fc9915 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad9164fmc+zcu102.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33f8da441ef6713349baa7f14171bd4cae6cdd5a43fa632426c7f0b28492565b +size 13214310 diff --git a/docs/solutions/reference-designs/eval-ad916x/images/ad916x_fmc_zcu102_block_diagram.svg b/docs/solutions/reference-designs/eval-ad916x/images/ad916x_fmc_zcu102_block_diagram.svg new file mode 100644 index 00000000000..30d7b6b19b8 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/ad916x_fmc_zcu102_block_diagram.svg @@ -0,0 +1,5275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + TX Global Clock = TX Lane Rate/40 = 312.5 MHz + + 1 channel x16 samples + I channel8 samples + Q channel8 samples + + + + + + tx_data_7_p, n + tx_ref_clk_0 + tx_ref_clk_4 + tx_sysref_0 + + + tx_data_0_p, n + + + + + AXI_ADXCVR + + TX Lane Rate12.5 Gbps + + + + + + + + 128b + + + UTIL_UPACK + + clk + + + DATA_OFFLOAD + AXI_DMAC + JESD PHY + dac_clk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ethernet + UART + GPIO + DDRx + SPI + I2C + Interrupts + Timer + + + + ZynqMP + + + + + + Transmit path + + + Clock domain + + + + UTIL_ADXCVR + + + + + FMC CONNECTOR + + MEMORY INTERCONNECT + ZCU102 + AD916x + FCLK_CLK0 = 100MHz + + + + + 256b + + + + + + + + + + 256b + + + + link_clk + TX JESD TPL + + TX JESD LINK + + + + + 256b + + JESD204B in subclass 1 + + tx_0 + + tx_7 + + + + device_clk + + + + + + + + link_clk + tx_out_clk_0(tx_div_clk) + 312.5 MHz + + + + + tx_sync + 256b@100MHz + REF_CLK = 120 MHz + 1 channel x16 samples + TX: L=8, M=2, S=2, F=1, NP=16 + + + + + + 128b + + + + + + 128b + + + 256b@312.5 MHz + 256b@312.5 MHz + 8 x 32b@312.5 MHz + + + diff --git a/docs/solutions/reference-designs/eval-ad916x/images/eval-ad9162-top.PNG b/docs/solutions/reference-designs/eval-ad916x/images/eval-ad9162-top.PNG new file mode 100644 index 00000000000..c32bbba3c28 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/images/eval-ad9162-top.PNG @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4df447f62e9f89bbb355e2fd288a939b49841593c17020204d27864a46c95b3 +size 685236 diff --git a/docs/solutions/reference-designs/eval-ad916x/index.rst b/docs/solutions/reference-designs/eval-ad916x/index.rst new file mode 100644 index 00000000000..967ad0ad517 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/index.rst @@ -0,0 +1,136 @@ +.. _eval-ad916x: + +EVAL-AD916X +=========== + +AD9161/AD9162/AD9163/AD9164 high speed RF DAC reference design. + +.. image:: images/AD9161-TR-chip-illustration.png + :align: left + :width: 200 + +.. image:: images/AD9162-TR-chip-illustration.png + :align: left + :width: 200 + +Overview +--------- + +The :adi:`AD9161 `, :adi:`AD9162 `, :adi:`AD9163 `, +and :adi:`AD9164 ` is a high performance, 16-bit (AD9164, AD9163, AD9162)/11-bit +(AD9161) resolution digital-to-analog converter (DAC) that supports data rates to +6 GSPS. + +The DAC core is based on a quad-switch architecture coupled with a 2x interpolator +filter that enables an effective DAC update rate of up to 12 GSPS in some modes. +The high dynamic range and bandwidth makes this DAC ideally suited for the most +demanding high speed radio frequency (RF) DAC applications. + +The AD916x-FMC HDL reference design provides a validated path to evaluate JESD204 +link bring-up, DAC data transport, and clocking on supported FPGA carriers. + +The HDL design supports configurable JESD operation modes, lane rates, and +device variants from a common build framework. For Linux bring-up, ADI Kuiper +images and ADI Linux device trees are available for supported ZynqMP platforms. + +Features +-------- + +- Full featured evaluation board for the AD9161, AD9162, AD9163, and AD9164 +- Direct clocking vs. on-board clocking +- Showing RF modes of the DAC, including mixed mode and 2× NRZ +- NCO only mode +- JESD204B/C transmit path with configurable modes and lane rates +- Reference HDL flow on :xilinx:`ZCU102 ` +- Integrated DMA/data-offload based data path in HDL reference design +- Linux software enablement through ADI kernel drivers and device trees +- IIO-based remote evaluation from a host PC + +.. figure:: ../eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg + :align: center + :width: 500 + + EVAL-AD9162-FMCB Top + +.. figure:: ../eval-ad916x/images/AD9162-FMC-EBZBOTTOM-evaluation-board.jpg + :align: center + :width: 500 + + EVAL-AD9162-FMCB Bottom + +.. toctree:: + :hidden: + + user-guide + prerequisites + quickstart/index + +Recommendations +--------------- + +People who follow the flow that is outlined, have a much better experience with +things. However, like many things, documentation is never as complete as it +should be. If you have any questions, feel free to ask on our +:ref:`EngineerZone forums `, but before that, please make +sure you read our documentation thoroughly. + +To better understand the :adi:`AD9161 `, :adi:`AD9162 `, +:adi:`AD9163 `, and :adi:`AD9164 `, we recommend to use +the :adi:`EVAL-AD916X-FMCZ ` evaluation board. + +Table of Contents +----------------- + +#. Using the evaluation board/full stack reference design that we offer: + + #. :ref:`eval-ad916x prerequisites` - what you need to get started with the setup + + #. :ref:`eval-ad916x quickstart`: + + #. Using the :ref:`Using the Xilinx ZCU102 with the EVAL-AD9162-FMC ` + + #. Linux Applications + + #. :ref:`iio-oscilloscope` + +#. Design with the AD9161/AD9162/AD9163/AD9164 + + - :adi:`AD9161 product page ` + - :adi:`AD9162 product page ` + - :adi:`AD9163 product page ` + - :adi:`AD9164 product page ` + + - Resources for designing a custom AD916X-based platform software: + + #. For Linux software: + + - :external+linux:doc:`AD9161/AD9162/AD9163/AD9164 Linux support ` + - :git-linux:`AD9162 IIO driver ` + - :git-linux:`AD916x IIO support ` + + #. HDL Software: + + - :external+hdl:doc:`AD916x-FMC HDL project documentation ` + - :git-hdl:`AD916x-FMC HDL source code ` + - :external+hdl:ref:`Build an HDL project ` + +#. :adi:`Evaluating the AD9161, AD9162, AD9163, and AD9164 High Speed, RF DACs ` + + .. note:: + This user guide uses the ADS7-V2EBZ platform (OBSOLETE). + +#. :ref:`Help and Support ` + + +Block Diagram +------------- + +.. figure:: ../eval-ad916x/images/ad9161-ad9162-block-diagram.png + :align: center + + AD9161/AD9162 Block Diagram + +Warning +------------------------------------------------------------------------------- + +.. esd-warning:: diff --git a/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst b/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst new file mode 100644 index 00000000000..09a5cb6cd8e --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst @@ -0,0 +1,88 @@ +.. _eval-ad916x prerequisites: + +Prerequisites +=============================================================================== + +What you need, depends on what you are trying to do. As a minimum, you need to +start out with: + +Hardware prerequisites +------------------------------------------------------------------------------- + +#. The AD916X-based evaluation board::adi:`EVAL-AD916X-FMCZ ` evaluation board +#. A supported FPGA carrier platform, currently + :xilinx:`ZCU102 ` + on HPC0 +#. An FPGA carrier platform. Our recommended ones can be found + :ref:`here `. + + - There are a few more boards, which do work, but are currently not + supported by us. The experience with the fabric-only solutions is very + close to the ARM/FPGA SoC based solutions, but the GUI runs on a host PC + (Windows or Linux). + +#. Some way to interact with the FPGA platform: + + #. for the ARM/FPGA SoC platforms, this normally includes: + + - HDMI or DisplayPort monitor + - USB Keyboard + - USB Mouse + + #. for the FPGA only solutions, this includes: + + - LAN cable (Ethernet) + - Host PC (Windows or Linux) + +#. Internet connection (without proxies makes things much easier) to update + the scripts/binaries on the SD card that came with the ADI FMC Card + (firewalls are OK, proxies make things a pain). + +#. RF Test Equipment: + + - RF spectrum analyzer or signal analyzer (to measure and visualize the + DAC output spectrum and performance) + - SMA cables + +#. An SD card with at least 16GB of memory (in case you're using Linux). You + should have received one when purchasing the evaluation board. + +Software prerequisites +------------------------------------------------------------------------------- + +.. note:: + + Pre-built files for this reference design are not yet available. + The files must be built manually using the links below. Official release + artifacts will be provided here once available. For now, check: + + - :external+hdl:ref:`Build an HDL project ` + - :external+hdl:ref:`Building the boot image BOOT.BIN ` + - :ref:`linux-kernel zynqmp` + + You can also check the available Linux driver Linux at :git-linux:`AD9162 IIO driver ` + and the HDL repository at :git-hdl:`EVAL-AD916X HDL `. + + +The following files must be gathered into a single working directory +before programming the board: + +- HDL boot image: ``BOOT.BIN`` +- Linux Kernel image: ``uImage`` +- Linux device tree: ``devicetree.dtb`` + - Built from available dts files for AD916x in the Linux kernel source tree: + :git-hdl:`EVAL-AD916X HDL ` (check README for details) + +Normally, for basic functionalities regarding visualizing the +data received from the FPGA, we use the following: + +#. :doc:`IIO Oscilloscope `, a graphical + tool for capturing and visualizing IIO device data +#. :external+scopy:doc:`Scopy ` v2.0 or later + (must contain the IIO plugin) +#. UART terminal application (PuTTY/TeraTerm/Minicom), 115200 8N1 + +.. note:: + + :adi:`ADI <>` does not offer FPGA carrier platforms for sale or loan; + getting one yourself is the normal part of development or evaluation. diff --git a/docs/solutions/reference-designs/eval-ad916x/quickstart/index.rst b/docs/solutions/reference-designs/eval-ad916x/quickstart/index.rst new file mode 100644 index 00000000000..d788627b7fb --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/quickstart/index.rst @@ -0,0 +1,49 @@ +.. _eval-ad916x quickstart: + +Quickstart +=============================================================================== + +The Quick Start Guides provide simple step by step instructions on how to do +an initial system setup for the :adi:`EVAL-AD916X` boards. + +.. toctree:: + + ZCU102 + +.. _eval-ad916x carriers: + +Supported carriers +------------------------------------------------------------------------------- + +The currently supported carrier is: + +- :xilinx:`ZCU102 ` on HPC0 + +Supported environments +------------------------------------------------------------------------------- + +.. list-table:: + :header-rows: 1 + + - - Board + - HDL + - Linux software + - No-OS software + - - :xilinx:`ZCU102 ` + - Yes + - Yes + - No + +Hardware setup +------------------------------------------------------------------------------- + +The :adi:`EVAL-AD916X` connects to the :xilinx:`ZCU102 ` +through the FMC connector (HPC0). The carrier setup requres a power supply, +UART or Ethernet connections as needed. An RF spectrum analyzer can be used to +verify and visualize the DAC output spectrum. + +ZCU102 + EVAL-AD9164 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/ad9164fmc+zcu102.png + :width: 800 diff --git a/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst new file mode 100644 index 00000000000..5e733e8f548 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst @@ -0,0 +1,1080 @@ +.. _eval-ad916x quickstart zcu102: + +ZCU102 Quickstart +=============================================================================== +.. image:: ../../images/zcu102.jpg + :width: 900 + +.. esd-warning:: + + +This guide provides quick instructions on how to set up the +:adi:`EVAL-AD916x` on: + +- :xilinx:`ZCU102 ` + +Using Linux as software +------------------------------------------------------------------------------- + +Necessary files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. important:: + + Pre-built files for this reference design are not yet available. + See the :ref:`eval-ad916x prerequisites` section for the latest information + for resources on how to build the necessary files manually. + +.. note:: + + The SD card includes several folders in the root directory of the BOOT + partition. In order to configure the SD card to work with a specific FPGA + board and ADI hardware, several files must be copied onto the root directory. + Using the host PC, drag and drop the required files onto the BOOT partition, + and use the EJECT function when removing the SD card from the reader. + + +The following files are needed for the system to boot: + +- HDL boot image: ``BOOT.BIN`` +- Linux Kernel image: ``uImage`` +- Linux device tree: ``devicetree.dtb`` + +They can either be taken from the SD card -- already generated by us, or you +can build them manually: + +- Instructions on how to choose the boot files from the SD card can be found + in the **Platform-Specific Manual Steps** section from here :external+kuiper:ref:`hardware-configuration`. +- Instructions on how to manually build the boot files from source can be + found here: + +- :ref:`linux-kernel zynqmp` +- :external+hdl:ref:`ad916x_fmc` build documentation. More HDL build + details at :external+hdl:ref:`build_hdl`. + +.. important:: + + Some projects provide multiple devicetree files in the SD card's boot + folders. Make sure you select the devicetree that matches your specific + use case. + +Required Software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- SD Card 16GB imaged with :external+kuiper:doc:`Kuiper ` +- A UART terminal (Putty/Tera Term/Minicom, etc.) with baud rate 115200 + (8N1) +- :git-iio-oscilloscope:`IIO Oscilloscope ` (for remote operation) + +Required Hardware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- :xilinx:`ZCU102 ` Rev 1.0 or later board with power supply (12V) +- :adi:`EVAL-AD916X-FMCZ ` FMC evaluation board +- SD card with at least 8GB of memory (16GB recommended) +- 1x SMA cable for signal output verification +- Spectrum analyzer +- 1 x Micro-USB cable (UART) +- LAN cable (ethernet) +- (Optional) USB keyboard & mouse and a HDMI compatible monitor + +More details as to why you need these, can be found at +:ref:`eval-ad916x prerequisites`. + +Testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Creating the setup +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +EVAL-AD9162-FMCZ/ZCU102 +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +.. image:: ../images/ad9162_zcu102_setup.PNG + :width: 900 + +Follow the steps in this order, to avoid damaging the components: + +#. Connect the :adi:`EVAL-AD916X` FMC board to the FPGA carrier **HPC0** + (FMC0) socket. +#. On the AD916X FMC card, configure jumper **JP1** to select the clock source: + place the jumper on JP1 if using the on-board clock generator (default), + or remove it to use an external clock source. + +#. Insert SD card into FPGA socket. + + .. image:: ../../images/zcu102_1p0_bootmode.jpg + :width: 400 + +#. Configure ZCU102 for SD BOOT (mode SW6[4:1] switch in the position + **4-OFF, 3-OFF, 2-OFF, 1-ON**). +#. Connect USB UART J83 (Micro-USB) to your host PC. +#. Plug-in an Ethernet cable from your router/switch to the Ethernet port on the FPGA board +#. Connect the power supply of the FPGA board, but do not turn the switch on yet. +#. (Optional) Connect a monitor to the FPGA by HDMI, and a mouse and a keyboard +#. (For output signal verification) Connect an SMA cable from J23 of the FMC board output +to a spectrum analyzer. +#. Turn on the power switch on the FPGA board. +#. Observe kernel and serial console messages on your terminal (use the firstt tyUSB or COM port registered). + + +Boot messages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following is what is printed in the serial console, after you have +connected to the proper ttyUSB or COM port: + +.. collapsible:: Complete boot log + + :: + + Zynq MP First Stage Boot Loader + Release 2025.1 Mar 30 2026 - 11:02:24 + NOTICE: BL31: Non secure code at 0x8000000 + NOTICE: BL31: v2.12.0(release):xilinx-v2025.1 + NOTICE: BL31: Built : 11:01:59, Mar 30 2026 + PMUFW: v1.1 + + + U-Boot 2018.01-21442-gf06dec3cab (Feb 13 2025 - 17:12:07 +0200) Xilinx ZynqMP ZCU102 revA, Build: jenkins-development-build_uboot-57 + + I2C: ready + DRAM: 4 GiB + EL Level: EL2 + Chip ID: zu9eg + MMC: sdhci@ff170000: 0 (SD) + *** Warning - bad CRC, using default environment + + In: serial@ff000000 + Out: serial@ff000000 + Err: serial@ff000000 + Bootmode: LVL_SHFT_SD_MODE1 + Net: ZYNQ GEM: ff0e0000, phyaddr 15, interface rgmii-id + + Warning: ethernet@ff0e0000 using MAC address from ROM + eth0: ethernet@ff0e0000 + Hit any key to stop autoboot: 2 1 0 + switch to partitions #0, OK + mmc0 is current device + Device: sdhci@ff170000 + Manufacturer ID: 41 + OEM: 3432 + Name: SD16G + Tran Speed: 50000000 + Rd Block Len: 512 + SD version 3.0 + High Capacity: Yes + Capacity: 14.5 GiB + Bus Width: 4-bit + Erase Group Size: 512 Bytes + reading uEnv.txt + 407 bytes read in 26 ms (14.6 KiB/s) + Loaded environment from uEnv.txt + Importing environment from SD ... + Running uenvcmd ... + Copying Linux from SD to RAM... + ** No boot file defined ** + reading system.dtb + 46924 bytes read in 35 ms (1.3 MiB/s) + reading Image + 42222080 bytes read in 2800 ms (14.4 MiB/s) + ## Flattened Device Tree blob at 04000000 + Booting using the fdt blob at 0x4000000 + Loading Device Tree to 000000000fff1000, end 000000000ffff74b ... OK + + Starting kernel ... + + [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] + [ 0.000000] Linux version 6.12.0-26983-gc72cc3394581 (apps@apps-Latitude-7450) (aarch64-amd-linux-gcc.real (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240723) #3 SMP Mon Mar 30 19:15:06 HKT 2026 + [ 0.000000] Machine model: ZynqMP ZCU102 Rev1.0 + [ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8') + [ 0.000000] printk: legacy bootconsole [cdns0] enabled + [ 0.000000] efi: UEFI not found. + [ 0.000000] OF: reserved mem: 0x000000003ed00000..0x000000003ed3ffff (256 KiB) nomap non-reusable memory@3ed00000 + [ 0.000000] OF: reserved mem: 0x000000003ef00000..0x000000003ef3ffff (256 KiB) nomap non-reusable memory@3ef00000 + [ 0.000000] Zone ranges: + [ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff] + [ 0.000000] DMA32 empty + [ 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-0x000000003ecfffff] + [ 0.000000] node 0: [mem 0x000000003ed00000-0x000000003ed3ffff] + [ 0.000000] node 0: [mem 0x000000003ed40000-0x000000003eefffff] + [ 0.000000] node 0: [mem 0x000000003ef00000-0x000000003ef3ffff] + [ 0.000000] node 0: [mem 0x000000003ef40000-0x000000007fffffff] + [ 0.000000] node 0: [mem 0x0000000800000000-0x000000087fffffff] + [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff] + [ 0.000000] cma: Reserved 256 MiB at 0x0000000070000000 on node -1 + [ 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.5 + [ 0.000000] percpu: Embedded 21 pages/cpu s45528 r8192 d32296 u86016 + [ 0.000000] Detected VIPT I-cache on CPU0 + [ 0.000000] CPU features: detected: ARM erratum 845719 + [ 0.000000] alternatives: applying boot alternatives + [ 0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1 root=/dev/mmcblk0p2 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] Built 1 zonelists, mobility grouping on. Total pages: 1048576 + [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off + [ 0.000000] software IO TLB: area num 4. + [ 0.000000] software IO TLB: mapped [mem 0x000000006c000000-0x0000000070000000] (64MB) + [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 + [ 0.000000] rcu: Hierarchical RCU implementation. + [ 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] Root IRQ handler: gic_handle_irq + [ 0.000000] GIC: Using split EOI/Deactivate mode + [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. + [ 0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys). + [ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns + [ 0.000000] sched_clock: 57 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns + [ 0.008328] Console: colour dummy device 80x25 + [ 0.012488] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000) + [ 0.022839] pid_max: default: 32768 minimum: 301 + [ 0.027518] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) + [ 0.034786] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) + [ 0.050989] rcu: Hierarchical SRCU implementation. + [ 0.051035] rcu: Max phase no-delay instances is 1000. + [ 0.055558] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level + [ 0.063487] EFI services will not be available. + [ 0.068055] smp: Bringing up secondary CPUs ... + [ 0.072772] Detected VIPT I-cache on CPU1 + [ 0.072836] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] + [ 0.073263] Detected VIPT I-cache on CPU2 + [ 0.073308] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] + [ 0.073711] Detected VIPT I-cache on CPU3 + [ 0.073755] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] + [ 0.073812] smp: Brought up 1 node, 4 CPUs + [ 0.107841] SMP: Total of 4 processors activated. + [ 0.112512] CPU: All CPU(s) started at EL2 + [ 0.116579] CPU features: detected: 32-bit EL0 Support + [ 0.121682] CPU features: detected: CRC32 instructions + [ 0.126818] alternatives: applying system-wide alternatives + [ 0.133268] Memory: 3738224K/4194304K available (18432K kernel code, 1936K rwdata, 17152K rodata, 3584K init, 724K bss, 190356K reserved, 262144K cma-reserved) + [ 0.147221] devtmpfs: initialized + [ 0.155950] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns + [ 0.160050] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) + [ 0.172665] 22256 pages in range for non-PLT usage + [ 0.172682] 513776 pages in range for PLT usage + [ 0.172815] pinctrl core: initialized pinctrl subsystem + [ 0.182660] NET: Registered PF_NETLINK/PF_ROUTE protocol family + [ 0.188136] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations + [ 0.194529] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations + [ 0.202285] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations + [ 0.210016] audit: initializing netlink subsys (disabled) + [ 0.215465] audit: type=2000 audit(0.136:1): state=initialized audit_enabled=0 res=1 + [ 0.215929] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. + [ 0.229864] ASID allocator initialised with 65536 entries + [ 0.244511] platform fd0e0000.pcie: Fixed dependency cycle(s) with /axi/pcie@fd0e0000 + [ 0.246748] platform fd0e0000.pcie: Fixed dependency cycle(s) with /axi/pcie@fd0e0000/legacy-interrupt-controller + [ 0.260538] platform fd4a0000.display: Fixed dependency cycle(s) with /dpcon + [ 0.263974] platform dpcon: Fixed dependency cycle(s) with /axi/display@fd4a0000 + [ 0.272735] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages + [ 0.278016] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page + [ 0.284243] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages + [ 0.290988] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page + [ 0.297217] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages + [ 0.303962] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page + [ 0.310192] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages + [ 0.316939] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page + [ 0.391243] raid6: neonx8 gen() 2270 MB/s + [ 0.459317] raid6: neonx4 gen() 2224 MB/s + [ 0.527383] raid6: neonx2 gen() 2114 MB/s + [ 0.595457] raid6: neonx1 gen() 1817 MB/s + [ 0.663520] raid6: int64x8 gen() 1415 MB/s + [ 0.731595] raid6: int64x4 gen() 1566 MB/s + [ 0.799667] raid6: int64x2 gen() 1396 MB/s + [ 0.867746] raid6: int64x1 gen() 1035 MB/s + [ 0.867786] raid6: using algorithm neonx8 gen() 2270 MB/s + [ 0.939799] raid6: .... xor() 1659 MB/s, rmw enabled + [ 0.939845] raid6: using neon recovery algorithm + [ 0.944116] iommu: Default domain type: Translated + [ 0.948468] iommu: DMA domain TLB invalidation policy: strict mode + [ 0.954943] SCSI subsystem initialized + [ 0.958478] usbcore: registered new interface driver usbfs + [ 0.963808] usbcore: registered new interface driver hub + [ 0.969081] usbcore: registered new device driver usb + [ 0.974242] mc: Linux media interface: v0.10 + [ 0.978338] videodev: Linux video capture interface: v2.00 + [ 0.983803] pps_core: LinuxPPS API ver. 1 registered + [ 0.988689] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti + [ 0.997781] PTP clock support registered + [ 1.001686] EDAC MC: Ver: 3.0.0 + [ 1.005163] zynqmp-ipi-mbox mailbox@ff9905c0: Registered ZynqMP IPI mbox with TX/RX channels. + [ 1.013830] jesd204: created con: id=0, topo=0, link=0, /fpga-axi@0/axi-adxcvr-tx@84a60000 <-> /fpga-axi@0/axi-jesd204-tx@84a90000 + [ 1.024954] jesd204: created con: id=1, topo=0, link=0, /fpga-axi@0/axi-jesd204-tx@84a90000 <-> /fpga-axi@0/axi-ad9162-hpc@84a04000 + [ 1.036701] jesd204: created con: id=2, topo=0, link=0, /fpga-axi@0/axi-ad9162-hpc@84a04000 <-> /axi/spi@ff040000/ad9162@1 + [ 1.047691] jesd204: /axi/spi@ff040000/ad9162@1: JESD204[0:0] transition uninitialized -> initialized + [ 1.056852] jesd204: found 5 devices and 1 topologies + [ 1.061921] FPGA manager framework + [ 1.065274] Advanced Linux Sound Architecture Driver Initialized. + [ 1.071875] Bluetooth: Core ver 2.22 + [ 1.074854] NET: Registered PF_BLUETOOTH protocol family + [ 1.080120] Bluetooth: HCI device and connection manager initialized + [ 1.086437] Bluetooth: HCI socket layer initialized + [ 1.091279] Bluetooth: L2CAP socket layer initialized + [ 1.096303] Bluetooth: SCO socket layer initialized + [ 1.101562] vgaarb: loaded + [ 1.104086] clocksource: Switched to clocksource arch_sys_counter + [ 1.110042] VFS: Disk quotas dquot_6.6.0 + [ 1.113782] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) + [ 1.125935] NET: Registered PF_INET protocol family + [ 1.126136] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear) + [ 1.135559] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear) + [ 1.141306] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) + [ 1.148982] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear) + [ 1.157050] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear) + [ 1.165004] TCP: Hash tables configured (established 32768 bind 32768) + [ 1.170754] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear) + [ 1.177417] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear) + [ 1.184577] NET: Registered PF_UNIX/PF_LOCAL protocol family + [ 1.190443] RPC: Registered named UNIX socket transport module. + [ 1.195946] RPC: Registered udp transport module. + [ 1.200617] RPC: Registered tcp transport module. + [ 1.205286] RPC: Registered tcp-with-tls transport module. + [ 1.210735] RPC: Registered tcp NFSv4.1 backchannel transport module. + [ 1.218093] PCI: CLS 0 bytes, default 64 + [ 1.221964] Initialise system trusted keyrings + [ 1.225547] workingset: timestamp_bits=62 max_order=20 bucket_order=0 + [ 1.232312] NFS: Registering the id_resolver key type + [ 1.236880] Key type id_resolver registered + [ 1.241013] Key type id_legacy registered + [ 1.245003] nfs4filelayout_init: NFSv4 File Layout Driver Registering... + [ 1.251651] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... + [ 1.259018] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. + [ 1.266064] fuse: init (API version 7.41) + [ 1.325545] NET: Registered PF_ALG protocol family + [ 1.325596] xor: measuring software checksum speed + [ 1.330760] 8regs : 2519 MB/sec + [ 1.335082] 32regs : 2522 MB/sec + [ 1.339490] arm64_neon : 2369 MB/sec + [ 1.342432] xor: using function: 32regs (2522 MB/sec) + [ 1.347450] Key type asymmetric registered + [ 1.351516] Asymmetric key parser 'x509' registered + [ 1.356397] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) + [ 1.363714] io scheduler mq-deadline registered + [ 1.368210] io scheduler kyber registered + [ 1.372197] io scheduler bfq registered + [ 1.380070] ledtrig-cpu: registered to indicate activity on CPUs + [ 1.418473] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled + [ 1.426570] brd: module loaded + [ 1.430070] loop: module loaded + [ 1.430460] Registered mathworks_ip class + [ 1.432163] mtdoops: mtd device (mtddev=name/number) must be supplied + [ 1.441427] tun: Universal TUN/TAP device driver, 1.6 + [ 1.443083] CAN device driver interface + [ 1.447419] SPI driver wl1271_spi has no spi_device_id for ti,wl1271 + [ 1.453107] SPI driver wl1271_spi has no spi_device_id for ti,wl1273 + [ 1.459419] SPI driver wl1271_spi has no spi_device_id for ti,wl1281 + [ 1.465733] SPI driver wl1271_spi has no spi_device_id for ti,wl1283 + [ 1.472043] SPI driver wl1271_spi has no spi_device_id for ti,wl1285 + [ 1.478361] SPI driver wl1271_spi has no spi_device_id for ti,wl1801 + [ 1.484676] SPI driver wl1271_spi has no spi_device_id for ti,wl1805 + [ 1.490987] SPI driver wl1271_spi has no spi_device_id for ti,wl1807 + [ 1.497305] SPI driver wl1271_spi has no spi_device_id for ti,wl1831 + [ 1.503615] SPI driver wl1271_spi has no spi_device_id for ti,wl1835 + [ 1.509933] SPI driver wl1271_spi has no spi_device_id for ti,wl1837 + [ 1.516358] usbcore: registered new interface driver asix + [ 1.521627] usbcore: registered new interface driver ax88179_178a + [ 1.527686] usbcore: registered new interface driver cdc_ether + [ 1.533481] usbcore: registered new interface driver net1080 + [ 1.539101] usbcore: registered new interface driver cdc_subset + [ 1.544985] usbcore: registered new interface driver zaurus + [ 1.550520] usbcore: registered new interface driver cdc_ncm + [ 1.556146] usbcore: registered new interface driver r8153_ecm + [ 1.563190] usbcore: registered new interface driver uas + [ 1.567216] usbcore: registered new interface driver usb-storage + [ 1.573210] usbcore: registered new interface driver usbserial_generic + [ 1.579669] usbserial: USB Serial support registered for generic + [ 1.585634] usbcore: registered new interface driver ftdi_sio + [ 1.591340] usbserial: USB Serial support registered for FTDI USB Serial Device + [ 1.598613] usbcore: registered new interface driver upd78f0730 + [ 1.604491] usbserial: USB Serial support registered for upd78f0730 + [ 1.612491] rtc_zynqmp ffa60000.rtc: registered as rtc0 + [ 1.615898] rtc_zynqmp ffa60000.rtc: setting system clock to 1970-01-01T01:40:13 UTC (6013) + [ 1.624267] i2c_dev: i2c /dev entries driver + [ 1.629066] usbcore: registered new interface driver uvcvideo + [ 1.635628] Bluetooth: HCI UART driver ver 2.3 + [ 1.638563] Bluetooth: HCI UART protocol H4 registered + [ 1.643666] Bluetooth: HCI UART protocol BCSP registered + [ 1.648957] Bluetooth: HCI UART protocol LL registered + [ 1.654040] Bluetooth: HCI UART protocol ATH3K registered + [ 1.659426] Bluetooth: HCI UART protocol Three-wire (H5) registered + [ 1.665672] Bluetooth: HCI UART protocol Intel registered + [ 1.671008] Bluetooth: HCI UART protocol QCA registered + [ 1.676207] usbcore: registered new interface driver bcm203x + [ 1.681824] usbcore: registered new interface driver bpa10x + [ 1.687365] usbcore: registered new interface driver bfusb + [ 1.692817] usbcore: registered new interface driver btusb + [ 1.698273] usbcore: registered new interface driver ath3k + [ 1.703790] EDAC MC: ECC not enabled + [ 1.707587] sdhci: Secure Digital Host Controller Interface driver + [ 1.713386] sdhci: Copyright(c) Pierre Ossman + [ 1.717704] sdhci-pltfm: SDHCI platform and OF driver helper + [ 1.723595] SMCCC: SOC_ID: ID = jep106:0049:0000 Revision = 0x24738093 + [ 1.729896] zynqmp_firmware_probe Platform Management API v1.1 + [ 1.735643] zynqmp_firmware_probe Trustzone version v1.0 + [ 1.772580] zynqmp-aes zynqmp-aes.0: will run requests pump with realtime priority + [ 1.774698] zynqmp_rsa zynqmp_rsa.0: This driver is deprecated. Please migrate to xilinx-rsa driver + [ 1.783944] usbcore: registered new interface driver usbhid + [ 1.789073] usbhid: USB HID core driver + [ 1.793003] SPI driver fb_seps525 has no spi_device_id for syncoam,seps525 + [ 1.808339] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available + [ 1.812606] axi_sysid 85000000.axi-sysid-0: AXI System ID core version (1.01.a) found + [ 1.819965] axi_sysid 85000000.axi-sysid-0: [ad916x_fmc] [JESD:M=2 L=8 S=2 NP=16 LINKS=1 DAC_DEVICE=AD9162 DAC_MODE=08 ADI_LANE_RATE=12.5 DAC_OFFLOAD:TYPE=0 SIZE=524288] on [zcu102] git branch
git <8dcfec8a7a4074dc2b905544fc7290e20276ef57> clean [2026-03-30 10:44:22] UTC + [ 1.844990] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered + [ 1.851039] usbcore: registered new interface driver snd-usb-audio + [ 1.858395] pktgen: Packet Generator for packet performance testing. Version: 2.75 + [ 1.864877] Initializing XFRM netlink socket + [ 1.868620] NET: Registered PF_INET6 protocol family + [ 1.874093] Segment Routing with IPv6 + [ 1.877173] In-situ OAM (IOAM) with IPv6 + [ 1.881074] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver + [ 1.887264] NET: Registered PF_PACKET protocol family + [ 1.891939] NET: Registered PF_KEY protocol family + [ 1.896772] can: controller area network core + [ 1.901034] NET: Registered PF_CAN protocol family + [ 1.905768] can: raw protocol + [ 1.908711] can: broadcast manager protocol + [ 1.912861] can: netlink gateway - max_hops=1 + [ 1.917273] Bluetooth: RFCOMM TTY layer initialized + [ 1.922032] Bluetooth: RFCOMM socket layer initialized + [ 1.927141] Bluetooth: RFCOMM ver 1.11 + [ 1.930853] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 + [ 1.936124] Bluetooth: BNEP filters: protocol multicast + [ 1.941324] Bluetooth: BNEP socket layer initialized + [ 1.946246] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 + [ 1.952129] Bluetooth: HIDP socket layer initialized + [ 1.957245] 9pnet: Installing 9P2000 support + [ 1.961309] NET: Registered PF_IEEE802154 protocol family + [ 1.966684] Key type dns_resolver registered + [ 1.978813] registered taskstats version 1 + [ 1.978855] Loading compiled-in X.509 certificates + [ 1.987888] Btrfs loaded, zoned=no, fsverity=no + [ 1.988192] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa) + [ 2.001562] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 22, base_baud = 6249999) is a xuartps + [ 2.010596] printk: legacy console [ttyPS0] enabled + [ 2.010596] printk: legacy console [ttyPS0] enabled + [ 2.015520] printk: legacy bootconsole [cdns0] disabled + [ 2.015520] printk: legacy bootconsole [cdns0] disabled + [ 2.027291] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 23, base_baud = 6249999) is a xuartps + [ 2.088625] adf5355 spi1.2: supply vcc not found, using dummy regulator + [ 2.111558] ad9162 spi1.1: AD916x DAC Product ID: AD9162 + [ 2.116880] ad9162 spi1.1: AD916x DAC Chip ID: 4 + [ 2.121491] ad9162 spi1.1: AD916x DAC Product Grade: 0 + [ 2.126621] ad9162 spi1.1: AD916x DAC Product Revision: 3 + [ 2.132010] ad9162 spi1.1: AD916x Revision: 1.0.0 + [ 2.137048] ad9162 spi1.1: Probed. + [ 2.141156] spi-nor spi0.0: SPI-NOR-UniqueID 4a960c00040c0024006517c57139 + [ 2.147944] spi-nor spi0.0: found mt25qu512a, expected m25p80 + [ 2.154063] 4 fixed-partitions partitions found on MTD device spi0.0 + [ 2.160414] Creating 4 MTD partitions on "spi0.0": + [ 2.165204] 0x000000000000-0x000000100000 : "qspi-fsbl-uboot" + [ 2.171958] 0x000000100000-0x000000600000 : "qspi-linux" + [ 2.178101] 0x000000600000-0x000000620000 : "qspi-device-tree" + [ 2.184726] 0x000000620000-0x000000c00000 : "qspi-rootfs" + [ 2.195851] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM + [ 2.202541] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM + [ 2.209127] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM + [ 2.215736] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM + [ 2.223031] i2c i2c-0: using pinctrl states for GPIO recovery + [ 2.228966] i2c i2c-0: using generic GPIOs for recovery + [ 2.234588] pca953x 0-0020: supply vcc not found, using dummy regulator + [ 2.241274] pca953x 0-0020: using no AI + [ 2.246828] pca953x 0-0021: supply vcc not found, using dummy regulator + [ 2.253504] pca953x 0-0021: using no AI + [ 2.258188] pca954x 0-0075: supply vdd not found, using dummy regulator + [ 2.265388] ina2xx 2-0040: supply vs not found, using dummy regulator + [ 2.272640] ina2xx 2-0040: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.279232] ina2xx 2-0041: supply vs not found, using dummy regulator + [ 2.286410] ina2xx 2-0041: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.293048] ina2xx 2-0042: supply vs not found, using dummy regulator + [ 2.300212] ina2xx 2-0042: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.306800] ina2xx 2-0043: supply vs not found, using dummy regulator + [ 2.313982] ina2xx 2-0043: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.320575] ina2xx 2-0044: supply vs not found, using dummy regulator + [ 2.327735] ina2xx 2-0044: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.334327] ina2xx 2-0045: supply vs not found, using dummy regulator + [ 2.341505] ina2xx 2-0045: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.348107] ina2xx 2-0046: supply vs not found, using dummy regulator + [ 2.355263] ina2xx 2-0046: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.361865] ina2xx 2-0047: supply vs not found, using dummy regulator + [ 2.369041] ina2xx 2-0047: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.375627] ina2xx 2-004a: supply vs not found, using dummy regulator + [ 2.382791] ina2xx 2-004a: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.389392] ina2xx 2-004b: supply vs not found, using dummy regulator + [ 2.396579] ina2xx 2-004b: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.403010] i2c i2c-0: Added multiplexed i2c bus 2 + [ 2.408249] ina2xx 3-0040: supply vs not found, using dummy regulator + [ 2.415491] ina2xx 3-0040: power monitor ina226 (Rshunt = 2000 uOhm) + [ 2.422090] ina2xx 3-0041: supply vs not found, using dummy regulator + [ 2.429259] ina2xx 3-0041: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.435867] ina2xx 3-0042: supply vs not found, using dummy regulator + [ 2.443036] ina2xx 3-0042: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.449637] ina2xx 3-0043: supply vs not found, using dummy regulator + [ 2.456810] ina2xx 3-0043: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.463415] ina2xx 3-0044: supply vs not found, using dummy regulator + [ 2.470591] ina2xx 3-0044: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.477186] ina2xx 3-0045: supply vs not found, using dummy regulator + [ 2.484357] ina2xx 3-0045: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.490963] ina2xx 3-0046: supply vs not found, using dummy regulator + [ 2.498140] ina2xx 3-0046: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.504745] ina2xx 3-0047: supply vs not found, using dummy regulator + [ 2.511910] ina2xx 3-0047: power monitor ina226 (Rshunt = 5000 uOhm) + [ 2.518333] i2c i2c-0: Added multiplexed i2c bus 3 + [ 2.570516] i2c i2c-0: Added multiplexed i2c bus 4 + [ 2.575499] i2c i2c-0: Added multiplexed i2c bus 5 + [ 2.580302] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544 + [ 2.587693] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 40 + [ 2.594738] i2c i2c-1: using pinctrl states for GPIO recovery + [ 2.600687] i2c i2c-1: using generic GPIOs for recovery + [ 2.606322] pca954x 1-0074: supply vdd not found, using dummy regulator + [ 2.613449] at24 6-0054: supply vcc not found, using dummy regulator + [ 2.620353] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write + [ 2.627118] i2c i2c-1: Added multiplexed i2c bus 6 + [ 2.632523] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.639837] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.647149] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.654457] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.661763] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.669071] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.676378] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.683687] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out + [ 2.691762] si5341 7-0036: Chip: 5341 Grade: 1 Rev: 3 + [ 2.720409] i2c i2c-1: Added multiplexed i2c bus 7 + [ 2.727466] si570 8-005d: registered, current frequency 300000000 Hz + [ 2.733881] i2c i2c-1: Added multiplexed i2c bus 8 + [ 2.740923] si570 9-005d: registered, current frequency 156250000 Hz + [ 2.747339] i2c i2c-1: Added multiplexed i2c bus 9 + [ 2.752389] si5324 10-0069: si5328 probed + [ 2.809865] si5324 10-0069: si5328 probe successful + [ 2.814802] i2c i2c-1: Added multiplexed i2c bus 10 + [ 2.819858] i2c i2c-1: Added multiplexed i2c bus 11 + [ 2.824930] i2c i2c-1: Added multiplexed i2c bus 12 + [ 2.829982] i2c i2c-1: Added multiplexed i2c bus 13 + [ 2.834866] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548 + [ 2.842642] pca954x 1-0075: supply vdd not found, using dummy regulator + [ 2.849703] at24 14-0050: supply vcc not found, using dummy regulator + [ 2.856515] at24 14-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write + [ 2.863278] i2c i2c-1: Added multiplexed i2c bus 14 + [ 2.868354] i2c i2c-1: Added multiplexed i2c bus 15 + [ 2.873430] i2c i2c-1: Added multiplexed i2c bus 16 + [ 2.878494] i2c i2c-1: Added multiplexed i2c bus 17 + [ 2.883566] i2c i2c-1: Added multiplexed i2c bus 18 + [ 2.888624] i2c i2c-1: Added multiplexed i2c bus 19 + [ 2.893681] i2c i2c-1: Added multiplexed i2c bus 20 + [ 2.898740] i2c i2c-1: Added multiplexed i2c bus 21 + [ 2.903622] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548 + [ 2.911247] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 41 + [ 2.920818] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s + [ 2.944510] cf_axi_dds 84a04000.axi-ad9162-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.02.b) at 0x84A04000 mapped to 0x(____ptrval____), probed DDS AD9162 + [ 2.970999] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit + [ 3.009539] axi_adxcvr_drv 84a60000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.05.a) using QPLL on GTH4. Number of lanes: 8. + [ 3.020381] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition initialized -> probed + [ 3.031093] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition probed -> initialized + [ 3.041799] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition initialized -> probed + [ 3.052503] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition probed -> idle + [ 3.062597] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition idle -> device_init + [ 3.073133] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition device_init -> link_init + [ 3.084102] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_init -> link_supported + [ 3.095328] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_supported -> link_pre_setup + [ 3.106987] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_pre_setup -> clk_sync_stage1 + [ 3.118732] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage1 -> clk_sync_stage2 + [ 3.130567] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage2 -> clk_sync_stage3 + [ 3.144421] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage3 -> link_setup + [ 3.155820] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_setup -> opt_setup_stage1 + [ 3.167304] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage1 -> opt_setup_stage2 + [ 3.179308] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage2 -> opt_setup_stage3 + [ 3.191314] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage3 -> opt_setup_stage4 + [ 3.203321] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage4 -> opt_setup_stage5 + [ 3.257272] mmc0: new high speed SDHC card at address 0007 + [ 3.263170] mmcblk0: mmc0:0007 SD16G 14.5 GiB + [ 3.269167] mmcblk0: p1 p2 p3 + [ 3.320177] ad9162 spi1.1: Serdes PLL Locked (stat: b) + [ 3.325597] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage5 -> clocks_enable + [ 3.337771] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clocks_enable -> link_enable + [ 3.356407] ad9162 spi1.1: code_grp_sync: ff + [ 3.360677] ad9162 spi1.1: frame_sync_stat: ff + [ 3.365118] ad9162 spi1.1: good_checksum_stat: ff + [ 3.369814] ad9162 spi1.1: init_lane_sync_stat: ff + [ 3.374598] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_enable -> link_running + [ 3.385833] jesd204: /axi/spi@ff040000/ad9162@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_running -> opt_post_running_stage + [ 3.398014] axi-jesd204-tx 84a90000.axi-jesd204-tx: AXI-JESD204-TX (1.06.a). Encoder 8b10b, width 4/4, lanes 8, jesd204-fsm. + [ 3.409757] nwl-pcie fd0e0000.pcie: host bridge /axi/pcie@fd0e0000 ranges: + [ 3.416670] nwl-pcie fd0e0000.pcie: MEM 0x00e0000000..0x00efffffff -> 0x00e0000000 + [ 3.424688] nwl-pcie fd0e0000.pcie: MEM 0x0600000000..0x07ffffffff -> 0x0600000000 + [ 3.432843] nwl-pcie fd0e0000.pcie: Link is DOWN + [ 3.437897] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00 + [ 3.444087] pci_bus 0000:00: root bus resource [bus 00-ff] + [ 3.449576] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff] + [ 3.456459] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref] + [ 3.463969] pci 0000:00:00.0: [10ee:d021] type 01 class 0x060400 PCIe Root Port + [ 3.471290] pci 0000:00:00.0: PCI bridge to [bus 00] + [ 3.476263] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff] + [ 3.483051] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff 64bit pref] + [ 3.490837] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot + [ 3.499012] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring + [ 3.507144] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 + [ 3.513773] pci 0000:00:00.0: PCI bridge to [bus 01] + [ 3.518745] pci_bus 0000:00: resource 4 [mem 0xe0000000-0xefffffff] + [ 3.525017] pci_bus 0000:00: resource 5 [mem 0x600000000-0x7ffffffff pref] + [ 3.532177] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator + [ 3.539749] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator + [ 3.547224] ahci-ceva fd0c0000.ahci: supply target not found, using dummy regulator + [ 3.555121] ahci-ceva fd0c0000.ahci: AHCI vers 0001.0301, 32 command slots, 6 Gbps, platform mode + [ 3.564005] ahci-ceva fd0c0000.ahci: 2/2 ports implemented (port mask 0x3) + [ 3.570883] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst + [ 3.581498] scsi host0: ahci-ceva + [ 3.585145] scsi host1: ahci-ceva + [ 3.588584] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 49 lpm-pol 0 + [ 3.597376] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 49 lpm-pol 0 + [ 3.610078] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 37 (00:0a:35:1d:19:3b) + [ 3.640975] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller + [ 3.646483] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1 + [ 3.654243] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000808002000810 + [ 3.663673] xhci-hcd xhci-hcd.1.auto: irq 50, io mem 0xfe200000 + [ 3.669700] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller + [ 3.675193] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2 + [ 3.682851] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed + [ 3.689519] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.12 + [ 3.697789] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 + [ 3.705025] usb usb1: Product: xHCI Host Controller + [ 3.709898] usb usb1: Manufacturer: Linux 6.12.0-26983-gc72cc3394581 xhci-hcd + [ 3.717035] usb usb1: SerialNumber: xhci-hcd.1.auto + [ 3.722289] hub 1-0:1.0: USB hub found + [ 3.726063] hub 1-0:1.0: 1 port detected + [ 3.730318] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.12 + [ 3.738583] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 + [ 3.745810] usb usb2: Product: xHCI Host Controller + [ 3.750689] usb usb2: Manufacturer: Linux 6.12.0-26983-gc72cc3394581 xhci-hcd + [ 3.757826] usb usb2: SerialNumber: xhci-hcd.1.auto + [ 3.762988] hub 2-0:1.0: USB hub found + [ 3.766758] hub 2-0:1.0: 1 port detected + [ 3.777767] input: gpio-keys as /devices/platform/gpio-keys/input/input0 + [ 3.784849] of_cfs_init + [ 3.787310] of_cfs_init: OK + [ 3.790181] cfg80211: Loading compiled-in X.509 certificates for regulatory database + [ 3.835994] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' + [ 3.842416] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' + [ 3.849747] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 + [ 3.852203] clk: Not disabling unused clocks + [ 3.858355] cfg80211: failed to load regulatory.db + [ 3.862611] PM: genpd: Disabling unused power domains + [ 3.872795] ALSA device list: + [ 3.875748] No soundcards found. + [ 3.918326] ata2: SATA link down (SStatus 0 SControl 330) + [ 3.923760] ata1: SATA link down (SStatus 0 SControl 330) + [ 13.943473] platform ina226-u76: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.951766] platform ina226-u77: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.960034] platform ina226-u78: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.968300] platform ina226-u87: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.976566] platform ina226-u85: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.984832] platform ina226-u86: deferred probe pending: iio_hwmon: Failed to get channels + [ 13.993093] platform ina226-u93: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.001357] platform ina226-u88: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.009619] platform ina226-u15: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.017883] platform ina226-u92: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.026148] platform ina226-u79: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.034409] platform ina226-u81: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.042675] platform ina226-u80: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.050936] platform ina226-u84: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.059199] platform ina226-u16: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.067464] platform ina226-u65: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.075722] platform ina226-u74: deferred probe pending: iio_hwmon: Failed to get channels + [ 14.083983] platform ina226-u75: deferred probe pending: iio_hwmon: Failed to get channels + [ 18.541862] EXT4-fs (mmcblk0p2): recovery complete + [ 18.553538] EXT4-fs (mmcblk0p2): mounted filesystem 675b84e0-16af-4fea-97ce-a01fc7c7f005 r/w with ordered data mode. Quota mode: none. + [ 18.565681] VFS: Mounted root (ext4 filesystem) on device 179:2. + [ 18.572979] devtmpfs: mounted + [ 18.576860] Freeing unused kernel memory: 3584K + [ 18.581449] Run /sbin/init as init process + [ 19.128440] systemd[1]: System time before build time, advancing clock. + [ 19.169934] systemd[1]: Failed to look up module alias 'autofs4': Function not implemented + [ 19.208111] systemd[1]: systemd 247.3-7+rpi1+deb11u6 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified) + [ 19.232085] systemd[1]: Detected architecture arm64. + + Welcome to Kuiper GNU/Linux 11.2 (bullseye)! + + [ 19.261267] systemd[1]: Set hostname to . + [ 20.711077] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed. + [ 20.934502] systemd[1]: Queued start job for default target Graphical Interface. + [ 21.880095] random: crng init done + [ 21.883706] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling. + [ 21.896067] systemd[1]: (This warning is only shown for the first unit using IP firewalling.) + [ 21.905210] systemd[1]: Created slice system-getty.slice. + [ OK ] Created slice system-getty.slice. + [ 21.924597] systemd[1]: Created slice system-modprobe.slice. + [ OK ] Created slice system-modprobe.slice. + [ 21.940528] systemd[1]: Created slice system-serial\x2dgetty.slice. + [ OK ] Created slice system-serial\x2dgetty.slice. + [ 21.960501] systemd[1]: Created slice system-systemd\x2dfsck.slice. + [ OK ] Created slice system-systemd\x2dfsck.slice. + [ 21.980389] systemd[1]: Created slice User and Session Slice. + [ OK ] Created slice User and Session Slice. + [ 21.996421] systemd[1]: Started Forward Password Requests to Wall Directory Watch. + [ OK ] Started Forward Password R…uests to Wall Directory Watch. + [ 22.016459] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped. + [ 22.028960] systemd[1]: Reached target Slices. + [ OK ] Reached target Slices. + [ 22.040287] systemd[1]: Reached target Swap. + [ OK ] Reached target Swap. + [ 22.059783] systemd[1]: Listening on Syslog Socket. + [ OK ] Listening on Syslog Socket. + [ 22.076518] systemd[1]: Listening on fsck to fsckd communication Socket. + [ OK ] Listening on fsck to fsckd communication Socket. + [ 22.096346] systemd[1]: Listening on initctl Compatibility Named Pipe. + [ OK ] Listening on initctl Compatibility Named Pipe. + [ 22.119887] systemd[1]: Listening on Journal Audit Socket. + [ OK ] Listening on Journal Audit Socket. + [ 22.136522] systemd[1]: Listening on Journal Socket (/dev/log). + [ OK ] Listening on Journal Socket (/dev/log). + [ 22.156570] systemd[1]: Listening on Journal Socket. + [ OK ] Listening on Journal Socket. + [ 22.176220] systemd[1]: Listening on udev Control Socket. + [ OK ] Listening on udev Control Socket. + [ 22.192512] systemd[1]: Listening on udev Kernel Socket. + [ OK ] Listening on udev Kernel Socket. + [ 22.232290] systemd[1]: Mounting Huge Pages File System... + Mounting Huge Pages File System... + [ 22.246161] systemd[1]: Mounting POSIX Message Queue File System... + Mounting POSIX Message Queue File System... + [ 22.265998] systemd[1]: Mounting RPC Pipe File System... + Mounting RPC Pipe File System... + [ 22.286264] systemd[1]: Mounting Kernel Debug File System... + Mounting Kernel Debug File System... + [ 22.300640] systemd[1]: Condition check resulted in Kernel Trace File System being skipped. + [ 22.309393] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped. + [ 22.322415] systemd[1]: Starting Restore / save the current clock... + Starting Restore / save the current clock... + [ 22.342797] systemd[1]: Starting Set the console keyboard layout... + Starting Set the console keyboard layout... + [ 22.360361] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped. + [ 22.374103] systemd[1]: Starting Load Kernel Module configfs... + Starting Load Kernel Module configfs... + [ 22.390967] systemd[1]: Starting Load Kernel Module drm... + Starting Load Kernel Module drm... + [ 22.406631] systemd[1]: Starting Load Kernel Module fuse... + Starting Load Kernel Module fuse... + [ 22.423389] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. + [ 22.432726] systemd[1]: Condition check resulted in File System Check on Root Device being skipped. + [ 22.444022] systemd[1]: Starting Journal Service... + Starting Journal Service... + [ 22.461258] systemd[1]: Starting Load Kernel Modules... + Starting Load Kernel Modules... + [ 22.474493] systemd[1]: Starting Remount Root and Kernel File Systems... + Starting Remount Root and Kernel File Systems... + [ 22.496225] systemd[1]: Starting Coldplug All udev Devices... + Starting Coldplug All udev Devices... + [ 22.514861] systemd[1]: Mounted Huge Pages File System. + [ OK ] Mounted Huge Pages File System. + [ 22.527268] systemd[1]: Mounted POSIX Message Queue File System. + [ OK ] Mounted POSIX Message Queue File System. + [ 22.544880] systemd[1]: Mounted RPC Pipe File System. + [ OK ] Mounted RPC Pipe File System. + [ 22.560823] systemd[1]: Mounted Kernel Debug File System. + [ OK ] Mounted Kernel Debug File System. + [ 22.585079] systemd[1]: Finished Restore / save the current clock. + [ OK ] Finished Restore / save the current clock. + [ 22.609566] systemd[1]: modprobe@configfs.service: Succeeded. + [ 22.624782] systemd[1]: Finished Load Kernel Module configfs. + [ OK ] Finished Load Kernel Module configfs. + [ 22.649271] systemd[1]: modprobe@drm.service: Succeeded. + [ 22.655407] systemd[1]: Finished Load Kernel Module drm. + [ OK ] Finished Load Kernel Module drm. + [ 22.668722] systemd[1]: Finished Set the console keyboard layout. + [ OK ] Finished Set the console keyboard layout. + [ 22.692940] systemd[1]: Started Journal Service. + [ OK ] Started Journal Service. + [ OK ] Finished Load Kernel Module fuse. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + Mounting FUSE Control File System... + Mounting Kernel Configuration File System... + Starting Apply Kernel Variables... + [ 22.812708] EXT4-fs (mmcblk0p2): re-mounted 675b84e0-16af-4fea-97ce-a01fc7c7f005 r/w. Quota mode: none. + [ OK ] Mounted FUSE Control File System. + [ OK ] Finished Remount Root and Kernel File Systems. + [ OK ] Mounted Kernel Configuration File System. + [ OK ] Finished Apply Kernel Variables. + Starting Flush Journal to Persistent Storage... + Starting Load/Save Random Seed... + Starting Create System Users... + [ OK ] Finished Create System Users. + Starting Create Static Device Nodes in /dev... + [ OK ] Finished Load/Save Random Seed. + [ OK ] Finished Create Static Device Nodes in /dev. + [ OK ] Reached target Local File Systems (Pre). + Starting Rule-based Manage…for Device Events and Files... + [ OK ] Finished Coldplug All udev Devices. + Starting Helper to synchronize boot up for ifupdown... + Starting Wait for udev To …plete Device Initialization... + [ OK ] Finished Helper to synchronize boot up for ifupdown. + [ OK ] Finished Flush Journal to Persistent Storage. + [ OK ] Started Rule-based Manager for Device Events and Files. + Starting Show Plymouth Boot Screen... + [ OK ] Started Show Plymouth Boot Screen. + [ OK ] Started Forward Password R…s to Plymouth Directory Watch. + [ OK ] Reached target Local Encrypted Volumes. + [ OK ] Found device /dev/ttyPS0. + [ OK ] Found device /dev/disk/by-partuuid/a22286d2-01. + [ OK ] Found device /dev/ttyS0. + [ OK ] Finished Wait for udev To Complete Device Initialization. + [ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch. + Starting File System Check…isk/by-partuuid/a22286d2-01... + [ OK ] Started File System Check Daemon to report status. + [ OK ] Finished File System Check…/disk/by-partuuid/a22286d2-01. + Mounting /boot... + [ OK ] Mounted /boot. + [ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Raise network interfaces... + Starting Preprocess NFS configuration... + Starting Tell Plymouth To Write Out Runtime Data... + Starting Create Volatile Files and Directories... + [ OK ] Finished Set console font and keymap. + [ OK ] Finished Preprocess NFS configuration. + [ OK ] Reached target NFS client services. + [ OK ] Reached target Remote File Systems (Pre). + [ OK ] Reached target Remote File Systems. + [ OK ] Finished Tell Plymouth To Write Out Runtime Data. + [ OK ] Finished Create Volatile Files and Directories. + Starting Network Time Synchronization... + Starting Update UTMP about System Boot/Shutdown... + [ OK ] Finished Update UTMP about System Boot/Shutdown. + [ OK ] Started Network Time Synchronization. + [ OK ] Reached target System Time Set. + [ OK ] Reached target System Time Synchronized. + Starting Load Kernel Modules... + [ OK ] Finished Raise network interfaces. + [FAILED] Failed to start Load Kernel Modules. + See 'systemctl status systemd-modules-load.service' for details. + [ OK ] Reached target System Initialization. + [ OK ] Started CUPS Scheduler. + [ 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 Daily Cleanup of Temporary Directories. + [ OK ] Reached target Paths. + [ OK ] Reached target Timers. + [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. + [ OK ] Listening on CUPS Scheduler. + [ OK ] Listening on D-Bus System Message Bus Socket. + [ OK ] Listening on Erlang Port Mapper Daemon Activation Socket. + [ OK ] Listening on GPS (Global P…ioning System) Daemon Sockets. + [ OK ] Listening on triggerhappy.socket. + [ OK ] Reached target Sockets. + [ OK ] Reached target Basic System. + Starting Analog Devices power up/down sequence... + Starting Avahi mDNS/DNS-SD Stack... + [ OK ] Started Regular background program processing daemon. + [ OK ] Started D-Bus System Message Bus. + Starting dphys-swapfile - …unt, and delete a swap file... + Starting Remove Stale Onli…t4 Metadata Check Snapshots... + [ OK ] Started fan-control. + Starting Fix DP audio and X11 for Jupiter... + Starting Creating IIOD Context Attributes...... + Starting Authorization Manager... + Starting DHCP Client Daemon... + Starting LSB: Switch to on…nless shift key is pressed)... + Starting LSB: rng-tools (Debian variant)... + Starting System Logging Service... + Starting User Login Management... + Starting triggerhappy global hotkey daemon... + Starting Disk Manager... + Starting WPA supplicant... + [ OK ] Started DHCP Client Daemon. + [ OK ] Started triggerhappy global hotkey daemon. + [ OK ] Finished Fix DP audio and X11 for Jupiter. + [ OK ] Started System Logging Service. + [ OK ] Started LSB: rng-tools (Debian variant). + [ OK ] Finished dphys-swapfile - …mount, and delete a swap file. + [ OK ] Started User Login Management. + [ OK ] Started WPA supplicant. + [ OK ] Started Avahi mDNS/DNS-SD Stack. + [ OK ] Reached target Network. + [ OK ] Reached target Network is Online. + Starting CUPS Scheduler... + [ OK ] Started Erlang Port Mapper Daemon. + Starting HTTP based time synchronization tool... + Starting Internet superserver... + Starting /etc/rc.local Compatibility... + Starting OpenBSD Secure Shell server... + Starting Permit User Sessions... + [ OK ] Started Unattended Upgrades Shutdown. + [ OK ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots. + [ OK ] Started /etc/rc.local Compatibility. + [ OK ] Started Authorization Manager. + Starting Modem Manager... + [ OK ] Finished Permit User Sessions. + Starting Light Display Manager... + Starting Hold until boot process finishes up... + [ OK ] Started HTTP based time synchronization tool. + [ OK ] Started Internet superserver. + [ OK ] Started LSB: Switch to ond…(unless shift key is pressed). + [ OK ] Finished Creating IIOD Context Attributes.... + [ OK ] Started IIO Daemon. + [ OK ] Started OpenBSD Secure Shell server. + [FAILED] Failed to start VNC Server for X11. + + Raspbian GNU/Linux 11 analog ttyPS0 + + analog login: root (automatic login) + + Linux analog 6.12.0-26983-gc72cc3394581 #3 SMP Mon Mar 30 19:15:06 HKT 2026 aarch64 + + The programs included with the Debian GNU/Linux system are free software; + the exact distribution terms for each program are described in the + individual files in /usr/share/doc/*/copyright. + + Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent + permitted by applicable law. + Last login: Tue Mar 18 19:20:00 GMT 2025 on ttyPS0 + root@analog:~# + + +Useful commands for the serial terminal +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The below commands are to be run in the serial terminal connected to the FPGA. + +To find out the IP of the FPGA board, run the following command and take the +IP specified at "eth0 inet": + +.. shell:: + + $ifconfig + +To see the IIO devices detected, run: + +.. shell:: + + $iio_info | grep iio:device + + +To power off the system, run the following command, and wait for the final +message to be printed, then power off the FPGA board from the switch as well. + +.. shell:: + + $poweroff + +To reboot the system, run: + +.. shell:: + + $reboot + +.. important:: + + Even thought this is Linux, this is a persistent file systems. Care should + be taken not to corrupt the file system -- please shut down things, don't + just turn off the power switch. Depending on your monitor, the standard + power off could be hiding. You can do this from the terminal as well with + :code:`sudo shutdown -h now` or the above-mentioned command for powering off. + + +IIO Oscilloscope +~~~~~~~~~~~~~~~~ + +:ref:`IIO Oscilloscope ` +is a cross platform GUI application which can interface with different +evaluation boards from within a Linux system. + +.. important:: + Make sure to download/update to the latest version of + :git-iio-oscilloscope:`IIO Oscilloscope `. + +#. Once done with the installation or an update of the latest IIO Oscilloscope, + open the application. The user needs to supply a URI which will be used in the + context creation of the IIO Oscilloscope. If there’s only one platform is + connected, the IIO Oscilloscope will find URI automatically; if more than one + platforms are connected, the user needs to supply the specific URI. + +#. Ensure that the ZCU102 is connected thru ethernet cable to the Host PC to establish + a remote connection. + +#. Press ``Refresh`` to display available IIO Devices and press ``Connect``. + + .. figure:: ../images/ad9162_IIO_Oscilloscope.png + + IIO Oscilloscope Connection to AD9162 Evaluation Board + +#. After connecting, navigate to the **Debug** tab to view all available IIO + devices in the **Device Selection** dropdown. Here the user can read and write + individual device attributes and channel parameters. + + .. figure:: ../images/ad9162_IIO_Oscilloscope_Debug.png + :alt: IIO Oscilloscope Debug tab with device selection dropdown + + Debug tab: Device selection and attribute configuration + +#. Switch to the **DAC Data Manager** tab to configure the AD9162 output. + This tab displays all available DAC modes. + + .. figure:: ../images/ad9162_IIO_Oscilloscope_DAC_Data_Manager.png + :alt: DAC Data Manager tab showing DDS configuration interface + + DAC Data Manager + + .. figure:: ../images/ad9162_IIO_Oscilloscope_DAC_Modes.png + :alt: DAC Data Manager tab showing DDS configuration interface + + DAC Data Manager: Available DDS modes for AD9162 + +#. Before proceeding to enabling the DAC output, ensure that the J23 + of the EVAL-AD9162-FMCZ is connected to a spectrum analyzer for verification. + +#. In this example, the AD9162 is configured to generate a single 1 GHz + continuous-wave (CW) tone. The other parameters are left in their default values. + The following figure shows the configuration in the DAC Data Manager: + + .. figure:: ../images/ad9162_IIO_Oscilloscope_oneCW.png + :alt: DAC Data Manager configured for 1 GHz CW tone output + + DAC Data Manager: 1 GHz continuous-wave tone configuration + +#. Configure your measurement equipment (spectrum analyzer) + to capture the 1 GHz DAC output. The following figures show example + measurements in both time and frequency domains: + + .. figure:: ../images/ad9162_out_time_domain.png + :alt: Time-domain view of 1 GHz CW tone output + :width: 900 + + Time-domain measurement: 1 GHz continuous-wave tone + + .. figure:: ../images/ad9162_out_frequency_domain.png + :alt: Frequency-domain view of 1 GHz CW tone output + :width: 900 + + Frequency-domain measurement: 1 GHz tone with spectral response + +.. note:: + + **Alternative measurement using ADALM-PLUTO (RX only)** + + In this setup, an :adi:`ADALM-PLUTO ` + evaluation board was used as an alternative RF receiver to capture the 1 GHz + signal. The RX port of the PLUTO was connected to the AD916x DAC output via + an SMA cable. + + Configuration details: + + - **RX port**: Connected to AD916x DAC output (1 GHz signal capture) + - **TX port**: Terminated with a 50 Ω SMA terminator + - **Parameter configuration**: RX frequency was adjusted + using :external+scopy:doc:`Scopy ` with IIO write commands to + properly receive and display the 1 GHz tone + - **Verification**: Signal was captured and visualized in the Scopy + spectrum or time-domain view to confirm proper DAC output + diff --git a/docs/solutions/reference-designs/eval-ad916x/user-guide.rst b/docs/solutions/reference-designs/eval-ad916x/user-guide.rst new file mode 100644 index 00000000000..2e8f26d1c11 --- /dev/null +++ b/docs/solutions/reference-designs/eval-ad916x/user-guide.rst @@ -0,0 +1,88 @@ +.. _eval-ad916x user-guide: + +User guide +=============================================================================== + +This page summarizes the AD916x evaluation flow using the ADI HDL reference +design and links to the original board and project documentation. + +Hardware guide +------------------------------------------------------------------------------- + +.. figure:: ../eval-ad916x/images/eval-ad9162-top.PNG + :align: center + + AD9162 Evaluation Board + +General setup +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The AD916x-FMC setup is validated on +:xilinx:`ZCU102 ` through HPC0. +The evaluation board can be operated from the on-board clock generator or an +external clock source, depending on the JESD mode and lane-rate target. + +.. figure:: ../eval-ad916x/images/ad916x_fmc_zcu102_block_diagram.svg + :align: center + + AD916x-FMC ZCU102 Block Diagram + + +Clock source selection +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The HDL project documentation defines clock source jumper use for EVAL-AD916x: + +.. list-table:: + :header-rows: 1 + + * - Jumper + - Position + - Function + * - JP1 + - Mounted + - Use on-board clock generator + * - JP1 + - Unmounted + - Use external clock source + +For example, AD9163 mode 2 builds at high lane rate may require external +clocking with JP1 removed. + +SPI and control connectivity +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In the AD916x HDL design on ZCU102, PS SPI0 is used to control these devices: + +- AD9508 +- ADF4355 +- AD916x device + +The HDL project also defines GPIO and interrupt mappings for ZCU102, including +DMA interrupt and JESD link interrupt paths. + +Reference details are documented in the +:external+hdl:doc:`AD916x HDL project ` SPI section. + + +Schematic, PCB Layout, Bill of Materials +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Design files for the EVAL-ADRV9032 evaluation board include: + +- Schematics +- PCB Layout +- Bill of Materials +- Design package + +Please refer to the :adi:`EVAL-AD916X Product Page ` for +downloadable design files. + +Software guide +------------------------------------------------------------------------------- + +The evaluation board is supported with the Libiio library. This library is +cross-platform (Windows, Linux, Mac) with language bindings for C, C#, Python, +MATLAB, and others. One easy to example that can be used with it is: + +- :ref:`iio-oscilloscope` From 3f16239b04caaed288b9ef66dc600bcacab5fd4f Mon Sep 17 00:00:00 2001 From: Andrea Oesmer Date: Mon, 6 Apr 2026 13:13:49 +0800 Subject: [PATCH 2/3] reference-designs/eval-ad916x: Add wiki-migration pages Fix build errors Signed-off-by: Andrea Oesmer --- .../reference-designs/eval-ad916x/prerequisites.rst | 3 ++- .../eval-ad916x/quickstart/zcu102.rst | 12 +++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst b/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst index 09a5cb6cd8e..5c767b68438 100644 --- a/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst +++ b/docs/solutions/reference-designs/eval-ad916x/prerequisites.rst @@ -70,8 +70,9 @@ before programming the board: - HDL boot image: ``BOOT.BIN`` - Linux Kernel image: ``uImage`` - Linux device tree: ``devicetree.dtb`` + - Built from available dts files for AD916x in the Linux kernel source tree: - :git-hdl:`EVAL-AD916X HDL ` (check README for details) + - :git-hdl:`EVAL-AD916X HDL ` (check README for details) Normally, for basic functionalities regarding visualizing the data received from the FPGA, we use the following: diff --git a/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst index 5e733e8f548..7188412ac09 100644 --- a/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst +++ b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst @@ -97,6 +97,7 @@ Follow the steps in this order, to avoid damaging the components: #. Connect the :adi:`EVAL-AD916X` FMC board to the FPGA carrier **HPC0** (FMC0) socket. + #. On the AD916X FMC card, configure jumper **JP1** to select the clock source: place the jumper on JP1 if using the on-board clock generator (default), or remove it to use an external clock source. @@ -108,13 +109,18 @@ Follow the steps in this order, to avoid damaging the components: #. Configure ZCU102 for SD BOOT (mode SW6[4:1] switch in the position **4-OFF, 3-OFF, 2-OFF, 1-ON**). + #. Connect USB UART J83 (Micro-USB) to your host PC. -#. Plug-in an Ethernet cable from your router/switch to the Ethernet port on the FPGA board + +#. Plug-in an Ethernet cable from your router/switch to the Ethernet port on the FPGA board. + #. Connect the power supply of the FPGA board, but do not turn the switch on yet. -#. (Optional) Connect a monitor to the FPGA by HDMI, and a mouse and a keyboard + #. (For output signal verification) Connect an SMA cable from J23 of the FMC board output -to a spectrum analyzer. + to a spectrum analyzer. + #. Turn on the power switch on the FPGA board. + #. Observe kernel and serial console messages on your terminal (use the firstt tyUSB or COM port registered). From bee228fde6b3c0fcea81c8a31345b610e2541150 Mon Sep 17 00:00:00 2001 From: Andrea Oesmer Date: Wed, 22 Apr 2026 10:44:14 +0800 Subject: [PATCH 3/3] Added additional "Applications" section Signed-off-by: Andrea Oesmer --- docs/solutions/reference-designs/eval-ad916x/index.rst | 8 +++++++- .../reference-designs/eval-ad916x/quickstart/zcu102.rst | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/solutions/reference-designs/eval-ad916x/index.rst b/docs/solutions/reference-designs/eval-ad916x/index.rst index 967ad0ad517..a9138c4ae12 100644 --- a/docs/solutions/reference-designs/eval-ad916x/index.rst +++ b/docs/solutions/reference-designs/eval-ad916x/index.rst @@ -34,7 +34,6 @@ device variants from a common build framework. For Linux bring-up, ADI Kuiper images and ADI Linux device trees are available for supported ZynqMP platforms. Features --------- - Full featured evaluation board for the AD9161, AD9162, AD9163, and AD9164 - Direct clocking vs. on-board clocking @@ -46,6 +45,13 @@ Features - Linux software enablement through ADI kernel drivers and device trees - IIO-based remote evaluation from a host PC +Applications: + +- Broadband communications systems +- Wireless communications infrastructure +- Instrumentation, automatic test equipment (ATE) +- Radars and jammers + .. figure:: ../eval-ad916x/images/AD9162-FMC-EBZTOP-evaluation-board.jpg :align: center :width: 500 diff --git a/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst index 7188412ac09..c09f03f0650 100644 --- a/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst +++ b/docs/solutions/reference-designs/eval-ad916x/quickstart/zcu102.rst @@ -2,12 +2,12 @@ ZCU102 Quickstart =============================================================================== + .. image:: ../../images/zcu102.jpg :width: 900 .. esd-warning:: - This guide provides quick instructions on how to set up the :adi:`EVAL-AD916x` on: