For the xpcc.io library, that I was involved with when I was in college, we ended up defining our own XML format and write importers for the custom formats that ST uses. For the LPC controllers from NXP we had to transcribe the information manually from the data sheet (our attempts to automatically parse the pdfs and extract the info never worked out).
"The CMSIS System View Description format(CMSIS-SVD) formalizes the description of the system contained in ARM Cortex-M processor-based microcontrollers, in particular, the memory mapped registers of peripherals."
Is it that it would be impossible to write an SVD file for another architecture, or just that vendors don't do it?
If it's possible, and this tooling makes SVDs a really powerful tool for porting, then perhaps it would be easier for the community to write SVDs for non-ARM chips than code.
Probably, but companies wouldn’t do it since they have their own tooling. And I don’t think the community would like to write it neither. Look at a SVD file for a single MCU.
It’s a more than 10k loc XML file. It is too much effort for the community to do that and verify it. And as an embedded system engineer, I wouldn’t trust the community-driven register definition because even vendors have some bug on it and it is almost impossible for the community to write a better register definitions than the vendors themselves. This is a vendors’ job, not the community's.
DeviceTree is the standard / tooling you'll see outside ARM micro-controllers. Started on Power, then found a place in Linux's ARM tree, and is now spreading further.