Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1480485
| From | Matthijs van Duin <matthijsvanduin@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz |
| Date | 2016-09-10 05:20 +0200 |
| Message-ID | <sfGZH-3c2-9@gated-at.bofh.it> (permalink) |
| References | <sdYel-1Lf-25@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, Sep 05, 2016 at 11:16:38AM +0200, H. Nikolaus Schaller wrote:
> This helps to get 100% intensity closer to "always on".
>
> It compensates for an effect of dmtimer which at 100% still emits short
> "off" impulses and the startup-time of the DC/DC converter makes
> backlight intensity not reach full scale. The lower the PWM frequency
> is, the smaller is this effect.
Sounds to me like you're working around something that should be fixed
in the pwm-omap-dmtimer driver instead?
Looking at the (baremetal) dmtimer pwm code I wrote ages ago, which
supports fully off to fully on, I do seem to be handling both endpoints
in a special way. A rough conversion of my code into C:
// period in timer cycles
void pwm_init( volatile struct dmtimer *timer, u32 period, bool invert )
{
assert( period >= 2 );
timer->if_ctrl = 2; // reset timer, configure as non-posted
timer->reload = -period;
timer->trigger = 0;
timer->config = 0x1043 | invert << 7; // pwm initially disabled
}
// value in timer cycles, 0 <= value <= period
void pwm_set( volatile struct dmtimer *timer, u32 value )
{
if( value == 0 ) {
timer->config &= ~0x800; // disable pwm
return;
}
u32 period = -timer->reload;
if( value >= period )
timer->match = 0;
else
timer->match = value - period - 1;
timer->config |= 0x800; // enable pwm
}
At the time I used a scope to check the exact behaviour of dmtimer pwm
on a dm814x. My notes mention (when pwm enabled):
match < reload output on continuous
match == reload output on 1 cycle, off period-1 cycles
match == -2 output on period-1 cycles, off 1 cycle
match == -1 output freezes
Hope this helps
Matthijs
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz "H. Nikolaus Schaller" <hns@goldelico.com> - 2016-09-05 11:20 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Matthijs van Duin <matthijsvanduin@gmail.com> - 2016-09-10 05:20 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz "H. Nikolaus Schaller" <hns@goldelico.com> - 2016-09-10 09:10 +0200
Re: [Letux-kernel] [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz "H. Nikolaus Schaller" <hns@goldelico.com> - 2016-09-10 09:20 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Matthijs van Duin <matthijsvanduin@gmail.com> - 2016-09-10 10:30 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz "H. Nikolaus Schaller" <hns@goldelico.com> - 2016-09-10 11:20 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Tony Lindgren <tony@atomide.com> - 2016-09-14 00:10 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz "H. Nikolaus Schaller" <hns@goldelico.com> - 2016-09-14 06:30 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Tony Lindgren <tony@atomide.com> - 2016-09-14 20:20 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Neil Armstrong <narmstrong@baylibre.com> - 2016-09-10 15:50 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz David Rivshin <drivshin@awxrd.com> - 2016-09-12 16:50 +0200
Re: [PATCH] ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz Neil Armstrong <narmstrong@baylibre.com> - 2016-09-12 17:10 +0200
csiph-web