summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/da9052-spi.c
diff options
context:
space:
mode:
authorAdam Ward2015-03-04 17:13:12 +0100
committerLee Jones2015-03-12 10:06:40 +0100
commit72e341c48fbca142d767e97746e33a4becf890ea (patch)
treeed04943ff3aee78f0e8719202df184f7ee288576 /drivers/mfd/da9052-spi.c
parentmfd: max77843: Add max77843 MFD driver core driver (diff)
downloadkernel-qcow2-linux-72e341c48fbca142d767e97746e33a4becf890ea.tar.gz
kernel-qcow2-linux-72e341c48fbca142d767e97746e33a4becf890ea.tar.xz
kernel-qcow2-linux-72e341c48fbca142d767e97746e33a4becf890ea.zip
mfd: da9052: Fix register access via SPI
The range of registers used by this driver exceeds that available via SPI with no paging (127), so we have to override the values from the default config which is set-up for I2C access. Also change SPI settings to match device's recommended OTP values. Signed-off-by: Adam Ward <adam.ward.opensource@diasemi.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd/da9052-spi.c')
-rw-r--r--drivers/mfd/da9052-spi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/da9052-spi.c b/drivers/mfd/da9052-spi.c
index 45ae0b7d13ef..b5de8a6856c0 100644
--- a/drivers/mfd/da9052-spi.c
+++ b/drivers/mfd/da9052-spi.c
@@ -32,7 +32,7 @@ static int da9052_spi_probe(struct spi_device *spi)
if (!da9052)
return -ENOMEM;
- spi->mode = SPI_MODE_0 | SPI_CPOL;
+ spi->mode = SPI_MODE_0;
spi->bits_per_word = 8;
spi_setup(spi);
@@ -43,6 +43,10 @@ static int da9052_spi_probe(struct spi_device *spi)
config = da9052_regmap_config;
config.read_flag_mask = 1;
+ config.reg_bits = 7;
+ config.pad_bits = 1;
+ config.val_bits = 8;
+ config.use_single_rw = 1;
da9052->regmap = devm_regmap_init_spi(spi, &config);
if (IS_ERR(da9052->regmap)) {