Skip to content
Snippets Groups Projects
Commit f9992af6 authored by Jonathan Bakker's avatar Jonathan Bakker Committed by Jonathan Cameron
Browse files

iio: accel: bma180: Prepare for different reset values


Some variants of the bma180 (eg bma023) have different reset
values.  In preparation for adding support for them, factor
out the reset value into the chip specific data.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarJonathan Bakker <xc-racer2@live.ca>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent cef077e6
No related branches found
No related tags found
No related merge requests found
...@@ -57,7 +57,7 @@ struct bma180_part_info { ...@@ -57,7 +57,7 @@ struct bma180_part_info {
u8 power_reg, power_mask, lowpower_val; u8 power_reg, power_mask, lowpower_val;
u8 int_enable_reg, int_enable_mask; u8 int_enable_reg, int_enable_mask;
u8 int_map_reg, int_enable_dataready_int1_mask; u8 int_map_reg, int_enable_dataready_int1_mask;
u8 softreset_reg; u8 softreset_reg, softreset_val;
int (*chip_config)(struct bma180_data *data); int (*chip_config)(struct bma180_data *data);
void (*chip_disable)(struct bma180_data *data); void (*chip_disable)(struct bma180_data *data);
...@@ -319,7 +319,8 @@ static int bma180_set_pmode(struct bma180_data *data, bool mode) ...@@ -319,7 +319,8 @@ static int bma180_set_pmode(struct bma180_data *data, bool mode)
static int bma180_soft_reset(struct bma180_data *data) static int bma180_soft_reset(struct bma180_data *data)
{ {
int ret = i2c_smbus_write_byte_data(data->client, int ret = i2c_smbus_write_byte_data(data->client,
data->part_info->softreset_reg, BMA180_RESET_VAL); data->part_info->softreset_reg,
data->part_info->softreset_val);
if (ret) if (ret)
dev_err(&data->client->dev, "failed to reset the chip\n"); dev_err(&data->client->dev, "failed to reset the chip\n");
...@@ -693,6 +694,7 @@ static const struct bma180_part_info bma180_part_info[] = { ...@@ -693,6 +694,7 @@ static const struct bma180_part_info bma180_part_info[] = {
.int_enable_reg = BMA180_CTRL_REG3, .int_enable_reg = BMA180_CTRL_REG3,
.int_enable_mask = BMA180_NEW_DATA_INT, .int_enable_mask = BMA180_NEW_DATA_INT,
.softreset_reg = BMA180_RESET, .softreset_reg = BMA180_RESET,
.softreset_val = BMA180_RESET_VAL,
.chip_config = bma180_chip_config, .chip_config = bma180_chip_config,
.chip_disable = bma180_chip_disable, .chip_disable = bma180_chip_disable,
}, },
...@@ -721,6 +723,7 @@ static const struct bma180_part_info bma180_part_info[] = { ...@@ -721,6 +723,7 @@ static const struct bma180_part_info bma180_part_info[] = {
.int_map_reg = BMA250_INT_MAP_REG, .int_map_reg = BMA250_INT_MAP_REG,
.int_enable_dataready_int1_mask = BMA250_INT1_DATA_MASK, .int_enable_dataready_int1_mask = BMA250_INT1_DATA_MASK,
.softreset_reg = BMA250_RESET_REG, .softreset_reg = BMA250_RESET_REG,
.softreset_val = BMA180_RESET_VAL,
.chip_config = bma25x_chip_config, .chip_config = bma25x_chip_config,
.chip_disable = bma25x_chip_disable, .chip_disable = bma25x_chip_disable,
}, },
...@@ -749,6 +752,7 @@ static const struct bma180_part_info bma180_part_info[] = { ...@@ -749,6 +752,7 @@ static const struct bma180_part_info bma180_part_info[] = {
.int_map_reg = BMA254_INT_MAP_REG, .int_map_reg = BMA254_INT_MAP_REG,
.int_enable_dataready_int1_mask = BMA254_INT1_DATA_MASK, .int_enable_dataready_int1_mask = BMA254_INT1_DATA_MASK,
.softreset_reg = BMA254_RESET_REG, .softreset_reg = BMA254_RESET_REG,
.softreset_val = BMA180_RESET_VAL,
.chip_config = bma25x_chip_config, .chip_config = bma25x_chip_config,
.chip_disable = bma25x_chip_disable, .chip_disable = bma25x_chip_disable,
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment