device tree overlay for pwm

Getting started a pwm-control I recognized /dev/bone/,empty. uEnv.txt is checked and seems pretty, but no loading of overlays during startup.

serial console shows:

U-Boot 2022.04-g5509547b (Jan 22 2026 - 19:56:08 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
Core:  150 devices, 14 uclasses, devicetree: separate
WDT:   Started wdt@44e35000 with servicing (60s timeout)
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4…
\*\* Unable to use mmc 0:1 for loading the env \*\*
Board: BeagleBone Black
 not set. Validating first E-fuse MAC
BeagleBone Black:
BeagleBone Cape EEPROM: no EEPROM at address: 0x54
BeagleBone Cape EEPROM: no EEPROM at address: 0x55
BeagleBone Cape EEPROM: no EEPROM at address: 0x56
BeagleBone Cape EEPROM: no EEPROM at address: 0x57
Net:   eth2: ethernet@4a100000, eth3: usb_ether
Press SPACE to abort autoboot in 0 seconds
board_name=\[A335BNLT\] …
board_rev=\[00C0\] …
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Couldn’t find partition 0:2 0x82000000
Can’t set block device
Couldn’t find partition 0:2 0x82000000
Can’t set block device
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@48060000.blk…
Scanning disk mmc@481d8000.blk…
Found 7 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2106 bytes read in 4 ms (513.7 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-6.12.32-bone28 …
8466944 bytes read in 540 ms (15 MiB/s)
debug: \[enable_uboot_overlays=\] …
loading /boot/dtbs/6.12.32-bone28/am335x-boneblack.dtb …
99479 bytes read in 12 ms (7.9 MiB/s)
uboot_overlays: add \[enable_uboot_overlays=1\] to /boot/uEnv.txt to enable…
loading /boot/initrd.img-6.12.32-bone28 …
8498283 bytes read in 543 ms (14.9 MiB/s)
debug: \[console=ttyS0,115200n8 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 root=UUID=38b2f07f-3be6-4.
debug: \[bootz 0x82000000 0x88080000:81ac6b 0x88000000\] …
Kernel image @ 0x82000000 \[ 0x000000 - 0x813200 \]

## Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8f7e5000, end 8ffffc6b … OK
Loading Device Tree to 8f7c9000, end 8f7e4496 … OK

Starting kernel …

\[    0.000000\] Booting Linux on physical CPU 0x0

Kernel is

Linux domus 6.12.32-bone28 #1 PREEMPT Thu Jun 5 22:59:34 UTC 2025 armv7l GNU/Linux

Best regards

Which pwm pins do you need/want?

Hi Robert,

Pin P9-14 and P9-16 would be good for the first try.

Cheers

Majo

Tested a second BeagleBoneBlack with a different Kernel, am335x-debian-13.4-base-v6.19-armhf-2026-03-17 instead of 6.12.32-bone28 and pwm-folder appeared in /dev/bone/pwm

From my point of view it looks like a bug in the kernel 6.12.32-bone28. Because there is no error message in the consloe log, I cant dive deeper into it. Cannot imagine, that the older beaglebone does not have a pwm-functionality or any hardware issue.

I try to change to the kernel 6.19 to fix this problem.

Thanks a lot.

Cheers Majo

The rev A5c has Pwm functionality …

You can enable those with the BB-EHRPWM1-P9_14-P9_16.dtso overlay…

upgrade to a later 6.12.x release.. sudo apt update ; sudo apt-get dist-upgrade -y

Regards,