MKR NB 1500: MCU<->SARA communication method?

Does anyone know if the MKR NB 1500 board communicates with the SARA module using USB or SPI?

Looking at the variant files (link), it looks like SPI (lines 126-153 below). Looking at the schematic, that seems to line up (green square in attached image).

/*
 +------------+------------------+--------+-----------------+--------+-----------------------+---------+---------+--------+--------+----------+----------+
 | Pin number |  MKR  Board pin  |  PIN   | Notes           | Peri.A |     Peripheral B      | Perip.C | Perip.D | Peri.E | Peri.F | Periph.G | Periph.H |
 |            |                  |        |                 |   EIC  | ADC |  AC | PTC | DAC | SERCOMx | SERCOMx |  TCCx  |  TCCx  |    COM   | AC/GLCK  |
 |            |                  |        |                 |(EXTINT)|(AIN)|(AIN)|     |     | (x/PAD) | (x/PAD) | (x/WO) | (x/WO) |          |          |
 +------------+------------------+--------+-----------------+--------+-----+-----+-----+-----+---------+---------+--------+--------+----------+----------+
 |            | SD SPI           |        |                 |        |     |     |     |     |         |         |        |        |          |          |
 | 26         |                  |  PA12  | GSM_TX          |   12   |     |     |     |     |  *2/00  |   4/00  | TCC2/0 | TCC0/6 |          | AC/CMP0  |
 | 27         |                  |  PA13  | GSM_RX          |   13   |     |     |     |     |  *2/01  |   4/01  | TCC2/1 | TCC0/7 |          | AC/CMP1  |
 | 28         |                  |  PA14  | GSM_RTS         |   14   |     |     |     |     |   2/02  |   4/02  |  TC3/0 | TCC0/4 |          | GCLK_IO0 |
 | 29         |                  |  PA15  | GSM_CTS         |   15   |     |     |     |     |  *2/03  |   4/03  |  TC3/1 | TCC0/5 |          | GCLK_IO1 |
 | 30         |                  |  PA27  | PMIC_IRQ        |  *15   |     |     |     |     |         |         |        |        |          | GCLK_IO0 |
 | 31         |                  |  PB08  | GSM_RESETN      |   08   |  02 |     | Y14 |     |         |   4/00  |  TC4/0 |        |          |          |
 | 32         |                  |  PB09  | ADC_VBAT        |  *09   |  03 |     | Y15 |     |         |   4/01  |  TC4/1 |        |          |          |
 +------------+------------------+--------+-----------------+--------+-----+-----+-----+-----+---------+---------+--------+--------+----------+----------+
 |            | 32768Hz Crystal  |        |                 |        |     |     |     |     |         |         |        |        |          |          |
 | 33         |                  |  PA00  | XIN32           |   00   |     |     |     |     |         |   1/00  | TCC2/0 |        |          |          |
 | 34         |                  |  PA01  | XOUT32          |   01   |     |     |     |     |         |   1/01  | TCC2/1 |        |          |          |
 +------------+------------------+--------+-----------------+--------+-----+-----+-----+-----+---------+---------+--------+--------+----------+----------+
 | 35         |                  |  PA28  | GSM_DTR         |   01   |     |     |     |     |         |   1/01  | TCC2/1 |        |          |          |
+------------+------------------+--------+-----------------+--------+-----+-----+-----+-----+---------+---------+--------+--------+----------+----------+
*/
                                                                                                                                               // DIPO=3 DOPO=0
  { PORTA, 12, PIO_SERCOM_ALT, (PIN_ATTR_NONE                                ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MOSI: SERCOM4/PAD[0]
  { PORTA, 13, PIO_SERCOM_ALT, (PIN_ATTR_NONE                                ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCK:  SERCOM4/PAD[1]
  { PORTA, 14, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL                             ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SS:   as GPIO
  { PORTA, 15, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL                             ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MISO: SERCOM4/PAD[3]
  { PORTA, 27, PIO_DIGITAL,    (PIN_ATTR_NONE                                ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_15 },

But I was checking out the datasheet for the SARA module (link) and in section 2.5.2, pg 13 it states that USB is the preferred comms method. It also says in section 2.5.3, pg 14 that “02” versions (which are used on the NB 1500 board) don’t support a SPI interface. I looked back at the schematic and there are two “flags” that say “USB_P” and “USB_N” on them (red box in attached image).

I’m pretty new to schematics (and not exactly skilled with embedded electronics/firmware) so I don’t know how to interpret those “flags”, but I’m seeing mixed messages here. Apparently this SARA module doesn’t do SPI, but the code has SPI baked in. The schematic seems to show both. I’m really curious from the perspective of trying to eventually build a custom PCBA based on this as a learning project. Does anyone know how the MCU is communicating with the SARA module?

Looking at the schematic diagram we can see that UART is used. Here's why:

  1. Your screenshot shows that the USB signals go through three resistors DNPR7, DNPR17 and DNPR12. DNP usually stands for "Do Not Populate" (as in "do not put a resistor here but leave the circuit open and disconnected". So we can conclude that the USB signals on the SARA are not connected to anything at all.

  2. Your screenshot shows the four signals RX, CTS, TX, RTS going through a level shifter and then to the SARA. Hence we can conclude that these signals are actually connected between the CPU and the SARA.

  3. We also see that on the SARA the SCL and SDA are left disconnected/open, so I2C is not used

  4. I2S is also left open/disconnected on the SARA

Conclusion: UART is used to communicate MCU-SARA.