regmap: Add support for 12/20 register formatting
authorRicardo Ribalda <ribalda@kernel.org>
Thu, 17 Sep 2020 11:47:27 +0000 (13:47 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 17 Sep 2020 16:54:21 +0000 (17:54 +0100)
commit0c2191c3da345e0fe73118445ddb1f0df114aadf
treeaaf87855c76198db86068874ed30251dcf4c5b19
parent21f8e4828c44da39b0670c5d99d5728b739542a1
regmap: Add support for 12/20 register formatting

Devices such as the AD5628 require 32 bits of data divided in 12 bits
for dummy, command and address, and 20 for data and dummy. Eg:

XXXXCCCCAAAADDDDDDDDDDDDDDDDXXXX

Where X is dont care, C is command, A is address and D is data bits.

Which would requierd the following regmap_config:

static const struct regmap_config config_dac = {
.reg_bits = 12,
.val_bits = 20,
.max_register = 0xff,
};

Signed-off-by: Ricardo Ribalda <ribalda@kernel.org>
Link: https://lore.kernel.org/r/20200917114727.1120373-1-ribalda@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap.c