Commit d5cbe150 authored by Rayyan Ansari's avatar Rayyan Ansari Committed by Jonathan Cameron

iio: accel: kxcjk-1013: Add support for KX022-1020

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.pdfSigned-off-by: default avatarRayyan Ansari <rayyan@ansari.sh>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://patch.msgid.link/20240714173431.54332-3-rayyan@ansari.shSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent fc1bc5e0
...@@ -173,6 +173,7 @@ enum kx_chipset { ...@@ -173,6 +173,7 @@ enum kx_chipset {
KXCJ91008, KXCJ91008,
KXTJ21009, KXTJ21009,
KXTF9, KXTF9,
KX0221020,
KX0231025, KX0231025,
KX_MAX_CHIPS /* this must be last */ KX_MAX_CHIPS /* this must be last */
}; };
...@@ -580,8 +581,8 @@ static int kxcjk1013_chip_init(struct kxcjk1013_data *data) ...@@ -580,8 +581,8 @@ static int kxcjk1013_chip_init(struct kxcjk1013_data *data)
return ret; return ret;
} }
/* On KX023, route all used interrupts to INT1 for now */ /* On KX023 and KX022, route all used interrupts to INT1 for now */
if (data->chipset == KX0231025 && data->client->irq > 0) { if ((data->chipset == KX0231025 || data->chipset == KX0221020) && data->client->irq > 0) {
ret = i2c_smbus_write_byte_data(data->client, KX023_REG_INC4, ret = i2c_smbus_write_byte_data(data->client, KX023_REG_INC4,
KX023_REG_INC4_DRDY1 | KX023_REG_INC4_DRDY1 |
KX023_REG_INC4_WUFI1); KX023_REG_INC4_WUFI1);
...@@ -1507,6 +1508,7 @@ static int kxcjk1013_probe(struct i2c_client *client) ...@@ -1507,6 +1508,7 @@ static int kxcjk1013_probe(struct i2c_client *client)
case KXTF9: case KXTF9:
data->regs = &kxtf9_regs; data->regs = &kxtf9_regs;
break; break;
case KX0221020:
case KX0231025: case KX0231025:
data->regs = &kx0231025_regs; data->regs = &kx0231025_regs;
break; break;
...@@ -1712,6 +1714,7 @@ static const struct i2c_device_id kxcjk1013_id[] = { ...@@ -1712,6 +1714,7 @@ static const struct i2c_device_id kxcjk1013_id[] = {
{"kxcj91008", KXCJ91008}, {"kxcj91008", KXCJ91008},
{"kxtj21009", KXTJ21009}, {"kxtj21009", KXTJ21009},
{"kxtf9", KXTF9}, {"kxtf9", KXTF9},
{"kx022-1020", KX0221020},
{"kx023-1025", KX0231025}, {"kx023-1025", KX0231025},
{"SMO8500", KXCJ91008}, {"SMO8500", KXCJ91008},
{} {}
...@@ -1724,6 +1727,7 @@ static const struct of_device_id kxcjk1013_of_match[] = { ...@@ -1724,6 +1727,7 @@ static const struct of_device_id kxcjk1013_of_match[] = {
{ .compatible = "kionix,kxcj91008", }, { .compatible = "kionix,kxcj91008", },
{ .compatible = "kionix,kxtj21009", }, { .compatible = "kionix,kxtj21009", },
{ .compatible = "kionix,kxtf9", }, { .compatible = "kionix,kxtf9", },
{ .compatible = "kionix,kx022-1020", },
{ .compatible = "kionix,kx023-1025", }, { .compatible = "kionix,kx023-1025", },
{ } { }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment