Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp287542ybe; Tue, 3 Sep 2019 22:57:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqzR5m867BVClw8+Uad/1Phs0XdhnQw4+xihvt7BxFJXDt8qA1Wzp5rixxJpOn2JkODWCC2U X-Received: by 2002:a63:e14d:: with SMTP id h13mr33494676pgk.431.1567576657264; Tue, 03 Sep 2019 22:57:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567576657; cv=none; d=google.com; s=arc-20160816; b=YGzuLYpJwaQg81DGIkQcM9xwR7WpAmVgPFwHWg0JgXdtpPDswHFbcyIAC9+gW1vWES DPoLhF85i4O2NZ78RZIzF3wCXYLDIXzoIRCZHNuPCEAIhofJEAErYH6jkjMCbZa/kZbf tNwKgtZgo+Vz86gWBXUUi5XYf3vE5U+1n/i3Hqa0yeD+lMt7wGcu8D/ZnaZ7WQN9Zwx4 iPog2isvS+0FGyXiIMvRdLOjlLvTLe88heK0Qpv7neXkOQRW0fv8U9F8ZJoxARPrX7ip 5wGXk6wX7onRyhcmQf6ViBR28QNIl/IsD0vPBN5S0gxGiZDbYPAdogdvx5eWl0vSYHIi 5T8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=0x2dS+2yr+sEGtY4yE5PG50ithVyDuSfBiuoJiYdKO4=; b=sChay/lt9D81gYmEjXPm2j2y07h4ro+Q6bRVal72Up1B4OpJbXKbfRq5/kDV2r8eUU JD9hWTaZcKZnFATjO8ul0IZsrWXsC963OIsC/fl151a7LMkw+J3b6RpXJJYAvgP/aK8E FkagoSFTzW8qD3UnIDwBJ05rtSrOlL4vBTRTvTE5O+0x/ATvQoftWcPlpI8rkrs2AIXO ezh7hOJQV8CDFpc+3ZYlfDIl/JyA0oQinJiyfgrizOu2PIs6Dgt0WgCRKwClZwxUy3C2 3QLHkzdTgPcdeRaRdUY20bk9RGSQ4rVWm4+BFEzCK7QWU/CpcxLvfjkyyZ6K6xiu3lC2 9mJw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w2si16569076pgs.463.2019.09.03.22.57.22; Tue, 03 Sep 2019 22:57:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727787AbfIDF4b (ORCPT + 99 others); Wed, 4 Sep 2019 01:56:31 -0400 Received: from mga11.intel.com ([192.55.52.93]:36698 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725774AbfIDF4b (ORCPT ); Wed, 4 Sep 2019 01:56:31 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Sep 2019 22:56:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,465,1559545200"; d="scan'208";a="194611423" Received: from mylly.fi.intel.com (HELO mylly.fi.intel.com.) ([10.237.72.68]) by orsmga002.jf.intel.com with ESMTP; 03 Sep 2019 22:56:28 -0700 From: Jarkko Nikula To: linux-kernel@vger.kernel.org Cc: Lee Jones , Chris Chiu , Mika Westerberg , Andy Shevchenko , Jarkko Nikula Subject: [PATCH] mfd: intel-lpss: Add default I2C device properties for Gemini Lake Date: Wed, 4 Sep 2019 08:56:25 +0300 Message-Id: <20190904055625.12037-1-jarkko.nikula@linux.intel.com> X-Mailer: git-send-email 2.23.0.rc1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It turned out Intel Gemini Lake doesn't use the same I2C timing parameters as Broxton. I got confirmation from the Windows team that Gemini Lake systems should use updated timing parameters that differ from those used in Broxton based systems. Fixes: f80e78aa11ad ("mfd: intel-lpss: Add Intel Gemini Lake PCI IDs") Tested-by: Chris Chiu Signed-off-by: Jarkko Nikula --- This is not immediate stable material since there is no regression related to this. Those machines that need updated parameters have obviously never worked and I don't want this to cause regression either so better to let this get some test coverage first. --- drivers/mfd/intel-lpss-pci.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c index ade6e1ce5a98..269cb851a596 100644 --- a/drivers/mfd/intel-lpss-pci.c +++ b/drivers/mfd/intel-lpss-pci.c @@ -120,6 +120,18 @@ static const struct intel_lpss_platform_info apl_i2c_info = { .properties = apl_i2c_properties, }; +static struct property_entry glk_i2c_properties[] = { + PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 313), + PROPERTY_ENTRY_U32("i2c-sda-falling-time-ns", 171), + PROPERTY_ENTRY_U32("i2c-scl-falling-time-ns", 290), + { }, +}; + +static const struct intel_lpss_platform_info glk_i2c_info = { + .clk_rate = 133000000, + .properties = glk_i2c_properties, +}; + static const struct intel_lpss_platform_info cnl_i2c_info = { .clk_rate = 216000000, .properties = spt_i2c_properties, @@ -172,14 +184,14 @@ static const struct pci_device_id intel_lpss_pci_ids[] = { { PCI_VDEVICE(INTEL, 0x1ac6), (kernel_ulong_t)&bxt_info }, { PCI_VDEVICE(INTEL, 0x1aee), (kernel_ulong_t)&bxt_uart_info }, /* GLK */ - { PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&bxt_i2c_info }, - { PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&glk_i2c_info }, + { PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&glk_i2c_info }, { PCI_VDEVICE(INTEL, 0x31bc), (kernel_ulong_t)&bxt_uart_info }, { PCI_VDEVICE(INTEL, 0x31be), (kernel_ulong_t)&bxt_uart_info }, { PCI_VDEVICE(INTEL, 0x31c0), (kernel_ulong_t)&bxt_uart_info }, -- 2.23.0.rc1