Hi there,
I have an issue with stuttered audio played over HDMI after updating our application based on the BBB from Rev C to Rev D.
The application is based on a web browser that uses both HDMI video and audio. We had no problems with hundreds of systems developed in 2014, which were based on BBB Rev C and Debian 7 (Wheezy).
With the new BBB Rev D, which changed from TDA1988 to IT66122, we have upgraded to Debian 13, kernel 6.18.0-bone10. Services have been reduced to only what is necessary in order to save RAM and CPU.
As a result, the system works and the web pages run smoothly as video, but when it has to play audio (randomly), it stutters.
While in this condition, top shows CPU spikes on IRQs irq/43-44e0b000.i2c (30%) and irq/48-0-004c (20%). RAM usage is OK, with 300 MB available.
The stuttered audio also appears when playing files with an application like alsaplayer.
This odd situation does not appear all the time, but very often (i.e., 7–8 out of 10 times the audio should be played), though it never happens the first time after a reboot.
This is the environment:
root@BeagleBone:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: davinci-mcasp.0-i2s-hifi i2s-hifi-0 [davinci-mcasp.0-i2s-hifi i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@BeagleBone:~# beagle-version
eeprom:[A335BNLT00D02534SBB00644]
model:[TI_AM335x_BeagleBone_Black_Rev_D]
dogtag:[BeagleBoard.org Debian Trixie Base Image 2025-12-08]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot SPL 2022.04-gb4b56c73 (Oct 28 2025 - 17:45:28 +0000)]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-revd.dts]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0.kernel]
UBOOT: Loaded Overlay:[BB-HDMI-IT66122-00A0.kernel]
kernel:[6.18.0-bone10]
device-tree-override:[uboot_base_dtb=/boot/dtbs/6.18.0-bone10/am335x-boneblack-revd.dtb]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_base_dtb=/boot/dtbs/6.18.0-bone10/am335x-boneblack-revd.dtb]
uboot_overlay_options:[disable_uboot_overlay_adc=1]
uboot_overlay_options:[disable_uboot_overlay_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-customizations]:[1.20250808.0-0~trixie+20250808]
pkg:[bb-usb-gadgets]:[1.20250523.1-0~trixie+20250527]
pkg:[bb-wl18xx-firmware]:[1.20230703.0-0~trixie+20240703]
pkg:[kmod]:[34.2-2bbbio1~trixie+20250522]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal input render netdev i2c bluetooth gpio admin tisdk weston-launch]
cmdline:[console=ttyS0,115200n8 root=/dev/mmcblk1p3 ro rootfstype=ext4 rootwait fsck.repair=yes earlycon coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 video=HDMI-A-1:1280x720]
dmesg | grep remote
[ 4.262379] remoteproc remoteproc0: wkup_m3 is available
[ 6.441724] remoteproc remoteproc0: powering up wkup_m3
[ 6.473032] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
[ 6.496525] remoteproc remoteproc0: remote processor wkup_m3 is now up
[ 20.304709] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[ 48.945271] remoteproc remoteproc1: 4a334000.pru is available
[ 49.009159] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pru
[ 48.945271] remoteproc remoteproc1: 4a334000.pru is available
[ 49.009159] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pinctrl-single
[ 4.287480] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
dmesg | grep wlcore
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0461:3f41 Primax Electronics, Ltd HP Wired Desktop 320K Keyboard
END
root@BeagleBone:~# lsmod
Module Size Used by
snd_soc_simple_card 20480 0
irq_pruss_intc 16384 0
snd_soc_simple_card_utils 32768 1 snd_soc_simple_card
pru_rproc 24576 0
snd_soc_davinci_mcasp 36864 2
snd_soc_ti_udma 12288 1 snd_soc_davinci_mcasp
snd_soc_ti_edma 12288 1 snd_soc_davinci_mcasp
snd_soc_ti_sdma 12288 1 snd_soc_davinci_mcasp
snd_soc_hdmi_codec 20480 1
snd_soc_core 258048 7 snd_soc_davinci_mcasp,snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_ti_sdma,snd_soc_ti_edma,snd_soc_ti_udma,snd_soc_simple_card
snd_compress 24576 1 snd_soc_core
ti_am335x_adc 12288 0
snd_pcm_dmaengine 16384 1 snd_soc_core
kfifo_buf 12288 1 ti_am335x_adc
industrialio 98304 2 ti_am335x_adc,kfifo_buf
snd_pcm 122880 6 snd_compress,snd_soc_davinci_mcasp,snd_pcm_dmaengine,snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_core
snd_timer 36864 1 snd_pcm
snd 94208 5 snd_compress,snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
soundcore 16384 1 snd
at24 28672 0
zram 36864 1
joydev 20480 0
evdev 20480 8
nfnetlink 16384 1
ip_tables 24576 0
x_tables 36864 1 ip_tables
pruss 20480 1 pru_rproc
Do anybody have a clue on this ?
Thanks in advance for your support