Re: [PATCH] iio: imu: st_lsm6dsx: enable 833Hz sample frequency for tagged sensors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> On Fri, 24 Apr 2020 12:44:38 +0200
> Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote:
>
> > Enable 833Hz ODR for sensors that supports tagged hw FIFO:
> > - LSM6DSO/LSM6DSOX
> > - LSM6DSR/LSM6DSRX
> > - ASM330LHH
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> Would ideally have liked a little more info on the 'why'.  Was this previously
> capped by practicality - i.e. not possible to read faster or is there
> something else going on here?

Hi Jonathan,

you are right sorry, the commit log can be improved :)
Actually AFAIK aosp CTS requires 800Hz as sampling frequency for accel
and gyro (but I am out of it for a while now so I can be wrong).
Anyway I tested it and it works fine, so why not? :)

Regards,
Lorenzo

>
> Don't really need to know for the applied patch though so
> Applied to the togreg branch of iio.git and pushed out as testing
> for the autobuilders to play with it.
>
> Thanks,
>
> Jonathan
>
> > ---
> >  drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 21 +++++++++++++-------
> >  1 file changed, 14 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > index 84d219ae6aee..e6339bbb4469 100644
> > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > @@ -27,7 +27,8 @@
> >   *   - FIFO size: 4KB
> >   *
> >   * - LSM6DSO/LSM6DSOX/ASM330LHH/LSM6DSR/ISM330DHCX:
> > - *   - Accelerometer/Gyroscope supported ODR [Hz]: 13, 26, 52, 104, 208, 416
> > + *   - Accelerometer/Gyroscope supported ODR [Hz]: 13, 26, 52, 104, 208, 416,
> > + *     833
> >   *   - Accelerometer supported full-scale [g]: +-2/+-4/+-8/+-16
> >   *   - Gyroscope supported full-scale [dps]: +-125/+-245/+-500/+-1000/+-2000
> >   *   - FIFO size: 3KB
> > @@ -791,7 +792,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >                       [ST_LSM6DSX_ID_GYRO] = {
> >                               .reg = {
> > @@ -804,7 +806,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >               },
> >               .fs_table = {
> > @@ -994,7 +997,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >                       [ST_LSM6DSX_ID_GYRO] = {
> >                               .reg = {
> > @@ -1007,7 +1011,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >               },
> >               .fs_table = {
> > @@ -1171,7 +1176,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >                       [ST_LSM6DSX_ID_GYRO] = {
> >                               .reg = {
> > @@ -1184,7 +1190,8 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
> >                               .odr_avl[3] = { 104000, 0x04 },
> >                               .odr_avl[4] = { 208000, 0x05 },
> >                               .odr_avl[5] = { 416000, 0x06 },
> > -                             .odr_len = 6,
> > +                             .odr_avl[6] = { 833000, 0x07 },
> > +                             .odr_len = 7,
> >                       },
> >               },
> >               .fs_table = {
>




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux