stm32lib: ST not adding new parts.
Description
It appears ST are no longer adding new MCU drivers to stm32lib. For the H5 series stm32lib only supports H503, H562, H563 and H573. It does not support H523, H533, H5E or H5F.
New parts like the H523 are only supported in stand-alone repositories cmsis-device-h5 and stm32h5xx-hal-driver. The C0 series are also only supported in stand-alone drivers. The C5 has no support yet, but I expect it to be stand-alone. ST are also imminently releasing HAL2, see: https://github.com/STMicroelectronics/STM32CubeU5-V2-Preview
I have diffed the stm32lib H5 drivers with the stand-alone versions and there are quite a few difference. NUCLEO_H563ZI produces many errors when built with the stand-alone drivers.
I want to use the H523, but I don't know how to proceed or how the developers would want to incorporate new ST drivers - either add stand-alone submodules or wait for HAL2. I don't think my git and C skills are up to the task.
I think the H5, C5 and C0 families will be very important. ST is putting a lot of effort into M33 parts and they are significantly cheaper than the older M4 parts. H5 and C5 are pin compatible high performance / low cost families and C0 is pin compatible low cost alternative to G0.
https://github.com/STMicroelectronics/cmsis-device-h5
https://github.com/STMicroelectronics/stm32h5xx-hal-driver
https://github.com/STMicroelectronics/cmsis-device-c0
https://github.com/STMicroelectronics/stm32c0xx-hal-driver
Code Size
It is reported the HAL2 drivers will be more compact.
Implementation
I hope the MicroPython maintainers or community will implement this feature
Code of Conduct
Yes, I agree
Add STM CMSIS and HAL files as a submodule called "stm32lib"
As discussed in #3283, this PR moves all the STM CMSIS and HAL files to a submodule. The submodule is named "stm32lib" to emphasise that it's for the STM32 line of MCUs (as opposed to stmlib), and it's located at https://github.com/micropython/stm32lib.
There should be no regressions using this new submodule because it contains on one of its branches (the one that's linked here) an (almost) exact copy of the code that is removed.
This PR should be good to go but please voice any concerns.