Hi,
Is there a documentation available what the different attributes mean? Especially for the attributes marked as optional the use differs quite a lot between the different architectures.
Do you mean the `type` vs. `pin-id` difference between AVR and STM32?
E.g. "pcint", "extint", "func", "bits" and "define" in the <gpio> tag.
The driver specific data does not really follow a common schema, since the data is architecture and sometimes even series specific (like GPIO data on STM32F1). There are some lax agreements on naming things, like the `port` and `id` (which should actually be `pin`?), and the `af` element, but until now there wasn't a way to formally specify and enforce that. So I think your schema work is very important and attacks a root problem of the device files. Could we have a base schema and then "specialize" that for the architectures? An alternative may be to place a schema with a driver and load that dynamically. But I really dislike that, because there is information that crosses driver boundaries, like the DMA interconnect data. There are also drivers that need to know about other driver data (like the GPIO needs to know how many ADCs there are [1]) which means in future I'd like to pass the entire device file to all drivers, instead of just their driver subtree. Niklas PS: Please feel free to ignore the LPC device files (`func`, `bits`). They don't have any future, since we've found no data source to generate them from. [1]: https://github.com/roboterclubaachen/xpcc/blob/develop/src/xpcc/architecture...