Hi dev_000,
Looking at the Adafruit Feather M0 schematic: https://cdn-learn.adafruit.com/assets/assets/000/040/553/original/arduino_schem.png?1490994398, it can be seen that digital pin D10 is connected to SAMD21's port pin PA18 and D12 to PA19.
By default the microcontroller's pins are set to General Purpose Input Output (GPIO), however the pins can also be switched over to act as peripheral inputs and outputs. Switching over from GPIO to peripheral IO is performed by setting the PMUXEN (Peripheral Multiplexer Enable) bit in a given pin's CONFIG (Configuration) register:
This can be set either for an Arduino style digtial pin:
// Set PMUXEN for digital pin D10
PORT->Group[g_APinDescription[10].ulPort].PINCFG[g_APinDescription[10].ulPin].bit.PMUXEN = 1;
...or using the SAMD21's port pin:
PORT->Group[PORTA].PINCFG[18].bit.PMUXEN = 1; // Set PMUXEN for port pin PA18
The SAMD21's datasheet contains a table, called "Table 6-1 PORT Function Multiplexing". It lists each of the microcontroller's pins against peripherals labelled A to H. Going down the table we can see that port pin PA18 (D10) has a timer TCC0/WO[2] on peripheral F. WO[2] indicates that this pin uses TCC0 channel 2. Port pin PA19 (D12) has timer TCC0/WO[3], also on peripheral F.
On the SAMD21 the port pins a paired as odd and even, starting PA00 and PA01, PA02 and PA03 and so on... Port pin PA18 on D10, happens to be paired with PA19 on D12. Using the pins' PMUX register we can activate both peripheral outputs. Each PMUX register is 8-bits wide with the upper nibble (4-bits) determining the ODD port peripheral IO: A through to H and the lower nibble determining the EVEN port peripheral IO, again: A through to H.
Therefore to activate the even PA18 (D10) and the odd PA19 (D12) as PWM outputs, it's necessary to set both the even and odd nibbles to peripheral F.
Again, this can be set either for an Arduino style digtial pins:
PORT->Group[g_APinDescription[10].ulPort].PMUX[g_APinDescription[10].ulPin >> 1].reg = PORT_PMUX_PMUXO_F | PORT_PMUX_PMUXE_F;
...or using the SAMD21's port pins:
PORT->Group[PORTA].PMUX[18 >> 1].reg = PORT_PMUX_PMUXO_F | PORT_PMUX_PMUXE_F;
Each port has 32 pins (PA00-PA31) (although not all port pins are available on some SAMD21 variants), this means there are 32 port pin CONFIG registers (one for each pin), but only 16 PMUX registers (one for each port pair), the logical shift right ">>" essentially divides the value by to 2, to account for half the number of PMUX registers.