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).
Этот коммит содержится в:
Ayke van Laethem 2021-10-16 01:23:20 +02:00 коммит произвёл Ron Evans
родитель ae864bdf0c
коммит 497c74e4a9
41 изменённых файлов: 170 добавлений и 308 удалений

Просмотреть файл

@ -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
)

Просмотреть файл

@ -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}

Просмотреть файл

@ -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

Просмотреть файл

@ -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}

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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"

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -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

Просмотреть файл

@ -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
)

Просмотреть файл

@ -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"

Просмотреть файл

@ -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,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 (

Просмотреть файл

@ -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"

Просмотреть файл

@ -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
)

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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,
}
)

Просмотреть файл

@ -81,12 +81,7 @@ const (
)
// SPI on the Xiao
var (
SPI0 = SPI{
Bus: sam.SERCOM0_SPI,
SERCOM: 0,
}
)
var SPI0 = sercomSPIM0
// I2S pins
const (

Просмотреть файл

@ -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() {

Просмотреть файл

@ -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() {

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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.

Просмотреть файл

@ -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}
)