]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: accel: kxcjk-1013: Add support for KX022-1020
authorRayyan Ansari <rayyan@ansari.sh>
Sun, 14 Jul 2024 17:33:04 +0000 (18:33 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 3 Aug 2024 09:13:38 +0000 (10:13 +0100)
Add compatible for the KX022-1020 accelerometer [1] using the
KX022-1023 [2] register map as both have an identical i2c interface.

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

Signed-off-by: Rayyan Ansari <rayyan@ansari.sh>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patch.msgid.link/20240714173431.54332-3-rayyan@ansari.sh
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/kxcjk-1013.c

index 8280d2bef0a3740c62f9ae8699e2160db7f29725..b76df88163232775bd7c652fbf79087b53905225 100644 (file)
@@ -173,6 +173,7 @@ enum kx_chipset {
        KXCJ91008,
        KXTJ21009,
        KXTF9,
+       KX0221020,
        KX0231025,
        KX_MAX_CHIPS /* this must be last */
 };
@@ -580,8 +581,8 @@ static int kxcjk1013_chip_init(struct kxcjk1013_data *data)
                return ret;
        }
 
-       /* On KX023, route all used interrupts to INT1 for now */
-       if (data->chipset == KX0231025 && data->client->irq > 0) {
+       /* On KX023 and KX022, route all used interrupts to INT1 for now */
+       if ((data->chipset == KX0231025 || data->chipset == KX0221020) && data->client->irq > 0) {
                ret = i2c_smbus_write_byte_data(data->client, KX023_REG_INC4,
                                                KX023_REG_INC4_DRDY1 |
                                                KX023_REG_INC4_WUFI1);
@@ -1507,6 +1508,7 @@ static int kxcjk1013_probe(struct i2c_client *client)
        case KXTF9:
                data->regs = &kxtf9_regs;
                break;
+       case KX0221020:
        case KX0231025:
                data->regs = &kx0231025_regs;
                break;
@@ -1712,6 +1714,7 @@ static const struct i2c_device_id kxcjk1013_id[] = {
        {"kxcj91008", KXCJ91008},
        {"kxtj21009", KXTJ21009},
        {"kxtf9",     KXTF9},
+       {"kx022-1020", KX0221020},
        {"kx023-1025", KX0231025},
        {"SMO8500",   KXCJ91008},
        {}
@@ -1724,6 +1727,7 @@ static const struct of_device_id kxcjk1013_of_match[] = {
        { .compatible = "kionix,kxcj91008", },
        { .compatible = "kionix,kxtj21009", },
        { .compatible = "kionix,kxtf9", },
+       { .compatible = "kionix,kx022-1020", },
        { .compatible = "kionix,kx023-1025", },
        { }
 };