drivers: iio: imu: Add support for ADIS16501
Add support for ADIS16501 device in already existing ADIS16475 driver. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Ramona Gradinariu <ramona.bolboaca13@gmail.com> Link: https://lore.kernel.org/r/20240527142618.275897-3-ramona.bolboaca13@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
6859fba8c1
commit
64c65fac71
2 changed files with 25 additions and 2 deletions
|
@ -36,8 +36,8 @@ config ADIS16475
|
|||
select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
|
||||
help
|
||||
Say yes here to build support for Analog Devices ADIS16470, ADIS16475,
|
||||
ADIS16477, ADIS16465, ADIS16467, ADIS16500, ADIS16505, ADIS16507 inertial
|
||||
sensors.
|
||||
ADIS16477, ADIS16465, ADIS16467, ADIS16500, ADIS16501, ADIS16505,
|
||||
ADIS16507 inertial sensors.
|
||||
|
||||
To compile this driver as a module, choose M here: the module will be
|
||||
called adis16475.
|
||||
|
|
|
@ -661,6 +661,7 @@ enum adis16475_variant {
|
|||
ADIS16467_2,
|
||||
ADIS16467_3,
|
||||
ADIS16500,
|
||||
ADIS16501,
|
||||
ADIS16505_1,
|
||||
ADIS16505_2,
|
||||
ADIS16505_3,
|
||||
|
@ -980,6 +981,25 @@ static const struct adis16475_chip_info adis16475_chip_info[] = {
|
|||
.flags = ADIS16475_HAS_BURST32 | ADIS16475_HAS_BURST_DELTA_DATA,
|
||||
.adis_data = ADIS16475_DATA(16500, &adis1650x_timeouts),
|
||||
},
|
||||
[ADIS16501] = {
|
||||
.name = "adis16501",
|
||||
.num_channels = ARRAY_SIZE(adis16477_channels),
|
||||
.channels = adis16477_channels,
|
||||
.gyro_max_val = 1,
|
||||
.gyro_max_scale = IIO_RAD_TO_DEGREE(40 << 16),
|
||||
.accel_max_val = 1,
|
||||
.accel_max_scale = IIO_M_S_2_TO_G(800 << 16),
|
||||
.temp_scale = 100,
|
||||
.deltang_max_val = IIO_DEGREE_TO_RAD(720),
|
||||
.deltvel_max_val = 125,
|
||||
.int_clk = 2000,
|
||||
.max_dec = 1999,
|
||||
.sync = adis16475_sync_mode,
|
||||
/* pulse sync not supported */
|
||||
.num_sync = ARRAY_SIZE(adis16475_sync_mode) - 1,
|
||||
.flags = ADIS16475_HAS_BURST32 | ADIS16475_HAS_BURST_DELTA_DATA,
|
||||
.adis_data = ADIS16475_DATA(16501, &adis1650x_timeouts),
|
||||
},
|
||||
[ADIS16505_1] = {
|
||||
.name = "adis16505-1",
|
||||
.num_channels = ARRAY_SIZE(adis16477_channels),
|
||||
|
@ -1484,6 +1504,8 @@ static const struct of_device_id adis16475_of_match[] = {
|
|||
.data = &adis16475_chip_info[ADIS16467_3] },
|
||||
{ .compatible = "adi,adis16500",
|
||||
.data = &adis16475_chip_info[ADIS16500] },
|
||||
{ .compatible = "adi,adis16501",
|
||||
.data = &adis16475_chip_info[ADIS16501] },
|
||||
{ .compatible = "adi,adis16505-1",
|
||||
.data = &adis16475_chip_info[ADIS16505_1] },
|
||||
{ .compatible = "adi,adis16505-2",
|
||||
|
@ -1515,6 +1537,7 @@ static const struct spi_device_id adis16475_ids[] = {
|
|||
{ "adis16467-2", (kernel_ulong_t)&adis16475_chip_info[ADIS16467_2] },
|
||||
{ "adis16467-3", (kernel_ulong_t)&adis16475_chip_info[ADIS16467_3] },
|
||||
{ "adis16500", (kernel_ulong_t)&adis16475_chip_info[ADIS16500] },
|
||||
{ "adis16501", (kernel_ulong_t)&adis16475_chip_info[ADIS16501] },
|
||||
{ "adis16505-1", (kernel_ulong_t)&adis16475_chip_info[ADIS16505_1] },
|
||||
{ "adis16505-2", (kernel_ulong_t)&adis16475_chip_info[ADIS16505_2] },
|
||||
{ "adis16505-3", (kernel_ulong_t)&adis16475_chip_info[ADIS16505_3] },
|
||||
|
|
Loading…
Reference in a new issue