imx8mp SPDIF TX does not produce a lockable signal
Fabio Estevam
festevam at gmail.com
Fri Dec 12 11:08:44 PST 2025
Made a typo on the linux-imx address, resending it.
On Fri, Dec 12, 2025 at 4:07 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> 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