From 7ff7c310d369aefcc6ad214b42206e510657e294 Mon Sep 17 00:00:00 2001 From: Michal Koziel Date: Mon, 7 Jun 2021 12:26:13 +0200 Subject: [PATCH] sy7636a: correct bit shifting for VCOM setting The VCOM value is 9 bits and is composed from VCOM Adjustment Control 1 (Address 0x01h) and VCOM Adjustment Control 2 (address 0x02h). The msb (9) is bit 7 in VCOM Adjustment Control 2. --- drivers/mfd/sy7636a.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/sy7636a.c b/drivers/mfd/sy7636a.c index 136e7b6d8a5b..7f65f69b763f 100644 --- a/drivers/mfd/sy7636a.c +++ b/drivers/mfd/sy7636a.c @@ -75,7 +75,7 @@ int get_vcom_voltage_mv(struct regmap *regmap) if (ret) return ret; - val |= (val_h << 8); + val |= (val_h << 1); return (val & 0x1FF) * 10; } @@ -94,7 +94,7 @@ int set_vcom_voltage_mv(struct regmap *regmap, unsigned int vcom) if (ret) return ret; - ret = regmap_write(regmap, SY7636A_REG_VCOM_ADJUST_CTRL_H, val >> 8); + ret = regmap_write(regmap, SY7636A_REG_VCOM_ADJUST_CTRL_H, (val >> 1) & 0x80); if (ret) return ret;