Assigning I2C SDA and SCL pins to any GPIO in PSoC 3/5

Question: When I try to route the I2C SCL and SDA pins to any GPIO, I get the following error:  IO "I2C_SCL(0)" cannot be placed into "PX[x]" because the pin does not support the features required by the IO. (App=cydsfit)  What is the reason for this error and how can this be fixed?

 

Answer:

By default, the SCL and SDA pins may be routed to any GPIO.  But if the "Wakup from Sleep Mode" option is enabled in the I2C configuration, then the SCL and SDA cannot be routed to any GPIO.  They can be connected only to one of the two fixed SIO pairs.

Option1:
SCL - P12[0]
SDA - P12[1]

Option2:
SCL - P12[4]
SDA - P12[5]