Skip to content

Commit db6caed

Browse files
committed
Add STM32U5 devices
1 parent c0022f2 commit db6caed

File tree

5 files changed

+40
-14
lines changed

5 files changed

+40
-14
lines changed

devices/stm32/stm32u5-75_85.xml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
<memory name="sram4" access="rwx" start="0x28000000" size="16384"/>
7474
<memory name="bkpsram" access="rwx" start="0x40036400" size="2048"/>
7575
<vector position="0" name="WWDG"/>
76-
<vector position="1" name="PVD_AVD"/>
76+
<vector position="1" name="PVD_PVM"/>
7777
<vector position="2" name="RTC"/>
7878
<vector position="3" name="RTC_S"/>
7979
<vector position="4" name="TAMP"/>
@@ -208,7 +208,10 @@
208208
<instance value="2"/>
209209
</driver>
210210
<driver name="cordic" type="stm32-v1.0"/>
211-
<driver name="crc" type="stm32"/>
211+
<driver name="crc" type="stm32">
212+
<feature value="polynomial"/>
213+
<feature value="reverse"/>
214+
</driver>
212215
<driver name="dac" type="stm32">
213216
<feature value="status"/>
214217
<instance value="1"/>
@@ -259,15 +262,19 @@
259262
<instance value="_s"/>
260263
</driver>
261264
<driver name="hash" type="stm32-v2.2"/>
262-
<driver name="i2c" type="stm32-v1.1">
265+
<driver name="i2c" type="stm32-extended">
266+
<feature value="dnf"/>
267+
<feature value="fmp"/>
263268
<instance value="1"/>
264269
<instance value="2"/>
265270
<instance value="3"/>
266271
<instance value="4"/>
267272
</driver>
268273
<driver name="icache" type="stm32-v1.0"/>
269274
<driver name="irtim" type="stm32-v1.0"/>
270-
<driver name="iwdg" type="stm32"/>
275+
<driver name="iwdg" type="stm32">
276+
<feature value="window"/>
277+
</driver>
271278
<driver name="lpbam" type="stm32-stm32u5xx"/>
272279
<driver name="lpbamadc" type="stm32-stm32u5xx">
273280
<instance value="4"/>
@@ -353,7 +360,7 @@
353360
<instance value="1"/>
354361
<instance value="2"/>
355362
</driver>
356-
<driver name="spi" type="stm32">
363+
<driver name="spi" type="stm32-extended">
357364
<instance value="1"/>
358365
<instance value="2"/>
359366
<instance value="3"/>
@@ -381,14 +388,16 @@
381388
<instance value="17"/>
382389
</driver>
383390
<driver name="tsc" type="stm32-v1.0"/>
384-
<driver name="uart" type="stm32">
391+
<driver name="uart" type="stm32-extended">
392+
<feature value="tcbgt"/>
385393
<instance value="4"/>
386394
<instance device-pin="a|o|q|r|v|z" value="5"/>
387395
</driver>
388396
<driver name="ucpd" type="stm32-v1.0">
389397
<instance value="1"/>
390398
</driver>
391-
<driver name="usart" type="stm32">
399+
<driver name="usart" type="stm32-extended">
400+
<feature value="tcbgt"/>
392401
<instance value="1"/>
393402
<instance value="2"/>
394403
<instance value="3"/>

tools/generator/dfg/stm32/stm.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@
66

77
LOGGER = logging.getLogger("dfg.stm.data")
88

9+
ignored_devices = \
10+
[
11+
"STM32U59",
12+
"STM32U5A",
13+
]
14+
15+
def ignoreDevice(device_id: str) -> bool:
16+
for ignore in ignored_devices:
17+
if device_id.startswith(ignore):
18+
return True
19+
return False
20+
921
def getDefineForDevice(device_id, familyDefines):
1022
# get all defines for this device name
1123
devName = 'STM32{}{}'.format(device_id.family.upper(), device_id.name.upper())
@@ -738,6 +750,10 @@ def getDmaRemap(did, dma, channel, driver, inst, signal):
738750
'name': ['75', '85'],
739751
'memories': {'flash': 0, 'sram1': 192*1024, 'sram2': 64*1024, 'sram3': 512*1024, 'sram4': 16*1024, 'bkpsram': 2*1024}
740752
}
753+
# ,{
754+
# 'name': ['95', '99', 'a5', 'a9'], # This devices are not published yet...
755+
# 'memories': # TODO...
756+
# }
741757
]
742758
},
743759
}

