You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a a peripheral is partitioned into multiple clusters because registers differ on a subset of the clustered registers between partitions, it would be nice to be able to share the enum definitions from registers that are identical. Even better would be to also share the enum definitions in identical fields in registers that have extra fields.
As an example, the STM32H5xx series GPDMA peripheral has a bank of 8 channels. Channels 0-5 are identical, but channels 6 & 7 have extra functionality, which manifests in extra fields in a few of those registers. Unfortunately this means that the bank is partitioned into channels 0-5 and channels 6-7 and all the identical field definitions are duplicated across the separate partitions, which also means that a single common enum cannot be used for addressing identical registers across all 8 channels.
The text was updated successfully, but these errors were encountered:
Ah, great. I was trying something with register patches before the cluster step. I didn't know you could put _derives inside the _cluster definitions. I'll try this when #904 lands.
If a a peripheral is partitioned into multiple clusters because registers differ on a subset of the clustered registers between partitions, it would be nice to be able to share the enum definitions from registers that are identical. Even better would be to also share the enum definitions in identical fields in registers that have extra fields.
As an example, the STM32H5xx series GPDMA peripheral has a bank of 8 channels. Channels 0-5 are identical, but channels 6 & 7 have extra functionality, which manifests in extra fields in a few of those registers. Unfortunately this means that the bank is partitioned into channels 0-5 and channels 6-7 and all the identical field definitions are duplicated across the separate partitions, which also means that a single common enum cannot be used for addressing identical registers across all 8 channels.
The text was updated successfully, but these errors were encountered: