Is it possible to use just 3 PRU pins and HDMI at the concurrently?
Yes, but the pins you take over will corrupt the video display
(replacing video data with whatever other signal you're using).
There are a couple options to implement the pin multiplexing while
keeping the HDMI driver running:
* Just use the PRU to set the pinmux controls up the way you want,
without going through the Linux kernel or any of the ARM protected
memory regions. The HDMI driver will happily keep humming along,
oblivious to the fact you stole a few pins and turned them into GPIO
outputs, PRU inputs, or whatever.
* Use some of the advanced techniques from the cape-universal overlay
and instead of allocating the I/O pins directly from the HDMI device
tree stanza, assign the pins to the pinmux helper and set their
initial mode to HDMI. This way, the system boots with HDMI fully
working, and you can poke around in sysfs (or use the config-pin
utility) to change some HDMI video pins to other functions at run-time.
Note that some pins (like the sync lines) cannot be used by the PRU if
you still want to have a working HDMI video output, but you can
generally take over any of the red/green/blue data lines. I
frequently use the least-significant blue data line as a direct PRU
output for testing purposes.