Skip to content

Commit ce39278

Browse files
committed
test(hw, adrv9371): TODO update — adxcvr-rewire hangs boot, reverted
Commit 607663b rewired ``axi_ad9371_{rx,tx}_xcvr`` + ``axi_ad9371_{rx,tx}_clkgen`` to structurally match bq's working SD-card DT node-for-node (adxcvr points directly at AD9528 ch1, clkgen drives off AD9528 ch1 rather than a misc_clk_0 fixed-clock overlay, adds ``adi,sys-clk-select``, ``adi,out-clk-select``, ``adi,use-lpm-enable``). Decompiled DTB confirmed the shape matched the reference — but bq never reached ``@analog`` prompt on boot; kernel hung post-JESD, pre-userspace, with no UART captured because ``debug_write_boot_log`` was off on this leg. Reverted in 3aa509a. Document the attempt in the TODO with the concrete next step: enable UART log capture and rerun the same rewire, then diagnose the hang from the kernel trace.
1 parent 3aa509a commit ce39278

1 file changed

Lines changed: 17 additions & 14 deletions

File tree

test/hw/test_adrv9371_zc706_hw.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -172,22 +172,25 @@ def test_adrv9371_zc706_xsa_hw(board, built_kernel_image_zynq, tmp_path):
172172
# / clkgen platform drivers never complete probe ("deferred
173173
# probe pending" in dmesg), so the TPL ADC has a live SerDes
174174
# upstream but no active Linux driver telling the AXI DMA to
175-
# collect samples. Root cause: ADRV937xBuilder points
176-
# ``axi_ad9371_rx_xcvr`` at ``<&axi_ad9371_rx_clkgen>`` (both
177-
# for conv and div40), but the clkgen itself never gets a
178-
# probe-complete message — deferred-probe chain.
175+
# collect samples.
179176
#
180-
# The Kuiper reference DT bypasses the clkgen for this design:
181-
# ``axi-adxcvr-rx@44a60000 { clocks = <&clk0_ad9528 1>;
182-
# clock-names = "conv"; adi,sys-clk-select = <0>;
183-
# adi,out-clk-select = <3>; adi,use-lpm-enable; }`` — it
184-
# uses AD9528 channel 1 (FMC_CLK) directly as the conv clock
185-
# and omits div40.
177+
# Attempted fix (commit 607663b — REVERTED in 3aa509a):
178+
# rewired ``axi_ad9371_{rx,tx}_xcvr`` to point directly at
179+
# ``<&clk0_ad9528 1>`` (FMC_CLK) for ``conv`` with no ``div40``,
180+
# added ``adi,sys-clk-select=<0>``, ``adi,out-clk-select=<3>``,
181+
# ``adi,use-lpm-enable``, and wired ``axi_ad9371_{rx,tx}_clkgen``
182+
# to ``<&clkc 15>, <&clk0_ad9528 1>`` instead of the
183+
# ``misc_clk_0`` fixed-clock overlay. Decompiled DTB matched
184+
# the reference node-for-node on adxcvr/clkgen — but bq never
185+
# reached ``@analog`` prompt on boot (kernel hung post-JESD
186+
# pre-userspace). The rewire is still directionally correct
187+
# but triggers a kernel hang we can't diagnose without a direct
188+
# UART capture, so reverted.
186189
#
187-
# Re-wiring ADRV937xBuilder's clock graph to match that is the
188-
# next step — bigger change than what fit in this series, so
189-
# parking here with the DT improvements landed and capture
190-
# still deferred.
190+
# Next step: enable ``debug_write_boot_log: true`` on the bq
191+
# direct YAML and rerun the 607663b rewire to capture the UART
192+
# trace past the hang; then address whatever oops/loop the
193+
# kernel reveals.
191194

192195

193196
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)