Lines Matching refs:st

18 static int inv_mpu_i2c_master_xfer(const struct inv_mpu6050_state *st)
29 ret = regmap_write(st->map, st->reg->sample_rate_div, d);
34 user_ctrl = st->chip_config.user_ctrl | INV_MPU6050_BIT_I2C_MST_EN;
35 ret = regmap_write(st->map, st->reg->user_ctrl, user_ctrl);
43 user_ctrl = st->chip_config.user_ctrl;
44 ret = regmap_write(st->map, st->reg->user_ctrl, user_ctrl);
49 d = st->chip_config.divider;
50 ret = regmap_write(st->map, st->reg->sample_rate_div, d);
57 regmap_write(st->map, st->reg->user_ctrl, st->chip_config.user_ctrl);
59 regmap_write(st->map, st->reg->sample_rate_div, st->chip_config.divider);
65 * @st: driver internal state
69 int inv_mpu_aux_init(const struct inv_mpu6050_state *st)
78 if (st->chip_type == INV_MPU9150) {
81 val = st->level_shifter ? mask : 0;
82 ret = regmap_update_bits(st->map, 0x1, mask, val);
90 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_MST_CTRL, val);
95 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV4_CTRL, 0);
104 return regmap_write(st->map, INV_MPU6050_REG_I2C_MST_DELAY_CTRL, val);
109 * @st: driver internal state.
117 int inv_mpu_aux_read(const struct inv_mpu6050_state *st, uint8_t addr,
127 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_ADDR(0),
131 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_REG(0), reg);
134 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0),
140 ret = inv_mpu_i2c_master_xfer(st);
145 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0), 0);
150 ret = regmap_read(st->map, INV_MPU6050_REG_I2C_MST_STATUS, &status);
157 return regmap_bulk_read(st->map, INV_MPU6050_REG_EXT_SENS_DATA,
161 regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0), 0);
167 * @st: driver internal state.
174 int inv_mpu_aux_write(const struct inv_mpu6050_state *st, uint8_t addr,
181 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_ADDR(0), addr);
184 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_REG(0), reg);
187 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_DO(0), val);
190 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0),
196 ret = inv_mpu_i2c_master_xfer(st);
201 ret = regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0), 0);
206 ret = regmap_read(st->map, INV_MPU6050_REG_I2C_MST_STATUS, &status);
215 regmap_write(st->map, INV_MPU6050_REG_I2C_SLV_CTRL(0), 0);