Skip to content

Commit a60b18f

Browse files
committed
system(wl3): update STM32WL3x CMSIS Drivers to v1.3.1
Included in STM32CubeWL3 FW v1.3.1 Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 68f4949 commit a60b18f

File tree

5 files changed

+101
-22
lines changed

5 files changed

+101
-22
lines changed

system/Drivers/CMSIS/Device/ST/STM32WL3x/Include/stm32wl3rx.h

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4042,6 +4042,7 @@ typedef struct{ /*!< MR_SUBG_GLOB_RETAINED Structure */
40424042
/* ============================================================================================================================*/
40434043
/*===================== SPI =====================*/
40444044
/* ============================================================================================================================*/
4045+
#define SPI_I2S_SUPPORT /*!< I2S support */
40454046

40464047
/* ===================================================== CR1 =====================================================*/
40474048
#define SPI_CR1_BIDIMODE_Pos (15UL) /*!<SPI CR1: BIDIMODE (Bit 15) */
@@ -4255,6 +4256,59 @@ typedef struct{ /*!< MR_SUBG_GLOB_RETAINED Structure */
42554256
#define SPI_TXCRCR_TXCRC_14 (0x4000U << SPI_TXCRCR_TXCRC_Pos)
42564257
#define SPI_TXCRCR_TXCRC_15 (0x8000U << SPI_TXCRCR_TXCRC_Pos)
42574258

4259+
/* ===================================================== I2SCFGR =====================================================*/
4260+
#define SPI_I2SCFGR_ASTRTEN_Pos (12UL) /*!<SPI I2SCFGR: ASTRTEN (Bit 12) */
4261+
#define SPI_I2SCFGR_ASTRTEN_Msk (0x1000UL) /*!< SPI I2SCFGR: ASTRTEN (Bitfield-Mask: 0x01) */
4262+
#define SPI_I2SCFGR_ASTRTEN SPI_I2SCFGR_ASTRTEN_Msk
4263+
#define SPI_I2SCFGR_I2SMOD_Pos (11UL) /*!<SPI I2SCFGR: I2SMOD (Bit 11) */
4264+
#define SPI_I2SCFGR_I2SMOD_Msk (0x800UL) /*!< SPI I2SCFGR: I2SMOD (Bitfield-Mask: 0x01) */
4265+
#define SPI_I2SCFGR_I2SMOD SPI_I2SCFGR_I2SMOD_Msk
4266+
#define SPI_I2SCFGR_I2SE_Pos (10UL) /*!<SPI I2SCFGR: I2SE (Bit 10) */
4267+
#define SPI_I2SCFGR_I2SE_Msk (0x400UL) /*!< SPI I2SCFGR: I2SE (Bitfield-Mask: 0x01) */
4268+
#define SPI_I2SCFGR_I2SE SPI_I2SCFGR_I2SE_Msk
4269+
#define SPI_I2SCFGR_I2SCFG_Pos (8UL) /*!<SPI I2SCFGR: I2SCFG (Bit 8) */
4270+
#define SPI_I2SCFGR_I2SCFG_Msk (0x300UL) /*!< SPI I2SCFGR: I2SCFG (Bitfield-Mask: 0x03) */
4271+
#define SPI_I2SCFGR_I2SCFG SPI_I2SCFGR_I2SCFG_Msk
4272+
#define SPI_I2SCFGR_I2SCFG_0 (0x1U << SPI_I2SCFGR_I2SCFG_Pos)
4273+
#define SPI_I2SCFGR_I2SCFG_1 (0x2U << SPI_I2SCFGR_I2SCFG_Pos)
4274+
#define SPI_I2SCFGR_PCMSYNC_Pos (7UL) /*!<SPI I2SCFGR: PCMSYNC (Bit 7) */
4275+
#define SPI_I2SCFGR_PCMSYNC_Msk (0x80UL) /*!< SPI I2SCFGR: PCMSYNC (Bitfield-Mask: 0x01) */
4276+
#define SPI_I2SCFGR_PCMSYNC SPI_I2SCFGR_PCMSYNC_Msk
4277+
#define SPI_I2SCFGR_I2SSTD_Pos (4UL) /*!<SPI I2SCFGR: I2SSTD (Bit 4) */
4278+
#define SPI_I2SCFGR_I2SSTD_Msk (0x30UL) /*!< SPI I2SCFGR: I2SSTD (Bitfield-Mask: 0x03) */
4279+
#define SPI_I2SCFGR_I2SSTD SPI_I2SCFGR_I2SSTD_Msk
4280+
#define SPI_I2SCFGR_I2SSTD_0 (0x1U << SPI_I2SCFGR_I2SSTD_Pos)
4281+
#define SPI_I2SCFGR_I2SSTD_1 (0x2U << SPI_I2SCFGR_I2SSTD_Pos)
4282+
#define SPI_I2SCFGR_CKPOL_Pos (3UL) /*!<SPI I2SCFGR: CKPOL (Bit 3) */
4283+
#define SPI_I2SCFGR_CKPOL_Msk (0x8UL) /*!< SPI I2SCFGR: CKPOL (Bitfield-Mask: 0x01) */
4284+
#define SPI_I2SCFGR_CKPOL SPI_I2SCFGR_CKPOL_Msk
4285+
#define SPI_I2SCFGR_DATLEN_Pos (1UL) /*!<SPI I2SCFGR: DATLEN (Bit 1) */
4286+
#define SPI_I2SCFGR_DATLEN_Msk (0x6UL) /*!< SPI I2SCFGR: DATLEN (Bitfield-Mask: 0x03) */
4287+
#define SPI_I2SCFGR_DATLEN SPI_I2SCFGR_DATLEN_Msk
4288+
#define SPI_I2SCFGR_DATLEN_0 (0x1U << SPI_I2SCFGR_DATLEN_Pos)
4289+
#define SPI_I2SCFGR_DATLEN_1 (0x2U << SPI_I2SCFGR_DATLEN_Pos)
4290+
#define SPI_I2SCFGR_CHLEN_Pos (0UL) /*!<SPI I2SCFGR: CHLEN (Bit 0) */
4291+
#define SPI_I2SCFGR_CHLEN_Msk (0x1UL) /*!< SPI I2SCFGR: CHLEN (Bitfield-Mask: 0x01) */
4292+
#define SPI_I2SCFGR_CHLEN SPI_I2SCFGR_CHLEN_Msk
4293+
4294+
/* ===================================================== I2SPR =====================================================*/
4295+
#define SPI_I2SPR_MCKOE_Pos (9UL) /*!<SPI I2SPR: MCKOE (Bit 9) */
4296+
#define SPI_I2SPR_MCKOE_Msk (0x200UL) /*!< SPI I2SPR: MCKOE (Bitfield-Mask: 0x01) */
4297+
#define SPI_I2SPR_MCKOE SPI_I2SPR_MCKOE_Msk
4298+
#define SPI_I2SPR_ODD_Pos (8UL) /*!<SPI I2SPR: ODD (Bit 8) */
4299+
#define SPI_I2SPR_ODD_Msk (0x100UL) /*!< SPI I2SPR: ODD (Bitfield-Mask: 0x01) */
4300+
#define SPI_I2SPR_ODD SPI_I2SPR_ODD_Msk
4301+
#define SPI_I2SPR_I2SDIV_Pos (0UL) /*!<SPI I2SPR: I2SDIV (Bit 0) */
4302+
#define SPI_I2SPR_I2SDIV_Msk (0xffUL) /*!< SPI I2SPR: I2SDIV (Bitfield-Mask: 0xff) */
4303+
#define SPI_I2SPR_I2SDIV SPI_I2SPR_I2SDIV_Msk
4304+
#define SPI_I2SPR_I2SDIV_0 (0x1U << SPI_I2SPR_I2SDIV_Pos)
4305+
#define SPI_I2SPR_I2SDIV_1 (0x2U << SPI_I2SPR_I2SDIV_Pos)
4306+
#define SPI_I2SPR_I2SDIV_2 (0x4U << SPI_I2SPR_I2SDIV_Pos)
4307+
#define SPI_I2SPR_I2SDIV_3 (0x8U << SPI_I2SPR_I2SDIV_Pos)
4308+
#define SPI_I2SPR_I2SDIV_4 (0x10U << SPI_I2SPR_I2SDIV_Pos)
4309+
#define SPI_I2SPR_I2SDIV_5 (0x20U << SPI_I2SPR_I2SDIV_Pos)
4310+
#define SPI_I2SPR_I2SDIV_6 (0x40U << SPI_I2SPR_I2SDIV_Pos)
4311+
#define SPI_I2SPR_I2SDIV_7 (0x80U << SPI_I2SPR_I2SDIV_Pos)
42584312

42594313

42604314
/* ============================================================================================================================*/
@@ -11373,6 +11427,8 @@ typedef struct{ /*!< MR_SUBG_GLOB_RETAINED Structure */
1137311427
/******************************** SPI Instances *******************************/
1137411428
#define IS_SPI_ALL_INSTANCE(INSTANCE) ((INSTANCE) == SPI3)
1137511429

11430+
/******************************** I2S Instances *******************************/
11431+
#define IS_I2S_ALL_INSTANCE(INSTANCE) (((INSTANCE) == SPI3))
1137611432

1137711433
/****************************** IWDG Instances ********************************/
1137811434
#define IS_IWDG_ALL_INSTANCE(INSTANCE) ((INSTANCE) == IWDG)

system/Drivers/CMSIS/Device/ST/STM32WL3x/Include/stm32wl3x.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
*/
9090
#define __STM32WL3x_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
9191
#define __STM32WL3x_CMSIS_VERSION_SUB1 (0x03U) /*!< [23:16] sub1 version */
92-
#define __STM32WL3x_CMSIS_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */
92+
#define __STM32WL3x_CMSIS_VERSION_SUB2 (0x01U) /*!< [15:8] sub2 version */
9393
#define __STM32WL3x_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
9494
#define __STM32WL3x_CMSIS_VERSION ((__STM32WL3x_CMSIS_VERSION_MAIN << 24U)\
9595
|(__STM32WL3x_CMSIS_VERSION_SUB1 << 16U)\

system/Drivers/CMSIS/Device/ST/STM32WL3x/Release_Notes.html

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,35 @@ <h1 id="purpose">Purpose</h1>
6060
<section id="update-history" class="col-sm-12 col-lg-8">
6161
<h1>Update history</h1>
6262
<div class="collapse">
63-
<input type="checkbox" id="collapse-section5" checked aria-hidden="true">
63+
<input type="checkbox" id="collapse-section6" checked aria-hidden="true">
64+
<label for="collapse-section6" aria-hidden="true"> <strong>V1.3.1 /
65+
20-November-2025</strong> </label>
66+
<div>
67+
<h2 id="main-changes">Main Changes</h2>
68+
<ul>
69+
<li>Added missing I2S support on WL3Rx devices (stm32wl3rx.h)</li>
70+
</ul>
71+
<h2 id="known-limitations">Known Limitations</h2>
72+
<ul>
73+
<li>None</li>
74+
</ul>
75+
<h2 id="development-toolchains-and-compilers">Development Toolchains and
76+
Compilers</h2>
77+
<ul>
78+
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.30.1</li>
79+
</ul>
80+
<h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
81+
<ul>
82+
<li>STM32WL3xx devices</li>
83+
</ul>
84+
</div>
85+
</div>
86+
<div class="collapse">
87+
<input type="checkbox" id="collapse-section5" aria-hidden="true">
6488
<label for="collapse-section5" aria-hidden="true"> <strong>V1.3.0 /
6589
29-October-2025</strong> </label>
6690
<div>
67-
<h2 id="main-changes">Main Changes</h2>
91+
<h2 id="main-changes-1">Main Changes</h2>
6892
<ul>
6993
<li>Added support to STM32WL3Rx product line.</li>
7094
<li>[LCSC] LCSC_VER register removed from the accessible register list,
@@ -74,16 +98,17 @@ <h2 id="main-changes">Main Changes</h2>
7498
<li>[MRSUBG] RSSI_FLT bit #3 renamed to
7599
<code>FREEZE_SYNC_ON_SYNC_OOK_PEAK_DECAY</code></li>
76100
</ul>
77-
<h2 id="known-limitations">Known Limitations</h2>
101+
<h2 id="known-limitations-1">Known Limitations</h2>
78102
<ul>
79103
<li>None</li>
80104
</ul>
81-
<h2 id="development-toolchains-and-compilers">Development Toolchains and
82-
Compilers</h2>
105+
<h2 id="development-toolchains-and-compilers-1">Development Toolchains
106+
and Compilers</h2>
83107
<ul>
84108
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.30.1</li>
85109
</ul>
86-
<h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
110+
<h2 id="supported-devices-and-boards-1">Supported Devices and
111+
boards</h2>
87112
<ul>
88113
<li>STM32WL3xx devices</li>
89114
</ul>
@@ -94,7 +119,7 @@ <h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
94119
<label for="collapse-section3" aria-hidden="true"> <strong>V1.2.0 /
95120
04-June-2025</strong> </label>
96121
<div>
97-
<h2 id="main-changes-1">Main Changes</h2>
122+
<h2 id="main-changes-2">Main Changes</h2>
98123
<ul>
99124
<li>Documentation based on jQuery 1.7.1 removed</li>
100125
</ul>
@@ -104,17 +129,17 @@ <h2 id="contents">Contents</h2>
104129
<li>Renamed some interrupt to improve clarity and consistency</li>
105130
<li>Added FQCY_BAND_ID bits definition for RF_INFO_OUT register</li>
106131
</ul>
107-
<h2 id="known-limitations-1">Known Limitations</h2>
132+
<h2 id="known-limitations-2">Known Limitations</h2>
108133
<ul>
109134
<li>CMSIS devices files are delivered “as is” and have not been fully
110135
validated</li>
111136
</ul>
112-
<h2 id="development-toolchains-and-compilers-1">Development Toolchains
137+
<h2 id="development-toolchains-and-compilers-2">Development Toolchains
113138
and Compilers</h2>
114139
<ul>
115140
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.30.1</li>
116141
</ul>
117-
<h2 id="supported-devices-and-boards-1">Supported Devices and
142+
<h2 id="supported-devices-and-boards-2">Supported Devices and
118143
boards</h2>
119144
<ul>
120145
<li>STM32WL3xx devices</li>
@@ -126,7 +151,7 @@ <h2 id="supported-devices-and-boards-1">Supported Devices and
126151
<label for="collapse-section2" aria-hidden="true"> <strong>V1.1.0 /
127152
05-February-2025</strong> </label>
128153
<div>
129-
<h2 id="main-changes-2">Main Changes</h2>
154+
<h2 id="main-changes-3">Main Changes</h2>
130155
<h3 id="release">Release</h3>
131156
<ul>
132157
<li>Release of CMSIS for STM32WL3xx devices</li>
@@ -135,17 +160,17 @@ <h2 id="contents-1">Contents</h2>
135160
<ul>
136161
<li>CMSIS devices files for STM32WL3xx</li>
137162
</ul>
138-
<h2 id="known-limitations-2">Known Limitations</h2>
163+
<h2 id="known-limitations-3">Known Limitations</h2>
139164
<ul>
140165
<li>CMSIS devices files are delivered “as is” and have not been fully
141166
validated</li>
142167
</ul>
143-
<h2 id="development-toolchains-and-compilers-2">Development Toolchains
168+
<h2 id="development-toolchains-and-compilers-3">Development Toolchains
144169
and Compilers</h2>
145170
<ul>
146171
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.30.1</li>
147172
</ul>
148-
<h2 id="supported-devices-and-boards-2">Supported Devices and
173+
<h2 id="supported-devices-and-boards-3">Supported Devices and
149174
boards</h2>
150175
<ul>
151176
<li>STM32WL3xx devices</li>
@@ -157,7 +182,7 @@ <h2 id="supported-devices-and-boards-2">Supported Devices and
157182
<label for="collapse-section1" aria-hidden="true"> <strong>V1.0.0 /
158183
30-October-2024</strong> </label>
159184
<div>
160-
<h2 id="main-changes-3">Main Changes</h2>
185+
<h2 id="main-changes-4">Main Changes</h2>
161186
<h3 id="first-release">First Release</h3>
162187
<ul>
163188
<li>First Official Release of CMSIS for STM32WL33x devices</li>
@@ -166,17 +191,17 @@ <h2 id="contents-2">Contents</h2>
166191
<ul>
167192
<li>CMSIS devices files for STM32WL33x</li>
168193
</ul>
169-
<h2 id="known-limitations-3">Known Limitations</h2>
194+
<h2 id="known-limitations-4">Known Limitations</h2>
170195
<ul>
171196
<li>CMSIS devices files are delivered “as is” and have not been fully
172197
validated</li>
173198
</ul>
174-
<h2 id="development-toolchains-and-compilers-3">Development Toolchains
199+
<h2 id="development-toolchains-and-compilers-4">Development Toolchains
175200
and Compilers</h2>
176201
<ul>
177202
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.30.1</li>
178203
</ul>
179-
<h2 id="supported-devices-and-boards-3">Supported Devices and
204+
<h2 id="supported-devices-and-boards-4">Supported Devices and
180205
boards</h2>
181206
<ul>
182207
<li>STM32WL33x devices</li>

system/Drivers/CMSIS/Device/ST/STM32WL3x/Source/Templates/gcc/startup_stm32wl3xx.s

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,6 @@ LoopFillZerobss:
8383
cmp r2, r3
8484
bcc FillZerobss
8585

86-
/* Call static constructors */
87-
bl __libc_init_array
8886
/* Call the application's entry point.*/
8987
bl main
9088

system/Drivers/CMSIS/Device/ST/STM32YYxx_CMSIS_version.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* STM32WB0: 1.4.0
2424
* STM32WBA: 1.8.0
2525
* STM32WL: 1.3.0
26-
* STM32WL3: 1.3.0
26+
* STM32WL3: 1.3.1
2727

2828
Release notes of each STM32YYxx CMSIS available here:
2929

0 commit comments

Comments
 (0)