Jonathan Cameron wrote on 2011-09-23: > I know this was a while ago, but I have a feeling I may have made up > this part number and it is infact called an adis16334? > > Can anyone shed any light on this? Hi Jonathan, ADIS16344 is not a valid part number and I think you meant ADIS16334. -Michael > Whatever happened, I'll put together a patch changing the naming given > it is clearly wrong! >> Jonathan Cameron wrote on 2011-07-11: >>> Simple device. Note the sparse scan mask used. >>> >>> Done from datasheet as very similar to existing parts. >>> >>> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxx> >> >> Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> >> >>> --- >>> drivers/staging/iio/imu/adis16400_core.c | 46 >>> +++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 >>> deletions(-) >>> diff --git a/drivers/staging/iio/imu/adis16400_core.c >>> b/drivers/staging/iio/imu/adis16400_core.c index 66fc156..f034330 >>> 100644 --- a/drivers/staging/iio/imu/adis16400_core.c +++ >>> b/drivers/staging/iio/imu/adis16400_core.c @@ -35,6 +35,7 @@ >>> >>> enum adis16400_chip_variant { ADIS16300, + ADIS16344, > ADIS16350, >>> ADIS16360, ADIS16362, @@ -458,7 +459,7 @@ static u8 >>> adis16400_addresses[17][2] = { [temp2] = { > ADIS16350_ZTEMP_OUT }, >>> [in1] = { ADIS16400_AUX_ADC, 0 }, [incli_x] = { > ADIS16300_PITCH_OUT, >>> 0 }, >>> - [incli_y] = { ADIS16300_ROLL_OUT, 0 } >>> + [incli_y] = { ADIS16300_ROLL_OUT, 0 }, >>> }; >>> >>> static int adis16400_write_raw(struct iio_dev *indio_dev, @@ -690,6 >>> +691,38 @@ static struct iio_chan_spec adis16300_channels[] = { >>> IIO_CHAN_SOFT_TIMESTAMP(14) }; >>> +static const struct iio_chan_spec adis16344_channels[] = { + >>> IIO_CHAN(IIO_GYRO, 1, 0, 0, NULL, 0, IIO_MOD_X, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + gyro_x, >>> ADIS16400_SCAN_GYRO_X, IIO_ST('s', 14, 16, 0), 0), + >>> IIO_CHAN(IIO_GYRO, 1, 0, 0, NULL, 0, IIO_MOD_Y, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + gyro_y, >>> ADIS16400_SCAN_GYRO_Y, IIO_ST('s', 14, 16, 0), 0), + >>> IIO_CHAN(IIO_GYRO, 1, 0, 0, NULL, 0, IIO_MOD_Z, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + gyro_z, >>> ADIS16400_SCAN_GYRO_Z, IIO_ST('s', 14, 16, 0), 0), + >>> IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + accel_x, >>> ADIS16400_SCAN_ACC_X, IIO_ST('s', 14, 16, 0), 0), + >>> IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + accel_y, >>> ADIS16400_SCAN_ACC_Y, IIO_ST('s', 14, 16, 0), 0), + >>> IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z, + (1 << >>> IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SHARED), + accel_z, >>> ADIS16400_SCAN_ACC_Z, IIO_ST('s', 14, 16, 0), 0), + IIO_CHAN(IIO_TEMP, >>> 0, 1, 0, NULL, 0, 0, + (1 << >>> IIO_CHAN_INFO_OFFSET_SEPARATE) | + (1 << >>> IIO_CHAN_INFO_SCALE_SEPARATE), + temp0, >>> ADIS16350_SCAN_TEMP_X, IIO_ST('s', 12, 16, 0), 0), + >>> IIO_CHAN_SOFT_TIMESTAMP(12) +}; + >>> static struct attribute *adis16400_attributes[] = { >>> &iio_dev_attr_sampling_frequency.dev_attr.attr, >>> &iio_const_attr_sampling_frequency_available.dev_attr.attr, >>> @@ -714,6 +747,16 @@ static struct adis16400_chip_info >>> adis16400_chips[] = { >>> (1 << ADIS16300_SCAN_INCLI_X) | (1 << > ADIS16300_SCAN_INCLI_Y) | (1 >>> << 14), }, >>> + [ADIS16344] = { + .channels = adis16344_channels, + >>> .num_channels = ARRAY_SIZE(adis16344_channels), + >>> .gyro_scale_micro = 873, + .accel_scale_micro = 981, + >>> .default_scan_mask = (1 << ADIS16400_SCAN_GYRO_X) | + >>> (1 << ADIS16400_SCAN_GYRO_Y) | (1 << ADIS16400_SCAN_GYRO_Z) | + >>> (1 << ADIS16400_SCAN_ACC_X) | (1 << ADIS16400_SCAN_ACC_Y) | >>> + (1 << ADIS16400_SCAN_ACC_Z), + }, >>> [ADIS16350] = { >>> .channels = adis16350_channels, >>> .num_channels = ARRAY_SIZE(adis16350_channels), @@ - > 869,6 >>> +912,7 @@ err_ret: >>> >>> static const struct spi_device_id adis16400_id[] = { {"adis16300", >>> ADIS16300}, + {"adis16344", ADIS16344}, {"adis16350", > ADIS16350}, >> {"adis16354", ADIS16350}, {"adis16355", ADIS16350}, >> Greetings, >> Michael >> >> -- >> Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen >> Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; > Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, > Margaret Seif >> >> >> >> > Greetings, Michael -- Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html