Hi Oleksii, thanks for this patch, which still looks very good to me. A question that was raised in discussion with Takahiro Akashi was how we identify pins that can be used for GPIO and if the spec or implementation has given any thought to that. I can think of a few, such that: 1. Pins that can be used for GPIO all belong to some group - possibly even one group per pin such as "gpioA1", "gpioA2", "gpioA3" etc - that can be assigned a function named "gpio" or similar. 2. GPIO is seen as something external or "third usecase" that is handled by pin config, not by pin mux. If it is 1 - which I find likely - it would be good to standardize the name of the function to be "gpio" and somehow make it clear that all pins that are desired to be used for GPIO need to have a (group, function) tuple pair such as ("gpio001", "gpio") that will put the pin into GPIO mode. If the assumption is anything goes, i.e. a vendor could say something like ("io-group-99", "generic-io") to put a certain pin into GPIO mode, that is maybe not so optimal, because it's nice for the GPIO driver (which will come up) to be able to figure out by e.g. string name conventions that a pin is in GPIO mode, and which group and function that will put it into GPIO mode. If this generality is not desired, having standard names for GPIO functions and groups is still going to be an upside, if it can be achieved. But maybe this isn't attainable at this point? Yours, Linus Walleij