In the SAMD21 datasheet, section 2 named "Configuration Summary", it details each variant's on-chip peripherals.
I missed that too, especially since the "IO Multiplexing an Considerations" doesn't indicate the unavailable peripherals in any way that I can see.
I usually put together a spreadsheet; doing the work gives me a better understanding of how a particular chip actually works, along with limitations of the pinout. And it's useful to be able to sort based on different columns... SAMD21-PMUX - Google Sheets
Lately, I've been working on a python program that parses the higher-level .ATDF machine description file that is provided, translating it to various more readable formats.
for i in range(1,32):
showChipPin(str(i))
Chip Pin 1 on ATSAMD21E17L is PA02
ADC: AIN0 pmux:B
DAC: VOUT pmux:B
EIC: EXTINT2 pmux:A
PORT: P2 pmux:default
TCC3: WO0 pmux:F
Chip Pin 2 on ATSAMD21E17L is PA03
ADC: AIN1 pmux:B
DAC: VREFP pmux:B
EIC: EXTINT3 pmux:A
PORT: P3 pmux:default
TCC3: WO1 pmux:F
Chip Pin 3 on ATSAMD21E17L is PB04
AC1: AIN0 pmux:B
ADC: AIN12 pmux:B
EIC: EXTINT4 pmux:A
PORT: P36 pmux:default
Chip Pin 4 on ATSAMD21E17L is PB05
AC1: AIN1 pmux:B
ADC: AIN13 pmux:B
EIC: EXTINT5 pmux:A
PORT: P37 pmux:default
:
:
Chip Pin 31 on ATSAMD21E17L is PB02
AC1: AIN2 pmux:B
ADC: AIN10 pmux:B
EIC: EXTINT2 pmux:A
PORT: P34 pmux:default
TCC3: WO2 pmux:F
Chip Pin 32 on ATSAMD21E17L is PB03
AC1: AIN3 pmux:B
ADC: AIN11 pmux:B
EIC: EXTINT3 pmux:A
PORT: P35 pmux:default
TCC3: WO3 pmux:F
I wonder if it would be possible to go programmatically straight from the descriptions to some sort of image...