2020#define MTL_P_GPI_IS 0x200
2121#define MTL_P_GPI_IE 0x210
2222
23+ #define MTL_S_PAD_OWN 0x0b0
24+ #define MTL_S_PADCFGLOCK 0x0f0
25+ #define MTL_S_HOSTSW_OWN 0x110
26+ #define MTL_S_GPI_IS 0x200
27+ #define MTL_S_GPI_IE 0x210
28+
2329#define MTL_GPP (r , s , e , g ) \
2430 { \
2531 .reg_num = (r), \
2834 .gpio_base = (g), \
2935 }
3036
31- #define MTL_COMMUNITY (b , s , e , g ) \
37+ #define MTL_P_COMMUNITY (b , s , e , g ) \
3238 INTEL_COMMUNITY_GPPS(b, s, e, g, MTL_P)
3339
40+ #define MTL_S_COMMUNITY (b , s , e , g ) \
41+ INTEL_COMMUNITY_GPPS(b, s, e, g, MTL_S)
42+
3443/* Meteor Lake-P */
3544static const struct pinctrl_pin_desc mtlp_pins [] = {
3645 /* CPU */
@@ -369,11 +378,11 @@ static const struct intel_padgroup mtlp_community5_gpps[] = {
369378};
370379
371380static const struct intel_community mtlp_communities [] = {
372- MTL_COMMUNITY (0 , 0 , 52 , mtlp_community0_gpps ),
373- MTL_COMMUNITY (1 , 53 , 102 , mtlp_community1_gpps ),
374- MTL_COMMUNITY (2 , 103 , 183 , mtlp_community3_gpps ),
375- MTL_COMMUNITY (3 , 184 , 203 , mtlp_community4_gpps ),
376- MTL_COMMUNITY (4 , 204 , 288 , mtlp_community5_gpps ),
381+ MTL_P_COMMUNITY (0 , 0 , 52 , mtlp_community0_gpps ),
382+ MTL_P_COMMUNITY (1 , 53 , 102 , mtlp_community1_gpps ),
383+ MTL_P_COMMUNITY (2 , 103 , 183 , mtlp_community3_gpps ),
384+ MTL_P_COMMUNITY (3 , 184 , 203 , mtlp_community4_gpps ),
385+ MTL_P_COMMUNITY (4 , 204 , 288 , mtlp_community5_gpps ),
377386};
378387
379388static const struct intel_pinctrl_soc_data mtlp_soc_data = {
@@ -383,8 +392,199 @@ static const struct intel_pinctrl_soc_data mtlp_soc_data = {
383392 .ncommunities = ARRAY_SIZE (mtlp_communities ),
384393};
385394
395+ /* Meteor Lake-S */
396+ static const struct pinctrl_pin_desc mtls_pins [] = {
397+ /* GPP_A */
398+ PINCTRL_PIN (0 , "DIR_ESPI_IO_0" ),
399+ PINCTRL_PIN (1 , "DIR_ESPI_IO_1" ),
400+ PINCTRL_PIN (2 , "DIR_ESPI_IO_2" ),
401+ PINCTRL_PIN (3 , "DIR_ESPI_IO_3" ),
402+ PINCTRL_PIN (4 , "DIR_ESPI_CS0_B" ),
403+ PINCTRL_PIN (5 , "DIR_ESPI_CLK" ),
404+ PINCTRL_PIN (6 , "DIR_ESPI_RCLK" ),
405+ PINCTRL_PIN (7 , "DIR_ESPI_RESET_B" ),
406+ PINCTRL_PIN (8 , "SLP_S0_B" ),
407+ PINCTRL_PIN (9 , "DMI_PERSTB" ),
408+ PINCTRL_PIN (10 , "CATERR_B" ),
409+ PINCTRL_PIN (11 , "THERMTRIP_B" ),
410+ PINCTRL_PIN (12 , "CPU_C10_GATE_B" ),
411+ PINCTRL_PIN (13 , "PS_ONB" ),
412+ PINCTRL_PIN (14 , "GPP_SA_14" ),
413+ PINCTRL_PIN (15 , "GPP_SA_15" ),
414+ PINCTRL_PIN (16 , "GPP_SA_16" ),
415+ PINCTRL_PIN (17 , "GPP_SA_17" ),
416+ PINCTRL_PIN (18 , "GPP_SA_18" ),
417+ PINCTRL_PIN (19 , "GPP_SA_19" ),
418+ PINCTRL_PIN (20 , "GPP_SA_20" ),
419+ PINCTRL_PIN (21 , "GPP_SA_21" ),
420+ PINCTRL_PIN (22 , "FUSA_DIAGTEST_EN" ),
421+ PINCTRL_PIN (23 , "FUSA_DIAGTEST_MODE" ),
422+ PINCTRL_PIN (24 , "RTCCLKIN" ),
423+ PINCTRL_PIN (25 , "RESET_SYNC_B" ),
424+ PINCTRL_PIN (26 , "PCH_PWROK" ),
425+ PINCTRL_PIN (27 , "DIR_ESPI_CLK_LOOPBACK" ),
426+ /* vGPIO_0 */
427+ PINCTRL_PIN (28 , "LPC_ME_FTPM_ENABLE" ),
428+ PINCTRL_PIN (29 , "LPC_DTFUS_CORE_SPITPM_DIS" ),
429+ PINCTRL_PIN (30 , "LPC_SPI_STRAP_TOS" ),
430+ PINCTRL_PIN (31 , "ITSS_KU1_SHTDWN" ),
431+ PINCTRL_PIN (32 , "LPC_PRR_TS_OVR" ),
432+ PINCTRL_PIN (33 , "ESPI_PMC_EC_SCI" ),
433+ PINCTRL_PIN (34 , "ESPI_PMC_EC_SCI1" ),
434+ PINCTRL_PIN (35 , "vGPIO_SPARE0" ),
435+ PINCTRL_PIN (36 , "vGPIO_SPARE1" ),
436+ PINCTRL_PIN (37 , "vGPIO_SPARE2" ),
437+ PINCTRL_PIN (38 , "vGPIO_SPARE3" ),
438+ PINCTRL_PIN (39 , "vGPIO_SPARE8" ),
439+ PINCTRL_PIN (40 , "vGPIO_SPARE9" ),
440+ PINCTRL_PIN (41 , "vGPIO_SPARE10" ),
441+ PINCTRL_PIN (42 , "vGPIO_SPARE11" ),
442+ PINCTRL_PIN (43 , "vGPIO_SPARE12" ),
443+ PINCTRL_PIN (44 , "vGPIO_SPARE13" ),
444+ PINCTRL_PIN (45 , "vGPIO_SPARE14" ),
445+ PINCTRL_PIN (46 , "vGPIO_SPARE15" ),
446+ /* GPP_C */
447+ PINCTRL_PIN (47 , "GPP_SC_0" ),
448+ PINCTRL_PIN (48 , "GPP_SC_1" ),
449+ PINCTRL_PIN (49 , "GPP_SC_2" ),
450+ PINCTRL_PIN (50 , "GPP_SC_3" ),
451+ PINCTRL_PIN (51 , "GPP_SC_4" ),
452+ PINCTRL_PIN (52 , "GPP_SC_5" ),
453+ PINCTRL_PIN (53 , "GPP_SC_6" ),
454+ PINCTRL_PIN (54 , "GPP_SC_7" ),
455+ PINCTRL_PIN (55 , "GPP_SC_8" ),
456+ PINCTRL_PIN (56 , "GPP_SC_9" ),
457+ PINCTRL_PIN (57 , "GPP_SC_10" ),
458+ PINCTRL_PIN (58 , "GPP_SC_11" ),
459+ PINCTRL_PIN (59 , "GPP_SC_12" ),
460+ PINCTRL_PIN (60 , "GPP_SC_13" ),
461+ PINCTRL_PIN (61 , "GPP_SC_14" ),
462+ PINCTRL_PIN (62 , "GPP_SC_15" ),
463+ PINCTRL_PIN (63 , "GPP_SC_16" ),
464+ PINCTRL_PIN (64 , "GPP_SC_17" ),
465+ PINCTRL_PIN (65 , "GPP_SC_18" ),
466+ PINCTRL_PIN (66 , "GPP_SC_19" ),
467+ PINCTRL_PIN (67 , "GPP_SC_20" ),
468+ PINCTRL_PIN (68 , "GPP_SC_21" ),
469+ PINCTRL_PIN (69 , "GPP_SC_22" ),
470+ PINCTRL_PIN (70 , "GPP_SC_23" ),
471+ PINCTRL_PIN (71 , "GPP_SC_24" ),
472+ PINCTRL_PIN (72 , "GPP_SC_25" ),
473+ PINCTRL_PIN (73 , "GPP_SC_26" ),
474+ /* GPP_B */
475+ PINCTRL_PIN (74 , "GPP_SB_0" ),
476+ PINCTRL_PIN (75 , "GPP_SB_1" ),
477+ PINCTRL_PIN (76 , "GPP_SB_2" ),
478+ PINCTRL_PIN (77 , "GPP_SB_3" ),
479+ PINCTRL_PIN (78 , "GPP_SB_4" ),
480+ PINCTRL_PIN (79 , "GPP_SB_5" ),
481+ PINCTRL_PIN (80 , "GPP_SB_6" ),
482+ PINCTRL_PIN (81 , "GPP_SB_7" ),
483+ PINCTRL_PIN (82 , "GPP_SB_8" ),
484+ PINCTRL_PIN (83 , "GPP_SB_9" ),
485+ PINCTRL_PIN (84 , "GPP_SB_10" ),
486+ PINCTRL_PIN (85 , "GPP_SB_11" ),
487+ PINCTRL_PIN (86 , "GPP_SB_12" ),
488+ PINCTRL_PIN (87 , "GPP_SB_13" ),
489+ PINCTRL_PIN (88 , "GPP_SB_14" ),
490+ PINCTRL_PIN (89 , "GPP_SB_15" ),
491+ PINCTRL_PIN (90 , "GPP_SB_16" ),
492+ PINCTRL_PIN (91 , "PROCHOT_B" ),
493+ PINCTRL_PIN (92 , "BPKI3C_SDA" ),
494+ PINCTRL_PIN (93 , "BPKI3C_SCL" ),
495+ /* vGPIO_3 */
496+ PINCTRL_PIN (94 , "TS0_IN_INT" ),
497+ PINCTRL_PIN (95 , "TS1_IN_INT" ),
498+ /* GPP_D */
499+ PINCTRL_PIN (96 , "TIME_SYNC_0" ),
500+ PINCTRL_PIN (97 , "TIME_SYNC_1" ),
501+ PINCTRL_PIN (98 , "DSI_DE_TE_2_GENLOCK_REF" ),
502+ PINCTRL_PIN (99 , "DSI_DE_TE_1_DISP_UTILS" ),
503+ PINCTRL_PIN (100 , "DSI_GENLOCK_2" ),
504+ PINCTRL_PIN (101 , "DSI_GENLOCK_3" ),
505+ PINCTRL_PIN (102 , "SRCCLKREQ2_B" ),
506+ PINCTRL_PIN (103 , "SRCCLKREQ3_B" ),
507+ PINCTRL_PIN (104 , "GPP_SD_8" ),
508+ PINCTRL_PIN (105 , "GPP_SD_9" ),
509+ PINCTRL_PIN (106 , "GPP_SD_10" ),
510+ PINCTRL_PIN (107 , "GPP_SD_11" ),
511+ PINCTRL_PIN (108 , "GPP_SD_12" ),
512+ PINCTRL_PIN (109 , "GPP_SD_13" ),
513+ PINCTRL_PIN (110 , "GPP_SD_14" ),
514+ PINCTRL_PIN (111 , "GPP_SD_15" ),
515+ PINCTRL_PIN (112 , "GPP_SD_16" ),
516+ PINCTRL_PIN (113 , "GPP_SD_17" ),
517+ PINCTRL_PIN (114 , "BOOTHALT_B" ),
518+ PINCTRL_PIN (115 , "GPP_SD_19" ),
519+ PINCTRL_PIN (116 , "GPP_SD_20" ),
520+ PINCTRL_PIN (117 , "AUDCLK" ),
521+ PINCTRL_PIN (118 , "AUDIN" ),
522+ PINCTRL_PIN (119 , "AUDOUT" ),
523+ /* JTAG_CPU */
524+ PINCTRL_PIN (120 , "PECI" ),
525+ PINCTRL_PIN (121 , "VIDSOUT" ),
526+ PINCTRL_PIN (122 , "VIDSCK" ),
527+ PINCTRL_PIN (123 , "VIDALERT_B" ),
528+ PINCTRL_PIN (124 , "JTAG_MBPB0" ),
529+ PINCTRL_PIN (125 , "JTAG_MBPB1" ),
530+ PINCTRL_PIN (126 , "JTAG_MBPB2" ),
531+ PINCTRL_PIN (127 , "JTAG_MBPB3" ),
532+ PINCTRL_PIN (128 , "JTAG_TDO" ),
533+ PINCTRL_PIN (129 , "PRDY_B" ),
534+ PINCTRL_PIN (130 , "PREQ_B" ),
535+ PINCTRL_PIN (131 , "JTAG_TDI" ),
536+ PINCTRL_PIN (132 , "JTAG_TMS" ),
537+ PINCTRL_PIN (133 , "JTAG_TCK" ),
538+ PINCTRL_PIN (134 , "DBG_PMODE" ),
539+ PINCTRL_PIN (135 , "JTAG_TRST_B" ),
540+ /* vGPIO_4 */
541+ PINCTRL_PIN (136 , "ISCLK_ESPI_XTAL_CLKREQ" ),
542+ PINCTRL_PIN (137 , "ESPI_ISCLK_XTAL_CLKACK" ),
543+ PINCTRL_PIN (138 , "vGPIO_SPARE4" ),
544+ PINCTRL_PIN (139 , "vGPIO_SPARE5" ),
545+ PINCTRL_PIN (140 , "vGPIO_SPARE6" ),
546+ PINCTRL_PIN (141 , "vGPIO_SPARE7" ),
547+ PINCTRL_PIN (142 , "vGPIO_SPARE16" ),
548+ PINCTRL_PIN (143 , "vGPIO_SPARE17" ),
549+ PINCTRL_PIN (144 , "vGPIO_SPARE18" ),
550+ PINCTRL_PIN (145 , "vGPIO_SPARE19" ),
551+ PINCTRL_PIN (146 , "vGPIO_SPARE20" ),
552+ PINCTRL_PIN (147 , "vGPIO_SPARE21" ),
553+ };
554+
555+ static const struct intel_padgroup mtls_community0_gpps [] = {
556+ MTL_GPP (0 , 0 , 27 , 0 ), /* GPP_A */
557+ MTL_GPP (1 , 28 , 46 , 32 ), /* vGPIO_0 */
558+ MTL_GPP (2 , 47 , 73 , 64 ), /* GPP_C */
559+ };
560+
561+ static const struct intel_padgroup mtls_community1_gpps [] = {
562+ MTL_GPP (0 , 74 , 93 , 96 ), /* GPP_B */
563+ MTL_GPP (1 , 94 , 95 , 128 ), /* vGPIO_3 */
564+ MTL_GPP (2 , 96 , 119 , 160 ), /* GPP_D */
565+ };
566+
567+ static const struct intel_padgroup mtls_community3_gpps [] = {
568+ MTL_GPP (0 , 120 , 135 , 192 ), /* JTAG_CPU */
569+ MTL_GPP (1 , 136 , 147 , 224 ), /* vGPIO_4 */
570+ };
571+
572+ static const struct intel_community mtls_communities [] = {
573+ MTL_S_COMMUNITY (0 , 0 , 73 , mtls_community0_gpps ),
574+ MTL_S_COMMUNITY (1 , 74 , 119 , mtls_community1_gpps ),
575+ MTL_S_COMMUNITY (2 , 120 , 147 , mtls_community3_gpps ),
576+ };
577+
578+ static const struct intel_pinctrl_soc_data mtls_soc_data = {
579+ .pins = mtls_pins ,
580+ .npins = ARRAY_SIZE (mtls_pins ),
581+ .communities = mtls_communities ,
582+ .ncommunities = ARRAY_SIZE (mtls_communities ),
583+ };
584+
386585static const struct acpi_device_id mtl_pinctrl_acpi_match [] = {
387586 { "INTC1083" , (kernel_ulong_t )& mtlp_soc_data },
587+ { "INTC1082" , (kernel_ulong_t )& mtls_soc_data },
388588 { }
389589};
390590MODULE_DEVICE_TABLE (acpi , mtl_pinctrl_acpi_match );
0 commit comments