PWM, Maybe the ServoCape, and Ideas w/ /dev/pwm and /sys/class/pwm/


It has been a given to use PWM on the BBB. This fact remains, thankfully.

  1. What does control the /sys/class/pwm/ export on the BBB?
  2. What does control the /dev/pwm/ export on the BBB?

I know this may not make sense. So, I will understand if questioning persists but…

  1. When I dig around in /dev/pwm/, there are files but initially they got there how?
    a. Is it part .dts/.dtsi?
    b. Is it part a file on the BBB?
    c. Is it a build requirement to make them available in sysfs or devfs?


P.S. I am not so much interested in the hardware aspect right now but exactly how the functionality of the PWM interfaces have arrived (if that makes any sense).

Right now, I am using two C files and a H file to handle compilation via gcc of a file for telling me about PWM in /dev/pwm/*. * is mentioned b/c I have not singled out what does what yet. I am still testing to find out exactly what polarity goes where and what enable file goes where.

So, I am trying to get more of an explanation of how it came to be currently that it is located on the BBB and from what resource it derived.


I see devfs was kernel space stuff while udev can be changed in userspace. udev is the update to devfs.


P.S. Still reading about sysfs and pwm channels!