diff --git a/stmhal/make-stmconst.py b/stmhal/make-stmconst.py
index <HASH>..<HASH> 100644
--- a/stmhal/make-stmconst.py
+++ b/stmhal/make-stmconst.py
@@ -193,6 +193,11 @@ def main():
 
     periphs, reg_defs = parse_file(args.file[0])
 
+    # add legacy GPIO constants that were removed when upgrading CMSIS
+    if 'GPIO' in reg_defs and 'stm32f4' in args.file[0]:
+        reg_defs['GPIO'].append(['BSRRL', 0x18, 16, 'legacy register'])
+        reg_defs['GPIO'].append(['BSRRH', 0x1a, 16, 'legacy register'])
+
     modules = []
     needed_qstrs = set()
     needed_mpzs = set()
stmhal: Add back GPIO_BSRRL and GPIO_BSRRH constants to stm module.

These were inadvertently removed with a recent upgrade to CMSIS, where
those registers were no longer defined in the CMSIS headers, and hence
no longer extracted.