Hi Chris, On Monday 09 Jan 2017 21:08:49 Chris Brandt wrote: > On Monday, January 09, 2017, Laurent Pinchart wrote: > > Pin control on the Renesas RZ chips is performed per pin instead of per > > function (but unfortunately with the various bits of configuration split > > across a bunch of registers, otherwise we could have used pinctrl-single). > > I will say this...'spoilier alert'...you're not going to see this particular > PFC HW much anymore in the RZA series. > > It will still be a 'per pin control' like the existing RZ/A1, but the bits > will not be spread out over a bunch of registers. So something like > pinctrl-single should work. Both the existing RZ/A model and the pinctrl model are in my opinion improvements over the RZ/G and R-Car models. I don't care much about whether pinctrl-single can be used, but we really need hardware architectures that don't require those huge data tables. > No idea about the future of RZG series. I'll cross my fingers. > > This gives us an opportunity to move away from the sh-pfc awful (but more > > or less needed for the R-Car family) architecture and implement something > > much, much cleaner without all those obscure data tables and macros, with > > per-pin configuration. Shouldn't we rejoice and embrace that opportunity ? > > Honestly, that driver structure confuses the heck out of me. I guess you > have to understand the restrictions of the R-Car PFC HW to really > appreciate it. No, you can't appreciate it, no matter what :-) > Of course I like the idea of a simple PFC for Renesas SoCs, of course the > existing RZ/A1 would be (hopefully) the worst case scenario. > > I assume to make a one-size-fits-all per-pin driver, instead of filling out > structures and enums, you'd have to have callback functions that basically > you pass "set pin X to function #3"...which basically brings you back to > what the core of the pinctrl system does now any (if I understand it > correctly). It's more complex than that. Both the pin-based and group-based models have their pros and cons, and the pinctrl API is some kind of mix that allows both options. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html