]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/mfd/intel-lpss-acpi.c
mfd: intel-lpss: Pass SDA hold time to I2C host controller driver
[karo-tx-linux.git] / drivers / mfd / intel-lpss-acpi.c
index b6fd9041f82fcffec38325c140092de88adc3e57..06f00d60be4693039db3e3d6447c60e3cc2fbbea 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/pm.h>
 #include <linux/pm_runtime.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 
 #include "intel-lpss.h"
 
@@ -25,6 +26,20 @@ static const struct intel_lpss_platform_info spt_info = {
        .clk_rate = 120000000,
 };
 
+static struct property_entry spt_i2c_properties[] = {
+       PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 230),
+       { },
+};
+
+static struct property_set spt_i2c_pset = {
+       .properties = spt_i2c_properties,
+};
+
+static const struct intel_lpss_platform_info spt_i2c_info = {
+       .clk_rate = 120000000,
+       .pset = &spt_i2c_pset,
+};
+
 static const struct intel_lpss_platform_info bxt_info = {
        .clk_rate = 100000000,
 };
@@ -35,8 +50,8 @@ static const struct intel_lpss_platform_info bxt_i2c_info = {
 
 static const struct acpi_device_id intel_lpss_acpi_ids[] = {
        /* SPT */
-       { "INT3446", (kernel_ulong_t)&spt_info },
-       { "INT3447", (kernel_ulong_t)&spt_info },
+       { "INT3446", (kernel_ulong_t)&spt_i2c_info },
+       { "INT3447", (kernel_ulong_t)&spt_i2c_info },
        /* BXT */
        { "80860AAC", (kernel_ulong_t)&bxt_i2c_info },
        { "80860ABC", (kernel_ulong_t)&bxt_info },