Skip to content

Commit ef47b4c

Browse files
committed
stm/boards: Add support for SparkFun STM32 MicroMod Processor board.
Signed-off-by: Chris Wilson <[email protected]>
1 parent e9369d5 commit ef47b4c

File tree

5 files changed

+331
-0
lines changed

5 files changed

+331
-0
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ jobs:
364364
- "sparkfun_samd21_mini"
365365
- "sparkfun_samd51_micromod"
366366
- "sparkfun_samd51_thing_plus"
367+
- "sparkfun_stm32f405_micromod"
367368
- "sparkfun_thing_plus_rp2040"
368369
- "spresense"
369370
- "stackrduino_m0_pro"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* This file is part of the MicroPython project, http://micropython.org/
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
7+
*
8+
* Permission is hereby granted, free of charge, to any person obtaining a copy
9+
* of this software and associated documentation files (the "Software"), to deal
10+
* in the Software without restriction, including without limitation the rights
11+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
* copies of the Software, and to permit persons to whom the Software is
13+
* furnished to do so, subject to the following conditions:
14+
*
15+
* The above copyright notice and this permission notice shall be included in
16+
* all copies or substantial portions of the Software.
17+
*
18+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+
* THE SOFTWARE.
25+
*/
26+
27+
#include "supervisor/board.h"
28+
#include "mpconfigboard.h"
29+
30+
void board_init(void) {
31+
}
32+
33+
bool board_requests_safe_mode(void) {
34+
return false;
35+
}
36+
37+
void reset_board(void) {
38+
39+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* This file is part of the MicroPython project, http://micropython.org/
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
7+
* Copyright (c) 2021 Chris Wilson
8+
*
9+
* Permission is hereby granted, free of charge, to any person obtaining a copy
10+
* of this software and associated documentation files (the "Software"), to deal
11+
* in the Software without restriction, including without limitation the rights
12+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13+
* copies of the Software, and to permit persons to whom the Software is
14+
* furnished to do so, subject to the following conditions:
15+
*
16+
* The above copyright notice and this permission notice shall be included in
17+
* all copies or substantial portions of the Software.
18+
*
19+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25+
* THE SOFTWARE.
26+
*/
27+
28+
// Micropython setup
29+
30+
#define MICROPY_HW_BOARD_NAME "SparkFun STM32 MicroMod Processor"
31+
#define MICROPY_HW_MCU_NAME "STM32F405RG"
32+
33+
#define FLASH_SIZE (0x100000)
34+
#define FLASH_PAGE_SIZE (0x4000)
35+
36+
#define HSE_VALUE ((uint32_t)12000000)
37+
#define LSE_VALUE ((uint32_t)32768)
38+
#define BOARD_HAS_LOW_SPEED_CRYSTAL (1)
39+
40+
// Status LED
41+
#define MICROPY_HW_LED_STATUS (&pin_PA15)
42+
43+
// On-board flash
44+
#define SPI_FLASH_MOSI_PIN (&pin_PC12)
45+
#define SPI_FLASH_MISO_PIN (&pin_PC11)
46+
#define SPI_FLASH_SCK_PIN (&pin_PC10)
47+
#define SPI_FLASH_CS_PIN (&pin_PC03)
48+
49+
// Bootloader only
50+
#ifdef UF2_BOOTLOADER_ENABLED
51+
#define BOARD_VTOR_DEFER (1) // Leave VTOR relocation to bootloader
52+
#endif
53+
54+
#define DEFAULT_I2C_BUS_SCL (&pin_PB10)
55+
#define DEFAULT_I2C_BUS_SDA (&pin_PB11)
56+
57+
#define DEFAULT_SPI_BUS_SCK (&pin_PA05)
58+
#define DEFAULT_SPI_BUS_MOSI (&pin_PA07)
59+
#define DEFAULT_SPI_BUS_MISO (&pin_PA06)
60+
61+
#define DEFAULT_UART_BUS_RX (&pin_PA03)
62+
#define DEFAULT_UART_BUS_TX (&pin_PA02)
63+
64+
// USB is always used internally so skip the pin objects for it.
65+
#define IGNORE_PIN_PA11 (1)
66+
#define IGNORE_PIN_PA12 (1)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
USB_VID = 0X1B4F
2+
USB_PID = 0x0027
3+
USB_PRODUCT = "SparkFun STM32 MicroMod Processor"
4+
USB_MANUFACTURER = "SparkFun Electronics"
5+
6+
SPI_FLASH_FILESYSTEM = 1
7+
EXTERNAL_FLASH_DEVICES = W25Q128JVxM
8+
9+
MCU_SERIES = F4
10+
MCU_VARIANT = STM32F405xx
11+
MCU_PACKAGE = LQFP64
12+
13+
LD_COMMON = boards/common_default.ld
14+
LD_DEFAULT = boards/STM32F405_default.ld
15+
# UF2 boot option
16+
LD_BOOT = boards/STM32F405_boot.ld
17+
UF2_OFFSET = 0x8010000
18+
19+
CIRCUITPY_RGBMATRIX ?= 1
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
/*
2+
* This file is part of the MicroPython project, http://micropython.org/
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2021 Chris Wilson
7+
*
8+
* Permission is hereby granted, free of charge, to any person obtaining a copy
9+
* of this software and associated documentation files (the "Software"), to deal
10+
* in the Software without restriction, including without limitation the rights
11+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
* copies of the Software, and to permit persons to whom the Software is
13+
* furnished to do so, subject to the following conditions:
14+
*
15+
* The above copyright notice and this permission notice shall be included in
16+
* all copies or substantial portions of the Software.
17+
*
18+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+
* THE SOFTWARE.
25+
*/
26+
27+
#include "shared-bindings/board/__init__.h"
28+
29+
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
30+
// The Sparkfun MicroMod spec uses a zero-based peripheral numbering scheme.
31+
// The 0th peripheral is the default and the "0" is omitted from the
32+
// peripheral name (e.g. "I2C" instead of "I2C0").
33+
//
34+
// For more details, see https://www.sparkfun.com/micromod#tech-specs
35+
36+
// MicroMod status LED pin
37+
// Requirement from the "Designing with MicroMod" SparkFun article:
38+
// "... every Processor Board shall include one status LED connected to a
39+
// pin that is not connected to the board edge."
40+
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA15) }, // MicroMod LED (PA15)
41+
42+
// MicroMod USB bus voltage (+5V) pin
43+
// { MP_ROM_QSTR(MP_QSTR_USB_VIN), MP_ROM_PTR() }, // MicroMod USB_VIN (not connected)
44+
45+
// MicroMod +3.3V enable pin
46+
// On some MicroMod processor boards, this pin can be controlled via SW.
47+
// { MP_ROM_QSTR(MP_QSTR_P3V3_EN), MP_ROM_PTR() }, // MicroMod 3.3V_EN (not connected)
48+
49+
// MicroMod battery voltage sense pin
50+
{ MP_ROM_QSTR(MP_QSTR_BATT_VIN3), MP_ROM_PTR(&pin_PA01) }, // MicroMod BATT_VIN/3 (PA1)
51+
52+
// MicroMod reset pin
53+
// { MP_ROM_QSTR(MP_QSTR_RESET), MP_ROM_PTR() }, // MicroMod RESET# (STM32 has a dedicated HW NRST pin)
54+
55+
// MicroMod boot pin
56+
// { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR() }, // MicroMod BOOT (STM32 has a dedicated HW BOOT0 pin)
57+
58+
// MicroMod USB device pins
59+
// USB device is always used internally by CircuitPython, so skip creating
60+
// the pin objects for it. See explicit ignores in mpconfigboard.h.
61+
// { MP_ROM_QSTR(MP_QSTR_USB_DM), MP_ROM_PTR(&pin_PA11) }, // MicroMod USB_D- (PA11)
62+
// { MP_ROM_QSTR(MP_QSTR_USB_DP), MP_ROM_PTR(&pin_PA12) }, // MicroMod USB_D+ (PA12)
63+
64+
// MicroMod USB host pins
65+
{ MP_ROM_QSTR(MP_QSTR_USBHOST_DM), MP_ROM_PTR(&pin_PB14) }, // MicroMod USBHOST_D- (PB14)
66+
{ MP_ROM_QSTR(MP_QSTR_USBHOST_DP), MP_ROM_PTR(&pin_PB15) }, // MicroMod USBHOST_D+ (PB15)
67+
68+
// MicroMod CAN pins
69+
{ MP_ROM_QSTR(MP_QSTR_CAN_RX), MP_ROM_PTR(&pin_PB08) }, // MicroMod CAN_RX (PB8)
70+
{ MP_ROM_QSTR(MP_QSTR_CAN_TX), MP_ROM_PTR(&pin_PB09) }, // MicroMod CAN_TX (PB9)
71+
72+
// Note: MicroMod UART (UART0) is not present in the edge connector pinout
73+
// because the primary debug serial port is exposed as a virtual serial port
74+
// over USB.
75+
76+
// MicroMod UART1 pins
77+
{ MP_ROM_QSTR(MP_QSTR_UART_TX1), MP_ROM_PTR(&pin_PA02) }, // MicroMod UART_TX1 (PA2)
78+
{ MP_ROM_QSTR(MP_QSTR_UART_RX1), MP_ROM_PTR(&pin_PA03) }, // MicroMod UART_RX1 (PA3)
79+
// { MP_ROM_QSTR(MP_QSTR_UART_RTS1), MP_ROM_PTR() }, // MicroMod RTS1 (not connected)
80+
// { MP_ROM_QSTR(MP_QSTR_UART_CTS1), MP_ROM_PTR() }, // MicroMod CTS1 (not connected)
81+
82+
// MicroMod UART2 pins
83+
// { MP_ROM_QSTR(MP_QSTR_UART_TX2), MP_ROM_PTR() }, // MicroMod UART_TX2 (not connected)
84+
// { MP_ROM_QSTR(MP_QSTR_UART_RX2), MP_ROM_PTR() }, // MicroMod UART_RX2 (not connected)
85+
86+
// MicroMod I2C pins
87+
{ MP_ROM_QSTR(MP_QSTR_I2C_SDA), MP_ROM_PTR(&pin_PB11) }, // MicroMod I2C_SDA (PB11)
88+
{ MP_ROM_QSTR(MP_QSTR_I2C_SCL), MP_ROM_PTR(&pin_PB10) }, // MicroMod I2C_SCL (PB10)
89+
90+
// MicroMod I2C interrupt pin
91+
{ MP_ROM_QSTR(MP_QSTR_I2C_INT), MP_ROM_PTR(&pin_PB01) }, // MicroMod I2C_INT (PB1)
92+
93+
// MicroMod I2C1 pins
94+
{ MP_ROM_QSTR(MP_QSTR_I2C_SDA1), MP_ROM_PTR(&pin_PB07) }, // MicroMod I2C_SDA1 (PB7)
95+
{ MP_ROM_QSTR(MP_QSTR_I2C_SCL1), MP_ROM_PTR(&pin_PB06) }, // MicroMod I2C_SCL1 (PB6)
96+
97+
// MicroMod SPI pins
98+
{ MP_ROM_QSTR(MP_QSTR_SPI_CIPO), MP_ROM_PTR(&pin_PA06) }, // MicroMod SPI_CIPO (PA6)
99+
{ MP_ROM_QSTR(MP_QSTR_SPI_MISO), MP_ROM_PTR(&pin_PA06) }, // MicroMod SPI_MISO (PA6)
100+
{ MP_ROM_QSTR(MP_QSTR_SPI_COPI), MP_ROM_PTR(&pin_PA07) }, // MicroMod SPI_COPI (PA7)
101+
{ MP_ROM_QSTR(MP_QSTR_SPI_MOSI), MP_ROM_PTR(&pin_PA07) }, // MicroMod SPI_MOSI (PA7)
102+
{ MP_ROM_QSTR(MP_QSTR_SPI_SCK), MP_ROM_PTR(&pin_PA05) }, // MicroMod SPI_SCK (PA5)
103+
{ MP_ROM_QSTR(MP_QSTR_SPI_CS), MP_ROM_PTR(&pin_PA04) }, // MicroMod SPI_CS (PC4)
104+
105+
// MicroMod SPI1 pins
106+
// { MP_ROM_QSTR(MP_QSTR_SPI_CIPO1), MP_ROM_PTR() }, // MicroMod SPI_CIPO1 (not connected)
107+
// { MP_ROM_QSTR(MP_QSTR_SPI_MISO1), MP_ROM_PTR() }, // MicroMod SPI_MISO1 (not connected)
108+
// { MP_ROM_QSTR(MP_QSTR_SPI_COPI1), MP_ROM_PTR() }, // MicroMod SPI_COPI1 (not connected)
109+
// { MP_ROM_QSTR(MP_QSTR_SPI_MOSI1), MP_ROM_PTR() }, // MicroMod SPI_MOSI1 (not connected)
110+
// { MP_ROM_QSTR(MP_QSTR_SPI_SCK1), MP_ROM_PTR() }, // MicroMod SPI_SCK1 (not connected)
111+
// { MP_ROM_QSTR(MP_QSTR_SPI_CS1), MP_ROM_PTR() }, // MicroMod SPI_CS1 (not connected)
112+
113+
// MicroMod SDIO pins
114+
// { MP_ROM_QSTR(MP_QSTR_SDIO_SCK), MP_ROM_PTR() }, // MicroMod SDIO_SCK (not connected)
115+
// { MP_ROM_QSTR(MP_QSTR_SDIO_CMD), MP_ROM_PTR() }, // MicroMod SDIO_CMD (not connected)
116+
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA0), MP_ROM_PTR() }, // MicroMod SDIO_DATA0 (not connected)
117+
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA1), MP_ROM_PTR() }, // MicroMod SDIO_DATA1 (not connected)
118+
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA2), MP_ROM_PTR() }, // MicroMod SDIO_DATA2 (not connected)
119+
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA3), MP_ROM_PTR() }, // MicroMod SDIO_DATA3 (not connected)
120+
121+
// MicroMod audio pins
122+
// { MP_ROM_QSTR(MP_QSTR_AUD_MCLK), MP_ROM_PTR() }, // MicroMod AUD_MCLK (not connected)
123+
{ MP_ROM_QSTR(MP_QSTR_AUD_OUT), MP_ROM_PTR(&pin_PB04) }, // MicroMod AUD_OUT (PB4)
124+
{ MP_ROM_QSTR(MP_QSTR_AUD_IN), MP_ROM_PTR(&pin_PB05) }, // MicroMod AUD_IN (PB5)
125+
{ MP_ROM_QSTR(MP_QSTR_AUD_LRCLK), MP_ROM_PTR(&pin_PA04) }, // MicroMod AUD_LRCLK (PA4)
126+
{ MP_ROM_QSTR(MP_QSTR_AUD_BCLK), MP_ROM_PTR(&pin_PB03) }, // MicroMod AUD_BCLK (PB3)
127+
128+
// MicroMod I2S pins
129+
// { MP_ROM_QSTR(MP_QSTR_I2S_OUT), MP_ROM_PTR() }, // MicroMod I2S_OUT ()
130+
// { MP_ROM_QSTR(MP_QSTR_I2S_IN), MP_ROM_PTR() }, // MicroMod I2S_IN ()
131+
// { MP_ROM_QSTR(MP_QSTR_I2S_WS), MP_ROM_PTR() }, // MicroMod I2S_WS ()
132+
// { MP_ROM_QSTR(MP_QSTR_I2S_SCK), MP_ROM_PTR() }, // MicroMod I2S_SCK ()
133+
134+
// MicroMod PCM pins
135+
// { MP_ROM_QSTR(MP_QSTR_PCM_OUT), MP_ROM_PTR() }, // MicroMod PCM_OUT ()
136+
// { MP_ROM_QSTR(MP_QSTR_PCM_IN), MP_ROM_PTR() }, // MicroMod PCM_IN ()
137+
// { MP_ROM_QSTR(MP_QSTR_PCM_SYNC), MP_ROM_PTR() }, // MicroMod PCM_SYNC ()
138+
// { MP_ROM_QSTR(MP_QSTR_PCM_CLK), MP_ROM_PTR() }, // MicroMod PCM_CLK ()
139+
140+
// MicroMod PDM pins
141+
// { MP_ROM_QSTR(MP_QSTR_PDM_DATA), MP_ROM_PTR() }, // MicroMod PDM_DATA ()
142+
// { MP_ROM_QSTR(MP_QSTR_PDM_CLK), MP_ROM_PTR() }, // MicroMod PDM_CLK ()
143+
144+
// MicroMod SWD pins
145+
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA13) }, // MicroMod SWDIO (PA13)
146+
{ MP_ROM_QSTR(MP_QSTR_SWDCK), MP_ROM_PTR(&pin_PA14) }, // MicroMod SWDCK (PA14)
147+
// { MP_ROM_QSTR(MP_QSTR_SWO), MP_ROM_PTR() }, // MicroMod SWO (not connected)
148+
149+
// MicroMod ADC pins
150+
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PC05) }, // MicroMod A0 (PC5)
151+
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB00) }, // MicroMod A1 (PB0)
152+
153+
// MicroMod PWM pins
154+
{ MP_ROM_QSTR(MP_QSTR_PWM0), MP_ROM_PTR(&pin_PC06) }, // MicroMod PWM0 (PC6)
155+
{ MP_ROM_QSTR(MP_QSTR_PWM1), MP_ROM_PTR(&pin_PC07) }, // MicroMod PWM1 (PC7)
156+
157+
// MicroMod digital pins
158+
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PC00) }, // MicroMod D0 (PC0)
159+
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PC01) }, // MicroMod D1 (PC1)
160+
161+
// MicroMod BUS/General purpose pins
162+
{ MP_ROM_QSTR(MP_QSTR_G0), MP_ROM_PTR(&pin_PD02) }, // MicroMod G0 (PD2)
163+
{ MP_ROM_QSTR(MP_QSTR_BUS0), MP_ROM_PTR(&pin_PD02) }, // MicroMod BUS0 (PD2)
164+
{ MP_ROM_QSTR(MP_QSTR_G1), MP_ROM_PTR(&pin_PA08) }, // MicroMod G1 (PA8)
165+
{ MP_ROM_QSTR(MP_QSTR_BUS1), MP_ROM_PTR(&pin_PA08) }, // MicroMod BUS1 (PA8)
166+
{ MP_ROM_QSTR(MP_QSTR_G2), MP_ROM_PTR(&pin_PA00) }, // MicroMod G2 (PA0)
167+
{ MP_ROM_QSTR(MP_QSTR_BUS2), MP_ROM_PTR(&pin_PA00) }, // MicroMod BUS2 (PA0)
168+
{ MP_ROM_QSTR(MP_QSTR_G3), MP_ROM_PTR(&pin_PC08) }, // MicroMod G3 (PC8)
169+
{ MP_ROM_QSTR(MP_QSTR_BUS3), MP_ROM_PTR(&pin_PC08) }, // MicroMod BUS3 (PC8)
170+
{ MP_ROM_QSTR(MP_QSTR_G4), MP_ROM_PTR(&pin_PC09) }, // MicroMod G4 (PC9)
171+
{ MP_ROM_QSTR(MP_QSTR_BUS4), MP_ROM_PTR(&pin_PC09) }, // MicroMod BUS4 (PC9)
172+
{ MP_ROM_QSTR(MP_QSTR_G5), MP_ROM_PTR(&pin_PC13) }, // MicroMod G5 (PC13)
173+
{ MP_ROM_QSTR(MP_QSTR_BUS5), MP_ROM_PTR(&pin_PC13) }, // MicroMod BUS5 (PC13)
174+
{ MP_ROM_QSTR(MP_QSTR_G6), MP_ROM_PTR(&pin_PC02) }, // MicroMod G6 (PC2)
175+
{ MP_ROM_QSTR(MP_QSTR_BUS6), MP_ROM_PTR(&pin_PC02) }, // MicroMod BUS6 (PC2)
176+
// { MP_ROM_QSTR(MP_QSTR_G7), MP_ROM_PTR() }, // MicroMod G7 (not connected)
177+
// { MP_ROM_QSTR(MP_QSTR_BUS7), MP_ROM_PTR() }, // MicroMod BUS7 (not connected)
178+
// { MP_ROM_QSTR(MP_QSTR_G8), MP_ROM_PTR() }, // MicroMod G8 (not connected)
179+
// { MP_ROM_QSTR(MP_QSTR_G9), MP_ROM_PTR() }, // MicroMod G9 (not connected)
180+
{ MP_ROM_QSTR(MP_QSTR_G10), MP_ROM_PTR(&pin_PB13) }, // MicroMod G10 (PB13)
181+
{ MP_ROM_QSTR(MP_QSTR_HOST_VBUS), MP_ROM_PTR(&pin_PB13) }, // Schematic alias: HOST_VBUS (PB13)
182+
{ MP_ROM_QSTR(MP_QSTR_G11), MP_ROM_PTR(&pin_PB12) }, // MicroMod G11 (PB12)
183+
{ MP_ROM_QSTR(MP_QSTR_HOST_ID), MP_ROM_PTR(&pin_PB12) }, // Schematic alias: HOST_ID (PB12)
184+
185+
// MicroMod differential ADC input pins
186+
// { MP_ROM_QSTR(MP_QSTR_ADC_DM), MP_ROM_PTR() }, // MicroMod ADC_D-
187+
// { MP_ROM_QSTR(MP_QSTR_ADC_DP), MP_ROM_PTR() }, // MicroMod ADC_D+
188+
189+
// MicroMod camera pins
190+
// { MP_ROM_QSTR(MP_QSTR_CAM_MCLK), MP_ROM_PTR() }, // MicroMod CAM_MCLK
191+
// { MP_ROM_QSTR(MP_QSTR_CAM_PCLK), MP_ROM_PTR() }, // MicroMod CAM_PCLK
192+
// { MP_ROM_QSTR(MP_QSTR_CAM_TRIG), MP_ROM_PTR() }, // MicroMod CAM_TRIG
193+
// { MP_ROM_QSTR(MP_QSTR_CAM_HSYNC), MP_ROM_PTR() }, // MicroMod CAM_HSYNC
194+
// { MP_ROM_QSTR(MP_QSTR_CAM_VSYNC), MP_ROM_PTR() }, // MicroMod CAM_VSYNC
195+
196+
// MicroMod 2-wire LED pins
197+
// { MP_ROM_QSTR(MP_QSTR_LED_DAT), MP_ROM_PTR() }, // MicroMod LED_DAT
198+
// { MP_ROM_QSTR(MP_QSTR_LED_CLK), MP_ROM_PTR() }, // MicroMod LED_CLK
199+
200+
// Board objects
201+
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
202+
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
203+
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
204+
205+
};
206+
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

0 commit comments

Comments
 (0)