[U-Boot] [PATCH v2 1/1] video: backlight: Parse PWM polarity cell

This patch enables the reading of the polarity cell from a PWM phandle and calls pwm_set_invert().
Not all platforms have polarity cell, so skip if it's not pressent.
Signed-off-by: Stefan Mavrodiev stefan@olimex.com --- Changes for v2: - Check if phandle has polarity cell - Add missing signed-off-by
drivers/video/pwm_backlight.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/video/pwm_backlight.c b/drivers/video/pwm_backlight.c index bd733f5f1c..a587977c22 100644 --- a/drivers/video/pwm_backlight.c +++ b/drivers/video/pwm_backlight.c @@ -39,6 +39,12 @@ struct pwm_backlight_priv { struct udevice *pwm; uint channel; uint period_ns; + /* + * the polarity of one PWM + * 0: normal polarity + * 1: inverted polarity + */ + bool polarity; u32 *levels; int num_levels; uint default_level; @@ -57,7 +63,10 @@ static int set_pwm(struct pwm_backlight_priv *priv) (priv->max_level - priv->min_level + 1); ret = pwm_set_config(priv->pwm, priv->channel, priv->period_ns, duty_cycle); + if (ret) + return log_ret(ret);
+ ret = pwm_set_invert(priv->pwm, priv->channel, priv->polarity); return log_ret(ret); }
@@ -202,6 +211,8 @@ static int pwm_backlight_ofdata_to_platdata(struct udevice *dev) return log_msg_ret("Not enough arguments to pwm\n", -EINVAL); priv->channel = args.args[0]; priv->period_ns = args.args[1]; + if (args.args_count > 2) + priv->polarity = args.args[2];
index = dev_read_u32_default(dev, "default-brightness-level", 255); cell = dev_read_prop(dev, "brightness-levels", &len);

On Fri, 12 Apr 2019 08:56:27 +0300 Stefan Mavrodiev stefan@olimex.com wrote:
This patch enables the reading of the polarity cell from a PWM phandle and calls pwm_set_invert().
Not all platforms have polarity cell, so skip if it's not pressent.
Signed-off-by: Stefan Mavrodiev stefan@olimex.com
Reviewed-by: Anatolij Gustschin agust@denx.de

On Fri, 12 Apr 2019 08:56:27 +0300 Stefan Mavrodiev stefan@olimex.com wrote: ...
Changes for v2: - Check if phandle has polarity cell - Add missing signed-off-by
drivers/video/pwm_backlight.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
Applied to u-boot-video/master, thanks!
-- Anatolij
participants (2)
-
Anatolij Gustschin
-
Stefan Mavrodiev