Re: [PATCH 00/13] Ingenic JZ4740 / JZ4780 pinctrl driver

Paul Cercueil
2017-01-19T11:19:36Z

Le 2017-01-18 08:15, Thierry Reding a Ã©crit :

> On Wed, Jan 18, 2017 at 12:14:08AM +0100, Paul Cercueil wrote:
> [...]
>
>> One problem still unresolved: the pinctrl framework does not allow us
>> to configure each pin on demand (someone please prove me wrong), when
>> the various PWM channels are requested or released. For instance, the
>> PWM channels can be configured from sysfs, which would require all PWM
>> pins to be configured properly beforehand for the PWM function,
>> eventually causing conflicts with other platform or board drivers.
>
> Still catching up on a lot of email, so I haven't gone through the
> entire series. But I don't think the above is true.
>
> My understanding is that you can have separate pin groups for each
> pin (provided the hardware supports that) and then control each of
> these groups dynamically at runtime.
>
> That is you could have the PWM driver's ->request() and ->free()
> call into the pinctrl framework to select the correct pinmux
> configuration as necessary.

Thanks for the feedback.

The problem with pinctrl and PWM, is that the pinctrl API works by
"states".
A default state, sleep state, and basically any custom state that the
devicetree
provides. This works well until you need to control individually each
pin; with
8 pins, you would need 2^8 states, each one corresponding to a given
configuration.

-Paul