[beaglebone] Are you using the PRU / PRUSS in your beagebone project?

Right now I only have the driver on github. This is not the latest
version, but it should generate pwm already:
https://github.com/pomarek/sw_pwm
Lately I've noticed that there is an issue with unloading the module
so I won't be pushing anything until I'll find some time to fix it.

Because PRU is quite fast (200MHz, one instruction per cycle) I
decided to generate interrupt every 10us (this gives 2000 instructions
to handle it).
At the beginning I take four of the servo gpios, set them high and
count the interrupts. After every interrupt I compare the interrupt
count with the servo "position" <50-249> and if it equals I lower the
gpio. if the interrupt count reaches 250 (2.5ms) I take next four
servo GPIOs and start interrupt counting from 0 ....
After I reach 8 * 250 interrupts I return to the first four servos.

Servomotors pwm max active time is 1/8 of a cycle(2.5ms active in 20ms
wave), so to process 32 servo I only need to work on 4 of them at a
time. After I finish with first four I leave them low and move to next
four.

The reason why you can not do it like you did previously is because
there are no timers available for PRU. To get time base I had to use
ECAP 0 (the only device connected to PRU able to generate periodic
interrupts).