I have been playing with the samd21j18 for a while now and can manage to get my IO's running at a maximum of 1MHz using CLR and SET, though this is really starting to slow me down. I am working with an LCD that has a 16 pin parallel connection that once all the bits are set, you clock a 17th pin. Running this and usb at the same time I start to get significant issues for slow data transfer rates and my LCD starting to slow down 10-100x on write cycles.
I am pretty sure the answer is no based on the searching I have done, but has anyone had any success or know anything about non-blocking IO writes, dma port transfers or simply a faster way to write to the IO's. the internal architecture means that a write using the internal i2c bus can be very slow and non-deterministic...which is a pain. Else I will probably end up trying to use an external parallel driver and double up on my sercom SPI module...though another run or two of prototypes is required :(
Currently using all 6 sercoms, bus doubling up is required...eghhhh