From 497c74e4a9a03109a85064f21e75a839a5c4b1f6 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Sat, 16 Oct 2021 01:23:20 +0200 Subject: [PATCH] sam: simplify SPI peripheral declaration This has practically no effect on the resulting binaries, the only difference I could find was for the flash/console/spi driver example. I'm not sure how to test that one, but I think it's very unlikely that code will have changed in any meaningful way (apart from reordering some globals). --- src/machine/board_arduino_mkrwifi1010.go | 10 ++---- src/machine/board_arduino_nano33.go | 9 +++++ src/machine/board_arduino_nano33_baremetal.go | 17 ---------- src/machine/board_atsame54-xpro.go | 20 +++-------- src/machine/board_circuitplay_express.go | 3 ++ .../board_circuitplay_express_baremetal.go | 8 ----- src/machine/board_feather-m0.go | 11 +------ src/machine/board_feather-m4-can.go | 7 +--- src/machine/board_feather-m4.go | 3 ++ src/machine/board_feather-m4_baremetal.go | 15 --------- src/machine/board_grandcentral-m4.go | 6 ++++ .../board_grandcentral-m4_baremetal.go | 19 ----------- src/machine/board_itsybitsy-m0.go | 14 ++------ src/machine/board_itsybitsy-m4.go | 3 ++ src/machine/board_itsybitsy-m4_baremetal.go | 15 --------- src/machine/board_matrixportal-m4.go | 8 +++++ .../board_matrixportal-m4_baremetal.go | 21 ------------ src/machine/board_metro-m4-airlift.go | 9 +++++ .../board_metro-m4-airlift_baremetal.go | 24 -------------- src/machine/board_p1am-100.go | 12 +++++++ src/machine/board_p1am-100_baremetal.go | 25 -------------- src/machine/board_pybadge.go | 6 ++++ src/machine/board_pybadge_baremetal.go | 23 ------------- src/machine/board_pygamer.go | 16 ++------- src/machine/board_pyportal.go | 6 ++++ src/machine/board_pyportal_baremetal.go | 16 --------- src/machine/board_qtpy.go | 11 +------ src/machine/board_trinket.go | 11 +------ src/machine/board_wioterminal.go | 14 ++++++++ src/machine/board_wioterminal_baremetal.go | 33 ------------------- src/machine/board_xiao.go | 7 +--- src/machine/machine_atsamd21e18.go | 5 +++ src/machine/machine_atsamd21g18.go | 7 ++++ src/machine/machine_atsamd51g19.go | 7 ++++ src/machine/machine_atsamd51j19.go | 7 ++++ src/machine/machine_atsamd51j20.go | 7 ++++ src/machine/machine_atsamd51p19.go | 9 +++++ src/machine/machine_atsamd51p20.go | 9 +++++ src/machine/machine_atsame51j19.go | 7 ++++ src/machine/machine_atsame54p20.go | 9 +++++ src/machine/machine_generic.go | 9 +++++ 41 files changed, 170 insertions(+), 308 deletions(-) delete mode 100644 src/machine/board_feather-m4_baremetal.go delete mode 100644 src/machine/board_grandcentral-m4_baremetal.go delete mode 100644 src/machine/board_itsybitsy-m4_baremetal.go delete mode 100644 src/machine/board_matrixportal-m4_baremetal.go delete mode 100644 src/machine/board_metro-m4-airlift_baremetal.go delete mode 100644 src/machine/board_p1am-100_baremetal.go delete mode 100644 src/machine/board_pybadge_baremetal.go delete mode 100644 src/machine/board_pyportal_baremetal.go delete mode 100644 src/machine/board_wioterminal_baremetal.go diff --git a/src/machine/board_arduino_mkrwifi1010.go b/src/machine/board_arduino_mkrwifi1010.go index 3f91d728..5f80df61 100644 --- a/src/machine/board_arduino_mkrwifi1010.go +++ b/src/machine/board_arduino_mkrwifi1010.go @@ -106,15 +106,9 @@ var ( // SPI on the Arduino MKR WiFi 1010. var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPI, - SERCOM: 1, - } + SPI0 = sercomSPIM1 - SPI1 = SPI{ - Bus: sam.SERCOM4_SPI, - SERCOM: 4, - } + SPI1 = sercomSPIM4 NINA_SPI = SPI1 ) diff --git a/src/machine/board_arduino_nano33.go b/src/machine/board_arduino_nano33.go index 34c0a35f..76353bac 100644 --- a/src/machine/board_arduino_nano33.go +++ b/src/machine/board_arduino_nano33.go @@ -82,6 +82,15 @@ const ( SPI0_SDI_PIN Pin = D12 // SDI: SERCOM1/PAD[3] ) +// SPI on the Arduino Nano 33. +var SPI0 = sercomSPIM1 + +// SPI1 is connected to the NINA-W102 chip on the Arduino Nano 33. +var ( + SPI1 = sercomSPIM2 + NINA_SPI = SPI1 +) + // NINA-W102 Pins const ( NINA_SDO Pin = PA12 diff --git a/src/machine/board_arduino_nano33_baremetal.go b/src/machine/board_arduino_nano33_baremetal.go index dde7d21d..bfd9b8cf 100644 --- a/src/machine/board_arduino_nano33_baremetal.go +++ b/src/machine/board_arduino_nano33_baremetal.go @@ -6,23 +6,6 @@ import ( "device/sam" ) -// SPI on the Arduino Nano 33. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPI, - SERCOM: 1, - } -) - -// SPI1 is connected to the NINA-W102 chip on the Arduino Nano 33. -var ( - SPI1 = SPI{ - Bus: sam.SERCOM2_SPI, - SERCOM: 2, - } - NINA_SPI = SPI1 -) - // I2S on the Arduino Nano 33. var ( I2S0 = I2S{Bus: sam.I2S} diff --git a/src/machine/board_atsame54-xpro.go b/src/machine/board_atsame54-xpro.go index 630070d6..173ccae5 100644 --- a/src/machine/board_atsame54-xpro.go +++ b/src/machine/board_atsame54-xpro.go @@ -269,28 +269,16 @@ var ( // SPI on the SAM E54 Xplained Pro var ( // Extension Header EXT1 - SPI0 = SPI{ - Bus: sam.SERCOM4_SPIM, - SERCOM: 4, - } + SPI0 = sercomSPIM4 // Extension Header EXT2 - SPI1 = SPI{ - Bus: sam.SERCOM6_SPIM, - SERCOM: 6, - } + SPI1 = sercomSPIM6 // Extension Header EXT3 - SPI2 = SPI{ - Bus: sam.SERCOM6_SPIM, - SERCOM: 6, - } + SPI2 = sercomSPIM6 // Data Gateway Interface - SPI3 = SPI{ - Bus: sam.SERCOM6_SPIM, - SERCOM: 6, - } + SPI3 = sercomSPIM6 ) // CAN on the SAM E54 Xplained Pro diff --git a/src/machine/board_circuitplay_express.go b/src/machine/board_circuitplay_express.go index 89d2b8bb..23037a1e 100644 --- a/src/machine/board_circuitplay_express.go +++ b/src/machine/board_circuitplay_express.go @@ -96,6 +96,9 @@ const ( SPI0_SDI_PIN = PA16 // SDI: SERCOM3/PAD[0] ) +// SPI on the Circuit Playground Express. +var SPI0 = sercomSPIM3 + // I2S pins const ( I2S_SCK_PIN = PA10 diff --git a/src/machine/board_circuitplay_express_baremetal.go b/src/machine/board_circuitplay_express_baremetal.go index 9f6e56c7..cbe3e95f 100644 --- a/src/machine/board_circuitplay_express_baremetal.go +++ b/src/machine/board_circuitplay_express_baremetal.go @@ -6,14 +6,6 @@ import ( "device/sam" ) -// SPI on the Circuit Playground Express. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM3_SPI, - SERCOM: 3, - } -) - // I2S on the Circuit Playground Express. var ( I2S0 = I2S{Bus: sam.I2S} diff --git a/src/machine/board_feather-m0.go b/src/machine/board_feather-m0.go index 387a331e..cfef7288 100644 --- a/src/machine/board_feather-m0.go +++ b/src/machine/board_feather-m0.go @@ -2,10 +2,6 @@ package machine -import ( - "device/sam" -) - // used to reset into bootloader const RESET_MAGIC_VALUE = 0xf01669ef @@ -75,12 +71,7 @@ const ( ) // SPI on the Feather M0. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM4_SPI, - SERCOM: 4, - } -) +var SPI0 = sercomSPIM4 // I2S pins const ( diff --git a/src/machine/board_feather-m4-can.go b/src/machine/board_feather-m4-can.go index d77ce0bd..5e9d464f 100644 --- a/src/machine/board_feather-m4-can.go +++ b/src/machine/board_feather-m4-can.go @@ -120,12 +120,7 @@ var ( ) // SPI on the Feather M4 CAN. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) +var SPI0 = sercomSPIM1 // CAN on the Feather M4 CAN. var ( diff --git a/src/machine/board_feather-m4.go b/src/machine/board_feather-m4.go index 06edc263..901a1872 100644 --- a/src/machine/board_feather-m4.go +++ b/src/machine/board_feather-m4.go @@ -81,6 +81,9 @@ const ( SPI0_SDI_PIN = D23 // SDI: SERCOM1/PAD[2] ) +// SPI on the Feather M4. +var SPI0 = sercomSPIM1 + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Adafruit Feather M4" diff --git a/src/machine/board_feather-m4_baremetal.go b/src/machine/board_feather-m4_baremetal.go deleted file mode 100644 index c1bcabc1..00000000 --- a/src/machine/board_feather-m4_baremetal.go +++ /dev/null @@ -1,15 +0,0 @@ -// +build sam,atsamd51,feather_m4 - -package machine - -import ( - "device/sam" -) - -// SPI on the Feather M4. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) diff --git a/src/machine/board_grandcentral-m4.go b/src/machine/board_grandcentral-m4.go index 7acf5f40..7f0a7390 100644 --- a/src/machine/board_grandcentral-m4.go +++ b/src/machine/board_grandcentral-m4.go @@ -187,6 +187,12 @@ const ( SPI_CS_PIN = SPI0_CS_PIN // ) +// SPI on the Grand Central M4 +var ( + SPI0 = sercomSPIM7 + SPI1 = sercomSPIM2 // SD card +) + // I2C pins const ( I2C0_SDA_PIN = D62 // (PB20), also on D20 diff --git a/src/machine/board_grandcentral-m4_baremetal.go b/src/machine/board_grandcentral-m4_baremetal.go deleted file mode 100644 index 4961e21c..00000000 --- a/src/machine/board_grandcentral-m4_baremetal.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build grandcentral_m4 - -package machine - -import ( - "device/sam" -) - -// SPI on the Grand Central M4 -var ( - SPI0 = SPI{ - Bus: sam.SERCOM7_SPIM, - SERCOM: 7, - } - SPI1 = SPI{ // SD card - Bus: sam.SERCOM2_SPIM, - SERCOM: 2, - } -) diff --git a/src/machine/board_itsybitsy-m0.go b/src/machine/board_itsybitsy-m0.go index 76edf46a..7e3c0431 100644 --- a/src/machine/board_itsybitsy-m0.go +++ b/src/machine/board_itsybitsy-m0.go @@ -77,12 +77,7 @@ const ( ) // SPI on the ItsyBitsy M0. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM4_SPI, - SERCOM: 4, - } -) +var SPI0 = sercomSPIM4 // "Internal" SPI pins; SPI flash is attached to these on ItsyBitsy M0 const ( @@ -93,12 +88,7 @@ const ( ) // "Internal" SPI on Sercom 5 -var ( - SPI1 = SPI{ - Bus: sam.SERCOM5_SPI, - SERCOM: 5, - } -) +var SPI1 = sercomSPIM5 // I2S pins const ( diff --git a/src/machine/board_itsybitsy-m4.go b/src/machine/board_itsybitsy-m4.go index 44184a3c..b88e44fd 100644 --- a/src/machine/board_itsybitsy-m4.go +++ b/src/machine/board_itsybitsy-m4.go @@ -79,6 +79,9 @@ const ( SPI0_SDI_PIN = PB23 // SDI: SERCOM1/PAD[3] ) +// SPI on the ItsyBitsy M4. +var SPI0 = sercomSPIM1 + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Adafruit ItsyBitsy M4" diff --git a/src/machine/board_itsybitsy-m4_baremetal.go b/src/machine/board_itsybitsy-m4_baremetal.go deleted file mode 100644 index d5eb0c93..00000000 --- a/src/machine/board_itsybitsy-m4_baremetal.go +++ /dev/null @@ -1,15 +0,0 @@ -// +build sam,atsamd51,itsybitsy_m4 - -package machine - -import ( - "device/sam" -) - -// SPI on the ItsyBitsy M4. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) diff --git a/src/machine/board_matrixportal-m4.go b/src/machine/board_matrixportal-m4.go index a925f604..c733e784 100644 --- a/src/machine/board_matrixportal-m4.go +++ b/src/machine/board_matrixportal-m4.go @@ -152,6 +152,14 @@ const ( NINA_SCK = SPI0_SCK_PIN ) +// SPI on the MatrixPortal M4 +var ( + SPI0 = sercomSPIM3 // BUG: SDO on SERCOM1! + NINA_SPI = SPI0 + + SPI1 = sercomSPIM0 +) + // HUB75 pins const ( HUB75_R1 = D7 diff --git a/src/machine/board_matrixportal-m4_baremetal.go b/src/machine/board_matrixportal-m4_baremetal.go deleted file mode 100644 index 6106ed80..00000000 --- a/src/machine/board_matrixportal-m4_baremetal.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build sam,atsamd51,matrixportal_m4 - -package machine - -import ( - "device/sam" -) - -// SPI on the MatrixPortal M4 -var ( - SPI0 = SPI{ - Bus: sam.SERCOM3_SPIM, - SERCOM: 3, // BUG: SDO on SERCOM1! - } - NINA_SPI = SPI0 - - SPI1 = SPI{ - Bus: sam.SERCOM0_SPIM, - SERCOM: 0, - } -) diff --git a/src/machine/board_metro-m4-airlift.go b/src/machine/board_metro-m4-airlift.go index 70889c5b..d70220eb 100644 --- a/src/machine/board_metro-m4-airlift.go +++ b/src/machine/board_metro-m4-airlift.go @@ -103,6 +103,15 @@ const ( SPI1_SDI_PIN = D13 // SCK: SERCOM1/PAD[0] ) +// SPI on the Metro M4. +var ( + SPI0 = sercomSPIM2 + NINA_SPI = SPI0 +) + +// SPI1 on the Metro M4 on pins 11,12,13 +var SPI1 = sercomSPIM1 + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Adafruit Metro M4 Airlift Lite" diff --git a/src/machine/board_metro-m4-airlift_baremetal.go b/src/machine/board_metro-m4-airlift_baremetal.go deleted file mode 100644 index 4025d222..00000000 --- a/src/machine/board_metro-m4-airlift_baremetal.go +++ /dev/null @@ -1,24 +0,0 @@ -// +build sam,atsamd51,metro_m4_airlift - -package machine - -import ( - "device/sam" -) - -// SPI on the Metro M4. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM2_SPIM, - SERCOM: 2, - } - NINA_SPI = SPI0 -) - -// SPI1 on the Metro M4 on pins 11,12,13 -var ( - SPI1 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) diff --git a/src/machine/board_p1am-100.go b/src/machine/board_p1am-100.go index e21fc8f2..e263746a 100644 --- a/src/machine/board_p1am-100.go +++ b/src/machine/board_p1am-100.go @@ -109,6 +109,18 @@ const ( SDCARD_CD_PIN Pin = PA27 ) +// SPI on the P1AM-100 is used for Base Controller. +var ( + SPI0 = sercomSPIM1 + BASE_CONTROLLER_SPI = SPI0 +) + +// SPI1 is connected to the SD card slot on the P1AM-100 +var ( + SPI1 = sercomSPIM2 + SDCARD_SPI = SPI1 +) + // I2S pins const ( I2S_SCK_PIN Pin = D2 diff --git a/src/machine/board_p1am-100_baremetal.go b/src/machine/board_p1am-100_baremetal.go deleted file mode 100644 index 83fa8d0f..00000000 --- a/src/machine/board_p1am-100_baremetal.go +++ /dev/null @@ -1,25 +0,0 @@ -// +build sam,atsamd21,p1am_100 - -package machine - -import ( - "device/sam" -) - -// SPI on the P1AM-100 is used for Base Controller. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPI, - SERCOM: 1, - } - BASE_CONTROLLER_SPI = SPI0 -) - -// SPI1 is connected to the SD card slot on the P1AM-100 -var ( - SPI1 = SPI{ - Bus: sam.SERCOM2_SPI, - SERCOM: 2, - } - SDCARD_SPI = SPI1 -) diff --git a/src/machine/board_pybadge.go b/src/machine/board_pybadge.go index eda709bc..f747286d 100644 --- a/src/machine/board_pybadge.go +++ b/src/machine/board_pybadge.go @@ -114,6 +114,12 @@ const ( SPI1_SDI_PIN = NoPin ) +// SPI on the PyBadge. +var SPI0 = sercomSPIM1 + +// TFT SPI on the PyBadge. +var SPI1 = sercomSPIM4 + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Adafruit pyBadge M4" diff --git a/src/machine/board_pybadge_baremetal.go b/src/machine/board_pybadge_baremetal.go deleted file mode 100644 index 9dbed424..00000000 --- a/src/machine/board_pybadge_baremetal.go +++ /dev/null @@ -1,23 +0,0 @@ -// +build sam,atsamd51,pybadge - -package machine - -import ( - "device/sam" -) - -// SPI on the PyBadge. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) - -// TFT SPI on the PyBadge. -var ( - SPI1 = SPI{ - Bus: sam.SERCOM4_SPIM, - SERCOM: 4, - } -) diff --git a/src/machine/board_pygamer.go b/src/machine/board_pygamer.go index 6ba3e50b..4662e3a6 100644 --- a/src/machine/board_pygamer.go +++ b/src/machine/board_pygamer.go @@ -2,8 +2,6 @@ package machine -import "device/sam" - // used to reset into bootloader const RESET_MAGIC_VALUE = 0xf01669ef @@ -111,12 +109,7 @@ const ( ) // SPI on the PyGamer. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM1_SPIM, - SERCOM: 1, - } -) +var SPI0 = sercomSPIM1 // TFT SPI pins const ( @@ -126,12 +119,7 @@ const ( ) // TFT SPI on the PyGamer. -var ( - SPI1 = SPI{ - Bus: sam.SERCOM4_SPIM, - SERCOM: 4, - } -) +var SPI1 = sercomSPIM4 // USB CDC identifiers const ( diff --git a/src/machine/board_pyportal.go b/src/machine/board_pyportal.go index 57833453..e8dfc0b1 100644 --- a/src/machine/board_pyportal.go +++ b/src/machine/board_pyportal.go @@ -135,6 +135,12 @@ const ( NINA_SCK = SPI0_SCK_PIN ) +// SPI on the PyPortal. +var ( + SPI0 = sercomSPIM2 + NINA_SPI = SPI0 +) + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Adafruit PyPortal M4" diff --git a/src/machine/board_pyportal_baremetal.go b/src/machine/board_pyportal_baremetal.go deleted file mode 100644 index 105908af..00000000 --- a/src/machine/board_pyportal_baremetal.go +++ /dev/null @@ -1,16 +0,0 @@ -// +build sam,atsamd51,pyportal - -package machine - -import ( - "device/sam" -) - -// SPI on the PyPortal. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM2_SPIM, - SERCOM: 2, - } - NINA_SPI = SPI0 -) diff --git a/src/machine/board_qtpy.go b/src/machine/board_qtpy.go index 50c040e5..04ef5718 100644 --- a/src/machine/board_qtpy.go +++ b/src/machine/board_qtpy.go @@ -2,10 +2,6 @@ package machine -import ( - "device/sam" -) - // used to reset into bootloader const RESET_MAGIC_VALUE = 0xf01669ef @@ -69,12 +65,7 @@ const ( ) // SPI on the QT Py M0. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM0_SPI, - SERCOM: 0, - } -) +var SPI0 = sercomSPIM0 // I2C pins const ( diff --git a/src/machine/board_trinket.go b/src/machine/board_trinket.go index 5e73b915..06f2ace3 100644 --- a/src/machine/board_trinket.go +++ b/src/machine/board_trinket.go @@ -2,10 +2,6 @@ package machine -import ( - "device/sam" -) - // used to reset into bootloader const RESET_MAGIC_VALUE = 0xf01669ef @@ -55,12 +51,7 @@ const ( ) // SPI on the Trinket M0. -var ( - SPI0 = SPI{ - Bus: sam.SERCOM0_SPI, - SERCOM: 0, - } -) +var SPI0 = sercomSPIM0 // I2C pins const ( diff --git a/src/machine/board_wioterminal.go b/src/machine/board_wioterminal.go index 4637300a..0726b1ac 100644 --- a/src/machine/board_wioterminal.go +++ b/src/machine/board_wioterminal.go @@ -390,6 +390,20 @@ const ( SPI3_SDI_PIN = SDI3 // SDI: SERCOM7/PAD[2] ) +// SPI on the Wio Terminal +var ( + SPI0 = sercomSPIM5 + + // RTL8720D + SPI1 = sercomSPIM0 + + // SD + SPI2 = sercomSPIM6 + + // LCD + SPI3 = sercomSPIM7 +) + // USB CDC identifiers const ( usb_STRING_PRODUCT = "Seeed Wio Terminal" diff --git a/src/machine/board_wioterminal_baremetal.go b/src/machine/board_wioterminal_baremetal.go deleted file mode 100644 index 4d4748f2..00000000 --- a/src/machine/board_wioterminal_baremetal.go +++ /dev/null @@ -1,33 +0,0 @@ -// +build sam,atsamd51,wioterminal - -package machine - -import ( - "device/sam" -) - -// SPI on the Wio Terminal -var ( - SPI0 = SPI{ - Bus: sam.SERCOM5_SPIM, - SERCOM: 5, - } - - // RTL8720D - SPI1 = SPI{ - Bus: sam.SERCOM0_SPIM, - SERCOM: 0, - } - - // SD - SPI2 = SPI{ - Bus: sam.SERCOM6_SPIM, - SERCOM: 6, - } - - // LCD - SPI3 = SPI{ - Bus: sam.SERCOM7_SPIM, - SERCOM: 7, - } -) diff --git a/src/machine/board_xiao.go b/src/machine/board_xiao.go index 0b04757e..b19678ed 100644 --- a/src/machine/board_xiao.go +++ b/src/machine/board_xiao.go @@ -81,12 +81,7 @@ const ( ) // SPI on the Xiao -var ( - SPI0 = SPI{ - Bus: sam.SERCOM0_SPI, - SERCOM: 0, - } -) +var SPI0 = sercomSPIM0 // I2S pins const ( diff --git a/src/machine/machine_atsamd21e18.go b/src/machine/machine_atsamd21e18.go index cdd73378..692be17e 100644 --- a/src/machine/machine_atsamd21e18.go +++ b/src/machine/machine_atsamd21e18.go @@ -22,6 +22,11 @@ var ( sercomI2CM1 = &I2C{Bus: sam.SERCOM1_I2CM, SERCOM: 1} sercomI2CM2 = &I2C{Bus: sam.SERCOM2_I2CM, SERCOM: 2} sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPI, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPI, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPI, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPI, SERCOM: 3} ) func init() { diff --git a/src/machine/machine_atsamd21g18.go b/src/machine/machine_atsamd21g18.go index e130aaeb..82fc57fe 100644 --- a/src/machine/machine_atsamd21g18.go +++ b/src/machine/machine_atsamd21g18.go @@ -26,6 +26,13 @@ var ( sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} sercomI2CM4 = &I2C{Bus: sam.SERCOM4_I2CM, SERCOM: 4} sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPI, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPI, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPI, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPI, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPI, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPI, SERCOM: 5} ) func init() { diff --git a/src/machine/machine_atsamd51g19.go b/src/machine/machine_atsamd51g19.go index d328b066..f50701f1 100644 --- a/src/machine/machine_atsamd51g19.go +++ b/src/machine/machine_atsamd51g19.go @@ -18,6 +18,13 @@ var ( sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} sercomI2CM4 = &I2C{Bus: sam.SERCOM4_I2CM, SERCOM: 4} sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} ) // This chip has three TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsamd51j19.go b/src/machine/machine_atsamd51j19.go index e1640c76..c29d9a7a 100644 --- a/src/machine/machine_atsamd51j19.go +++ b/src/machine/machine_atsamd51j19.go @@ -18,6 +18,13 @@ var ( sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} sercomI2CM4 = &I2C{Bus: sam.SERCOM4_I2CM, SERCOM: 4} sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsamd51j20.go b/src/machine/machine_atsamd51j20.go index e26e45fc..966114e0 100644 --- a/src/machine/machine_atsamd51j20.go +++ b/src/machine/machine_atsamd51j20.go @@ -18,6 +18,13 @@ var ( sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} sercomI2CM4 = &I2C{Bus: sam.SERCOM4_I2CM, SERCOM: 4} sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsamd51p19.go b/src/machine/machine_atsamd51p19.go index 49c7b27f..b642fae7 100644 --- a/src/machine/machine_atsamd51p19.go +++ b/src/machine/machine_atsamd51p19.go @@ -20,6 +20,15 @@ var ( sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} sercomI2CM6 = &I2C{Bus: sam.SERCOM6_I2CM, SERCOM: 6} sercomI2CM7 = &I2C{Bus: sam.SERCOM7_I2CM, SERCOM: 7} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} + sercomSPIM6 = SPI{Bus: sam.SERCOM6_SPIM, SERCOM: 6} + sercomSPIM7 = SPI{Bus: sam.SERCOM7_SPIM, SERCOM: 7} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsamd51p20.go b/src/machine/machine_atsamd51p20.go index 733cc0c0..e5d0faa0 100644 --- a/src/machine/machine_atsamd51p20.go +++ b/src/machine/machine_atsamd51p20.go @@ -20,6 +20,15 @@ var ( sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} sercomI2CM6 = &I2C{Bus: sam.SERCOM6_I2CM, SERCOM: 6} sercomI2CM7 = &I2C{Bus: sam.SERCOM7_I2CM, SERCOM: 7} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} + sercomSPIM6 = SPI{Bus: sam.SERCOM6_SPIM, SERCOM: 6} + sercomSPIM7 = SPI{Bus: sam.SERCOM7_SPIM, SERCOM: 7} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsame51j19.go b/src/machine/machine_atsame51j19.go index cc282f1b..3064648e 100644 --- a/src/machine/machine_atsame51j19.go +++ b/src/machine/machine_atsame51j19.go @@ -18,6 +18,13 @@ var ( sercomI2CM3 = &I2C{Bus: sam.SERCOM3_I2CM, SERCOM: 3} sercomI2CM4 = &I2C{Bus: sam.SERCOM4_I2CM, SERCOM: 4} sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_atsame54p20.go b/src/machine/machine_atsame54p20.go index 6401a115..2a49019c 100644 --- a/src/machine/machine_atsame54p20.go +++ b/src/machine/machine_atsame54p20.go @@ -20,6 +20,15 @@ var ( sercomI2CM5 = &I2C{Bus: sam.SERCOM5_I2CM, SERCOM: 5} sercomI2CM6 = &I2C{Bus: sam.SERCOM6_I2CM, SERCOM: 6} sercomI2CM7 = &I2C{Bus: sam.SERCOM7_I2CM, SERCOM: 7} + + sercomSPIM0 = SPI{Bus: sam.SERCOM0_SPIM, SERCOM: 0} + sercomSPIM1 = SPI{Bus: sam.SERCOM1_SPIM, SERCOM: 1} + sercomSPIM2 = SPI{Bus: sam.SERCOM2_SPIM, SERCOM: 2} + sercomSPIM3 = SPI{Bus: sam.SERCOM3_SPIM, SERCOM: 3} + sercomSPIM4 = SPI{Bus: sam.SERCOM4_SPIM, SERCOM: 4} + sercomSPIM5 = SPI{Bus: sam.SERCOM5_SPIM, SERCOM: 5} + sercomSPIM6 = SPI{Bus: sam.SERCOM6_SPIM, SERCOM: 6} + sercomSPIM7 = SPI{Bus: sam.SERCOM7_SPIM, SERCOM: 7} ) // This chip has five TCC peripherals, which have PWM as one feature. diff --git a/src/machine/machine_generic.go b/src/machine/machine_generic.go index 31758eb3..7cf89a86 100644 --- a/src/machine/machine_generic.go +++ b/src/machine/machine_generic.go @@ -182,4 +182,13 @@ var ( sercomI2CM5 = &I2C{5} sercomI2CM6 = &I2C{6} sercomI2CM7 = &I2C{7} + + sercomSPIM0 = SPI{0} + sercomSPIM1 = SPI{1} + sercomSPIM2 = SPI{2} + sercomSPIM3 = SPI{3} + sercomSPIM4 = SPI{4} + sercomSPIM5 = SPI{5} + sercomSPIM6 = SPI{6} + sercomSPIM7 = SPI{7} )