• Home
  • Raw
  • Download

Lines Matching +full:dual +full:- +full:axis

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer
58 /* Data-ready enable: 1 = enabled, 0 = disabled */
60 /* Data-ready polarity: 1 = active high, 0 = active low */
62 /* Data-ready line selection: 1 = DIO1, 0 = DIO0 */
116 switch (chan->type) { in adis16201_read_raw()
118 if (chan->channel == 0) { in adis16201_read_raw()
129 *val = -470; in adis16201_read_raw()
146 return -EINVAL; in adis16201_read_raw()
153 * degree celcius is -470. in adis16201_read_raw()
155 *val = 25000 / -470 - 1278; in adis16201_read_raw()
158 switch (chan->type) { in adis16201_read_raw()
166 return -EINVAL; in adis16201_read_raw()
168 addr = adis16201_addresses[chan->scan_index]; in adis16201_read_raw()
173 *val = sign_extend32(val16, bits - 1); in adis16201_read_raw()
177 return -EINVAL; in adis16201_read_raw()
190 return -EINVAL; in adis16201_write_raw()
192 switch (chan->type) { in adis16201_write_raw()
200 return -EINVAL; in adis16201_write_raw()
203 return adis_write_reg_16(st, adis16201_addresses[chan->scan_index], in adis16201_write_raw()
266 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in adis16201_probe()
268 return -ENOMEM; in adis16201_probe()
273 indio_dev->name = spi->dev.driver->name; in adis16201_probe()
274 indio_dev->info = &adis16201_info; in adis16201_probe()
276 indio_dev->channels = adis16201_channels; in adis16201_probe()
277 indio_dev->num_channels = ARRAY_SIZE(adis16201_channels); in adis16201_probe()
278 indio_dev->modes = INDIO_DIRECT_MODE; in adis16201_probe()
292 return devm_iio_device_register(&spi->dev, indio_dev); in adis16201_probe()
304 MODULE_DESCRIPTION("Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer");