hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/pinctrl/intel/pinctrl-geminilake.c
....@@ -6,17 +6,18 @@
66 * Author: Mika Westerberg <mika.westerberg@linux.intel.com>
77 */
88
9
-#include <linux/acpi.h>
9
+#include <linux/mod_devicetable.h>
1010 #include <linux/module.h>
1111 #include <linux/platform_device.h>
12
-#include <linux/pm.h>
12
+
1313 #include <linux/pinctrl/pinctrl.h>
1414
1515 #include "pinctrl-intel.h"
1616
1717 #define GLK_PAD_OWN 0x020
18
-#define GLK_HOSTSW_OWN 0x0b0
1918 #define GLK_PADCFGLOCK 0x080
19
+#define GLK_HOSTSW_OWN 0x0b0
20
+#define GLK_GPI_IS 0x100
2021 #define GLK_GPI_IE 0x110
2122
2223 #define GLK_COMMUNITY(s, e) \
....@@ -24,6 +25,7 @@
2425 .padown_offset = GLK_PAD_OWN, \
2526 .padcfglock_offset = GLK_PADCFGLOCK, \
2627 .hostown_offset = GLK_HOSTSW_OWN, \
28
+ .is_offset = GLK_GPI_IS, \
2729 .ie_offset = GLK_GPI_IE, \
2830 .gpp_size = 32, \
2931 .pin_base = (s), \
....@@ -58,16 +60,16 @@
5860 PINCTRL_PIN(23, "GPIO_23"),
5961 PINCTRL_PIN(24, "GPIO_24"),
6062 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"),
7173 PINCTRL_PIN(36, "GPIO_36"),
7274 PINCTRL_PIN(37, "GPIO_37"),
7375 PINCTRL_PIN(38, "GPIO_38"),
....@@ -195,12 +197,12 @@
195197 PINCTRL_PIN(5, "LPSS_SPI_0_FS1"),
196198 PINCTRL_PIN(6, "LPSS_SPI_0_RXD"),
197199 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"),
204206 PINCTRL_PIN(14, "FST_SPI_CS0_B"),
205207 PINCTRL_PIN(15, "FST_SPI_CS1_B"),
206208 PINCTRL_PIN(16, "FST_SPI_MOSI_IO0"),
....@@ -215,8 +217,8 @@
215217 PINCTRL_PIN(25, "PMU_SLP_S3_B"),
216218 PINCTRL_PIN(26, "PMU_SLP_S4_B"),
217219 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"),
220222 PINCTRL_PIN(30, "PMU_BATLOW_B"),
221223 PINCTRL_PIN(31, "PMU_RESETBUTTON_B"),
222224 PINCTRL_PIN(32, "PMU_SUSCLK"),
....@@ -445,46 +447,19 @@
445447 &glk_north_soc_data,
446448 &glk_audio_soc_data,
447449 &glk_scc_soc_data,
448
- NULL,
450
+ NULL
449451 };
450452
451453 static const struct acpi_device_id glk_pinctrl_acpi_match[] = {
452
- { "INT3453" },
454
+ { "INT3453", (kernel_ulong_t)glk_pinctrl_soc_data },
453455 { }
454456 };
455457 MODULE_DEVICE_TABLE(acpi, glk_pinctrl_acpi_match);
456458
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);
485460
486461 static struct platform_driver glk_pinctrl_driver = {
487
- .probe = glk_pinctrl_probe,
462
+ .probe = intel_pinctrl_probe_by_uid,
488463 .driver = {
489464 .name = "geminilake-pinctrl",
490465 .acpi_match_table = glk_pinctrl_acpi_match,