Lines Matching +full:- +full:30 +full:mv

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer
27 /* Output, +/- 90 degrees X-axis inclination */
30 /* Output, +/-180 vertical rotational position */
60 /* Data-ready polarity: 1 = active high, 0 = active low */
114 return -EINVAL; in adis16209_write_raw()
116 switch (chan->type) { in adis16209_write_raw()
122 return -EINVAL; in adis16209_write_raw()
125 return adis_write_reg_16(st, adis16209_addresses[chan->scan_index][0], in adis16209_write_raw()
145 switch (chan->type) { in adis16209_read_raw()
148 switch (chan->channel) { in adis16209_read_raw()
150 *val2 = 305180; /* 0.30518 mV */ in adis16209_read_raw()
153 *val2 = 610500; /* 0.6105 mV */ in adis16209_read_raw()
156 return -EINVAL; in adis16209_read_raw()
160 *val = -470; in adis16209_read_raw()
182 return -EINVAL; in adis16209_read_raw()
189 * degree celcius is -470. in adis16209_read_raw()
191 *val = 25000 / -470 - 0x4FE; in adis16209_read_raw()
194 switch (chan->type) { in adis16209_read_raw()
199 return -EINVAL; in adis16209_read_raw()
201 addr = adis16209_addresses[chan->scan_index][0]; in adis16209_read_raw()
206 *val = sign_extend32(val16, bits - 1); in adis16209_read_raw()
209 return -EINVAL; in adis16209_read_raw()
250 .read_delay = 30,
274 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in adis16209_probe()
276 return -ENOMEM; in adis16209_probe()
280 indio_dev->name = spi->dev.driver->name; in adis16209_probe()
281 indio_dev->info = &adis16209_info; in adis16209_probe()
282 indio_dev->channels = adis16209_channels; in adis16209_probe()
283 indio_dev->num_channels = ARRAY_SIZE(adis16209_channels); in adis16209_probe()
284 indio_dev->modes = INDIO_DIRECT_MODE; in adis16209_probe()
298 return devm_iio_device_register(&spi->dev, indio_dev); in adis16209_probe()
310 MODULE_DESCRIPTION("Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer");