.. | .. |
---|
6 | 6 | * Author: Mika Westerberg <mika.westerberg@linux.intel.com> |
---|
7 | 7 | */ |
---|
8 | 8 | |
---|
9 | | -#include <linux/acpi.h> |
---|
| 9 | +#include <linux/mod_devicetable.h> |
---|
10 | 10 | #include <linux/module.h> |
---|
11 | 11 | #include <linux/platform_device.h> |
---|
12 | | -#include <linux/pm.h> |
---|
| 12 | + |
---|
13 | 13 | #include <linux/pinctrl/pinctrl.h> |
---|
14 | 14 | |
---|
15 | 15 | #include "pinctrl-intel.h" |
---|
16 | 16 | |
---|
17 | 17 | #define GLK_PAD_OWN 0x020 |
---|
18 | | -#define GLK_HOSTSW_OWN 0x0b0 |
---|
19 | 18 | #define GLK_PADCFGLOCK 0x080 |
---|
| 19 | +#define GLK_HOSTSW_OWN 0x0b0 |
---|
| 20 | +#define GLK_GPI_IS 0x100 |
---|
20 | 21 | #define GLK_GPI_IE 0x110 |
---|
21 | 22 | |
---|
22 | 23 | #define GLK_COMMUNITY(s, e) \ |
---|
.. | .. |
---|
24 | 25 | .padown_offset = GLK_PAD_OWN, \ |
---|
25 | 26 | .padcfglock_offset = GLK_PADCFGLOCK, \ |
---|
26 | 27 | .hostown_offset = GLK_HOSTSW_OWN, \ |
---|
| 28 | + .is_offset = GLK_GPI_IS, \ |
---|
27 | 29 | .ie_offset = GLK_GPI_IE, \ |
---|
28 | 30 | .gpp_size = 32, \ |
---|
29 | 31 | .pin_base = (s), \ |
---|
.. | .. |
---|
58 | 60 | PINCTRL_PIN(23, "GPIO_23"), |
---|
59 | 61 | PINCTRL_PIN(24, "GPIO_24"), |
---|
60 | 62 | PINCTRL_PIN(25, "GPIO_25"), |
---|
61 | | - PINCTRL_PIN(26, "GPIO_26"), |
---|
62 | | - PINCTRL_PIN(27, "GPIO_27"), |
---|
63 | | - PINCTRL_PIN(28, "GPIO_28"), |
---|
64 | | - PINCTRL_PIN(29, "GPIO_29"), |
---|
65 | | - PINCTRL_PIN(30, "GPIO_30"), |
---|
66 | | - PINCTRL_PIN(31, "GPIO_31"), |
---|
67 | | - PINCTRL_PIN(32, "GPIO_32"), |
---|
68 | | - PINCTRL_PIN(33, "GPIO_33"), |
---|
69 | | - PINCTRL_PIN(34, "GPIO_34"), |
---|
70 | | - PINCTRL_PIN(35, "GPIO_35"), |
---|
| 63 | + PINCTRL_PIN(26, "ISH_GPIO_0"), |
---|
| 64 | + PINCTRL_PIN(27, "ISH_GPIO_1"), |
---|
| 65 | + PINCTRL_PIN(28, "ISH_GPIO_2"), |
---|
| 66 | + PINCTRL_PIN(29, "ISH_GPIO_3"), |
---|
| 67 | + PINCTRL_PIN(30, "ISH_GPIO_4"), |
---|
| 68 | + PINCTRL_PIN(31, "ISH_GPIO_5"), |
---|
| 69 | + PINCTRL_PIN(32, "ISH_GPIO_6"), |
---|
| 70 | + PINCTRL_PIN(33, "ISH_GPIO_7"), |
---|
| 71 | + PINCTRL_PIN(34, "ISH_GPIO_8"), |
---|
| 72 | + PINCTRL_PIN(35, "ISH_GPIO_9"), |
---|
71 | 73 | PINCTRL_PIN(36, "GPIO_36"), |
---|
72 | 74 | PINCTRL_PIN(37, "GPIO_37"), |
---|
73 | 75 | PINCTRL_PIN(38, "GPIO_38"), |
---|
.. | .. |
---|
195 | 197 | PINCTRL_PIN(5, "LPSS_SPI_0_FS1"), |
---|
196 | 198 | PINCTRL_PIN(6, "LPSS_SPI_0_RXD"), |
---|
197 | 199 | PINCTRL_PIN(7, "LPSS_SPI_0_TXD"), |
---|
198 | | - PINCTRL_PIN(8, "LPSS_SPI_1_CLK"), |
---|
199 | | - PINCTRL_PIN(9, "LPSS_SPI_1_FS0"), |
---|
200 | | - PINCTRL_PIN(10, "LPSS_SPI_1_FS1"), |
---|
201 | | - PINCTRL_PIN(11, "LPSS_SPI_1_FS2"), |
---|
202 | | - PINCTRL_PIN(12, "LPSS_SPI_1_RXD"), |
---|
203 | | - PINCTRL_PIN(13, "LPSS_SPI_1_TXD"), |
---|
| 200 | + PINCTRL_PIN(8, "LPSS_SPI_2_CLK"), |
---|
| 201 | + PINCTRL_PIN(9, "LPSS_SPI_2_FS0"), |
---|
| 202 | + PINCTRL_PIN(10, "LPSS_SPI_2_FS1"), |
---|
| 203 | + PINCTRL_PIN(11, "LPSS_SPI_2_FS2"), |
---|
| 204 | + PINCTRL_PIN(12, "LPSS_SPI_2_RXD"), |
---|
| 205 | + PINCTRL_PIN(13, "LPSS_SPI_2_TXD"), |
---|
204 | 206 | PINCTRL_PIN(14, "FST_SPI_CS0_B"), |
---|
205 | 207 | PINCTRL_PIN(15, "FST_SPI_CS1_B"), |
---|
206 | 208 | PINCTRL_PIN(16, "FST_SPI_MOSI_IO0"), |
---|
.. | .. |
---|
215 | 217 | PINCTRL_PIN(25, "PMU_SLP_S3_B"), |
---|
216 | 218 | PINCTRL_PIN(26, "PMU_SLP_S4_B"), |
---|
217 | 219 | PINCTRL_PIN(27, "SUSPWRDNACK"), |
---|
218 | | - PINCTRL_PIN(28, "EMMC_PWR_EN_B"), |
---|
219 | | - PINCTRL_PIN(29, "PMU_AC_PRESENT"), |
---|
| 220 | + PINCTRL_PIN(28, "EMMC_DNX_PWR_EN_B"), |
---|
| 221 | + PINCTRL_PIN(29, "GPIO_105"), |
---|
220 | 222 | PINCTRL_PIN(30, "PMU_BATLOW_B"), |
---|
221 | 223 | PINCTRL_PIN(31, "PMU_RESETBUTTON_B"), |
---|
222 | 224 | PINCTRL_PIN(32, "PMU_SUSCLK"), |
---|
.. | .. |
---|
445 | 447 | &glk_north_soc_data, |
---|
446 | 448 | &glk_audio_soc_data, |
---|
447 | 449 | &glk_scc_soc_data, |
---|
448 | | - NULL, |
---|
| 450 | + NULL |
---|
449 | 451 | }; |
---|
450 | 452 | |
---|
451 | 453 | static const struct acpi_device_id glk_pinctrl_acpi_match[] = { |
---|
452 | | - { "INT3453" }, |
---|
| 454 | + { "INT3453", (kernel_ulong_t)glk_pinctrl_soc_data }, |
---|
453 | 455 | { } |
---|
454 | 456 | }; |
---|
455 | 457 | MODULE_DEVICE_TABLE(acpi, glk_pinctrl_acpi_match); |
---|
456 | 458 | |
---|
457 | | -static int glk_pinctrl_probe(struct platform_device *pdev) |
---|
458 | | -{ |
---|
459 | | - const struct intel_pinctrl_soc_data *soc_data = NULL; |
---|
460 | | - struct acpi_device *adev; |
---|
461 | | - int i; |
---|
462 | | - |
---|
463 | | - adev = ACPI_COMPANION(&pdev->dev); |
---|
464 | | - if (!adev) |
---|
465 | | - return -ENODEV; |
---|
466 | | - |
---|
467 | | - for (i = 0; glk_pinctrl_soc_data[i]; i++) { |
---|
468 | | - if (!strcmp(adev->pnp.unique_id, |
---|
469 | | - glk_pinctrl_soc_data[i]->uid)) { |
---|
470 | | - soc_data = glk_pinctrl_soc_data[i]; |
---|
471 | | - break; |
---|
472 | | - } |
---|
473 | | - } |
---|
474 | | - |
---|
475 | | - if (!soc_data) |
---|
476 | | - return -ENODEV; |
---|
477 | | - |
---|
478 | | - return intel_pinctrl_probe(pdev, soc_data); |
---|
479 | | -} |
---|
480 | | - |
---|
481 | | -static const struct dev_pm_ops glk_pinctrl_pm_ops = { |
---|
482 | | - SET_LATE_SYSTEM_SLEEP_PM_OPS(intel_pinctrl_suspend, |
---|
483 | | - intel_pinctrl_resume) |
---|
484 | | -}; |
---|
| 459 | +static INTEL_PINCTRL_PM_OPS(glk_pinctrl_pm_ops); |
---|
485 | 460 | |
---|
486 | 461 | static struct platform_driver glk_pinctrl_driver = { |
---|
487 | | - .probe = glk_pinctrl_probe, |
---|
| 462 | + .probe = intel_pinctrl_probe_by_uid, |
---|
488 | 463 | .driver = { |
---|
489 | 464 | .name = "geminilake-pinctrl", |
---|
490 | 465 | .acpi_match_table = glk_pinctrl_acpi_match, |
---|