Re: [PATCH v1 1/1] mfd: intel-lpss: Pass I2C configuration via properties on BXT

From: Mika Westerberg
Date: Tue Mar 08 2016 - 02:43:20 EST


On Tue, Jan 26, 2016 at 02:17:49PM +0200, Andy Shevchenko wrote:
> From: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
>
> 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 <mika.westerberg@xxxxxxxxxxxxxxx>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Hi Lee,

Any comments on this patch? If not, could you consider applying it to
the MFD tree?

Thanks.

> ---
> drivers/mfd/intel-lpss-acpi.c | 12 ++++++++++++
> drivers/mfd/intel-lpss-pci.c | 12 ++++++++++++
> 2 files changed, 24 insertions(+)
>
> 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[] = {
> --
> 2.7.0.rc3