No binding for LIS3DH #dts

Kiril Zyapkov

I played with Zephyr back in 2018 -- I had a working setup with custom out-of-tree board for CJMCU8223 -- a Chinese thingy with NRF51. Some days ago, I decided to revive this setup and use it for a toy project.

It took some fiddling to adapt to the latest Zephyr and `west`, but I think I got most everything in place. One issue remains though -- I cannot get a binding for the LIS3DH sensor onboard. I think the issue comes from some mismatch in the "compatible" strings and related DT glue -- at some point LIS3DH has been merged with LIS2DH. It must be some obvious oversight, but I don't know the system well enough to trace it.

I think the issue is not with my custom board, because trying to build `zephyr/samples/sensor/lis2dh` for one of the in-tree boards with LIS3DH sensors results in the same error:

#warning "LIS2DH driver enabled without any devices"

or a linker error if using `DEVICE_DT_GET()`.

To reproduce:

Add the okay for the sensor node in, say, 96b_wistrio.overlay:
&i2c1 {
    lis3dh@32 {
        status = "okay";

Change `st_lis2dh` to `st_lis3dh` in `zephyr/samples/sensor/lis2dh/src/main.c`

Run `west build -b 96b_wistrio zephyr/samples/sensor/lis2dh`

Also, my custom board, failing in the same way:

git clone
west build -b cjmcu8223 zephyr-cjmcu8223/sample_app/

I hope that's something trivial to fix.

-- Kiril