Pins choice for a 32 channels servo controller cape

Hi!

As said in the PRU topic, I’m working on a 32 channels servo controller using PRUs. The aim of this controller will be to drive servos synchronously, ie they should start/stop at the same time. Like these dedicated boards do:

http://www.lynxmotion.com/p-1032-ssc-32u-usb-servo-controller.aspx

http://www.dfrobot.com/wiki/index.php/Veyron_Servo_Driver_(24-Channel)_(SKU:DRI0029)

(I own the second one).

The question is: which pins should I use for the servos, and which ones should I keep for other purposes (future features)?

For example, I think I should keep:

  • 1x I²C bus

  • 1x SPI bus

  • 1x UART

  • a few PRU direct access GPIOs (for fast rd/wr, like pulse measurement…)

  • pins which can be used for timers/counters inputs

As far as I understand, UART0 can be used directly from PRUs. But UART0 is the one wired to the FTDI-compatible header; is it a good idea to use it for other purposes than debug the board?

What about the I²C 2 bus? It seems to be allocated; is it used by linux for some board chips access?

What other pins have usefull usage I should be aware of?

Thanks for feedback and suggestions.

Frédéric

I finally used the following pins for the servos outputs:

P8.8 to P8.19 and P8.26 to P8.45. (I'm not using hdmi).

I started to design the cape, and I'm wondering what other pins should I
bring out (mainly from P9), and how to group them?

Any suggestion?