imx8mp SPDIF TX does not produce a lockable signal
Fabio Estevam
festevam at gmail.com
Fri Dec 12 11:07:03 PST 2025
Hi,
I’m working on a custom i.MX8MP-based board, and I am trying to get
SPDIF output working on kernel 6.12.60.
The XCVR node in the device tree is essentially identical to the one
in imx8mp-evk.dts, with the only differences being the SPDIF TX/RX pin
definitions.
The audio card is registered correctly:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: imxaudioxcvr [imx-audio-xcvr], device 0: XCVR PCM snd-soc-dummy-dai-0
Subdevices: 1/1
Subdevice #0: subdevice #0
When I play audio:
aplay -D hw:0,0 -t raw -f IEC958_SUBFRAME_LE -c 2 -r 96000 96-24.wav
I do see activity on the SPDIF TX pin on a scope.
However, no SPDIF receiver (a DSP and a standalone consumer receiver)
is able to detect or lock onto the stream. Both devices report “no
lock” even though there is signal activity. The waveform does not
appear to be interpreted as valid SPDIF.
I also tested by taking the XCVR driver from NXP’s downstream tree
(lf-6.12.y) and applying it to mainline, but the behavior is
unchanged.
Has anyone seen similar issues with the i.MX8MP SPDIF TX path, or is
there anything known to be missing from the mainline XCVR
implementation (clock configuration, channel status bits, preamble
handling, etc.) that might result in a non-lockable SPDIF output?
Any suggestions for debugging or fixing this would be appreciated.
Thanks,
Fabio Estevam
More information about the linux-arm-kernel
mailing list