Re: [PATCH v2 10/16] pwm: Add PWM modes
From: Rob Herring
Date: Mon Jan 22 2018 - 13:13:12 EST
On Mon, Jan 22, 2018 at 2:54 AM, Claudiu Beznea
<Claudiu.Beznea@xxxxxxxxxxxxx> wrote:
>
>
> On 20.01.2018 00:34, Rob Herring wrote:
>> On Fri, Jan 12, 2018 at 04:22:57PM +0200, Claudiu Beznea wrote:
>>> Define a macros for PWM modes to be used by device tree sources.
>>>
>>> Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
>>> ---
>>> include/dt-bindings/pwm/pwm.h | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/include/dt-bindings/pwm/pwm.h b/include/dt-bindings/pwm/pwm.h
>>> index ab9a077e3c7d..b8617431f8ec 100644
>>> --- a/include/dt-bindings/pwm/pwm.h
>>> +++ b/include/dt-bindings/pwm/pwm.h
>>> @@ -12,4 +12,7 @@
>>>
>>> #define PWM_POLARITY_INVERTED (1 << 0)
>>>
>>> +#define PWM_DTMODE_NORMAL (1 << 0)
>>
>> Bit 0 is already taken. I think you mean (0 << 1)?
> I wanted to have the PWM modes in a new cell, so that the pwms binding to be
> something like:
> pwms=<pwm-controller pwm-channel pwm-period pwm-flags pwm-mode>
>
> If you think it is mode feasible to also include PWM mode in the cell for
> PWM flags, please let me know.
Yes, but you have to make "normal" be no bit set to be compatible with
everything already out there.
>> Personally, I'd just drop this define. A define for a 0 value makes more
>> sense when each state is equally used (like active high or low), but if
>> 0 is the more common case, then I don't the need for a define.
> I want it to have these defines like bit defines:
> PWM_DTMODE_NORMAL=0x1
> PWM_DTMODE_COMPLEMENTARY=0x2
> PWM_DTMODE_PUSH_PULL=0x4
Thinking about this some more, shouldn't the new modes just be
implied? A client is going to require one of these modes or it won't
work right.
Also complementary mode could be accomplished with a single pwm output
and a board level inverter, right? How would that be handled when the
PWM driver doesn't support that mode?
Rob