[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1653534995-30794-3-git-send-email-u0084500@gmail.com>
Date: Thu, 26 May 2022 11:16:35 +0800
From: cy_huang <u0084500@...il.com>
To: robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
lee.jones@...aro.org, daniel.thompson@...aro.org,
jingoohan1@...il.com
Cc: pavel@....cz, deller@....de, cy_huang@...htek.com,
lucas_tsai@...htek.com, devicetree@...r.kernel.org,
dri-devel@...ts.freedesktop.org, linux-fbdev@...r.kernel.org,
linux-leds@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 2/2] backlight: rt4831: Add the property parsing for ocp level selection
From: ChiYuan Huang <cy_huang@...htek.com>
Add the property parsing for ocp level selection.
Reported-by: Lucas Tsai <lucas_tsai@...htek.com>
Signed-off-by: ChiYuan Huang <cy_huang@...htek.com>
---
drivers/video/backlight/rt4831-backlight.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/video/backlight/rt4831-backlight.c b/drivers/video/backlight/rt4831-backlight.c
index 42155c7..c81f7d9 100644
--- a/drivers/video/backlight/rt4831-backlight.c
+++ b/drivers/video/backlight/rt4831-backlight.c
@@ -12,6 +12,7 @@
#define RT4831_REG_BLCFG 0x02
#define RT4831_REG_BLDIML 0x04
#define RT4831_REG_ENABLE 0x08
+#define RT4831_REG_BLOPT2 0x11
#define RT4831_BLMAX_BRIGHTNESS 2048
@@ -23,6 +24,8 @@
#define RT4831_BLDIML_MASK GENMASK(2, 0)
#define RT4831_BLDIMH_MASK GENMASK(10, 3)
#define RT4831_BLDIMH_SHIFT 3
+#define RT4831_BLOCP_MASK GENMASK(1, 0)
+#define RT4831_BLOCP_SHIFT 0
struct rt4831_priv {
struct device *dev;
@@ -120,6 +123,16 @@ static int rt4831_parse_backlight_properties(struct rt4831_priv *priv,
if (ret)
return ret;
+ ret = device_property_read_u8(dev, "richtek,bled-ocp-sel", &propval);
+ if (ret)
+ propval = RT4831_BLOCPLVL_1P2A;
+
+ propval = min_t(u8, propval, RT4831_BLOCPLVL_1P8A);
+ ret = regmap_update_bits(priv->regmap, RT4831_REG_BLOPT2, RT4831_BLOCP_MASK,
+ propval << RT4831_BLOCP_SHIFT);
+ if (ret)
+ return ret;
+
ret = device_property_read_u8(dev, "richtek,channel-use", &propval);
if (ret) {
dev_err(dev, "richtek,channel-use DT property missing\n");
--
2.7.4
Powered by blists - more mailing lists