* Tomi Valkeinen tomi.valkeinen@ti.com [170511 01:37]:
On 10/05/17 21:29, Tony Lindgren wrote:
- Tomi Valkeinen tomi.valkeinen@ti.com [170510 10:44]:
On 10/05/17 19:46, Tony Lindgren wrote:
- Tomi Valkeinen tomi.valkeinen@ti.com [170510 00:26]:
On 09/05/17 18:05, Sebastian Reichel wrote:
patch 10: I think dsi pin muxing should be done by providing pinmux info via DT.
Unfortunately there's no pinmux driver for the kind of register we have for DSI. At least this was the case not that long ago.
What are the TRM names for the registers you need to mux?
CONTROL_DSIPHY
Oh just one register with few bits? That should be doable in dts with pinctrl-single,bit-per-mux and pinctrl-single,bits.
No, I don't think it works. Or at least I can't figure out how.
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.
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:
$ git grep '"pinctrl-single"' arch/arm*/boot/dts | sort | uniq | wc -l 20
Regards,
Tony