Somehow, ADC feature is disabled in the latest “Debian 13.2, v5.10-ti” image. How do I enable it?
My setup:
- old 2GB BeagleBone Black
- am335x-debian-13.2-base-v5.10-ti-armhf-2025-11-18-4gb.img.xz
- am335x-debian-13.2-base-v6.12-armhf-2025-11-18-4gb.img.xz
- am335x-debian-13.2-base-v6.17-armhf-2025-11-18-4gb.img.xz
Both v6.12 and v6.17 images can read analog inputs with
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
But, v5.10-ti (5.10.168-ti-r83) image is missing ADC stuffs. There is nothing under
ls /sys/bus/iio/devices/
My reading:
Online search says something about enabling ADC via Device Tree Overlay, like
echo 'BB-ADC' > /sys/devices/platform/bone_capemgr/slots
or something about editing /boot/uEnv.txt, like
cape_enable=bone_capemgr.enable_partno=BB-ADC
But, I think the instructions are old and don’t apply anymore.
On your 5.10.x install run..
sudo beagle-version and share it’s output
beagle-version.txt-5.10.168-ti-r83:
eeprom:[A335BNLT0A5A1913BBBK2768]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Trixie Base Image 2025-11-18]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot SPL 2022.04-gb4b56c73 (Oct 28 2025 - 17:45:28 +0000)]:[location: dd MBR]
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.dts]
kernel:[5.10.168-ti-r83]
/boot/uEnv.txt Settings:
pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>]
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/mmcblk0p3 ro rootfstype=ext4 rootwait fsck.repair=yes earlycon coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100]
dmesg | grep remote
[ 6.306957] remoteproc remoteproc0: wkup_m3 is available
[ 20.199102] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[ 53.613949] remoteproc remoteproc0: powering up wkup_m3
[ 53.630700] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
[ 53.671010] remoteproc remoteproc0: remote processor wkup_m3 is now up
[ 69.737461] remoteproc remoteproc1: 4a334000.pru is available
[ 69.927654] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pru
[ 69.737461] remoteproc remoteproc1: 4a334000.pru is available
[ 69.927654] remoteproc remoteproc2: 4a338000.pru is available
dmesg | grep pinctrl-single
[ 5.669843] 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
END
One observation is that kernel module ti_am335x_adc is builtin for 5.10-ti but is module for 6.12 and 6.17 images.
In /boot/firmware/uenv.txt file enable the overlays enable that is commented out
Thank you! I see ADC stuffs, now.
Yea, forget about that! It’s ancient and not in use any longer…