mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
iio: imu: inv_icm42670: use low pass filter bypassed
set gyro and accel UI low pass filter bandwidth: Low pass filter bypassed Change-Id: Ia36c04380f630799f27938006b06432d49c83c62 Signed-off-by: LiuDiMing Lin <fenrir.lin@rock-chips.com>
This commit is contained in:
@@ -166,6 +166,28 @@
|
||||
#define BIT_ACCEL_UI_FS_SEL_MASK GENMASK(6, 5)
|
||||
#define BIT_ACCEL_ODR_MASK GENMASK(3, 0)
|
||||
|
||||
/*
|
||||
* GYRO_CONFIG1
|
||||
* Register Name : GYRO_CONFIG1
|
||||
*/
|
||||
|
||||
/*
|
||||
* gyro_ui_filt_bw
|
||||
* Selects GYRO UI low pass filter bandwidth
|
||||
*
|
||||
* 000: Low pass filter bypassed
|
||||
* 001: 180 Hz
|
||||
* 010: 121 Hz
|
||||
* 011: 73 Hz
|
||||
* 100: 53 Hz
|
||||
* 101: 34 Hz
|
||||
* 110: 25 Hz
|
||||
* 111: 16 Hz
|
||||
*
|
||||
* This field can be changed on-the-fly even if gyro sensor is on
|
||||
*/
|
||||
#define GYRO_CONFIG1_GYRO_UI_FILT_BW_MASK 0x07
|
||||
|
||||
/* Bank0 REG_GYRO_CONFIG1 */
|
||||
#define BIT_GYR_UI_FLT_BW_BYPASS 0x00
|
||||
#define BIT_GYR_UI_FLT_BW_180HZ 0x01
|
||||
@@ -182,6 +204,23 @@
|
||||
#define BIT_GYR_UI_AVG_IND_32X 0x40
|
||||
#define BIT_GYR_UI_AVG_IND_64X 0x50
|
||||
|
||||
/*
|
||||
* accel_ui_filt_bw
|
||||
* Selects ACCEL UI low pass filter bandwidth
|
||||
*
|
||||
* 000: Low pass filter bypassed
|
||||
* 001: 180 Hz
|
||||
* 010: 121 Hz
|
||||
* 011: 73 Hz
|
||||
* 100: 53 Hz
|
||||
* 101: 34 Hz
|
||||
* 110: 25 Hz
|
||||
* 111: 16 Hz
|
||||
*
|
||||
* This field can be changed on-the-fly even if accel sensor is on
|
||||
*/
|
||||
#define ACCEL_CONFIG1_ACCEL_UI_FILT_BW_MASK 0x07
|
||||
|
||||
/* Bank0 REG_ACCEL_CONFIG1 */
|
||||
#define BIT_ACC_FILT_BW_IND_BYPASS 0x00
|
||||
#define BIT_ACC_FILT_BW_IND_180HZ 0x01
|
||||
|
||||
@@ -988,6 +988,22 @@ static int icm42670_chip_init(struct icm42670_data *data, icm42670_bus_setup bus
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = regmap_update_bits(data->regmap, REG_GYRO_CONFIG1,
|
||||
GYRO_CONFIG1_GYRO_UI_FILT_BW_MASK,
|
||||
BIT_GYR_UI_FLT_BW_BYPASS);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "icm42670 set gyro ln bw failed!\r\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = regmap_update_bits(data->regmap, REG_ACCEL_CONFIG1,
|
||||
ACCEL_CONFIG1_ACCEL_UI_FILT_BW_MASK,
|
||||
BIT_ACC_FILT_BW_IND_BYPASS);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "icm42670 set accel ln bw failed!\r\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = regmap_write(data->regmap, REG_INT_CONFIG_REG, data->irq_mask);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user