Skip to content

Commit 3a8c954

Browse files
wasilewskiJkartben
authored andcommitted
boards: antmicro: add support for the Myra SiP Baseboard
Add support for the Antmicro's Myra SiP Baseboard. The board uses Antmicro's Myra SiP which integrates STM32G491XX MCU and its SoC configuration. Signed-off-by: Jakub Wasilewski <[email protected]> Signed-off-by: Filip Kokosinski <[email protected]>
1 parent 1ce3898 commit 3a8c954

18 files changed

+717
-0
lines changed

boards/antmicro/index.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.. _boards-antmicro:
2+
3+
Antmicro
4+
###
5+
6+
.. toctree::
7+
:maxdepth: 1
8+
:glob:
9+
10+
**/*
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2024 Antmicro <www.antmicro.com>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_MYRA_SIP_BASEBOARD
5+
6+
config SPI_STM32_INTERRUPT
7+
default y
8+
depends on SPI
9+
10+
endif # BOARD_MYRA_SIP_BASEBOARD
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2024 Antmicro
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_MYRA_SIP_BASEBOARD
5+
select SOC_MYRA
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2024 Antmicro <www.antmicro.com>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
set(SUPPORTED_EMU_PLATFORMS renode)
5+
set(RENODE_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/support/myra_sip_baseboard.resc)
6+
set(RENODE_UART sysbus.lpuart1)
7+
8+
board_runner_args(openocd "--config=${BOARD_DIR}/support/openocd_myra_sip_baseboard.cfg")
9+
10+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: myra_sip_baseboard
3+
full_name: Myra SiP Baseboard
4+
vendor: antmicro
5+
socs:
6+
- name: myra
34 KB
Loading
Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
.. zephyr:board:: myra_sip_baseboard
2+
3+
Overview
4+
********
5+
6+
The Myra SiP Baseboard features Antmicro's **Myra** SiP, which integrates the **STM32G491REI6** MCU,
7+
128kB FRAM, and FTDI FT231XQ USB to UART converter. The board is equipped with temperature,
8+
humidity, and pressure sensors, designed to help monitor conditions in server rooms.
9+
10+
The sensors are placed on a separate island that is detachable from the main PCB and can be
11+
installed directly in the required place. It provides local storage for data logging and a battery
12+
backup for protection against data loss. The board can be used as a building block for PoC solutions
13+
for monitoring environmental parameters.
14+
15+
Key features include:
16+
17+
- STM32G491REI6 MCU (Cortex-M4, 170 MHz)
18+
- 128 KB Fujitsu FRAM
19+
- FTDI FT231XQ USB to UART converter
20+
- 50 mm x 26.5 mm PCB
21+
- USB-C Connector for data and power
22+
- SHT45 temperature + humidity sensor
23+
- BME280 temperature + humidity + pressure sensor
24+
- QWIIC connectors for peripheral expansion
25+
- RTC with battery backup
26+
27+
More information about the board can be found on `Antmicro's Open Hardware Portal <https://openhardware.antmicro.com/boards/environment-sensor-sip-baseboard>`_.
28+
29+
Hardware
30+
********
31+
32+
Myra SiP provides the following hardware:
33+
34+
- **STM32G491REI6 MCU**:
35+
36+
- ARM Cortex-M4 CPU with FPU, up to 170 MHz
37+
- Clock Sources:
38+
39+
- 4 to 48 MHz external crystal oscillator (HSE)
40+
- 32 kHz crystal oscillator for RTC (LSE)
41+
- Internal 16 MHz RC (±1%)
42+
- Internal low-power 32 kHz RC (±5%)
43+
- 2 PLLs for system clock, USB, audio, ADC
44+
- RTC: Real-time clock with hardware calendar, alarms, and calibration
45+
- Timers:
46+
47+
- 1x 32-bit timer and 2x 16-bit timers with up to 4x IC/OC/PWM or pulse counter and quadrature
48+
(incremental) encoder input
49+
- 3x 16-bit advanced motor control timers with up to 8x PWM channels, dead time generation,
50+
emergency stop
51+
- 1x 16-bit timer with 2x IC/OC, one OCN/PWM, dead time generation, emergency stop
52+
- 2x watchdog timers (independent, window)
53+
- 2x 16-bit basic timers
54+
- SysTick timer
55+
- 1x low-power timer
56+
- I/Os: Up to 86 fast I/Os, most 5V tolerant
57+
- Memory:
58+
59+
- 512 KB Flash memory with ECC and PCROP protection
60+
- 96 KB SRAM including 32 KB with hardware parity check
61+
- Analog peripherals:
62+
63+
- 3x 16-bit ADCs with up to 36 channels, hardware oversampling, and resolution up to 16-bit
64+
- 4x 12-bit DAC channels
65+
- 4x ultra-fast rail-to-rail analog comparators
66+
- 4x operational amplifiers with built-in PGA
67+
- Internal temperature sensor and voltage reference with support for three output voltages
68+
(2.048 V, 2.5 V, 2.9 V)
69+
- Communication Interfaces:
70+
71+
- 2x FDCAN controllers supporting flexible data rate
72+
- 3x I2C Fast Mode Plus (1 Mbit/s) with 20 mA current sink, SMBus/PMBus support
73+
- 5x USART/UART (ISO 7816, LIN, IrDA, modem control)
74+
- 1x LPUART
75+
- 3x SPI interfaces (2x with multiplexed half-duplex I²S)
76+
- 1x SAI (serial audio interface)
77+
- USB 2.0 full-speed with LPM and BCD support
78+
- IRTIM (infrared interface)
79+
- USB Type-C™ / USB Power Delivery (UCPD)
80+
- Other Peripherals:
81+
82+
- 16-channel DMA controller
83+
- True Random Number Generator (RNG)
84+
- CRC calculation unit, 96-bit unique ID
85+
- Development support: SWD, JTAG, Embedded Trace Macrocell™
86+
- ECOPACK2® compliant packages
87+
88+
- **128 KB Fujitsu MB85RS1MT FRAM**: Local storage for data logging, allowing non-volatile memory storage.
89+
90+
- **FTDI FT231XQ USB to UART converter**: Provides a reliable USB to UART interface.
91+
92+
93+
More information about STM32G491RE can be found here:
94+
95+
- `STM32G491RE on www.st.com`_
96+
97+
Other board's peripherals:
98+
--------------------------
99+
100+
- USB-C Connector: For data and power.
101+
- SHT45 sensor:
102+
103+
- Relative humidity accuracy: ±1.0% RH
104+
- Operating humidity range: 0-100% RH
105+
- Temperature accuracy: ±0.1°C
106+
- Operating temperature range: -40°C to 125°C
107+
- BME280 sensor:
108+
109+
- Relative humidity accuracy: ±3% RH
110+
- Temperature accuracy: ±1°C
111+
- Pressure accuracy: ±1 hPa
112+
- Operating temperature range: -40°C to 85°C
113+
- Pressure range: 300-1100 hPa
114+
- QWIIC connectors: For easy peripheral expansion.
115+
116+
Supported Features
117+
------------------
118+
119+
The Zephyr ``myra_sip_baseboard`` board target supports the following hardware features:
120+
121+
+-----------+------------+-------------------------------------+
122+
| Interface | Controller | Driver/Component |
123+
+===========+============+=====================================+
124+
| NVIC | on-chip | nested vector interrupt controller |
125+
+-----------+------------+-------------------------------------+
126+
| UART | on-chip | serial port-polling; serial |
127+
| | | port-interrupt |
128+
+-----------+------------+-------------------------------------+
129+
| PINMUX | on-chip | pinmux |
130+
+-----------+------------+-------------------------------------+
131+
| GPIO | on-chip | gpio |
132+
+-----------+------------+-------------------------------------+
133+
| I2C | on-chip | i2c |
134+
+-----------+------------+-------------------------------------+
135+
| WATCHDOG | on-chip | independent watchdog |
136+
+-----------+------------+-------------------------------------+
137+
| PWM | on-chip | pwm |
138+
+-----------+------------+-------------------------------------+
139+
| ADC | on-chip | adc |
140+
+-----------+------------+-------------------------------------+
141+
| DAC | on-chip | dac controller |
142+
+-----------+------------+-------------------------------------+
143+
| FLASH | on-chip | flash memory |
144+
+-----------+------------+-------------------------------------+
145+
| EEPROM | on-chip | eeprom |
146+
+-----------+------------+-------------------------------------+
147+
| NVS | on-chip | nvs |
148+
+-----------+------------+-------------------------------------+
149+
| COUNTER | on-chip | rtc |
150+
+-----------+------------+-------------------------------------+
151+
| SPI | on-chip | spi |
152+
+-----------+------------+-------------------------------------+
153+
| die-temp | on-chip | die temperature sensor |
154+
+-----------+------------+-------------------------------------+
155+
| FDCAN1 | on-chip | can controller |
156+
+-----------+------------+-------------------------------------+
157+
| RTC | on-chip | rtc |
158+
+-----------+------------+-------------------------------------+
159+
160+
Other hardware features are not yet supported on this Zephyr port.
161+
162+
Connections and IOs
163+
-------------------
164+
165+
Antmicro's Myra SiP Baseboard provides the following default pin mappings for peripherals:
166+
167+
.. rst-class:: rst-columns
168+
169+
- LPUART_1_TX : PA2
170+
- LPUART_1_RX : PA3
171+
- I2C_1_SCL : PB8
172+
- I2C_1_SDA : PB9
173+
- SPI_CS2 : PB2
174+
- SPI_CS3 : PA7
175+
- SPI_2_SCK : PB13
176+
- SPI_2_MISO : PB14
177+
- SPI_2_MOSI : PB15
178+
- PWM_2_CH1 : PA5
179+
- USER_PB : PC13
180+
- LD2 : PA5
181+
- ADC1_IN1 : PA0
182+
- DAC1_OUT1 : PA4
183+
- USB_MCU_N : PA11
184+
- USB_MCU_P : PA12
185+
- SWDIO-JMTS : PA13
186+
- SWCLK-JTCK : PA14
187+
- JTDI : PA15
188+
- JTDO : PB3
189+
- JTRST : PB4
190+
- FRAM_HOLD (ACTIVE LOW) : PB10
191+
- FRAM_WP (ACTIVE LOW) : PB11
192+
- FRAM_CS (ACTIVE LOW) : PB12
193+
- GPIO_PC10 : PC10
194+
- GPIO_PC11 : PC11
195+
- GPIO_PC12 : PC12
196+
- PF0_OSC : PF0
197+
198+
System Clock
199+
------------
200+
201+
System clock can be driven by an internal or an external oscillator, as well as by the main PLL
202+
clock. By default, system clock is driven by PLL clock at 170MHz (boost mode selected), which in
203+
turn, is driven by the 8MHz high speed external oscillator (HSE). While the HSE oscillator is
204+
capable of operating at frequencies up to 48 MHz by default, in this configuration, it is
205+
specifically set to 8 MHz.
206+
207+
Serial Port
208+
-----------
209+
210+
The Myra SiP Baseboard has 5 U(S)ARTs. The Zephyr console output is assigned to LPUART1. The default
211+
settings are 115200 8N1.
212+
213+
Programming and Debugging
214+
*************************
215+
216+
Applications for the ``myra_sip_baseboard`` board target can be built and flashed in the usual way (see :ref:`build_an_application` and :ref:`application_run` for more details).
217+
218+
Flashing
219+
********
220+
221+
This board has a USB-JTAG interface and can be used with OpenOCD.
222+
223+
Connect the Myra SiP Baseboard to your host computer using the USB port, then build and flash
224+
the application. Here is an example for :zephyr:code-sample:`hello_world`.
225+
226+
.. zephyr-app-commands::
227+
:zephyr-app: samples/hello_world
228+
:board: myra_sip_baseboard
229+
:goals: build flash
230+
231+
Then run a serial host program to connect with the Myra SiP Baseboard, e.g. using picocom:
232+
233+
.. code-block:: console
234+
235+
$ picocom /dev/ttyUSB0 -b 115200
236+
237+
.. warning::
238+
The board has only one port that is used for both programming and the console. For this reason, it is
239+
recommended to set ``CONFIG_BOOT_DELAY`` to an arbitrary value. This is especially important when
240+
running twister tests on the device. You should then also use the ``--flash-before`` and
241+
``--device-flash-timeout=120`` options:
242+
243+
.. code-block:: console
244+
245+
$ scripts/twister --device-testing --device-serial /dev/ttyUSB0 --device-serial-baud 115200 -p myra_sip_baseboard --flash-before --device-flash-timeout=120 -v
246+
247+
Debugging
248+
*********
249+
250+
You can debug an application in the usual way. Here is an example for the
251+
:zephyr:code-sample:`hello_world` application.
252+
253+
.. zephyr-app-commands::
254+
:zephyr-app: samples/hello_world
255+
:board: myra_sip_baseboard
256+
:maybe-skip-config:
257+
:goals: debug
258+
259+
.. _STM32G491RE on www.st.com:
260+
https://www.st.com/en/microcontrollers-microprocessors/stm32g491re.html

0 commit comments

Comments
 (0)