summaryrefslogtreecommitdiff
path: root/driver/accel_bma4xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/accel_bma4xx.h')
-rw-r--r--driver/accel_bma4xx.h264
1 files changed, 132 insertions, 132 deletions
diff --git a/driver/accel_bma4xx.h b/driver/accel_bma4xx.h
index 13c9da4a92..ad3dd711e5 100644
--- a/driver/accel_bma4xx.h
+++ b/driver/accel_bma4xx.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+/* Copyright 2021 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -8,158 +8,158 @@
#ifndef __CROS_EC_ACCEL_BMA4XX_H
#define __CROS_EC_ACCEL_BMA4XX_H
-#define BMA4_I2C_ADDR_PRIMARY 0x18
-#define BMA4_I2C_ADDR_SECONDARY 0x19
-#define BMA4_I2C_BMM150_ADDR 0x10
+#define BMA4_I2C_ADDR_PRIMARY 0x18
+#define BMA4_I2C_ADDR_SECONDARY 0x19
+#define BMA4_I2C_BMM150_ADDR 0x10
/* Chip-specific registers */
-#define BMA4_CHIP_ID_ADDR 0x00
-#define BMA4_CHIP_ID_MIN 0x10
-#define BMA4_CHIP_ID_MAX 0x15
-
-#define BMA4_ERROR_ADDR 0x02
-#define BMA4_FATAL_ERR_MSK 0x01
-#define BMA4_CMD_ERR_POS 1
-#define BMA4_CMD_ERR_MSK 0x02
-#define BMA4_ERR_CODE_POS 2
-#define BMA4_ERR_CODE_MSK 0x1C
-#define BMA4_FIFO_ERR_POS 6
-#define BMA4_FIFO_ERR_MSK 0x40
-#define BMA4_AUX_ERR_POS 7
-#define BMA4_AUX_ERR_MSK 0x80
-
-#define BMA4_STATUS_ADDR 0x03
-#define BMA4_STAT_DATA_RDY_ACCEL_POS 7
-#define BMA4_STAT_DATA_RDY_ACCEL_MSK 0x80
-
-#define BMA4_DATA_0_ADDR 0x0A
-#define BMA4_DATA_8_ADDR 0x12
-
-#define BMA4_SENSORTIME_0_ADDR 0x18
-#define BMA4_INT_STAT_0_ADDR 0x1C
-#define BMA4_INT_STAT_1_ADDR 0x1D
-#define BMA4_STEP_CNT_OUT_0_ADDR 0x1E
-#define BMA4_HIGH_G_OUT_ADDR 0x1F
-#define BMA4_TEMPERATURE_ADDR 0x22
-
-#define BMA4_FIFO_LENGTH_0_ADDR 0x24
-#define BMA4_FIFO_DATA_ADDR 0x26
-#define BMA4_ACTIVITY_OUT_ADDR 0x27
-#define BMA4_ORIENTATION_OUT_ADDR 0x28
-
-#define BMA4_INTERNAL_STAT 0x2A
-#define BMA4_ASIC_INITIALIZED 0x01
-
-#define BMA4_ACCEL_CONFIG_ADDR 0x40
-#define BMA4_ACCEL_ODR_POS 0
-#define BMA4_ACCEL_ODR_MSK 0x0F
-#define BMA4_ACCEL_BW_POS 4
-#define BMA4_ACCEL_BW_MSK 0x70
-#define BMA4_ACCEL_PERFMODE_POS 7
-#define BMA4_ACCEL_PERFMODE_MSK 0x80
-#define BMA4_OUTPUT_DATA_RATE_0_78HZ 0x01
-#define BMA4_OUTPUT_DATA_RATE_1_56HZ 0x02
-#define BMA4_OUTPUT_DATA_RATE_3_12HZ 0x03
-#define BMA4_OUTPUT_DATA_RATE_6_25HZ 0x04
-#define BMA4_OUTPUT_DATA_RATE_12_5HZ 0x05
-#define BMA4_OUTPUT_DATA_RATE_25HZ 0x06
-#define BMA4_OUTPUT_DATA_RATE_50HZ 0x07
-#define BMA4_OUTPUT_DATA_RATE_100HZ 0x08
-#define BMA4_OUTPUT_DATA_RATE_200HZ 0x09
-#define BMA4_OUTPUT_DATA_RATE_400HZ 0x0A
-#define BMA4_OUTPUT_DATA_RATE_800HZ 0x0B
-#define BMA4_OUTPUT_DATA_RATE_1600HZ 0x0C
-#define BMA4_ACCEL_OSR4_AVG1 0
-#define BMA4_ACCEL_OSR2_AVG2 1
-#define BMA4_ACCEL_NORMAL_AVG4 2
-#define BMA4_ACCEL_CIC_AVG8 3
-#define BMA4_ACCEL_RES_AVG16 4
-#define BMA4_ACCEL_RES_AVG32 5
-#define BMA4_ACCEL_RES_AVG64 6
-#define BMA4_ACCEL_RES_AVG128 7
-#define BMA4_CIC_AVG_MODE 0
-#define BMA4_CONTINUOUS_MODE 1
-
-#define BMA4_ACCEL_RANGE_ADDR 0x41
-#define BMA4_ACCEL_RANGE_POS 0
-#define BMA4_ACCEL_RANGE_MSK 0x03
-#define BMA4_ACCEL_RANGE_2G 0
-#define BMA4_ACCEL_RANGE_4G 1
-#define BMA4_ACCEL_RANGE_8G 2
-#define BMA4_ACCEL_RANGE_16G 3
-
-#define BMA4_RESERVED_REG_5B_ADDR 0x5B
-#define BMA4_RESERVED_REG_5C_ADDR 0x5C
-#define BMA4_FEATURE_CONFIG_ADDR 0x5E
-#define BMA4_INTERNAL_ERROR 0x5F
-#define BMA4_IF_CONFIG_ADDR 0x6B
-#define BMA4_FOC_ACC_CONF_VAL 0xB7
-
-#define BMA4_NV_CONFIG_ADDR 0x70
-#define BMA4_NV_ACCEL_OFFSET_POS 3
-#define BMA4_NV_ACCEL_OFFSET_MSK 0x08
-
-#define BMA4_OFFSET_0_ADDR 0x71
-#define BMA4_OFFSET_1_ADDR 0x72
-#define BMA4_OFFSET_2_ADDR 0x73
-
-#define BMA4_POWER_CONF_ADDR 0x7C
-#define BMA4_ADVANCE_POWER_SAVE_POS 0
-#define BMA4_ADVANCE_POWER_SAVE_MSK 0x01
-
-#define BMA4_POWER_CTRL_ADDR 0x7D
-#define BMA4_ACCEL_ENABLE_POS 2
-#define BMA4_ACCEL_ENABLE_MSK 0x04
-#define BMA4_ENABLE 0x01
-#define BMA4_DISABLE 0x00
-
-#define BMA4_CMD_ADDR 0x7E
-#define BMA4_NVM_PROG 0xA0
-#define BMA4_FIFO_FLUSH 0xB0
-#define BMA4_SOFT_RESET 0xB6
+#define BMA4_CHIP_ID_ADDR 0x00
+#define BMA4_CHIP_ID_MIN 0x10
+#define BMA4_CHIP_ID_MAX 0x15
+
+#define BMA4_ERROR_ADDR 0x02
+#define BMA4_FATAL_ERR_MSK 0x01
+#define BMA4_CMD_ERR_POS 1
+#define BMA4_CMD_ERR_MSK 0x02
+#define BMA4_ERR_CODE_POS 2
+#define BMA4_ERR_CODE_MSK 0x1C
+#define BMA4_FIFO_ERR_POS 6
+#define BMA4_FIFO_ERR_MSK 0x40
+#define BMA4_AUX_ERR_POS 7
+#define BMA4_AUX_ERR_MSK 0x80
+
+#define BMA4_STATUS_ADDR 0x03
+#define BMA4_STAT_DATA_RDY_ACCEL_POS 7
+#define BMA4_STAT_DATA_RDY_ACCEL_MSK 0x80
+
+#define BMA4_DATA_0_ADDR 0x0A
+#define BMA4_DATA_8_ADDR 0x12
+
+#define BMA4_SENSORTIME_0_ADDR 0x18
+#define BMA4_INT_STAT_0_ADDR 0x1C
+#define BMA4_INT_STAT_1_ADDR 0x1D
+#define BMA4_STEP_CNT_OUT_0_ADDR 0x1E
+#define BMA4_HIGH_G_OUT_ADDR 0x1F
+#define BMA4_TEMPERATURE_ADDR 0x22
+
+#define BMA4_FIFO_LENGTH_0_ADDR 0x24
+#define BMA4_FIFO_DATA_ADDR 0x26
+#define BMA4_ACTIVITY_OUT_ADDR 0x27
+#define BMA4_ORIENTATION_OUT_ADDR 0x28
+
+#define BMA4_INTERNAL_STAT 0x2A
+#define BMA4_ASIC_INITIALIZED 0x01
+
+#define BMA4_ACCEL_CONFIG_ADDR 0x40
+#define BMA4_ACCEL_ODR_POS 0
+#define BMA4_ACCEL_ODR_MSK 0x0F
+#define BMA4_ACCEL_BW_POS 4
+#define BMA4_ACCEL_BW_MSK 0x70
+#define BMA4_ACCEL_PERFMODE_POS 7
+#define BMA4_ACCEL_PERFMODE_MSK 0x80
+#define BMA4_OUTPUT_DATA_RATE_0_78HZ 0x01
+#define BMA4_OUTPUT_DATA_RATE_1_56HZ 0x02
+#define BMA4_OUTPUT_DATA_RATE_3_12HZ 0x03
+#define BMA4_OUTPUT_DATA_RATE_6_25HZ 0x04
+#define BMA4_OUTPUT_DATA_RATE_12_5HZ 0x05
+#define BMA4_OUTPUT_DATA_RATE_25HZ 0x06
+#define BMA4_OUTPUT_DATA_RATE_50HZ 0x07
+#define BMA4_OUTPUT_DATA_RATE_100HZ 0x08
+#define BMA4_OUTPUT_DATA_RATE_200HZ 0x09
+#define BMA4_OUTPUT_DATA_RATE_400HZ 0x0A
+#define BMA4_OUTPUT_DATA_RATE_800HZ 0x0B
+#define BMA4_OUTPUT_DATA_RATE_1600HZ 0x0C
+#define BMA4_ACCEL_OSR4_AVG1 0
+#define BMA4_ACCEL_OSR2_AVG2 1
+#define BMA4_ACCEL_NORMAL_AVG4 2
+#define BMA4_ACCEL_CIC_AVG8 3
+#define BMA4_ACCEL_RES_AVG16 4
+#define BMA4_ACCEL_RES_AVG32 5
+#define BMA4_ACCEL_RES_AVG64 6
+#define BMA4_ACCEL_RES_AVG128 7
+#define BMA4_CIC_AVG_MODE 0
+#define BMA4_CONTINUOUS_MODE 1
+
+#define BMA4_ACCEL_RANGE_ADDR 0x41
+#define BMA4_ACCEL_RANGE_POS 0
+#define BMA4_ACCEL_RANGE_MSK 0x03
+#define BMA4_ACCEL_RANGE_2G 0
+#define BMA4_ACCEL_RANGE_4G 1
+#define BMA4_ACCEL_RANGE_8G 2
+#define BMA4_ACCEL_RANGE_16G 3
+
+#define BMA4_RESERVED_REG_5B_ADDR 0x5B
+#define BMA4_RESERVED_REG_5C_ADDR 0x5C
+#define BMA4_FEATURE_CONFIG_ADDR 0x5E
+#define BMA4_INTERNAL_ERROR 0x5F
+#define BMA4_IF_CONFIG_ADDR 0x6B
+#define BMA4_FOC_ACC_CONF_VAL 0xB7
+
+#define BMA4_NV_CONFIG_ADDR 0x70
+#define BMA4_NV_ACCEL_OFFSET_POS 3
+#define BMA4_NV_ACCEL_OFFSET_MSK 0x08
+
+#define BMA4_OFFSET_0_ADDR 0x71
+#define BMA4_OFFSET_1_ADDR 0x72
+#define BMA4_OFFSET_2_ADDR 0x73
+
+#define BMA4_POWER_CONF_ADDR 0x7C
+#define BMA4_ADVANCE_POWER_SAVE_POS 0
+#define BMA4_ADVANCE_POWER_SAVE_MSK 0x01
+
+#define BMA4_POWER_CTRL_ADDR 0x7D
+#define BMA4_ACCEL_ENABLE_POS 2
+#define BMA4_ACCEL_ENABLE_MSK 0x04
+#define BMA4_ENABLE 0x01
+#define BMA4_DISABLE 0x00
+
+#define BMA4_CMD_ADDR 0x7E
+#define BMA4_NVM_PROG 0xA0
+#define BMA4_FIFO_FLUSH 0xB0
+#define BMA4_SOFT_RESET 0xB6
/* Other definitions */
-#define BMA4_X_AXIS 0
-#define BMA4_Y_AXIS 1
-#define BMA4_Z_AXIS 2
+#define BMA4_X_AXIS 0
+#define BMA4_Y_AXIS 1
+#define BMA4_Z_AXIS 2
-#define BMA4_12_BIT_RESOLUTION 12
-#define BMA4_14_BIT_RESOLUTION 14
-#define BMA4_16_BIT_RESOLUTION 16
+#define BMA4_12_BIT_RESOLUTION 12
+#define BMA4_14_BIT_RESOLUTION 14
+#define BMA4_16_BIT_RESOLUTION 16
/*
* The max positive value of accel data is 0x07FF, equal to range(g)
* So, in order to get +1g, divide the 0x07FF by range
*/
-#define BMA4_ACC_DATA_PLUS_1G(range) (0x07FF / (range))
+#define BMA4_ACC_DATA_PLUS_1G(range) (0x07FF / (range))
/* For offset registers 1LSB - 3.9mg */
-#define BMA4_OFFSET_ACC_MULTI_MG (3900 * 1000)
-#define BMA4_OFFSET_ACC_DIV_MG 1000000
+#define BMA4_OFFSET_ACC_MULTI_MG (3900 * 1000)
+#define BMA4_OFFSET_ACC_DIV_MG 1000000
-#define BMA4_FOC_SAMPLE_LIMIT 32
+#define BMA4_FOC_SAMPLE_LIMIT 32
/* Min and Max sampling frequency in mHz */
-#define BMA4_ACCEL_MIN_FREQ 12500
-#define BMA4_ACCEL_MAX_FREQ MOTION_MAX_SENSOR_FREQUENCY(1600000, 6250)
+#define BMA4_ACCEL_MIN_FREQ 12500
+#define BMA4_ACCEL_MAX_FREQ MOTION_MAX_SENSOR_FREQUENCY(1600000, 6250)
-#define BMA4_RANGE_TO_REG(_range) \
+#define BMA4_RANGE_TO_REG(_range) \
((_range) < 8 ? BMA4_ACCEL_RANGE_2G + ((_range) / 4) : \
BMA4_ACCEL_RANGE_8G + ((_range) / 16))
-#define BMA4_REG_TO_RANGE(_reg) \
- ((_reg) < BMA4_ACCEL_RANGE_8G ? 2 + (_reg) * 2 : \
- 8 + ((_reg) - BMA4_ACCEL_RANGE_8G) * 8)
+#define BMA4_REG_TO_RANGE(_reg) \
+ ((_reg) < BMA4_ACCEL_RANGE_8G ? 2 + (_reg)*2 : \
+ 8 + ((_reg)-BMA4_ACCEL_RANGE_8G) * 8)
-#define BMA4_ODR_TO_REG(_odr) \
- ((_odr) < 125000 ? \
- BMA4_OUTPUT_DATA_RATE_0_78HZ + __fls(((_odr) * 10) / 7800) : \
- BMA4_OUTPUT_DATA_RATE_25HZ + __fls((_odr) / 25000))
+#define BMA4_ODR_TO_REG(_odr) \
+ ((_odr) < 125000 ? \
+ BMA4_OUTPUT_DATA_RATE_0_78HZ + __fls(((_odr)*10) / 7800) : \
+ BMA4_OUTPUT_DATA_RATE_25HZ + __fls((_odr) / 25000))
-#define BMA4_REG_TO_ODR(_reg) \
- ((_reg) < BMA4_OUTPUT_DATA_RATE_25HZ ? \
- (7800 << ((_reg) - BMA4_OUTPUT_DATA_RATE_0_78HZ)) / 10 : \
- 25000 << ((_reg) - BMA4_OUTPUT_DATA_RATE_25HZ))
+#define BMA4_REG_TO_ODR(_reg) \
+ ((_reg) < BMA4_OUTPUT_DATA_RATE_25HZ ? \
+ (7800 << ((_reg)-BMA4_OUTPUT_DATA_RATE_0_78HZ)) / 10 : \
+ 25000 << ((_reg)-BMA4_OUTPUT_DATA_RATE_25HZ))
extern const struct accelgyro_drv bma4_accel_drv;