Home
last modified time | relevance | path

Searched full:odr (Results 1 – 25 of 64) sorted by relevance

123

/linux/drivers/iio/imu/inv_icm42600/
H A Dinv_icm42600_core.c116 .odr = INV_ICM42600_ODR_50HZ,
122 .odr = INV_ICM42600_ODR_50HZ,
132 .odr = INV_ICM42600_ODR_50HZ,
138 .odr = INV_ICM42600_ODR_50HZ,
191 u32 inv_icm42600_odr_to_period(enum inv_icm42600_odr odr) in inv_icm42600_odr_to_period() argument
224 return odr_periods[odr]; in inv_icm42600_odr_to_period()
305 if (conf->odr < 0) in inv_icm42600_set_accel_conf()
306 conf->odr = oldconf->odr; in inv_icm42600_set_accel_conf()
310 /* force power mode against ODR when sensor is on */ in inv_icm42600_set_accel_conf()
314 if (conf->odr <= INV_ICM42600_ODR_1KHZ_LN) { in inv_icm42600_set_accel_conf()
[all …]
H A Dinv_icm42600_buffer.c46 const void **timestamp, unsigned int *odr) in inv_icm42600_fifo_decode_packet() argument
58 *odr = 0; in inv_icm42600_fifo_decode_packet()
62 /* handle odr flags */ in inv_icm42600_fifo_decode_packet()
63 *odr = 0; in inv_icm42600_fifo_decode_packet()
65 *odr |= INV_ICM42600_SENSOR_GYRO; in inv_icm42600_fifo_decode_packet()
67 *odr |= INV_ICM42600_SENSOR_ACCEL; in inv_icm42600_fifo_decode_packet()
106 period_gyro = inv_icm42600_odr_to_period(st->conf.gyro.odr); in inv_icm42600_buffer_update_fifo_period()
111 period_accel = inv_icm42600_odr_to_period(st->conf.accel.odr); in inv_icm42600_buffer_update_fifo_period()
191 * value. Latency depends on watermark and ODR. It requires several steps:
215 /* compute sensors latency, depending on sensor watermark and odr */ in inv_icm42600_buffer_update_watermark()
[all …]
H A Dinv_icm42600_gyro.c326 unsigned int odr; in inv_icm42600_gyro_read_odr() local
329 odr = st->conf.gyro.odr; in inv_icm42600_gyro_read_odr()
332 if (inv_icm42600_gyro_odr_conv[i] == odr) in inv_icm42600_gyro_read_odr()
363 conf.odr = inv_icm42600_gyro_odr_conv[idx / 2]; in inv_icm42600_gyro_write_odr()
368 ret = inv_sensors_timestamp_update_odr(ts, inv_icm42600_odr_to_period(conf.odr), in inv_icm42600_gyro_write_odr()
774 ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr); in inv_icm42600_gyro_init()
807 unsigned int odr; in inv_icm42600_gyro_parse_fifo() local
815 &accel, &gyro, &temp, &timestamp, &odr); in inv_icm42600_gyro_parse_fifo()
824 /* update odr */ in inv_icm42600_gyro_parse_fifo()
825 if (odr & INV_ICM42600_SENSOR_GYRO) in inv_icm42600_gyro_parse_fifo()
H A Dinv_icm42600_accel.c107 /* prevent change if power mode is not supported by the ODR */ in inv_icm42600_accel_power_mode_set()
110 if (st->conf.accel.odr >= INV_ICM42600_ODR_6_25HZ_LP && in inv_icm42600_accel_power_mode_set()
111 st->conf.accel.odr <= INV_ICM42600_ODR_1_5625HZ_LP) in inv_icm42600_accel_power_mode_set()
116 if (st->conf.accel.odr <= INV_ICM42600_ODR_1KHZ_LN) in inv_icm42600_accel_power_mode_set()
619 unsigned int odr; in inv_icm42600_accel_read_odr() local
622 odr = st->conf.accel.odr; in inv_icm42600_accel_read_odr()
625 if (inv_icm42600_accel_odr_conv[i] == odr) in inv_icm42600_accel_read_odr()
656 conf.odr = inv_icm42600_accel_odr_conv[idx / 2]; in inv_icm42600_accel_write_odr()
661 ret = inv_sensors_timestamp_update_odr(ts, inv_icm42600_odr_to_period(conf.odr), in inv_icm42600_accel_write_odr()
1189 ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr); in inv_icm42600_accel_init()
[all …]
/linux/Documentation/devicetree/bindings/iio/adc/
H A Dadi,ad7191.yaml52 odr-gpios:
55 adi,odr-value is absent.
59 adi,odr-value:
62 Should be present if ODR pins are pin-strapped. Possible values:
67 If defined, odr-gpios must be absent.
112 - adi,odr-value
114 - odr-gpios
145 odr-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>, <&gpio 24 GPIO_ACTIVE_HIGH>;
/linux/Documentation/iio/
H A Dad7191.rst24 The driver supports both pin-strapped and GPIO-controlled configurations for ODR
29 ODR Configuration
32 The ODR can be configured either through GPIO control or pin-strapping:
34 - When using GPIO control, specify the "odr-gpios" property in the device tree
35 - For pin-strapped configuration, specify the "adi,odr-value" property in the
38 Available ODR settings:
/linux/Documentation/ABI/testing/
H A Dsysfs-bus-iio-inv_icm426006 requested power mode to use if the ODR support it. If ODR
11 be different for ODR supporting only 1 mode.
/linux/drivers/iio/accel/
H A Dadxl355_core.c225 enum adxl355_odr odr; member
278 u64 odr; in adxl355_fill_3db_frequency_table() local
281 odr = mul_u64_u32_shr(adxl355_odr_table[data->odr][0], MEGA, 0) + in adxl355_fill_3db_frequency_table()
282 adxl355_odr_table[data->odr][1]; in adxl355_fill_3db_frequency_table()
286 div = div64_u64_rem(mul_u64_u32_shr(odr, multiplier, 0), in adxl355_fill_3db_frequency_table()
374 enum adxl355_odr odr) in adxl355_set_odr() argument
380 if (data->odr == odr) { in adxl355_set_odr()
391 FIELD_PREP(ADXL355_FILTER_ODR_MSK, odr)); in adxl355_set_odr()
395 data->odr = odr; in adxl355_set_odr()
539 *val = adxl355_odr_table[data->odr][0]; in adxl355_read_raw()
[all …]
H A Dadxl367.c169 enum adxl367_odr odr; member
520 int freq_hz = adxl367_samp_freq_tbl[st->odr][0]; in adxl367_time_ms_to_samples()
521 int freq_microhz = adxl367_samp_freq_tbl[st->odr][1]; in adxl367_time_ms_to_samples()
593 static int _adxl367_set_odr(struct adxl367_state *st, enum adxl367_odr odr) in _adxl367_set_odr() argument
600 odr)); in _adxl367_set_odr()
604 st->odr = odr; in _adxl367_set_odr()
606 /* Activity timers depend on ODR */ in _adxl367_set_odr()
614 static int adxl367_set_odr(struct iio_dev *indio_dev, enum adxl367_odr odr) in adxl367_set_odr() argument
625 ret = _adxl367_set_odr(st, odr); in adxl367_set_odr()
677 enum adxl367_odr *odr) in adxl367_find_odr() argument
[all …]
H A Dadxl372.c292 enum adxl372_odr odr; member
383 enum adxl372_odr odr) in adxl372_set_odr() argument
389 ADXL372_TIMING_ODR_MODE(odr)); in adxl372_set_odr()
393 st->odr = odr; in adxl372_set_odr()
476 * ODR = 6400 Hz. It is 6.6 ms per code for ODR = 3200 Hz and below. in adxl372_set_activity_time_ms()
478 if (st->odr == ADXL372_ODR_6400HZ) in adxl372_set_activity_time_ms()
506 * ODR = 6400 Hz. It is 26 ms per code for ODR = 3200 Hz and below. in adxl372_set_inactivity_time_ms()
508 if (st->odr == ADXL372_ODR_6400HZ) in adxl372_set_inactivity_time_ms()
781 *val = adxl372_samp_freq_tbl[st->odr]; in adxl372_read_raw()
807 * The timer period depends on the ODR selected. in adxl372_write_raw()
[all …]
H A Dst_accel_core.c126 .odr = {
208 .odr = {
287 .odr = {
377 .odr = {
450 .odr = {
523 .odr = {
593 .odr = {
651 .odr = {
726 .odr = {
807 .odr = {
[all …]
H A Dadxl345_core.c93 /* Certain features recommend 12.5 Hz - 400 Hz ODR */
452 int val2, enum adxl345_odr *odr) in adxl345_find_odr() argument
459 *odr = i; in adxl345_find_odr()
467 static int adxl345_set_odr(struct adxl345_state *st, enum adxl345_odr odr) in adxl345_set_odr() argument
471 FIELD_PREP(ADXL345_BW_RATE_MSK, odr)); in adxl345_set_odr()
525 enum adxl345_odr odr; in adxl345_read_raw() local
568 odr = FIELD_GET(ADXL345_BW_RATE_MSK, regval); in adxl345_read_raw()
569 *val = adxl345_odr_tbl[odr][0]; in adxl345_read_raw()
570 *val2 = adxl345_odr_tbl[odr][1]; in adxl345_read_raw()
583 enum adxl345_odr odr; in adxl345_write_raw() local
[all …]
/linux/drivers/iio/gyro/
H A Dfxas21002c_core.c117 * ODR * 0.lpf_values. So, for ODR = 800Hz with a lpf value = 0.32
126 * ODR * 0.0hpf_values. So, for ODR = 800Hz with a hpf value = 0.018750
447 static int fxas21002c_odr_get(struct fxas21002c_data *data, int *odr) in fxas21002c_odr_get() argument
457 *odr = fxas21002c_odr_hz_from_value(data, odr_bits); in fxas21002c_odr_get()
467 static int fxas21002c_odr_set(struct fxas21002c_data *data, int odr) in fxas21002c_odr_set() argument
471 odr_bits = fxas21002c_odr_value_from_hz(data, odr); in fxas21002c_odr_set()
501 int odr; in fxas21002c_lpf_set() local
509 * From table 33 of the device spec, for ODR = 25Hz and 12.5 value 0.08 in fxas21002c_lpf_set()
510 * is not allowed and for ODR = 12.5 value 0.16 is also not allowed in fxas21002c_lpf_set()
512 ret = fxas21002c_odr_get(data, &odr); in fxas21002c_lpf_set()
[all …]
H A Dst_gyro_core.c77 .odr = {
155 .odr = {
229 .odr = {
303 .odr = {
396 *val = gdata->odr; in st_gyro_read_raw()
493 gdata->odr = gdata->sensor_settings->odr.odr_avl[0].hz; in st_gyro_common_probe()
/linux/include/linux/iio/common/
H A Dst_sensors.h193 * @odr: Output data rate register and ODR list available.
210 struct st_sensor_odr odr; member
230 * @odr: Output data rate of the sensor [Hz].
239 * @odr_lock: Local lock for preventing concurrent ODR accesses/changes
250 unsigned int odr; member
298 int st_sensors_set_odr(struct iio_dev *indio_dev, unsigned int odr);
/linux/drivers/iio/imu/st_lsm6dsx/
H A Dst_lsm6dsx_shub.c159 u32 odr, timeout; in st_lsm6dsx_shub_wait_complete() local
162 odr = (hw->enable_mask & BIT(ST_LSM6DSX_ID_ACC)) ? sensor->odr : 12500; in st_lsm6dsx_shub_wait_complete()
164 timeout = max_t(u32, 2000000U / odr + 1, 10); in st_lsm6dsx_shub_wait_complete()
403 u32 odr, u16 *val) in st_lsm6dsx_shub_get_odr_val() argument
410 if (settings->odr_table.odr_avl[i].milli_hz == odr) in st_lsm6dsx_shub_get_odr_val()
422 st_lsm6dsx_shub_set_odr(struct st_lsm6dsx_sensor *sensor, u32 odr) in st_lsm6dsx_shub_set_odr() argument
428 err = st_lsm6dsx_shub_get_odr_val(sensor, odr, &val); in st_lsm6dsx_shub_set_odr()
629 int odr; in __st_lsm6dsx_shub_write_raw() local
637 odr = st_lsm6dsx_check_odr(ref_sensor, val, &odr_val); in __st_lsm6dsx_shub_write_raw()
638 if (odr < 0) in __st_lsm6dsx_shub_write_raw()
[all …]
H A Dst_lsm6dsx_buffer.c15 * value of the decimation factor and ODR set for each FIFO data set.
108 u32 decimator = max_odr / sensor->odr; in st_lsm6dsx_get_decimator_val()
139 *max_odr = max_t(u32, *max_odr, sensor->odr); in st_lsm6dsx_get_max_min_odr()
140 *min_odr = min_t(u32, *min_odr, sensor->odr); in st_lsm6dsx_get_max_min_odr()
146 u8 sip = sensor->odr / min_odr; in st_lsm6dsx_get_sip()
234 err = st_lsm6dsx_check_odr(sensor, sensor->odr, in st_lsm6dsx_set_fifo_odr()
428 * - gyroscope ODR = 208Hz, accelerometer ODR = 104Hz in st_lsm6dsx_read_fifo()
429 * Since the gyroscope ODR is twice the accelerometer one, the in st_lsm6dsx_read_fifo()
716 if (data->val[i].milli_hz == sensor->odr) { in st_lsm6dsx_update_samples_to_discard()
H A Dst_lsm6dsx_core.c19 * - Accelerometer/Gyroscope supported ODR [Hz]: 12.5, 26, 52, 104, 208, 416
29 * - Accelerometer/Gyroscope supported ODR [Hz]: 12.5, 26, 52, 104, 208, 416
46 * - Accelerometer/Gyroscope supported ODR [Hz]: 12.5, 26, 52, 104, 208, 416,
54 * - Accelerometer/Gyroscope supported ODR [Hz]: 7.5, 15, 30, 60, 120, 240,
62 * - Accelerometer supported ODR [Hz]: 10, 50, 119, 238, 476, 952
64 * - Gyroscope supported ODR [Hz]: 15, 60, 119, 238, 476, 952
1634 int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u32 odr, u8 *val) in st_lsm6dsx_check_odr() argument
1642 * ext devices can run at different odr respect to in st_lsm6dsx_check_odr()
1645 if (odr_table->odr_avl[i].milli_hz >= odr) in st_lsm6dsx_check_odr()
1657 st_lsm6dsx_check_odr_dependency(struct st_lsm6dsx_hw *hw, u32 odr, in st_lsm6dsx_check_odr_dependency() argument
[all …]
/linux/drivers/iio/imu/
H A Dfxos8700_core.c281 int odr; member
292 * Accellerometer and magnetometer have the same ODR options, set in the
293 * CTRL_REG1 register. ODR is halved when using both sensors at once in
480 int odr, int uodr) in fxos8700_set_odr() argument
504 if (fxos8700_odr[i].odr == odr && fxos8700_odr[i].uodr == uodr) in fxos8700_set_odr()
516 int *odr, int *uodr) in fxos8700_get_odr() argument
534 *odr = fxos8700_odr[i].odr; in fxos8700_get_odr()
664 /* Max ODR (800Hz individual or 400Hz hybrid), active mode */ in fxos8700_chip_init()
/linux/drivers/char/ipmi/
H A Dkcs_bmc.h20 * @odr: Output Data Register
25 u32 odr; member
/linux/drivers/iio/magnetometer/
H A Dst_magn_core.c152 .odr = {
231 .odr = {
311 .odr = {
384 .odr = {
433 .odr = {
532 *val = mdata->odr; in st_magn_read_raw()
629 mdata->odr = mdata->sensor_settings->odr.odr_avl[0].hz; in st_magn_common_probe()
/linux/drivers/iio/pressure/
H A Dst_pressure_core.c238 .odr = {
311 .odr = {
363 .odr = {
432 .odr = {
499 .odr = {
568 .odr = {
687 *val = press_data->odr; in st_press_read_raw()
769 press_data->odr = press_data->sensor_settings->odr.odr_avl[0].hz; in st_press_common_probe()
/linux/drivers/iio/adc/
H A Dad4130.c844 * the relation between filter mode, ODR and FS.
846 * Notice that the max ODR of each filter mode is not necessarily the
847 * absolute max ODR supported by the chip.
849 * The ODR divider is not explicitly specified, but it can be deduced based
850 * on the ODR range of each filter mode.
852 * For example, for Sinc4+Sinc1, max ODR is 218.18. That means that the
853 * absolute max ODR is divided by 11 to achieve the max ODR of this filter
856 * The formulas for converting between ODR and FS for a specific filter
859 * Notice that FS = 1 actually means max ODR, and that ODR decreases by
860 * (maximum ODR / maximum FS) for each increment of FS.
[all …]
/linux/drivers/scsi/aacraid/
H A Drx.c50 rx_writel(dev, MUnit.ODR,DoorBellPrintfReady); in aac_rx_intr_producer()
54 rx_writel(dev, MUnit.ODR, DoorBellAdapterNormCmdReady); in aac_rx_intr_producer()
58 rx_writel(dev, MUnit.ODR,DoorBellAdapterNormRespReady); in aac_rx_intr_producer()
62 rx_writel(dev, MUnit.ODR, DoorBellAdapterNormCmdNotFull); in aac_rx_intr_producer()
65 rx_writel(dev, MUnit.ODR, DoorBellAdapterNormCmdNotFull); in aac_rx_intr_producer()
66 rx_writel(dev, MUnit.ODR, DoorBellAdapterNormRespNotFull); in aac_rx_intr_producer()
101 MUnit.ODR, in aac_rx_intr_message()
640 rx_writel(dev, MUnit.ODR, 0xffffffff); in _aac_rx_init()
/linux/arch/powerpc/platforms/44x/
H A Dgpio.c33 __be32 odr; member
104 clrbits32(&regs->odr, GPIO_MASK(gpio)); in ppc4xx_gpio_dir_in()
137 clrbits32(&regs->odr, GPIO_MASK(gpio)); in ppc4xx_gpio_dir_out()

123