From what I can tell, there are just a few pins on the expansion headers that can be mapped into R30/R31 of the PRU units.
If you are using the LCD or HDMI (I'm using 4DCape-43T) and eMMC, most of the pins are allocated.
PRU0 has 7 pins for direct mapping
PRU1 has 1 pin for input only.
Header pin : PRU? outreg-bit, inreg-bit - usage
P9-31: PRU0 R30-0, R31-0 - available for use
P9-29: PRU0 R30-1, R31-1 - available for use
P9-30: PRU0 R30-2, R31-2 - used by LCD
P9-28: PRU0 R30-3, R31-3 - available for use
P9-42: PRU0 R30-4, R31-4 - available for use
P9-27: PRU0 R30-5, R31-5 - used by LCD
P9-41: PRU0 R30-6, R31-6 - available for use
P9-25: PRU0 R30-7, R31-7 - available for use
P8-12: PRU0 R30-14 - used by eMMC
P8-16: PRU0 R31-14 - used by eMMC
P8-11: PRU0 R30-15 - used by eMMC
P8-15: PRU0 R31-15 - used by eMMC
P9-24: PRU0 R31-16 - used by LCD
P9-41: PRU0 R31-16 - available for use
P8-45: PRU1 R30-0, R31-0 - used by LCD
P8-46: PRU1 R30-1, R31-1 - used by LCD
P8-43: PRU1 R30-2, R31-2 - used by LCD
P8-44: PRU1 R30-3, R31-3 - used by LCD
P8-41: PRU1 R30-4, R31-4 - used by LCD
P8-42: PRU1 R30-5, R31-5 - used by LCD
P8-39: PRU1 R30-6, R31-6 - used by LCD
P8-40: PRU1 R30-7, R31-7 - used by LCD
P8-27: PRU1 R30-8, R31-8 - used by LCD
P8-29: PRU1 R30-9, R31-9 - used by LCD
P8-28: PRU1 R30-10, R31-10 - used by LCD
P8-30: PRU1 R30-11, R31-11 - used by LCD
P8-21: PRU1 R30-12, R31-12 - used by LCD
P8-20: PRU1 R30-13, R31-13 - used by LCD
P9-26: PRU1 R31-16 - available for use
I was hoping to get 10 pins (8 out, 2 in) mapped to PRU0 registers for fast access.
Will I have to use memory mapped access to get 10 GPIO pins?
Are there tricks to the PRU pin mapping I'm missing?