Skip to content

Commit 6e04485

Browse files
committed
test(hw, adrv9371): update TODO with Mykonos-vs-Talise finding
Reverted commits b117949 / 5222208 showed that profile-reload alone is not sufficient to unblock AD9371 DMA on bq: writing a Mykonos profile to ``profile_config`` is accepted, but JESD204 RX leaves ``Link status: DATA`` and never returns within a 30 s poll, whereas Talise on ADRV9009 relocks in ~3 s. Extend the TODO block with the ruled-out attempts and the likely next investigation direction (Mykonos ``ensm_mode`` / calibration attrs, or explicit RX enable via ``adi.ad9371``). Keeping the AD9371 test at JESD-DATA + dmesg-health parity with the other hw tests until a board-specific capture recipe is worked out — this PR does not try to fix the gap.
1 parent acb389e commit 6e04485

1 file changed

Lines changed: 27 additions & 7 deletions

File tree

test/hw/test_adrv9371_zc706_hw.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,33 @@ def test_adrv9371_zc706_xsa_hw(board, built_kernel_image_zynq, tmp_path):
152152
f"No AD9528 clock device found. Devices: {sorted(found)}"
153153
)
154154

155-
# TODO(adrv9371-capture): restore once the test loads a Talise
156-
# profile post-boot. AD9371 DMA doesn't deliver samples until the
157-
# driver has a profile written, and ``test_adrv9371_zc706_hw`` does
158-
# not yet write one (cf. ``test_adrv9009_zcu102_hw`` which does).
159-
# Without the profile ``assert_rx_capture_valid`` legitimately
160-
# times out on ``ad_ip_jesd204_tpl_adc``; enabling it would turn
161-
# a known-config gap into a red CI.
155+
# TODO(adrv9371-capture): data-path smoke test is deferred on
156+
# AD9371/ZC706 until the out-of-the-box design delivers samples
157+
# from the TPL core without runtime intervention.
158+
#
159+
# Investigated and ruled out (commits b117949, 5222208 — both
160+
# reverted):
161+
#
162+
# - Mirroring the adrv9009 post-boot Talise write with a Mykonos
163+
# profile does *not* unblock DMA here. The profile file
164+
# (``ad9371_5/profile_TxBW100_ORxBW100_RxBW100.txt``, 2123 bytes,
165+
# deviceClock_kHz=122880 matching the AD9528 VCXO) is accepted
166+
# by the driver at ``/sys/.../iio:device2/profile_config`` — but
167+
# immediately after the write the JESD204 RX link leaves
168+
# ``Link status: DATA`` and does not return within a 30 s poll.
169+
# Talise re-inits and JESD-relocks on ``profile_config`` write;
170+
# Mykonos on AD9371 does not do the same JESD restart, leaving
171+
# the link down after any runtime profile change.
172+
#
173+
# - On initial boot (before any write), JESD is in DATA but
174+
# ``iio.Buffer.refill()`` on ``ad_ip_jesd204_tpl_adc`` times
175+
# out, i.e. the TPL DMA isn't streaming despite a locked link.
176+
#
177+
# The next investigation step is a board-specific capture recipe
178+
# (possibly via the Mykonos driver's ``ensm_mode`` / calibration
179+
# attributes, or via pyadi-iio's ``adi.ad9371`` helpers with
180+
# explicit RX enable) — out of scope for the data-capture-smoke
181+
# addition in this PR.
162182

163183

164184
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)