On 11/05/17 17:16, Tony Lindgren wrote:
pinctrl-single doesn't allow to freely set the bits, but requires the pins to have similar bit structure (function-mask). In CONTROL_DSIPHY, DSI1 and DSI2 have different bit structures.
OK if the register mixes different types of controllers that can't be partitioned into separate 8 or 16 bit instances then you're out of luck with pinctrl-single. If it does not fit, no point trying to force it, then you need a custom pinctrl driver.
Writing a driver for a single register on a legacy SoC feels like an overkill... But I guess a generic pinctrl driver which allows free writes to registers would do the trick, but, then again, if so far we have a single register in a single SoC that needs this, maybe it's not worth the effort.
I don't understand why pinctrl-single tries so hard to fit things into one mold...
Basically on many SoCs pinctrl is just the same exact control register repeated for each pin on the SoC:
Right, I was just wondering why it forces one to have a function mask, versus allowing it to be left out and thus making it possible to handle also cases where the pins require different kinds of bit masks.
Tomi