Each digital peripheral has a dedicated Pin Rxy Output Source Selection (RxyPPS) register with which the pin output source is selected. With few exceptions, the port TRIS control associated with that pin retains control over the pin output driver. Peripherals that control the pin output driver as part of the peripheral operation will override the TRIS control as needed. The I2C module is an example of such a peripheral.
The PPS Output Selection Table below shows the output codes for each peripheral, as well as the available Port selections.
| RxyPPS | Output Source | Available Output Ports | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 28-Pin Devices | 40-Pin Devices | 48-Pin Devices | |||||||||||||
| 0x45 | ADGRDB | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x44 | ADGRDA | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x43 | DSM1 | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x42 | CLKR | — | B | C | — | B | C | — | — | — | B | — | — | E | — |
| 0x41 | NCO3 | — | B | C | — | B | — | — | E | — | B | — | — | E | — |
| 0x40 | NCO2 | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x3F | NCO1 | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x3E - 0x3A | Reserved | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 0x39 | TMR0 | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x38 | I2C1 SDA(1) | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x37 | I2C1 SCL(1) | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x36 | SPI2 SS | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x35 | SPI2 SDO | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x34 | SPI2 SCK | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x33 | SPI1 SS | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x32 | SPI1 SDO | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x31 | SPI1 SCK | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x30 | C2OUT | A | — | C | A | — | — | — | E | A | — | — | — | E | — |
| 0x2F | C1OUT | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x2E | UART5 RTS | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x2D | UART5 TXDE | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x2C | UART5 TX | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x2B | UART4 RTS | A | B | — | A | — | — | D | — | A | — | — | D | — | — |
| 0x2A | UART4 TXDE | A | B | — | A | — | — | D | — | A | — | — | D | — | — |
| 0x29 | UART4 TX | A | B | — | A | — | — | D | — | A | — | — | D | — | — |
| 0x28 | UART3 RTS | A | B | — | A | B | — | — | — | A | — | — | — | — | F |
| 0x27 | UART3 TXDE | A | B | — | A | B | — | — | — | A | — | — | — | — | F |
| 0x26 | UART3 TX | A | B | — | A | B | — | — | — | A | — | — | — | — | F |
| 0x25 | UART2 RTS | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x24 | UART2 TXDE | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x23 | UART2 TX | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x22 | UART1 RTS | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x21 | UART1 TXDE | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x20 | UART1 TX | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x1F | Reserved | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 0x1E | Reserved | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 0x1D | PWM3S1P2_OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x1C | PWM3S1P1_OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x1B | PWM2S1P2_OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x1A | PWM2S1P1_OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x19 | PWM1S1P2_OUT | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x18 | PWM1S1P1_OUT | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x17 | CCP3 | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x16 | CCP2 | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x15 | CCP1 | — | B | C | — | B | C | — | — | — | — | C | — | — | F |
| 0x14 | CWG3D | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x13 | CWG3C | A | — | C | A | — | — | D | — | A | — | — | D | — | — |
| 0x12 | CWG3B | A | — | C | A | — | — | — | E | A | — | — | — | E | — |
| 0x11 | CWG3A | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x10 | CWG2D | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x0F | CWG2C | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x0E | CWG2B | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x0D | CWG2A | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x0C | CWG1D | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x0B | CWG1C | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x0A | CWG1B | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x09 | CWG1A | — | B | C | — | B | C | — | — | — | B | C | — | — | — |
| 0x08 | CLC8OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x07 | CLC7OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x06 | CLC6OUT | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x05 | CLC5OUT | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x04 | CLC4OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x03 | CLC3OUT | — | B | C | — | B | — | D | — | — | B | — | D | — | — |
| 0x02 | CLC2OUT | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x01 | CLC1OUT | A | — | C | A | — | C | — | — | A | — | — | — | — | F |
| 0x00 | LATxy | A | B | C | A | B | C | D | E | A | B | C | D | E | F |