ACPI: LPSS: Provide an SSP type to the driver
The SPI driver wants to know the exact type of the controller. Provide this information to it, hence allow to fix Intel Wildcat Point case in the future. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
f167c1a138
commit
620c803f42
|
@ -21,6 +21,7 @@
|
|||
#include <linux/pm_domain.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/pwm.h>
|
||||
#include <linux/pxa2xx_ssp.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
|
@ -219,10 +220,16 @@ static void bsw_pwm_setup(struct lpss_private_data *pdata)
|
|||
pwm_add_table(bsw_pwm_lookup, ARRAY_SIZE(bsw_pwm_lookup));
|
||||
}
|
||||
|
||||
static const struct lpss_device_desc lpt_dev_desc = {
|
||||
static const struct property_entry lpt_spi_properties[] = {
|
||||
PROPERTY_ENTRY_U32("intel,spi-pxa2xx-type", LPSS_LPT_SSP),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct lpss_device_desc lpt_spi_dev_desc = {
|
||||
.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR
|
||||
| LPSS_SAVE_CTX,
|
||||
.prv_offset = 0x800,
|
||||
.properties = lpt_spi_properties,
|
||||
};
|
||||
|
||||
static const struct lpss_device_desc lpt_i2c_dev_desc = {
|
||||
|
@ -282,9 +289,15 @@ static const struct lpss_device_desc bsw_uart_dev_desc = {
|
|||
.properties = uart_properties,
|
||||
};
|
||||
|
||||
static const struct property_entry byt_spi_properties[] = {
|
||||
PROPERTY_ENTRY_U32("intel,spi-pxa2xx-type", LPSS_BYT_SSP),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct lpss_device_desc byt_spi_dev_desc = {
|
||||
.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX,
|
||||
.prv_offset = 0x400,
|
||||
.properties = byt_spi_properties,
|
||||
};
|
||||
|
||||
static const struct lpss_device_desc byt_sdio_dev_desc = {
|
||||
|
@ -305,11 +318,17 @@ static const struct lpss_device_desc bsw_i2c_dev_desc = {
|
|||
.resume_from_noirq = true,
|
||||
};
|
||||
|
||||
static const struct property_entry bsw_spi_properties[] = {
|
||||
PROPERTY_ENTRY_U32("intel,spi-pxa2xx-type", LPSS_BSW_SSP),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct lpss_device_desc bsw_spi_dev_desc = {
|
||||
.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX
|
||||
| LPSS_NO_D3_DELAY,
|
||||
.prv_offset = 0x400,
|
||||
.setup = lpss_deassert_reset,
|
||||
.properties = bsw_spi_properties,
|
||||
};
|
||||
|
||||
static const struct x86_cpu_id lpss_cpu_ids[] = {
|
||||
|
@ -329,8 +348,8 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
|
|||
{ "INTL9C60", LPSS_ADDR(lpss_dma_desc) },
|
||||
|
||||
/* Lynxpoint LPSS devices */
|
||||
{ "INT33C0", LPSS_ADDR(lpt_dev_desc) },
|
||||
{ "INT33C1", LPSS_ADDR(lpt_dev_desc) },
|
||||
{ "INT33C0", LPSS_ADDR(lpt_spi_dev_desc) },
|
||||
{ "INT33C1", LPSS_ADDR(lpt_spi_dev_desc) },
|
||||
{ "INT33C2", LPSS_ADDR(lpt_i2c_dev_desc) },
|
||||
{ "INT33C3", LPSS_ADDR(lpt_i2c_dev_desc) },
|
||||
{ "INT33C4", LPSS_ADDR(lpt_uart_dev_desc) },
|
||||
|
@ -356,8 +375,8 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
|
|||
{ "808622C1", LPSS_ADDR(bsw_i2c_dev_desc) },
|
||||
|
||||
/* Broadwell LPSS devices */
|
||||
{ "INT3430", LPSS_ADDR(lpt_dev_desc) },
|
||||
{ "INT3431", LPSS_ADDR(lpt_dev_desc) },
|
||||
{ "INT3430", LPSS_ADDR(lpt_spi_dev_desc) },
|
||||
{ "INT3431", LPSS_ADDR(lpt_spi_dev_desc) },
|
||||
{ "INT3432", LPSS_ADDR(lpt_i2c_dev_desc) },
|
||||
{ "INT3433", LPSS_ADDR(lpt_i2c_dev_desc) },
|
||||
{ "INT3434", LPSS_ADDR(lpt_uart_dev_desc) },
|
||||
|
@ -366,7 +385,7 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
|
|||
{ "INT3437", },
|
||||
|
||||
/* Wildcat Point LPSS devices */
|
||||
{ "INT3438", LPSS_ADDR(lpt_dev_desc) },
|
||||
{ "INT3438", LPSS_ADDR(lpt_spi_dev_desc) },
|
||||
|
||||
{ }
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue