mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 14:56:54 -04:00
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.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>
This commit is contained in:
committed by
Jonathan Cameron
parent
fc1bc5e071
commit
d5cbe15020
@@ -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)
|
|||||||
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)
|
|||||||
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[] = {
|
|||||||
{"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[] = {
|
|||||||
{ .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", },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user