Hi @yrrah53 first, there’s one package in 2022-07-01 that needs an update and it’ll be available in next week’s image with 2022-08-01…
Default: 2022-07-01
debian@BeagleBone:~$ tree /dev/bone/
/dev/bone/
├── i2c
│ ├── 0 -> ../../i2c-0
│ ├── 1 -> ../../i2c-1
│ └── 2 -> ../../i2c-2
├── spi
│ ├── 0.0 -> ../../spidev0.0
│ ├── 0.1 -> ../../spidev0.1
│ ├── 1.0 -> ../../spidev1.0
│ └── 1.1 -> ../../spidev1.1
└── uart
├── 0 -> ../../ttyS0
├── 1 -> ../../ttyS1
├── 2 -> ../../ttyS2
├── 3 -> ../../ttyS3
├── 4 -> ../../ttyS4
└── 5 -> ../../ttyS5
3 directories, 13 files
First update bb-customizations package and enable it’s service file:
sudo apt update
sudo apt install --only-upgrade bb-customizations
sudo systemctl enable bb-symlinks.service
Then reboot…
sudo reboot
Now you will see the pwm symlinks…
debian@BeagleBone:~$ tree /dev/bone/
/dev/bone/
├── am335x
│ └── ecap
│ ├── 0 -> /sys/class/pwm/pwmchip0/pwm0
│ ├── 1 -> /sys/class/pwm/pwmchip1/pwm0
│ └── 2 -> /sys/class/pwm/pwmchip2/pwm0
├── counter
│ ├── counter0 -> /sys/bus/counter/devices/counter0
│ ├── counter1 -> /sys/bus/counter/devices/counter1
│ └── counter2 -> /sys/bus/counter/devices/counter2
├── i2c
│ ├── 0 -> ../../i2c-0
│ ├── 1 -> ../../i2c-1
│ └── 2 -> ../../i2c-2
├── pwm
│ ├── 0
│ │ ├── a -> /sys/class/pwm/pwmchip3/pwm0/
│ │ └── b -> /sys/class/pwm/pwmchip3/pwm1/
│ ├── 1
│ │ ├── a -> /sys/class/pwm/pwmchip5/pwm0/
│ │ └── b -> /sys/class/pwm/pwmchip5/pwm1/
│ └── 2
│ ├── a -> /sys/class/pwm/pwmchip7/pwm0/
│ └── b -> /sys/class/pwm/pwmchip7/pwm1/
├── spi
│ ├── 0.0 -> ../../spidev0.0
│ ├── 0.1 -> ../../spidev0.1
│ ├── 1.0 -> ../../spidev1.0
│ └── 1.1 -> ../../spidev1.1
└── uart
├── 0 -> ../../ttyS0
├── 1 -> ../../ttyS1
├── 2 -> ../../ttyS2
├── 3 -> ../../ttyS3
├── 4 -> ../../ttyS4
└── 5 -> ../../ttyS5
22 directories, 13 files
Next, from: Beagleboard:BeagleBone cape interface spec - eLinux.org we see:
P8_13 -> /dev/bone/pwm/2/b
P8_19 -> /dev/bone/pwm/2/a
Now let’s configure, P8_13 & P8_19 for pwm output:
debian@BeagleBone:~$ config-pin -l P8_13
Available modes for P8_13 are: default gpio gpio_pu gpio_pd gpio_input pwm
debian@BeagleBone:~$ config-pin -l P8_19
Available modes for P8_19 are: default gpio gpio_pu gpio_pd gpio_input pwm
debian@BeagleBone:~$ config-pin P8_13 pwm
Current mode for P8_13 is: pwm
debian@BeagleBone:~$ config-pin P8_19 pwm
Current mode for P8_19 is: pwm
Then go under /dev/bone/pwm/2/b and /dev/bone/pwm/2/a and configure your pwm device!
debian@BeagleBone:/dev/bone/pwm/2/b$ tree
.
├── capture
├── duty_cycle
├── enable
├── period
├── polarity
├── power
│ ├── async
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_kids
│ ├── runtime_active_time
│ ├── runtime_enabled
│ ├── runtime_status
│ ├── runtime_suspended_time
│ └── runtime_usage
└── uevent
1 directory, 15 files
at a minimal, you need duty_cycle, period, and enable…
Regards,