Skip to content

Commit f7c4f9a

Browse files
committed
stmhal: For SPI config, use HW_SPIx_SCK instead of HW_ENABLE_SPIx.
Previously, SPI was configured by a board defining MICROPY_HW_ENABLE_SPIx to 0 or 1. Now, the board should define MICROPY_HW_SPIx_SCK, MISO, MOSI and NSS. This makes it the same as how I2C is configured.
1 parent 29e9db0 commit f7c4f9a

15 files changed

Lines changed: 135 additions & 94 deletions

File tree

stmhal/boards/CERB40/mpconfigboard.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
#define MICROPY_HW_ENABLE_TIMER (1)
1515
#define MICROPY_HW_ENABLE_SERVO (0)
1616
#define MICROPY_HW_ENABLE_DAC (1)
17-
#define MICROPY_HW_ENABLE_SPI1 (1)
18-
#define MICROPY_HW_ENABLE_SPI2 (0)
19-
#define MICROPY_HW_ENABLE_SPI3 (1)
2017
#define MICROPY_HW_ENABLE_CAN (1)
2118

2219
// HSE is 12MHz
@@ -51,6 +48,16 @@
5148
#define MICROPY_HW_I2C2_SCL (pin_B10)
5249
#define MICROPY_HW_I2C2_SDA (pin_B11)
5350

51+
// SPI busses
52+
#define MICROPY_HW_SPI1_NSS (pin_A4)
53+
#define MICROPY_HW_SPI1_SCK (pin_A5)
54+
#define MICROPY_HW_SPI1_MISO (pin_A6)
55+
#define MICROPY_HW_SPI1_MOSI (pin_A7)
56+
#define MICROPY_HW_SPI3_NSS (pin_A4)
57+
#define MICROPY_HW_SPI3_SCK (pin_B3)
58+
#define MICROPY_HW_SPI3_MISO (pin_B4)
59+
#define MICROPY_HW_SPI3_MOSI (pin_B5)
60+
5461
// The Cerb40 has No LEDs
5562

5663
// The Cerb40 has No SDCard

stmhal/boards/ESPRUINO_PICO/mpconfigboard.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (0)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (0)
1916

2017
// Pico has an 8 MHz HSE and the F401 does 84 MHz max
@@ -44,6 +41,16 @@
4441
#define MICROPY_HW_I2C3_SCL (pin_A8)
4542
#define MICROPY_HW_I2C3_SDA (pin_B4)
4643

44+
// SPI busses
45+
#define MICROPY_HW_SPI1_NSS (pin_A4)
46+
#define MICROPY_HW_SPI1_SCK (pin_A5)
47+
#define MICROPY_HW_SPI1_MISO (pin_A6)
48+
#define MICROPY_HW_SPI1_MOSI (pin_A7)
49+
#define MICROPY_HW_SPI2_NSS (pin_B12)
50+
#define MICROPY_HW_SPI2_SCK (pin_B13)
51+
#define MICROPY_HW_SPI2_MISO (pin_B14)
52+
#define MICROPY_HW_SPI2_MOSI (pin_B15)
53+
4754
// BTN1 has no pullup or pulldown; it is active high and broken out on a header
4855
#define MICROPY_HW_USRSW_PIN (pin_C13)
4956
#define MICROPY_HW_USRSW_PULL (GPIO_PULLDOWN)

stmhal/boards/HYDRABUS/mpconfigboard.h

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
#define MICROPY_HW_ENABLE_TIMER (1)
1414
#define MICROPY_HW_ENABLE_SERVO (0)
1515
#define MICROPY_HW_ENABLE_DAC (1)
16-
#define MICROPY_HW_ENABLE_SPI1 (1)
17-
#define MICROPY_HW_ENABLE_SPI2 (1)
18-
#define MICROPY_HW_ENABLE_SPI3 (1)
1916
#define MICROPY_HW_ENABLE_CAN (0)
2017

2118
// HSE is 8MHz
@@ -46,6 +43,20 @@
4643
#define MICROPY_HW_I2C2_SCL (pin_B10)
4744
#define MICROPY_HW_I2C2_SDA (pin_B11)
4845

46+
// SPI busses
47+
#define MICROPY_HW_SPI1_NSS (pin_A4)
48+
#define MICROPY_HW_SPI1_SCK (pin_A5)
49+
#define MICROPY_HW_SPI1_MISO (pin_A6)
50+
#define MICROPY_HW_SPI1_MOSI (pin_A7)
51+
#define MICROPY_HW_SPI2_NSS (pin_B12)
52+
#define MICROPY_HW_SPI2_SCK (pin_B13)
53+
#define MICROPY_HW_SPI2_MISO (pin_B14)
54+
#define MICROPY_HW_SPI2_MOSI (pin_B15)
55+
#define MICROPY_HW_SPI3_NSS (pin_A4)
56+
#define MICROPY_HW_SPI3_SCK (pin_B3)
57+
#define MICROPY_HW_SPI3_MISO (pin_B4)
58+
#define MICROPY_HW_SPI3_MOSI (pin_B5)
59+
4960
// USRSW/UBTN (Needs Jumper UBTN) is pulled low. Pressing the button makes the input go high.
5061
#define MICROPY_HW_USRSW_PIN (pin_A0)
5162
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)

stmhal/boards/NETDUINO_PLUS_2/mpconfigboard.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717
#define MICROPY_HW_ENABLE_TIMER (1)
1818
#define MICROPY_HW_ENABLE_SERVO (1)
1919
#define MICROPY_HW_ENABLE_DAC (0)
20-
#define MICROPY_HW_ENABLE_SPI1 (0)
21-
#define MICROPY_HW_ENABLE_SPI2 (1)
22-
#define MICROPY_HW_ENABLE_SPI3 (0)
2320
#define MICROPY_HW_ENABLE_CAN (0)
2421

2522
// HSE is 25MHz
@@ -48,6 +45,12 @@
4845
#define MICROPY_HW_I2C2_SCL (pin_B10)
4946
#define MICROPY_HW_I2C2_SDA (pin_B11)
5047

48+
// SPI busses
49+
#define MICROPY_HW_SPI2_NSS (pin_B12)
50+
#define MICROPY_HW_SPI2_SCK (pin_B13)
51+
#define MICROPY_HW_SPI2_MISO (pin_B14)
52+
#define MICROPY_HW_SPI2_MOSI (pin_B15)
53+
5154
// USRSW is pulled low. Pressing the button makes the input go high.
5255
#define MICROPY_HW_USRSW_PIN (pin_B11)
5356
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)

stmhal/boards/PYBLITEV10/mpconfigboard.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (0)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (0)
1916

2017
// HSE is 12MHz
@@ -52,7 +49,15 @@
5249

5350
// SPI busses
5451
#define MICROPY_HW_SPI1_NAME "X"
52+
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
53+
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
54+
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
55+
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
5556
#define MICROPY_HW_SPI2_NAME "Y"
57+
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
58+
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
59+
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
60+
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
5661

5762
// USRSW has no pullup or pulldown, and pressing the switch makes the input go low
5863
#define MICROPY_HW_USRSW_PIN (pin_B3)

stmhal/boards/PYBV10/mpconfigboard.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (1)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (1)
1916

2017
// HSE is 8MHz
@@ -59,7 +56,15 @@
5956

6057
// SPI busses
6158
#define MICROPY_HW_SPI1_NAME "X"
59+
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
60+
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
61+
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
62+
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
6263
#define MICROPY_HW_SPI2_NAME "Y"
64+
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
65+
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
66+
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
67+
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
6368

6469
// CAN busses
6570
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9

stmhal/boards/PYBV11/mpconfigboard.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (1)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (1)
1916

2017
// HSE is 12MHz
@@ -59,7 +56,15 @@
5956

6057
// SPI busses
6158
#define MICROPY_HW_SPI1_NAME "X"
59+
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
60+
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
61+
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
62+
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
6263
#define MICROPY_HW_SPI2_NAME "Y"
64+
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
65+
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
66+
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
67+
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
6368

6469
// CAN busses
6570
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9

stmhal/boards/PYBV3/mpconfigboard.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
#define MICROPY_HW_ENABLE_TIMER (1)
1212
#define MICROPY_HW_ENABLE_SERVO (1)
1313
#define MICROPY_HW_ENABLE_DAC (1)
14-
#define MICROPY_HW_ENABLE_SPI1 (1)
15-
#define MICROPY_HW_ENABLE_SPI2 (1)
16-
#define MICROPY_HW_ENABLE_SPI3 (0)
1714
#define MICROPY_HW_ENABLE_CAN (1)
1815

1916
// HSE is 8MHz
@@ -49,6 +46,18 @@
4946
#define MICROPY_HW_I2C2_SCL (pin_B10)
5047
#define MICROPY_HW_I2C2_SDA (pin_B11)
5148

49+
// SPI busses
50+
#define MICROPY_HW_SPI1_NAME "X"
51+
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
52+
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
53+
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
54+
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
55+
#define MICROPY_HW_SPI2_NAME "Y"
56+
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
57+
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
58+
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
59+
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
60+
5261
// USRSW has no pullup or pulldown, and pressing the switch makes the input go low
5362
#define MICROPY_HW_USRSW_PIN (pin_A13)
5463
#define MICROPY_HW_USRSW_PULL (GPIO_PULLUP)

stmhal/boards/PYBV4/mpconfigboard.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (1)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (1)
1916

2017
// HSE is 8MHz
@@ -56,7 +53,15 @@
5653

5754
// SPI busses
5855
#define MICROPY_HW_SPI1_NAME "X"
56+
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
57+
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
58+
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
59+
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
5960
#define MICROPY_HW_SPI2_NAME "Y"
61+
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
62+
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
63+
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
64+
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
6065

6166
// CAN busses
6267
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9

stmhal/boards/STM32F411DISC/mpconfigboard.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
#define MICROPY_HW_ENABLE_TIMER (1)
1313
#define MICROPY_HW_ENABLE_SERVO (1)
1414
#define MICROPY_HW_ENABLE_DAC (0)
15-
#define MICROPY_HW_ENABLE_SPI1 (1)
16-
#define MICROPY_HW_ENABLE_SPI2 (1)
17-
#define MICROPY_HW_ENABLE_SPI3 (0)
1815
#define MICROPY_HW_ENABLE_CAN (0)
1916

2017
// HSE is 8MHz
@@ -44,6 +41,16 @@
4441
#define MICROPY_HW_I2C3_SCL (pin_A8)
4542
#define MICROPY_HW_I2C3_SDA (pin_A9)
4643

44+
// SPI busses
45+
#define MICROPY_HW_SPI1_NSS (pin_A4)
46+
#define MICROPY_HW_SPI1_SCK (pin_A5)
47+
#define MICROPY_HW_SPI1_MISO (pin_A6)
48+
#define MICROPY_HW_SPI1_MOSI (pin_A7)
49+
#define MICROPY_HW_SPI2_NSS (pin_B12)
50+
#define MICROPY_HW_SPI2_SCK (pin_B13)
51+
#define MICROPY_HW_SPI2_MISO (pin_B14)
52+
#define MICROPY_HW_SPI2_MOSI (pin_B15)
53+
4754
// USRSW is pulled low. Pressing the button makes the input go high.
4855
#define MICROPY_HW_USRSW_PIN (pin_A0)
4956
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)

0 commit comments

Comments
 (0)