};
 MODULE_DEVICE_TABLE(i2c, cyttsp_i2c_id);
 
+static const struct of_device_id cyttsp_of_i2c_match[] = {
+       { .compatible = "cypress,cy8ctma340", },
+       { .compatible = "cypress,cy8ctst341", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, cyttsp_of_i2c_match);
+
 static struct i2c_driver cyttsp_i2c_driver = {
        .driver = {
                .name   = CY_I2C_NAME,
                .pm     = &cyttsp_pm_ops,
+               .of_match_table = cyttsp_of_i2c_match,
        },
        .probe          = cyttsp_i2c_probe,
        .id_table       = cyttsp_i2c_id,
 
        return 0;
 }
 
+static const struct of_device_id cyttsp_of_spi_match[] = {
+       { .compatible = "cypress,cy8ctma340", },
+       { .compatible = "cypress,cy8ctst341", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, cyttsp_of_spi_match);
+
 static struct spi_driver cyttsp_spi_driver = {
        .driver = {
                .name   = CY_SPI_NAME,
                .pm     = &cyttsp_pm_ops,
+               .of_match_table = cyttsp_of_spi_match,
        },
        .probe  = cyttsp_spi_probe,
 };