[PATCH v2 0/3] pwm: lpc32xx: Add support to control PWM_PIN_LEVEL bit

Vladimir Zapolskiy vz at mleia.com
Fri Jul 1 01:13:01 PDT 2016


Hi Sylvain,

On 30.06.2016 16:25, Sylvain Lemieux wrote:
> Hi Vladimir,
> 
> On Thu, 2016-06-30 at 11:43 +0300, Vladimir Zapolskiy wrote:
>> Hi Sylvain,
>>
>> On 27.06.2016 16:09, Sylvain Lemieux wrote:
>>> From: Sylvain Lemieux <slemieux at tycoint.com>
>>>
>>> The PWM_PIN_LEVEL bit is leave unset by the kernel PWM driver.
>>>
>>> Prior to commit 08ee77b5a5de27ad63c92262ebcb4efe0da93b58,
>>> the PWM_PIN_LEVEL bit was always clear when the PWM was disable
>>> and a 0 logic level was apply to the output.
>>>
>>> According to the LPC32x0 User Manual [1],
>>> the default value for bit 30 (PWM_PIN_LEVEL) is 0.
>>>
>>> First patch:
>>> * initialize the pin level to 0 (default value) and update
>>>   the register value accordingly.
>>>
>>> Second anf third patches:
>>> *  provide support to configure the pin output (i.e. PWM_PIN_LEVEL bit)
>>>    when the PWM is disabled.
>>
>> a short question, how do you use PWM? Does it serve as a backlight
>> or something else?
>>
> The PWM is used to control the LCD backlight intensity.
> 
> When we setup the backlight brightness level to 0, 
> it should turn off the LCD display by disabling the PWM.
> 
> This is what was added to our board dts for it:
> 	backlight {
> 		compatible = "pwm-backlight";
> 		pwms = <&pwm1 0 1250000>;
> 
> 		brightness-levels = <0 20 100>;
> 		default-brightness-level = <2>;
> 	};
> 

this is good that there is a consumer and we are not talking in
general, then it might be more visual that the new property probably
is not needed due to the lack of use cases.

I think that we should start from something as simple as one-time
setting of PWMx_PIN_LEVEL to default 0 in lpc32xx_pwm_probe() and then
implement a proper support of boundary values as suggested in discussion
of v1 series.

>>> Note:
>>> * Follow this URL to access the discussion for version 1 of this
>>>   patch: http://thread.gmane.org/gmane.linux.pwm/3882

--
With best wishes,
Vladimir



More information about the linux-arm-kernel mailing list