i2c: hisi: Add initial device tree support
authorWeilong Chen <chenweilong@huawei.com>
Tue, 1 Nov 2022 08:07:27 +0000 (16:07 +0800)
committerWolfram Sang <wsa@kernel.org>
Wed, 2 Nov 2022 20:23:15 +0000 (21:23 +0100)
The HiSilicon I2C controller can be used on embedded platform, which
boot from devicetree.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Acked-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-hisi.c

index e50f960..a7bfddf 100644 (file)
@@ -673,7 +673,7 @@ config I2C_HIGHLANDER
 
 config I2C_HISI
        tristate "HiSilicon I2C controller"
-       depends on (ARM64 && ACPI) || COMPILE_TEST
+       depends on ARM64 || COMPILE_TEST
        help
          Say Y here if you want to have Hisilicon I2C controller support
          available on the Kunpeng Server.
index 76c3d8f..bcc97e4 100644 (file)
@@ -489,11 +489,18 @@ static const struct acpi_device_id hisi_i2c_acpi_ids[] = {
 };
 MODULE_DEVICE_TABLE(acpi, hisi_i2c_acpi_ids);
 
+static const struct of_device_id hisi_i2c_dts_ids[] = {
+       { .compatible = "hisilicon,ascend910-i2c", },
+       { }
+};
+MODULE_DEVICE_TABLE(of, hisi_i2c_dts_ids);
+
 static struct platform_driver hisi_i2c_driver = {
        .probe          = hisi_i2c_probe,
        .driver         = {
                .name   = "hisi-i2c",
                .acpi_match_table = hisi_i2c_acpi_ids,
+               .of_match_table = hisi_i2c_dts_ids,
        },
 };
 module_platform_driver(hisi_i2c_driver);