All GPIOs are configured as Resistive High, Strong Low by default to allow for Quasi Directional I/O. This is done so that you can use the pin as either input or output without the need for specifying the data direction in another instruction, thus saving time. However, you must take care that data collision doesn't happen by writing good software.
More information on the drive mode registers can be found in the datasheet in page#12 Table 9: https://www.cypress.com/file/37971/download
Based on what mode you want on the particular port, you need to use the Port Select register (18h) to specify the port and then write '1s' to the drive mode registers.
If you select the Port Address 08h, and you want to configure the data pins in the following way:
1st pin - Resistive High, Strong Low
2nd pin - Strong high, resistive low
3rd pin - High Z
then this is what you would do,
You would enter the value '08h' in the Port Select register and then do the following:
Resistive Pull Register - 00000001 (Setting the first pin) = 0x01 ---> value will be written to 1Dh (register address mentioned in the table)
Resistive Pull Down Register - 00000010 = 0x02 ---> value will be written to 1Eh
High Impedance Register - 000000100 = 0x03 ---> value will be written to 23h
Note if the 1s clash, then the last register written will override the one that came before. Hope this clarifies your query!