Lines Matching refs:adis
25 #include <linux/iio/imu/adis.h>
169 struct adis adis;
200 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_REV, &rev);
225 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_Y, &year);
229 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_DM, &md);
252 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_SERIAL_NUM,
270 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_PROD_ID,
288 ret = adis_read_reg_32(&adis16480->adis, ADIS16480_REG_FLASH_CNT,
341 adis_dev_lock(&st->adis);
350 * 2. get the highest multiple of the previous result lower than the adis max rate.
382 ret = __adis_write_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, sync_scale);
396 ret = __adis_write_reg_16(&st->adis, ADIS16480_REG_DEC_RATE, t);
398 adis_dev_unlock(&st->adis);
409 adis_dev_lock(&st->adis);
414 ret = __adis_read_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, &sync_scale);
421 ret = __adis_read_reg_16(&st->adis, ADIS16480_REG_DEC_RATE, &t);
425 adis_dev_unlock(&st->adis);
434 adis_dev_unlock(&st->adis);
485 return adis_write_reg_16(&st->adis, reg, bias);
488 return adis_write_reg_32(&st->adis, reg, bias);
508 ret = adis_read_reg_16(&st->adis, reg, &val16);
514 ret = adis_read_reg_32(&st->adis, reg, &val32);
537 return adis_write_reg_16(&st->adis, reg, scale);
548 ret = adis_read_reg_16(&st->adis, reg, &val16);
594 ret = adis_read_reg_16(&st->adis, reg, &val);
620 adis_dev_lock(&st->adis);
622 ret = __adis_read_reg_16(&st->adis, reg, &val);
646 ret = __adis_write_reg_16(&st->adis, reg, val);
648 adis_dev_unlock(&st->adis);
873 static int adis16480_enable_irq(struct adis *adis, bool enable);
1123 struct adis *adis = &st->adis;
1124 struct device *dev = &adis->spi->dev;
1130 adis_dev_lock(adis);
1131 if (adis->current_page != 0) {
1132 adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
1133 adis->tx[1] = 0;
1134 ret = spi_write(adis->spi, adis->tx, 2);
1137 adis_dev_unlock(adis);
1141 adis->current_page = 0;
1144 ret = spi_sync(adis->spi, &adis->msg);
1147 adis_dev_unlock(adis);
1151 adis_dev_unlock(adis);
1162 buffer = adis->buffer;
1220 struct device *dev = &st->adis.spi->dev;
1223 ret = adis_write_reg_16(&st->adis, ADIS16480_REG_SLP_CNT, BIT(9));
1230 static int adis16480_enable_irq(struct adis *adis, bool enable)
1235 ret = __adis_read_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, &val);
1242 return __adis_write_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, val);
1247 struct device *dev = &st->adis.spi->dev;
1255 desc = irq_get_irq_data(st->adis.spi->irq);
1298 return adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
1303 struct device *dev = &st->adis.spi->dev;
1324 struct device *dev = &st->adis.spi->dev;
1330 ret = adis_read_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, &val);
1354 ret = adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
1363 struct device *dev = &st->adis.spi->dev;
1422 ret = adis_init(&st->adis, indio_dev, spi, adis16480_data);
1426 ret = __adis_initial_startup(&st->adis);
1465 ret = __adis_write_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, sync_scale);
1477 ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev,