If I have a pin connected to a schematic symbol (say a SPI Master block, for example), can I force the pin to a given state (high, low, tri-state) through software alone, or do I have to add a control register and mux to the schematic to do this?
My use case is a SPI Master talking to an external component, and the component has some very specific setup requirements that are not SPI. I'd like to wiggle the SPI MOSI pin and then "give the pin back" to the SPI module for normal SPI communications once my external component has been initialized.
I took a look through the pin datasheet and the resultant code generated, but I didn't see a way to do this. Adding a MUX and control register seems to be an awfully "heavy" way to do this.
Answering my own question (again):
Looking at the Architecture TRM, Cypress gives a block diagram of the GPIO blocks. (section 19.2 on page 144 for the 5LP, for example). It specifically calls out the register names surrounding the MUX leading into the drive logic block. PRT
If the schematic symbol for the pin is already set up correctly you should not need to fiddle with the PRT
The memory addresses for these registers is in the (very difficult to read) Register TRM.