Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1693579 > unrolled thread
| Started by | Enric Balletbo i Serra <enric.balletbo@collabora.com> |
|---|---|
| First post | 2017-07-21 12:50 +0200 |
| Last post | 2017-07-25 19:50 +0200 |
| Articles | 8 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH v4 1/5] pwm-backlight: enable/disable the PWM before/after LCD enable toggle. Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-07-21 12:50 +0200
[PATCH v4 4/5] ARM: dts: rockchip: set PWM delay backlight settings for Veyron. Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-07-21 12:50 +0200
[PATCH v4 5/5] ARM: dts: rockchip: set PWM delay backlight settings for Minnie Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-07-21 12:50 +0200
[PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-07-21 12:50 +0200
Re: [PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. Daniel Thompson <daniel.thompson@linaro.org> - 2017-07-24 17:30 +0200
Re: [PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. Pavel Machek <pavel@ucw.cz> - 2017-07-24 21:30 +0200
Re: [PATCH v4 1/5] pwm-backlight: enable/disable the PWM before/after LCD enable toggle. Daniel Thompson <daniel.thompson@linaro.org> - 2017-07-24 17:20 +0200
Re: [PATCH v4 1/5] pwm-backlight: enable/disable the PWM before/after LCD enable toggle. "Jingoo Han" <jingoohan1@gmail.com> - 2017-07-25 19:50 +0200
| From | Enric Balletbo i Serra <enric.balletbo@collabora.com> |
|---|---|
| Date | 2017-07-21 12:50 +0200 |
| Subject | [PATCH v4 1/5] pwm-backlight: enable/disable the PWM before/after LCD enable toggle. |
| Message-ID | <u5DFn-3I1-7@gated-at.bofh.it> |
Before this patch the enable signal was set before the PWM signal and vice-versa on power off. This sequence is wrong, at least, it is on the different panels datasheets that I checked, so I inverted the sequence to follow the specs. For reference the following panels have the mentioned sequence: - N133HSE-EA1 (Innolux) - N116BGE (Innolux) - N156BGE-L21 (Innolux) - B101EAN0 (Auo) - B101AW03 (Auo) - LTN101NT05 (Samsung) - CLAA101WA01A (Chunghwa) Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> --- Changes since v3: - List the part numbers for the panel checked (Daniel Thompson) Changes since v2: - Add this as a separate patch (Thierry Reding) Changes since v1: - None drivers/video/backlight/pwm_bl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index 002f1ce..909a686 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) if (err < 0) dev_err(pb->dev, "failed to enable power supply\n"); + pwm_enable(pb->pwm); + if (pb->enable_gpio) gpiod_set_value_cansleep(pb->enable_gpio, 1); - pwm_enable(pb->pwm); pb->enabled = true; } @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb) if (!pb->enabled) return; - pwm_config(pb->pwm, 0, pb->period); - pwm_disable(pb->pwm); - if (pb->enable_gpio) gpiod_set_value_cansleep(pb->enable_gpio, 0); + pwm_config(pb->pwm, 0, pb->period); + pwm_disable(pb->pwm); + regulator_disable(pb->power_supply); pb->enabled = false; } -- 2.9.3
[toc] | [next] | [standalone]
| From | Enric Balletbo i Serra <enric.balletbo@collabora.com> |
|---|---|
| Date | 2017-07-21 12:50 +0200 |
| Subject | [PATCH v4 4/5] ARM: dts: rockchip: set PWM delay backlight settings for Veyron. |
| Message-ID | <u5DFn-3I1-9@gated-at.bofh.it> |
| In reply to | #1693579 |
For veyron the binding should provide both PWM timings, the delay between
you enable the PWM and set the enable signal, and the delay between you
disable the PWM signal and clear the enable signal. Update the binding
accordingly, in this case the panels connected to the veyron boards have
a symmetric power sequence, hence the same value is used.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
Changes since v3:
- Use new -ms names for proprieties.
Changes since v2:
- Use new names for proprieties.
Changes since v1:
- Add this new patch to fix current binding on veyron.
arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
index d752a31..5a8c7f3 100644
--- a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
+++ b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
@@ -96,7 +96,8 @@
pinctrl-names = "default";
pinctrl-0 = <&bl_en>;
pwms = <&pwm0 0 1000000 0>;
- pwm-delay-us = <10000>;
+ post-pwm-on-delay-ms = <10>;
+ pwm-off-delay-ms = <10>;
};
gpio-charger {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Enric Balletbo i Serra <enric.balletbo@collabora.com> |
|---|---|
| Date | 2017-07-21 12:50 +0200 |
| Subject | [PATCH v4 5/5] ARM: dts: rockchip: set PWM delay backlight settings for Minnie |
| Message-ID | <u5DFo-3I1-17@gated-at.bofh.it> |
| In reply to | #1693579 |
The minnie devices comes with an AUO B101EAN01 panel which is different
from default veyron devices, thus the power on/off timing sequence is
slightly different. The datasheet specifies a pwm delay of 200 ms, so
update the PMW delay proprieties accordingly.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
Heiko,
I'm not able to test this patch in a minnie device because I don't have
one, so could you do a quick try, please?
Changes since v3:
- Use new -ms names for proprieties.
- Fix the delay, should be 200ms instead of 20ms (Pavel)
Changes since v2:
- Use new names for proprieties.
Changes since v1:
- Add this new patch as minnie has differents timings
arch/arm/boot/dts/rk3288-veyron-minnie.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/rk3288-veyron-minnie.dts b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
index 544de60..4c5307e6 100644
--- a/arch/arm/boot/dts/rk3288-veyron-minnie.dts
+++ b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
@@ -123,6 +123,8 @@
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
power-supply = <&backlight_regulator>;
+ post-pwm-on-delay-ms = <200>;
+ pwm-off-delay-ms = <200>;
};
&emmc {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Enric Balletbo i Serra <enric.balletbo@collabora.com> |
|---|---|
| Date | 2017-07-21 12:50 +0200 |
| Subject | [PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. |
| Message-ID | <u5DFo-3I1-21@gated-at.bofh.it> |
| In reply to | #1693579 |
Hardware needs a delay between setting an initial (non-zero) PWM and
enabling the backlight using GPIO. The post-pwm-on-delay-ms specifies
this delay in milli seconds. Hardware also needs a delay between disabing
the backlight using GPIO and setting PWM value to 0. The pwm-off-delay-ms
is this delay in milli seconds.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
Based on the original Huang Lin <hl@rock-chips.com> work.
Changes since v3:
- Replace us for ms.
- Add Acked-by: Pavel Machek <pavel@ucw.cz>
Changes since v2:
- Use separate properties (Rob Herring)
Changes since v1:
- As suggested by Daniel Thompson
- Do not assume power-on delay and power-off delay will be the same
Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
index 764db86..3108109 100644
--- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
+++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
@@ -17,6 +17,10 @@ Optional properties:
"pwms" property (see PWM binding[0])
- enable-gpios: contains a single GPIO specifier for the GPIO which enables
and disables the backlight (see GPIO binding[1])
+ - post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM
+ and enabling the backlight using GPIO.
+ - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
+ and setting PWM value to 0.
[0]: Documentation/devicetree/bindings/pwm/pwm.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
@@ -32,4 +36,6 @@ Example:
power-supply = <&vdd_bl_reg>;
enable-gpios = <&gpio 58 0>;
+ post-pwm-on-delay-ms = <10>;
+ pwm-off-delay-ms = <10>;
};
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Daniel Thompson <daniel.thompson@linaro.org> |
|---|---|
| Date | 2017-07-24 17:30 +0200 |
| Subject | Re: [PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. |
| Message-ID | <u6Nt1-6HD-25@gated-at.bofh.it> |
| In reply to | #1693582 |
On 21/07/17 11:48, Enric Balletbo i Serra wrote: > Hardware needs a delay between setting an initial (non-zero) PWM and > enabling the backlight using GPIO. The post-pwm-on-delay-ms specifies > this delay in milli seconds. Hardware also needs a delay between disabing > the backlight using GPIO and setting PWM value to 0. The pwm-off-delay-ms > is this delay in milli seconds. > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > Acked-by: Pavel Machek <pavel@ucw.cz> > --- > Based on the original Huang Lin <hl@rock-chips.com> work. > > Changes since v3: > - Replace us for ms. > - Add Acked-by: Pavel Machek <pavel@ucw.cz> > Changes since v2: > - Use separate properties (Rob Herring) > Changes since v1: > - As suggested by Daniel Thompson > - Do not assume power-on delay and power-off delay will be the same > > Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > index 764db86..3108109 100644 > --- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > +++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > @@ -17,6 +17,10 @@ Optional properties: > "pwms" property (see PWM binding[0]) > - enable-gpios: contains a single GPIO specifier for the GPIO which enables > and disables the backlight (see GPIO binding[1]) > + - post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM > + and enabling the backlight using GPIO. > + - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO > + and setting PWM value to 0. Whilst it is strictly true that the delay you added to the driver is currently between disabling the backlight and setting PWM value to 0 I don't think the action should be described at this level of detail in the DT bindings. The semantic action that is being performed is "stopping the PWM". This is currently implemented by setting the duty cycle to 0 and then calling disable but that could change (especially so since the current behavior looks asymmetric versus the enable sequence). Daniel. > > [0]: Documentation/devicetree/bindings/pwm/pwm.txt > [1]: Documentation/devicetree/bindings/gpio/gpio.txt > @@ -32,4 +36,6 @@ Example: > > power-supply = <&vdd_bl_reg>; > enable-gpios = <&gpio 58 0>; > + post-pwm-on-delay-ms = <10>; > + pwm-off-delay-ms = <10>; > }; >
[toc] | [prev] | [next] | [standalone]
| From | Pavel Machek <pavel@ucw.cz> |
|---|---|
| Date | 2017-07-24 21:30 +0200 |
| Subject | Re: [PATCH v4 2/5] dt-bindings: pwm-backlight: add PWM delay proprieties. |
| Message-ID | <u6Rdg-OM-3@gated-at.bofh.it> |
| In reply to | #1694813 |
[Multipart message — attachments visible in raw view] — view raw
On Mon 2017-07-24 16:21:44, Daniel Thompson wrote: > On 21/07/17 11:48, Enric Balletbo i Serra wrote: > >Hardware needs a delay between setting an initial (non-zero) PWM and > >enabling the backlight using GPIO. The post-pwm-on-delay-ms specifies > >this delay in milli seconds. Hardware also needs a delay between disabing > >the backlight using GPIO and setting PWM value to 0. The pwm-off-delay-ms > >is this delay in milli seconds. > > > >Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > >Acked-by: Pavel Machek <pavel@ucw.cz> > >--- > >Based on the original Huang Lin <hl@rock-chips.com> work. > > > >Changes since v3: > > - Replace us for ms. > > - Add Acked-by: Pavel Machek <pavel@ucw.cz> > >Changes since v2: > > - Use separate properties (Rob Herring) > >Changes since v1: > > - As suggested by Daniel Thompson > > - Do not assume power-on delay and power-off delay will be the same > > > > Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > >diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > >index 764db86..3108109 100644 > >--- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > >+++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt > >@@ -17,6 +17,10 @@ Optional properties: > > "pwms" property (see PWM binding[0]) > > - enable-gpios: contains a single GPIO specifier for the GPIO which enables > > and disables the backlight (see GPIO binding[1]) > >+ - post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM > >+ and enabling the backlight using GPIO. > >+ - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO > >+ and setting PWM value to 0. > > Whilst it is strictly true that the delay you added to the driver is > currently between disabling the backlight and setting PWM value to 0 I don't > think the action should be described at this level of detail in the DT > bindings. > > The semantic action that is being performed is "stopping the PWM". This is > currently implemented by setting the duty cycle to 0 and then calling > disable but that could change (especially so since the current behavior > looks asymmetric versus the enable sequence). Well, datasheet say the delay is required between given actions, so yes, I'd say that belongs in the device tree at this level of detail. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[toc] | [prev] | [next] | [standalone]
| From | Daniel Thompson <daniel.thompson@linaro.org> |
|---|---|
| Date | 2017-07-24 17:20 +0200 |
| Subject | Re: [PATCH v4 1/5] pwm-backlight: enable/disable the PWM before/after LCD enable toggle. |
| Message-ID | <u6Njk-6DL-21@gated-at.bofh.it> |
| In reply to | #1693579 |
On 21/07/17 11:48, Enric Balletbo i Serra wrote: > Before this patch the enable signal was set before the PWM signal and > vice-versa on power off. This sequence is wrong, at least, it is on > the different panels datasheets that I checked, so I inverted the sequence > to follow the specs. > > For reference the following panels have the mentioned sequence: > - N133HSE-EA1 (Innolux) > - N116BGE (Innolux) > - N156BGE-L21 (Innolux) > - B101EAN0 (Auo) > - B101AW03 (Auo) > - LTN101NT05 (Samsung) > - CLAA101WA01A (Chunghwa) > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Acked-by: Daniel Thompson <daniel.thompson@linaro.org> > --- > Changes since v3: > - List the part numbers for the panel checked (Daniel Thompson) > Changes since v2: > - Add this as a separate patch (Thierry Reding) > Changes since v1: > - None > > drivers/video/backlight/pwm_bl.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c > index 002f1ce..909a686 100644 > --- a/drivers/video/backlight/pwm_bl.c > +++ b/drivers/video/backlight/pwm_bl.c > @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) > if (err < 0) > dev_err(pb->dev, "failed to enable power supply\n"); > > + pwm_enable(pb->pwm); > + > if (pb->enable_gpio) > gpiod_set_value_cansleep(pb->enable_gpio, 1); > > - pwm_enable(pb->pwm); > pb->enabled = true; > } > > @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb) > if (!pb->enabled) > return; > > - pwm_config(pb->pwm, 0, pb->period); > - pwm_disable(pb->pwm); > - > if (pb->enable_gpio) > gpiod_set_value_cansleep(pb->enable_gpio, 0); > > + pwm_config(pb->pwm, 0, pb->period); > + pwm_disable(pb->pwm); > + > regulator_disable(pb->power_supply); > pb->enabled = false; > } >
[toc] | [prev] | [next] | [standalone]
| From | "Jingoo Han" <jingoohan1@gmail.com> |
|---|---|
| Date | 2017-07-25 19:50 +0200 |
| Message-ID | <u7c84-5Ol-27@gated-at.bofh.it> |
| In reply to | #1694806 |
On Monday, July 24, 2017 11:14 AM, Daniel Thompson wrote: > On 21/07/17 11:48, Enric Balletbo i Serra wrote: > > Before this patch the enable signal was set before the PWM signal and > > vice-versa on power off. This sequence is wrong, at least, it is on > > the different panels datasheets that I checked, so I inverted the > sequence > > to follow the specs. > > > > For reference the following panels have the mentioned sequence: > > - N133HSE-EA1 (Innolux) > > - N116BGE (Innolux) > > - N156BGE-L21 (Innolux) > > - B101EAN0 (Auo) > > - B101AW03 (Auo) > > - LTN101NT05 (Samsung) > > - CLAA101WA01A (Chunghwa) > > > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > > Acked-by: Daniel Thompson <daniel.thompson@linaro.org> Acked-by: Jingoo Han <jingoohan1@gmail.com> Best regards, Jingoo Han > > > --- > > Changes since v3: > > - List the part numbers for the panel checked (Daniel Thompson) > > Changes since v2: > > - Add this as a separate patch (Thierry Reding) > > Changes since v1: > > - None > > > > drivers/video/backlight/pwm_bl.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/video/backlight/pwm_bl.c > b/drivers/video/backlight/pwm_bl.c > > index 002f1ce..909a686 100644 > > --- a/drivers/video/backlight/pwm_bl.c > > +++ b/drivers/video/backlight/pwm_bl.c > > @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct > pwm_bl_data *pb, int brightness) > > if (err < 0) > > dev_err(pb->dev, "failed to enable power supply\n"); > > > > + pwm_enable(pb->pwm); > > + > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 1); > > > > - pwm_enable(pb->pwm); > > pb->enabled = true; > > } > > > > @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct > pwm_bl_data *pb) > > if (!pb->enabled) > > return; > > > > - pwm_config(pb->pwm, 0, pb->period); > > - pwm_disable(pb->pwm); > > - > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 0); > > > > + pwm_config(pb->pwm, 0, pb->period); > > + pwm_disable(pb->pwm); > > + > > regulator_disable(pb->power_supply); > > pb->enabled = false; > > } > >
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web