Home
last modified time | relevance | path

Searched +full:sensors +full:- +full:mems (Results 1 – 14 of 14) sorted by relevance

/OK3568_Linux_fs/kernel/drivers/iio/imu/st_lsm6dsr/
H A Dst_lsm6dsr_buffer.c1 // SPDX-License-Identifier: GPL-2.0+
62 * @param old: ST IMU MEMS hw instance
63 * @param new: ST IMU MEMS hw instance
64 * @param weight: ST IMU MEMS hw instance
71 diff = new - old; in st_lsm6dsr_ewma()
72 incr = div_s64((ST_LSM6DSR_EWMA_DIV - weight) * diff, in st_lsm6dsr_ewma()
81 * @param hw: ST IMU MEMS hw instance
88 hw->ts = st_lsm6dsr_get_time_ns(); in st_lsm6dsr_reset_hwts()
89 hw->ts_offset = hw->ts; in st_lsm6dsr_reset_hwts()
90 hw->val_ts_old = 0; in st_lsm6dsr_reset_hwts()
[all …]
H A Dst_lsm6dsr_embfunc.c1 // SPDX-License-Identifier: GPL-2.0+
82 * will be managed as event sensors
200 err = hw->tf->write(hw->dev, in st_lsm6dsr_fsm_write()
207 err = hw->tf->write(hw->dev, in st_lsm6dsr_fsm_write()
215 err = hw->tf->write(hw->dev, in st_lsm6dsr_fsm_write()
224 err = hw->tf->write(hw->dev, in st_lsm6dsr_fsm_write()
240 struct st_lsm6dsr_hw *hw = sensor->hw; in st_lsm6dsr_ef_pg1_sensor_set_enable()
247 mutex_lock(&hw->page_lock); in st_lsm6dsr_ef_pg1_sensor_set_enable()
259 err = __st_lsm6dsr_write_with_mask(hw, hw->embfunc_irq_reg, irq_mask, in st_lsm6dsr_ef_pg1_sensor_set_enable()
264 mutex_unlock(&hw->page_lock); in st_lsm6dsr_ef_pg1_sensor_set_enable()
[all …]
H A Dst_lsm6dsr_core.c1 // SPDX-License-Identifier: GPL-2.0+
361 * sensors. ODR value can be also decimal (i.e 12.5 Hz)
405 * and Temp sensors.
708 mutex_lock(&hw->lock); in __st_lsm6dsr_write_with_mask()
710 err = hw->tf->read(hw->dev, addr, sizeof(data), &data); in __st_lsm6dsr_write_with_mask()
712 dev_err(hw->dev, "failed to read %02x register\n", addr); in __st_lsm6dsr_write_with_mask()
718 err = hw->tf->write(hw->dev, addr, sizeof(data), &data); in __st_lsm6dsr_write_with_mask()
720 dev_err(hw->dev, "failed to write %02x register\n", addr); in __st_lsm6dsr_write_with_mask()
723 mutex_unlock(&hw->lock); in __st_lsm6dsr_write_with_mask()
733 * @param hw: ST IMU MEMS hw instance
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/
H A Dst-sensors.txt1 STMicroelectronics MEMS sensors
3 The STMicroelectronics sensor devices are pretty straight-forward I2C or
8 - compatible: see the list of valid compatible strings below
9 - reg: the I2C or SPI address the device will respond to
12 - vdd-supply: an optional regulator that needs to be on to provide VDD
14 - vddio-supply: an optional regulator that needs to be on to provide the
16 - st,drdy-int-pin: the pin on the package that will be used to signal
18 on all sensors.
19 - drive-open-drain: the interrupt/data ready line will be configured
20 as open drain, which is useful if several sensors share the same
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/accel/
H A Dadi,adxl345.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers
10 - Michael Hennerich <michael.hennerich@analog.com>
13 Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers that supports
15 https://www.analog.com/en/products/mems/accelerometers/adxl345.html
16 https://www.analog.com/en/products/sensors-mems/accelerometers/adxl375.html
21 - items:
22 - const: adi,adxl346
[all …]
/OK3568_Linux_fs/kernel/include/linux/platform_data/
H A Dcros_ec_sensorhub.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Chrome OS EC MEMS Sensor Hub driver.
19 * struct cros_ec_sensor_platform - ChromeOS EC sensor platform information.
27 * typedef cros_ec_sensorhub_push_data_cb_t - Callback function to send datum
28 * to specific sensors.
67 * struct cros_ec_sensors_ts_filter_state - Timestamp filetr state.
94 /* struct cros_ec_sensors_ts_batch_state - State of batch of a single sensor.
115 * struct cros_ec_sensorhub - Sensor Hub device data.
119 * @sensor_num: Number of MEMS sensors present in the EC.
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/imu/
H A Dst_lsm6dsx.txt1 * ST_LSM6DSx driver for STM 6-axis (acc + gyro) imu Mems sensors
4 - compatible: must be one of:
14 "st,lsm6ds3tr-c"
16 "st,lsm9ds1-imu"
19 - reg: i2c address of the sensor / spi cs line
22 - st,drdy-int-pin: the pin on the package that will be used to signal
24 - st,pullups : enable/disable internal i2c controller pullup resistors.
25 - drive-open-drain: the interrupt/data ready line will be configured
26 as open drain, which is useful if several sensors share the same
28 (This binding is taken from pinctrl/pinctrl-bindings.txt)
[all …]
/OK3568_Linux_fs/kernel/drivers/iio/imu/st_lsm6dsx/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
4 tristate "ST_LSM6DSx driver for STM 6-axis IMU MEMS sensors"
14 ism330dlc, lsm6dso, lsm6dsox, asm330lhh, lsm6dsr, lsm6ds3tr-c,
H A Dst_lsm6dsx.h1 /* SPDX-License-Identifier: GPL-2.0-only */
26 #define ST_LSM6DS3TRC_DEV_NAME "lsm6ds3tr-c"
28 #define ST_LSM9DS1_DEV_NAME "lsm9ds1-imu"
136 * struct st_lsm6dsx_fifo_ops - ST IMU FIFO settings
158 * struct st_lsm6dsx_hw_ts_settings - ST IMU hw timer settings
174 * struct st_lsm6dsx_shub_settings - ST IMU hw i2c controller settings
177 * @pullup_en: i2c controller pull-up register info (addr + mask).
229 * struct st_lsm6dsx_ext_dev_settings - i2c controller slave settings
265 * struct st_lsm6dsx_settings - ST IMU sensor settings
274 * @drdy_mask: register info for data-ready mask (addr + mask).
[all …]
H A Dst_lsm6dsx_core.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * The ST LSM6DSx IMU MEMS series consists of 3D digital accelerometer
6 * and 3D digital gyroscope system-in-package with a digital I2C/SPI serial
8 * LSM6DSx IMU MEMS series has a dynamic user-selectable full-scale
9 * acceleration range of +-2/+-4/+-8/+-16 g and an angular rate range of
10 * +-125/+-245/+-500/+-1000/+-2000 dps
11 * LSM6DSx series has an integrated First-In-First-Out (FIFO) buffer
16 * Supported sensors:
17 * - LSM6DS3:
18 * - Accelerometer/Gyroscope supported ODR [Hz]: 13, 26, 52, 104, 208, 416
[all …]
/OK3568_Linux_fs/kernel/drivers/platform/chrome/
H A Dcros_ec_sensorhub.c1 // SPDX-License-Identifier: GPL-2.0
3 * Sensor HUB driver that discovers sensors behind a ChromeOS Embedded
19 #define DRV_NAME "cros-ec-sensorhub"
53 struct cros_ec_command *msg = sensorhub->msg; in cros_ec_sensorhub_register()
54 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register()
59 msg->version = 1; in cros_ec_sensorhub_register()
60 msg->insize = sizeof(struct ec_response_motion_sense); in cros_ec_sensorhub_register()
61 msg->outsize = sizeof(struct ec_params_motion_sense); in cros_ec_sensorhub_register()
63 for (i = 0; i < sensorhub->sensor_num; i++) { in cros_ec_sensorhub_register()
64 sensorhub->params->cmd = MOTIONSENSE_CMD_INFO; in cros_ec_sensorhub_register()
[all …]
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
23 light sensors and touchpads.
36 The range of memory used is 0xf00000-0x1000000, traditionally
72 EC through an I2C bus. This uses a simple byte-level protocol with
81 through rpmsg. This uses a simple byte-level protocol with a
82 checksum. Also since there's no addition EC-to-host interrupt, this
95 ISH Transport protocol (ISH-TP). This uses a simple byte-level
107 through a SPI bus, using a byte-level protocol. Since the EC's
109 'pre-amble' bytes before the response actually starts.
117 This uses a simple byte-level protocol with a checksum. This is
[all …]
H A Dcros_ec_proto.c1 // SPDX-License-Identifier: GPL-2.0
19 [EC_RES_INVALID_COMMAND] = -EOPNOTSUPP,
20 [EC_RES_ERROR] = -EIO,
21 [EC_RES_INVALID_PARAM] = -EINVAL,
22 [EC_RES_ACCESS_DENIED] = -EACCES,
23 [EC_RES_INVALID_RESPONSE] = -EPROTO,
24 [EC_RES_INVALID_VERSION] = -ENOPROTOOPT,
25 [EC_RES_INVALID_CHECKSUM] = -EBADMSG,
26 [EC_RES_IN_PROGRESS] = -EINPROGRESS,
27 [EC_RES_UNAVAILABLE] = -ENODATA,
[all …]
/OK3568_Linux_fs/kernel/drivers/iio/gyro/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 menu "Digital gyroscope sensors"
39 ADIS16250 ADIS16255 and ADIS16251 programmable digital gyroscope sensors.
45 tristate "Analog Devices ADXRS290 Dual-Axis MEMS Gyroscope SPI driver"
74 Say yes here to build support for BOSCH BMG160 Tri-axis Gyro Sensor
97 Say yes here to build support for NXP FXAS21002C Tri-axis Gyro
137 inv-mpu3050-i2c.
140 tristate "STMicroelectronics gyroscopes 3-Axis Driver"
152 - st_gyro (core functions for the driver [it is mandatory]);
153 - st_gyro_i2c (necessary for the I2C devices [optional*]);
[all …]