From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752270AbcCIFnt (ORCPT ); Wed, 9 Mar 2016 00:43:49 -0500 Received: from mail-pa0-f52.google.com ([209.85.220.52]:35322 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751517AbcCIFnm (ORCPT ); Wed, 9 Mar 2016 00:43:42 -0500 Date: Wed, 9 Mar 2016 12:43:36 +0700 From: Lee Jones To: Andy Shevchenko Cc: Mika Westerberg , linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 1/1] mfd: intel-lpss: Pass I2C configuration via properties on BXT Message-ID: <20160309054336.GP13692@x1> References: <1453810669-24147-1-git-send-email-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1453810669-24147-1-git-send-email-andriy.shevchenko@linux.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 26 Jan 2016, Andy Shevchenko wrote: > From: Mika Westerberg > > I2C host controller need to be configured properly in order to meet I2C > timings specified in the I2C protocol specification. Some Intel Broxton > based machines do not have this information in the ACPI namespace (or the > boot firmware does not support ACPI at all) so we use build-in device > properties instead. > > Signed-off-by: Mika Westerberg > Signed-off-by: Andy Shevchenko > --- > drivers/mfd/intel-lpss-acpi.c | 12 ++++++++++++ > drivers/mfd/intel-lpss-pci.c | 12 ++++++++++++ > 2 files changed, 24 insertions(+) Applied, thanks. > diff --git a/drivers/mfd/intel-lpss-acpi.c b/drivers/mfd/intel-lpss-acpi.c > index 06f00d6..5a8d9c7 100644 > --- a/drivers/mfd/intel-lpss-acpi.c > +++ b/drivers/mfd/intel-lpss-acpi.c > @@ -44,8 +44,20 @@ static const struct intel_lpss_platform_info bxt_info = { > .clk_rate = 100000000, > }; > > +static struct property_entry bxt_i2c_properties[] = { > + PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 42), > + PROPERTY_ENTRY_U32("i2c-sda-falling-time-ns", 171), > + PROPERTY_ENTRY_U32("i2c-scl-falling-time-ns", 208), > + { }, > +}; > + > +static struct property_set bxt_i2c_pset = { > + .properties = bxt_i2c_properties, > +}; > + > static const struct intel_lpss_platform_info bxt_i2c_info = { > .clk_rate = 133000000, > + .pset = &bxt_i2c_pset, > }; > > static const struct acpi_device_id intel_lpss_acpi_ids[] = { > diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c > index a7136c7..92b456f 100644 > --- a/drivers/mfd/intel-lpss-pci.c > +++ b/drivers/mfd/intel-lpss-pci.c > @@ -107,8 +107,20 @@ static const struct intel_lpss_platform_info bxt_uart_info = { > .pset = &uart_pset, > }; > > +static struct property_entry bxt_i2c_properties[] = { > + PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 42), > + PROPERTY_ENTRY_U32("i2c-sda-falling-time-ns", 171), > + PROPERTY_ENTRY_U32("i2c-scl-falling-time-ns", 208), > + { }, > +}; > + > +static struct property_set bxt_i2c_pset = { > + .properties = bxt_i2c_properties, > +}; > + > static const struct intel_lpss_platform_info bxt_i2c_info = { > .clk_rate = 133000000, > + .pset = &bxt_i2c_pset, > }; > > static const struct pci_device_id intel_lpss_pci_ids[] = { -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog