M0 with st7735 over sercom SPI problem

hello, im trying to run this tft ST7735 with sercom SPI with no luck so far. i carefully followed the instructions in here https://learn.adafruit.com/using-atsamd … -a-new-spi and tried implement the required code to a very basic code to test it.

things to note : if i use regular hw SPI constructor with default MOSI SCK pins screen works perfectly fine. i only move those two pins to sercom SPI but screen is just blank. while wired for sercom SPI i changed the constructor to use software SPI again screen works with those pins intended for sercom SPI. like this;
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
along with
#define TFT_MOSI 11
#define TFT_SCLK 12

if i keep the code above for softwareSPI and also keep the sercom declaration along with pinperipheral for pins 11 and 12 screen still works in software SPI. while all this is happening i get very fast count from 1 to 255 in serial monitor which i believe is a sign at least mySPI is alive.

can anybody please look at the code and see if im doing something wrong. thank you

#include <Adafruit_GFX.h>    
#include <Adafruit_ST7735.h> 
#include <SPI.h>
#include "wiring_private.h" 

#define TFT_CS        6
#define TFT_RST       9 
#define TFT_DC        10

SPIClass mySPI (&sercom1, 13, 12, 11, SPI_PAD_0_SCK_3, SERCOM_RX_PAD_1);

Adafruit_ST7735 tft = Adafruit_ST7735(&mySPI, TFT_CS, TFT_DC, TFT_RST);

void setup() {
  pinPeripheral(11, PIO_SERCOM);
  pinPeripheral(12, PIO_SERCOM);
  pinPeripheral(13, PIO_SERCOM);



 tft.setCursor(0, 0); 
uint8_t i=0;
void loop()  
  mySPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));

turns out issue is library related. sercom SPI is fine and working.