[PATCH 0/3] iio: accel: kxcjk-1013: Add support for KX023-1025

Stephan Gerhold
2021-05-11T09:56:47Z

KX023-1025 [1] is another accelerometer from Kionix that has lots
of additional functionality compared to KXCJK-1013. It combines the
motion interrupt functionality from KXCJK with the tap detection
from KXTF9, plus a lot more other functionality.

This patch set does not add support for any of the extra functionality,
but makes basic functionality work with the existing kxcjk-1013 driver.

At first, the register map for the KX023-1025 seems quite different
from the other accelerometers supported by the kxcjk-1013.
However, it turns out that at least most of the register bits
still mean the same for KX023-1025.

This patch set refactors the kxcjk-1013 driver a little bit
to get the register addresses from a chip-specific struct.
The register bits can be re-used for all the different chips.

The KX023-1025 is used in several smartphones from Huawei.
I tested these changes on a Huawei Ascend G7, someone else reported
they also work fine on the Huawei Honor 5X (codename "kiwi").

[1]: https://kionixfs.azureedge.net/en/datasheet/KX023-1025%20Specifications%20Rev%2012.0.pdf

Stephan Gerhold (3):
dt-bindings: iio: kionix,kxcjk1013: Document kionix,kx023-1025
iio: accel: kxcjk-1013: Refactor configuration registers into struct
iio: accel: kxcjk-1013: Add support for KX023-1025

.../bindings/iio/accel/kionix,kxcjk1013.yaml | 1 +
drivers/iio/accel/kxcjk-1013.c | 217 ++++++++++++++----
2 files changed, 176 insertions(+), 42 deletions(-)

--
2.31.1