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).
This commit is contained in:
Ayke van Laethem
2021-10-16 01:23:20 +02:00
committed by Ron Evans
parent ae864bdf0c
commit 497c74e4a9
41 changed files with 170 additions and 308 deletions
+2 -8
View File
@@ -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
)
+9
View File
@@ -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
@@ -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}
+4 -16
View File
@@ -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
+3
View File
@@ -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
@@ -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}
+1 -10
View File
@@ -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 (
+1 -6
View File
@@ -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 (
+3
View File
@@ -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"
-15
View File
@@ -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,
}
)
+6
View File
@@ -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
@@ -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,
}
)
+2 -12
View File
@@ -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 (
+3
View File
@@ -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"
@@ -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,
}
)
+8
View File
@@ -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
@@ -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,
}
)
+9
View File
@@ -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"
@@ -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,
}
)
+12
View File
@@ -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
-25
View File
@@ -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
)
+6
View File
@@ -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"
-23
View File
@@ -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,
}
)
+2 -14
View File
@@ -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 (
+6
View File
@@ -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"
-16
View File
@@ -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
)
+1 -10
View File
@@ -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 (
+1 -10
View File
@@ -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 (
+14
View File
@@ -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"
@@ -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,
}
)
+1 -6
View File
@@ -81,12 +81,7 @@ const (
)
// SPI on the Xiao
var (
SPI0 = SPI{
Bus: sam.SERCOM0_SPI,
SERCOM: 0,
}
)
var SPI0 = sercomSPIM0
// I2S pins
const (
+5
View File
@@ -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() {
+7
View File
@@ -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() {
+7
View File
@@ -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.
+7
View File
@@ -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.
+7
View File
@@ -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.
+9
View File
@@ -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.
+9
View File
@@ -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.
+7
View File
@@ -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.
+9
View File
@@ -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.
+9
View File
@@ -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}
)