Re: An extremely simplified pinctrl bindings proposal
From: Mitch Bradley
Date: Mon Feb 06 2012 - 14:06:31 EST
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/