I like the general approach of simplifying the pinctrl thing, as the previous approach did not appear to be converging.

One possible name would be "gpconfig" - for general purpose configuration.

The register access model in the strawman proposal is probably too simple. 32-bit memory mapped registers are certainly the most common subcase on ARM, but there are many other cases that occur in practice:

* Registers that must be accessed with 8, 16, or 64-bit cycles.
* Registers that have side effects on read, so read-mask-write must be avoided * Registers accessed via an index/data cycle pair, thus having locking requirements * Registers that must be read after being written, or otherwise requiring some sort of memory-ordering enforcement.
* Time delays between pairs of writes
* PCI configuration registers, which often have some combination of the above
* Registers behind serial buses like I2C

Both Open Firmware and ACPI have addressed this general problem. In addition to a numeric identifier for the register, you need to specify the access semantics. It's difficult to finitely enumerate all possible cases, but you can get to 99.9% with a modest number of access models, and then add new models as needed.

_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to