There are three places where it decides between the sam or samd packages. Two of them checked to see if the mcu started with "at91" and if so it was the sam, otherwise it was the samd. The third one (the one in platform.py) checked to see if the mcu started with "samd" and if so it was the samd, otherwise it was the sam. This causes problems with the samc and saml which both are essentially the samd core and use the samd packages.
There are three places where it decides between the sam or samd packages. Two of them checked to see if the mcu started with "at91" and if so it was the sam, otherwise it was the samd. The third one (the one in platform.py) checked to see if the mcu started with "samd" and if so it was the samd, otherwise it was the sam. This causes problems with the samc and saml which both are essentially the samd core and use the samd packages.