mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
iio: sx9324: Add Setting for internal analog gain
Based on device tree setting, set the internal analog gain. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/20220429220144.1476049-9-gwendal@chromium.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
67ac843324
commit
71783b07aa
1 changed files with 22 additions and 0 deletions
|
@ -79,6 +79,7 @@
|
||||||
#define SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM 0x02
|
#define SX9324_REG_AFE_CTRL8_RESFILTIN_4KOHM 0x02
|
||||||
#define SX9324_REG_AFE_CTRL8_RESFILTIN_MASK GENMASK(3, 0)
|
#define SX9324_REG_AFE_CTRL8_RESFILTIN_MASK GENMASK(3, 0)
|
||||||
#define SX9324_REG_AFE_CTRL9 0x2d
|
#define SX9324_REG_AFE_CTRL9 0x2d
|
||||||
|
#define SX9324_REG_AFE_CTRL9_AGAIN_MASK GENMASK(3, 0)
|
||||||
#define SX9324_REG_AFE_CTRL9_AGAIN_1 0x08
|
#define SX9324_REG_AFE_CTRL9_AGAIN_1 0x08
|
||||||
|
|
||||||
#define SX9324_REG_PROX_CTRL0 0x30
|
#define SX9324_REG_PROX_CTRL0 0x30
|
||||||
|
@ -941,6 +942,27 @@ sx9324_get_default_reg(struct device *dev, int idx,
|
||||||
raw / 2000);
|
raw / 2000);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SX9324_REG_AFE_CTRL9:
|
||||||
|
ret = device_property_read_u32(dev,
|
||||||
|
"semtech,input-analog-gain", &raw);
|
||||||
|
if (ret)
|
||||||
|
break;
|
||||||
|
/*
|
||||||
|
* The analog gain has the following setting:
|
||||||
|
* +---------+----------------+----------------+
|
||||||
|
* | dt(raw) | physical value | register value |
|
||||||
|
* +---------+----------------+----------------+
|
||||||
|
* | 0 | x1.247 | 6 |
|
||||||
|
* | 1 | x1 | 8 |
|
||||||
|
* | 2 | x0.768 | 11 |
|
||||||
|
* | 3 | x0.552 | 15 |
|
||||||
|
* +---------+----------------+----------------+
|
||||||
|
*/
|
||||||
|
reg_def->def &= ~SX9324_REG_AFE_CTRL9_AGAIN_MASK;
|
||||||
|
reg_def->def |= FIELD_PREP(SX9324_REG_AFE_CTRL9_AGAIN_MASK,
|
||||||
|
6 + raw * (raw + 3) / 2);
|
||||||
|
break;
|
||||||
|
|
||||||
case SX9324_REG_ADV_CTRL5:
|
case SX9324_REG_ADV_CTRL5:
|
||||||
ret = device_property_read_u32(dev, "semtech,startup-sensor",
|
ret = device_property_read_u32(dev, "semtech,startup-sensor",
|
||||||
&start);
|
&start);
|
||||||
|
|
Loading…
Reference in a new issue