tools/generator/dfg/stm32/stm_device_tree.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def getDevicesFromFamily(family):
5353
def getDevicesFromPrefix(prefix):
5454
devices = STMDeviceTree.familyFile.query('//Family/SubFamily/Mcu[starts-with(@RefName,"{}")]'.format(prefix))
5555
devices = STMDeviceTree._format_raw_devices(devices)
56+
devices = [d for d in devices if not stm.ignoreDevice(d)]
5657
LOGGER.info("Found devices for prefix '{}': {}".format(prefix, ", ".join(devices)))
5758
return list(sorted(devices))
5859

tools/generator/dfg/stm32/stm_peripherals.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
'hardware': 'stm32',
102102
'features': ['polynomial', 'reverse'],
103103
'protocols': ['crc32'],
104-
'devices': [{'family': ['f0', 'f3', 'f7', 'h7', 'l5']}]
104+
'devices': [{'family': ['f0', 'f3', 'f7', 'h7', 'l5', 'u5']}]
105105
},{
106106
# Custom polynomial and reverse data
107107
'hardware': 'stm32',
@@ -159,7 +159,7 @@
159159
'hardware': 'stm32',
160160
'features': ['window'],
161161
'protocols': [],
162-
'devices': [{'family': ['f0', 'f3', 'f7', 'g0', 'g4', 'l5', 'wb']}]
162+
'devices': [{'family': ['f0', 'f3', 'f7', 'g0', 'g4', 'l5', 'u5', 'wb']}]
163163
},{
164164
'hardware': 'stm32',
165165
'features': [],
@@ -180,7 +180,7 @@
180180
'hardware': 'stm32-extended',
181181
'features': [],
182182
'protocols': [],
183-
'devices': [{'family': ['h7']}]
183+
'devices': [{'family': ['h7', 'u5']}]
184184
},{
185185
'hardware': 'stm32',
186186
'features': [],
@@ -388,7 +388,7 @@
388388
'hardware': 'stm32-extended',
389389
'features': ['dnf', 'fmp'],
390390
'protocols': ['i2c-v3.0', 'smb-v2.0', 'pmb-v1.1'],
391-
'devices': [{'family': ['f3', 'f7', 'l4', 'l5', 'h7', 'g4', 'wb']}]
391+
'devices': [{'family': ['f3', 'f7', 'l4', 'l5', 'h7', 'g4', 'u5', 'wb']}]
392392
}
393393
]
394394
},{
@@ -400,7 +400,7 @@
400400
'hardware': 'stm32-extended',
401401
'features': ['dnf', 'fmp'],
402402
'protocols': ['i2c-v3.0', 'smb-v2.0', 'pmb-v1.1'],
403-
'devices': [{'family': ['f0', 'g0', 'f3', 'f7', 'l0', 'l4', 'l5', 'h7', 'g4', 'wb']}]
403+
'devices': [{'family': ['f0', 'g0', 'f3', 'f7', 'l0', 'l4', 'l5', 'h7', 'g4', 'u5', 'wb']}]
404404
}
405405
]
406406
}
@@ -417,7 +417,7 @@
417417
'hardware': 'stm32-extended',
418418
'features': ['tcbgt'],
419419
'protocols': ['uart'],
420-
'devices': [{'family': ['l4'], 'name': ['p5', 'p7', 'p9', 'q5', 'q7', 'q9', 'r5', 'r7', 'r9', 's5', 's7', 's9']}, {'family': ['g0', 'g4', 'wb', 'h7', 'l5']}]
420+
'devices': [{'family': ['l4'], 'name': ['p5', 'p7', 'p9', 'q5', 'q7', 'q9', 'r5', 'r7', 'r9', 's5', 's7', 's9']}, {'family': ['g0', 'g4', 'wb', 'h7', 'l5', 'u5']}]
421421
},{
422422
'hardware': 'stm32-extended',
423423
'features': [],
@@ -448,7 +448,7 @@
448448
'hardware': 'stm32-extended',
449449
'features': ['tcbgt'],
450450
'protocols': ['uart', 'spi'],
451-
'devices': [{'family': ['l4'], 'name': ['p5', 'p7', 'p9', 'q5', 'q7', 'q9', 'r5', 'r7', 'r9', 's5', 's7', 's9']}, {'family': ['g0', 'g4', 'wb', 'h7', 'l5']}]
451+
'devices': [{'family': ['l4'], 'name': ['p5', 'p7', 'p9', 'q5', 'q7', 'q9', 'r5', 'r7', 'r9', 's5', 's7', 's9']}, {'family': ['g0', 'g4', 'wb', 'h7', 'l5', 'u5']}]
452452
},{
453453
'hardware': 'stm32-extended',
454454
'features': [],

tools/scripts/sync_docs.py

100644100755
File mode changed.

0 commit comments

Comments
 (0)