* [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties
@ 2016-09-29 9:59 Jarkko Nikula
2016-09-29 10:13 ` Mika Westerberg
2016-10-26 10:00 ` Lee Jones
0 siblings, 2 replies; 3+ messages in thread
From: Jarkko Nikula @ 2016-09-29 9:59 UTC (permalink / raw)
To: linux-kernel
Cc: Lee Jones, Mika Westerberg, Andy Shevchenko, Xiang A Wang,
Jarkko Nikula
There are a few issues on Intel Kaby Lake PCH-H properties added by
commit a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs"):
- Input clock of I2C controller on Intel Kaby Lake PCH-H is 120 MHz not
133 MHz. This was probably copy-paste error from Intel Broxton I2C
properties.
- There is no default I2C SDA hold time specified which is used when
ACPI doesn't provide it. I got information from Windows driver team
that Kaby Lake PCH-H can use the same configuration than Intel
Sunrisepoint PCH.
- Common HS-UART properties are not used.
Fix these by reusing the Sunrisepoint properties on Kaby Lake PCH-H.
Fixes: a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs")
Reported-by: Xiang A Wang <xiang.a.wang@intel.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
---
drivers/mfd/intel-lpss-pci.c | 31 +++++++++----------------------
1 file changed, 9 insertions(+), 22 deletions(-)
diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
index 3228fd182a99..9ff243970e93 100644
--- a/drivers/mfd/intel-lpss-pci.c
+++ b/drivers/mfd/intel-lpss-pci.c
@@ -123,19 +123,6 @@ static const struct intel_lpss_platform_info apl_i2c_info = {
.properties = apl_i2c_properties,
};
-static const struct intel_lpss_platform_info kbl_info = {
- .clk_rate = 120000000,
-};
-
-static const struct intel_lpss_platform_info kbl_uart_info = {
- .clk_rate = 120000000,
- .clk_con_id = "baudclk",
-};
-
-static const struct intel_lpss_platform_info kbl_i2c_info = {
- .clk_rate = 133000000,
-};
-
static const struct pci_device_id intel_lpss_pci_ids[] = {
/* BXT A-Step */
{ PCI_VDEVICE(INTEL, 0x0aac), (kernel_ulong_t)&bxt_i2c_info },
@@ -207,15 +194,15 @@ static const struct pci_device_id intel_lpss_pci_ids[] = {
{ PCI_VDEVICE(INTEL, 0xa161), (kernel_ulong_t)&spt_i2c_info },
{ PCI_VDEVICE(INTEL, 0xa166), (kernel_ulong_t)&spt_uart_info },
/* KBL-H */
- { PCI_VDEVICE(INTEL, 0xa2a7), (kernel_ulong_t)&kbl_uart_info },
- { PCI_VDEVICE(INTEL, 0xa2a8), (kernel_ulong_t)&kbl_uart_info },
- { PCI_VDEVICE(INTEL, 0xa2a9), (kernel_ulong_t)&kbl_info },
- { PCI_VDEVICE(INTEL, 0xa2aa), (kernel_ulong_t)&kbl_info },
- { PCI_VDEVICE(INTEL, 0xa2e0), (kernel_ulong_t)&kbl_i2c_info },
- { PCI_VDEVICE(INTEL, 0xa2e1), (kernel_ulong_t)&kbl_i2c_info },
- { PCI_VDEVICE(INTEL, 0xa2e2), (kernel_ulong_t)&kbl_i2c_info },
- { PCI_VDEVICE(INTEL, 0xa2e3), (kernel_ulong_t)&kbl_i2c_info },
- { PCI_VDEVICE(INTEL, 0xa2e6), (kernel_ulong_t)&kbl_uart_info },
+ { PCI_VDEVICE(INTEL, 0xa2a7), (kernel_ulong_t)&spt_uart_info },
+ { PCI_VDEVICE(INTEL, 0xa2a8), (kernel_ulong_t)&spt_uart_info },
+ { PCI_VDEVICE(INTEL, 0xa2a9), (kernel_ulong_t)&spt_info },
+ { PCI_VDEVICE(INTEL, 0xa2aa), (kernel_ulong_t)&spt_info },
+ { PCI_VDEVICE(INTEL, 0xa2e0), (kernel_ulong_t)&spt_i2c_info },
+ { PCI_VDEVICE(INTEL, 0xa2e1), (kernel_ulong_t)&spt_i2c_info },
+ { PCI_VDEVICE(INTEL, 0xa2e2), (kernel_ulong_t)&spt_i2c_info },
+ { PCI_VDEVICE(INTEL, 0xa2e3), (kernel_ulong_t)&spt_i2c_info },
+ { PCI_VDEVICE(INTEL, 0xa2e6), (kernel_ulong_t)&spt_uart_info },
{ }
};
MODULE_DEVICE_TABLE(pci, intel_lpss_pci_ids);
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties
2016-09-29 9:59 [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties Jarkko Nikula
@ 2016-09-29 10:13 ` Mika Westerberg
2016-10-26 10:00 ` Lee Jones
1 sibling, 0 replies; 3+ messages in thread
From: Mika Westerberg @ 2016-09-29 10:13 UTC (permalink / raw)
To: Jarkko Nikula; +Cc: linux-kernel, Lee Jones, Andy Shevchenko, Xiang A Wang
On Thu, Sep 29, 2016 at 12:59:39PM +0300, Jarkko Nikula wrote:
> There are a few issues on Intel Kaby Lake PCH-H properties added by
> commit a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs"):
>
> - Input clock of I2C controller on Intel Kaby Lake PCH-H is 120 MHz not
> 133 MHz. This was probably copy-paste error from Intel Broxton I2C
> properties.
> - There is no default I2C SDA hold time specified which is used when
> ACPI doesn't provide it. I got information from Windows driver team
> that Kaby Lake PCH-H can use the same configuration than Intel
> Sunrisepoint PCH.
> - Common HS-UART properties are not used.
>
> Fix these by reusing the Sunrisepoint properties on Kaby Lake PCH-H.
>
> Fixes: a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs")
> Reported-by: Xiang A Wang <xiang.a.wang@intel.com>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Thanks for fixing this!
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties
2016-09-29 9:59 [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties Jarkko Nikula
2016-09-29 10:13 ` Mika Westerberg
@ 2016-10-26 10:00 ` Lee Jones
1 sibling, 0 replies; 3+ messages in thread
From: Lee Jones @ 2016-10-26 10:00 UTC (permalink / raw)
To: Jarkko Nikula
Cc: linux-kernel, Mika Westerberg, Andy Shevchenko, Xiang A Wang
On Thu, 29 Sep 2016, Jarkko Nikula wrote:
> There are a few issues on Intel Kaby Lake PCH-H properties added by
> commit a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs"):
>
> - Input clock of I2C controller on Intel Kaby Lake PCH-H is 120 MHz not
> 133 MHz. This was probably copy-paste error from Intel Broxton I2C
> properties.
> - There is no default I2C SDA hold time specified which is used when
> ACPI doesn't provide it. I got information from Windows driver team
> that Kaby Lake PCH-H can use the same configuration than Intel
> Sunrisepoint PCH.
> - Common HS-UART properties are not used.
>
> Fix these by reusing the Sunrisepoint properties on Kaby Lake PCH-H.
>
> Fixes: a6a576b78e09 ("mfd: lpss: Add Intel Kaby Lake PCH-H PCI IDs")
> Reported-by: Xiang A Wang <xiang.a.wang@intel.com>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> ---
> drivers/mfd/intel-lpss-pci.c | 31 +++++++++----------------------
> 1 file changed, 9 insertions(+), 22 deletions(-)
Applied to -fixes with Mika's Ack.
> diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
> index 3228fd182a99..9ff243970e93 100644
> --- a/drivers/mfd/intel-lpss-pci.c
> +++ b/drivers/mfd/intel-lpss-pci.c
> @@ -123,19 +123,6 @@ static const struct intel_lpss_platform_info apl_i2c_info = {
> .properties = apl_i2c_properties,
> };
>
> -static const struct intel_lpss_platform_info kbl_info = {
> - .clk_rate = 120000000,
> -};
> -
> -static const struct intel_lpss_platform_info kbl_uart_info = {
> - .clk_rate = 120000000,
> - .clk_con_id = "baudclk",
> -};
> -
> -static const struct intel_lpss_platform_info kbl_i2c_info = {
> - .clk_rate = 133000000,
> -};
> -
> static const struct pci_device_id intel_lpss_pci_ids[] = {
> /* BXT A-Step */
> { PCI_VDEVICE(INTEL, 0x0aac), (kernel_ulong_t)&bxt_i2c_info },
> @@ -207,15 +194,15 @@ static const struct pci_device_id intel_lpss_pci_ids[] = {
> { PCI_VDEVICE(INTEL, 0xa161), (kernel_ulong_t)&spt_i2c_info },
> { PCI_VDEVICE(INTEL, 0xa166), (kernel_ulong_t)&spt_uart_info },
> /* KBL-H */
> - { PCI_VDEVICE(INTEL, 0xa2a7), (kernel_ulong_t)&kbl_uart_info },
> - { PCI_VDEVICE(INTEL, 0xa2a8), (kernel_ulong_t)&kbl_uart_info },
> - { PCI_VDEVICE(INTEL, 0xa2a9), (kernel_ulong_t)&kbl_info },
> - { PCI_VDEVICE(INTEL, 0xa2aa), (kernel_ulong_t)&kbl_info },
> - { PCI_VDEVICE(INTEL, 0xa2e0), (kernel_ulong_t)&kbl_i2c_info },
> - { PCI_VDEVICE(INTEL, 0xa2e1), (kernel_ulong_t)&kbl_i2c_info },
> - { PCI_VDEVICE(INTEL, 0xa2e2), (kernel_ulong_t)&kbl_i2c_info },
> - { PCI_VDEVICE(INTEL, 0xa2e3), (kernel_ulong_t)&kbl_i2c_info },
> - { PCI_VDEVICE(INTEL, 0xa2e6), (kernel_ulong_t)&kbl_uart_info },
> + { PCI_VDEVICE(INTEL, 0xa2a7), (kernel_ulong_t)&spt_uart_info },
> + { PCI_VDEVICE(INTEL, 0xa2a8), (kernel_ulong_t)&spt_uart_info },
> + { PCI_VDEVICE(INTEL, 0xa2a9), (kernel_ulong_t)&spt_info },
> + { PCI_VDEVICE(INTEL, 0xa2aa), (kernel_ulong_t)&spt_info },
> + { PCI_VDEVICE(INTEL, 0xa2e0), (kernel_ulong_t)&spt_i2c_info },
> + { PCI_VDEVICE(INTEL, 0xa2e1), (kernel_ulong_t)&spt_i2c_info },
> + { PCI_VDEVICE(INTEL, 0xa2e2), (kernel_ulong_t)&spt_i2c_info },
> + { PCI_VDEVICE(INTEL, 0xa2e3), (kernel_ulong_t)&spt_i2c_info },
> + { PCI_VDEVICE(INTEL, 0xa2e6), (kernel_ulong_t)&spt_uart_info },
> { }
> };
> MODULE_DEVICE_TABLE(pci, intel_lpss_pci_ids);
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-10-26 9:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-29 9:59 [PATCH] mfd: lpss: Fix Intel Kaby Lake PCH-H properties Jarkko Nikula
2016-09-29 10:13 ` Mika Westerberg
2016-10-26 10:00 ` Lee Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox