> On Wed, 11 Jan 2023 13:09:40 +0100 > Philippe De Muyter <phdm@xxxxxxx> wrote: > > > Hello Lorenzo and list, > > > > I do not find a "*mount_matrix" entry in sysfs for a 'ism330dlc_gyro' > > iio device. > > Is that normal ? > > Is a fix available ? > > Looks like the channel definition for the gyro does not include an > appropriate ext_info entry unlike the accelerometer channels which > have one with mount_matrix support. > > From a quick glance looks like a simple fix. Add that entry. I am not sure if accel and gyro can be mounted with a different orientation. Do you think we should have a per-sensor mount_matrix? Regards, Lorenzo > > > > Some more info : > > > > I have backported drivers/iio/imu/st_lsm6dsx to linux-4.9 in order > > to drive a ism330dlc imu on a custom board. The chip is correctly > > detected and two devices are created in /sys/bus/iio/devices/ > > > > the first one (where name is 'ism330dlc_gyro') has the following entries : > > > > me@proto4:~$ ls /sys/bus/iio/devices/iio\:device1/ > > buffer in_anglvel_x_raw sampling_frequency > > current_timestamp_clock in_anglvel_y_raw sampling_frequency_available > > dev in_anglvel_z_raw scan_elements > > in_anglvel_scale name subsystem > > in_anglvel_scale_available power uevent > > me@proto4:~$ > > > > the second one (where name is 'ism330dlc_accel') has those entries : > > > > me@proto4:~$ ls /sys/bus/iio/devices/iio\:device2 > > buffer in_accel_x_raw sampling_frequency > > current_timestamp_clock in_accel_y_raw sampling_frequency_available > > dev in_accel_z_raw scan_elements > > events mount_matrix subsystem > > in_accel_scale name uevent > > in_accel_scale_available power > > me@proto4:~$ > > > > The 'mount_matrix' entry is only present in the 'ism330dlc_accel' device > > but not in the 'ism330dlc_gyro' device. > > > > On a similar board, but with mpu9250 imu, I get only one iio:deviceX > > entry but with two *mount_matrix entries : > > > > in_accel_mount_matrix > > in_anglvel_mount_matrix > > > > In both cases, I would have expected only one 'iio:deviceX' entry with > > only one 'mount_matrix' entry. > > There are multiple devices because the driver predates the addition > of multiple buffer support to IIO and IIRC is capable of producing data > at different sampling rates for the accelerometer and the gyros. > Hence when it was implemented the only choice was to register multiple > devices in order to get the multiple buffers. It's ABI now so we can't > fix it in an old driver unfortunately. We'd do this differently today.. > > The double mount_matrix for the mpu9250 is a little odd and I can't > immediately spot why that one is happening. > > > > > > Best regards > > > > Philippe > > >
Attachment:
signature.asc
Description: PGP signature