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/platform/driver/gpio/stm32/gpio.hpp.in#L18
_______________________________________________
xpcc-dev mailing list
xpcc-dev@lists.rwth-aachen.de
http://mailman.rwth-aachen.de/mailman/listinfo/xpcc-dev

Reply via email to