[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27071da2f01d48141e8ac3dfaa13255d@mail.crapouillou.net>
Date: Thu, 19 Jan 2017 12:19:36 +0100
From: Paul Cercueil <paul@...pouillou.net>
To: Thierry Reding <thierry.reding@...il.com>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Ralf Baechle <ralf@...ux-mips.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Boris Brezillon <boris.brezillon@...e-electrons.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Maarten ter Huurne <maarten@...ewalker.org>,
Lars-Peter Clausen <lars@...afoo.de>,
Paul Burton <paul.burton@...tec.com>,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mips@...ux-mips.org,
linux-mmc@...r.kernel.org, linux-mtd@...ts.infradead.org,
linux-pwm@...r.kernel.org, linux-fbdev@...r.kernel.org,
james.hogan@...tec.com
Subject: Re: [PATCH 00/13] Ingenic JZ4740 / JZ4780 pinctrl driver
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
Powered by blists - more mailing lists