- #define SER_SPI0_BUS_TXINIT do { \
- /* Disable PIO on SPI pins */ \
- PIOA_PDR = BV(SPI0_SPCK) | BV(SPI0_MOSI) | BV(SPI0_MISO); \
- } while (0)
+ #if CPU_CM3_SAM3
+ #define SER_SPI0_BUS_TXINIT do { \
+ /* Disable PIO on SPI pins */ \
+ PIOA_PDR = BV(SPI0_SPCK) | BV(SPI0_MOSI) | BV(SPI0_MISO); \
+ /* PIO is peripheral A */ \
+ PIOA_ABCDSR1 &= ~(BV(SPI0_SPCK) | BV(SPI0_MOSI) | BV(SPI0_MISO)); \
+ PIOA_ABCDSR2 &= ~(BV(SPI0_SPCK) | BV(SPI0_MOSI) | BV(SPI0_MISO)); \
+ } while (0)
+ #else
+ #define SER_SPI0_BUS_TXINIT do { \
+ /* Disable PIO on SPI pins */ \
+ PIOA_PDR = BV(SPI0_SPCK) | BV(SPI0_MOSI) | BV(SPI0_MISO); \
+ } while (0)
+ #endif