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? 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 > > > > -- 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