Re: [PATCH] arm64: dts: renesas: ulcb-kf: add 9-asix sensor device

From: Nikita Yushchenko
Date: Wed Jan 26 2022 - 10:28:05 EST


Interrupt definition is not added yet, because the interrupt lines of
lsm9ds0 are pulled to VCC on the board, which implies need for
active-low configuration. But st_sensors drivers currently can't work
with active-low interrupts on this chip.

That's unfortunate, as DT describes hardware, not limitations of the
software stack.

Unfortunately, if interrupt definition is added, driver does wrong things and causes board hang.

+ vdd-supply = <&accel_3v3>;
+ vddio-supply = <&accel_3v3>;

According to the bindings, the supplies are not required, so you can
leave them out? Or are the bindings wrong?

If supplies are not defined, warning messages about dummy regulator are logged.

(The bindings also say "interrupts: maxItems 2", while the "interrupts:
description" says up to three interrupts, doh...)

Chip has 3 interrupt outputs. On KF board, all those are ANDed together and result connected to SoC's gpio that is expected to be used as a shared active-low interrupt. Driver currently claims that this chip does not support active-low interrupts. Per datasheet, this is not true. But driver's way to set up interrupt registers does not scale to the case when interrupts have to be configured by different bits in several registers, that part of the driver has to be somehow rewritten. I guess nobody has ever tried to make these drivers (st_*) to drive a compound device (accel+gyro) with interrupts.

At the same time, the device is perfectly useful without interrupts, and that is how it is enabled in the vendor BSP.

Nikita