• Home
  • Raw
  • Download

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

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer
30 /* Output, +/- 90 degrees X-axis inclination */
33 /* Output, +/-180 vertical rotational position */
63 /* Data-ready polarity: 1 = active high, 0 = active low */
117 return -EINVAL; in adis16209_write_raw()
119 switch (chan->type) { in adis16209_write_raw()
125 return -EINVAL; in adis16209_write_raw()
128 return adis_write_reg_16(st, adis16209_addresses[chan->scan_index][0], in adis16209_write_raw()
148 switch (chan->type) { in adis16209_read_raw()
151 switch (chan->channel) { in adis16209_read_raw()
159 return -EINVAL; in adis16209_read_raw()
163 *val = -470; in adis16209_read_raw()
185 return -EINVAL; in adis16209_read_raw()
192 * degree celcius is -470. in adis16209_read_raw()
194 *val = 25000 / -470 - 0x4FE; in adis16209_read_raw()
197 switch (chan->type) { in adis16209_read_raw()
202 return -EINVAL; in adis16209_read_raw()
204 addr = adis16209_addresses[chan->scan_index][0]; in adis16209_read_raw()
209 *val = sign_extend32(val16, bits - 1); in adis16209_read_raw()
212 return -EINVAL; in adis16209_read_raw()
277 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in adis16209_probe()
279 return -ENOMEM; in adis16209_probe()
284 indio_dev->name = spi->dev.driver->name; in adis16209_probe()
285 indio_dev->info = &adis16209_info; in adis16209_probe()
286 indio_dev->channels = adis16209_channels; in adis16209_probe()
287 indio_dev->num_channels = ARRAY_SIZE(adis16209_channels); in adis16209_probe()
288 indio_dev->modes = INDIO_DIRECT_MODE; in adis16209_probe()
302 return devm_iio_device_register(&spi->dev, indio_dev); in adis16209_probe()
314 MODULE_DESCRIPTION("Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer");