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 <[email protected]>
Tested-by: Adam Ward <[email protected]>
---
 drivers/mfd/da9052-spi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/da9052-spi.c b/drivers/mfd/da9052-spi.c
index 45ae0b7..b5de8a6 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)) {
-- 
end-of-patch for mfd: da9052: Fix SPI access and IRQ config

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to