Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/pinctrl/intel/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 23 kB image not shown  

Quelle  pinctrl-tigerlake.c

  Sprache: C
 

// SPDX-License-Identifier: GPL-2.0
/*
 * Intel Tiger Lake PCH pinctrl/GPIO driver
 *
 * Copyright (C) 2019 - 2020, Intel Corporation
 * Authors: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 *          Mika Westerberg <mika.westerberg@linux.intel.com>
 */


#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>

#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-intel.h"

#define TGL_LP_PAD_OWN  0x020
#define TGL_LP_PADCFGLOCK 0x080
#define TGL_LP_HOSTSW_OWN 0x0b0
#define TGL_LP_GPI_IS  0x100
#define TGL_LP_GPI_IE  0x120

#define TGL_H_PAD_OWN  0x020
#define TGL_H_PADCFGLOCK 0x090
#define TGL_H_HOSTSW_OWN 0x0c0
#define TGL_H_GPI_IS  0x100
#define TGL_H_GPI_IE  0x120

#define TGL_GPP(r, s, e, g)    \
 {      \
  .reg_num = (r),    \
  .base = (s),    \
  .size = ((e) - (s) + 1),  \
  .gpio_base = (g),   \
 }

#define TGL_LP_COMMUNITY(b, s, e, g)   \
 INTEL_COMMUNITY_GPPS(b, s, e, g, TGL_LP)

#define TGL_H_COMMUNITY(b, s, e, g)   \
 INTEL_COMMUNITY_GPPS(b, s, e, g, TGL_H)

/* Tiger Lake-LP */
static const struct pinctrl_pin_desc tgllp_pins[] = {
 /* GPP_B */
 PINCTRL_PIN(0"CORE_VID_0"),
 PINCTRL_PIN(1"CORE_VID_1"),
 PINCTRL_PIN(2"VRALERTB"),
 PINCTRL_PIN(3"CPU_GP_2"),
 PINCTRL_PIN(4"CPU_GP_3"),
 PINCTRL_PIN(5"ISH_I2C0_SDA"),
 PINCTRL_PIN(6"ISH_I2C0_SCL"),
 PINCTRL_PIN(7"ISH_I2C1_SDA"),
 PINCTRL_PIN(8"ISH_I2C1_SCL"),
 PINCTRL_PIN(9"I2C5_SDA"),
 PINCTRL_PIN(10"I2C5_SCL"),
 PINCTRL_PIN(11"PMCALERTB"),
 PINCTRL_PIN(12"SLP_S0B"),
 PINCTRL_PIN(13"PLTRSTB"),
 PINCTRL_PIN(14"SPKR"),
 PINCTRL_PIN(15"GSPI0_CS0B"),
 PINCTRL_PIN(16"GSPI0_CLK"),
 PINCTRL_PIN(17"GSPI0_MISO"),
 PINCTRL_PIN(18"GSPI0_MOSI"),
 PINCTRL_PIN(19"GSPI1_CS0B"),
 PINCTRL_PIN(20"GSPI1_CLK"),
 PINCTRL_PIN(21"GSPI1_MISO"),
 PINCTRL_PIN(22"GSPI1_MOSI"),
 PINCTRL_PIN(23"SML1ALERTB"),
 PINCTRL_PIN(24"GSPI0_CLK_LOOPBK"),
 PINCTRL_PIN(25"GSPI1_CLK_LOOPBK"),
 /* GPP_T */
 PINCTRL_PIN(26"I2C6_SDA"),
 PINCTRL_PIN(27"I2C6_SCL"),
 PINCTRL_PIN(28"I2C7_SDA"),
 PINCTRL_PIN(29"I2C7_SCL"),
 PINCTRL_PIN(30"UART4_RXD"),
 PINCTRL_PIN(31"UART4_TXD"),
 PINCTRL_PIN(32"UART4_RTSB"),
 PINCTRL_PIN(33"UART4_CTSB"),
 PINCTRL_PIN(34"UART5_RXD"),
 PINCTRL_PIN(35"UART5_TXD"),
 PINCTRL_PIN(36"UART5_RTSB"),
 PINCTRL_PIN(37"UART5_CTSB"),
 PINCTRL_PIN(38"UART6_RXD"),
 PINCTRL_PIN(39"UART6_TXD"),
 PINCTRL_PIN(40"UART6_RTSB"),
 PINCTRL_PIN(41"UART6_CTSB"),
 /* GPP_A */
 PINCTRL_PIN(42"ESPI_IO_0"),
 PINCTRL_PIN(43"ESPI_IO_1"),
 PINCTRL_PIN(44"ESPI_IO_2"),
 PINCTRL_PIN(45"ESPI_IO_3"),
 PINCTRL_PIN(46"ESPI_CSB"),
 PINCTRL_PIN(47"ESPI_CLK"),
 PINCTRL_PIN(48"ESPI_RESETB"),
 PINCTRL_PIN(49"I2S2_SCLK"),
 PINCTRL_PIN(50"I2S2_SFRM"),
 PINCTRL_PIN(51"I2S2_TXD"),
 PINCTRL_PIN(52"I2S2_RXD"),
 PINCTRL_PIN(53"PMC_I2C_SDA"),
 PINCTRL_PIN(54"SATAXPCIE_1"),
 PINCTRL_PIN(55"PMC_I2C_SCL"),
 PINCTRL_PIN(56"USB2_OCB_1"),
 PINCTRL_PIN(57"USB2_OCB_2"),
 PINCTRL_PIN(58"USB2_OCB_3"),
 PINCTRL_PIN(59"DDSP_HPD_C"),
 PINCTRL_PIN(60"DDSP_HPD_B"),
 PINCTRL_PIN(61"DDSP_HPD_1"),
 PINCTRL_PIN(62"DDSP_HPD_2"),
 PINCTRL_PIN(63"GPPC_A_21"),
 PINCTRL_PIN(64"GPPC_A_22"),
 PINCTRL_PIN(65"I2S1_SCLK"),
 PINCTRL_PIN(66"ESPI_CLK_LOOPBK"),
 /* GPP_S */
 PINCTRL_PIN(67"SNDW0_CLK"),
 PINCTRL_PIN(68"SNDW0_DATA"),
 PINCTRL_PIN(69"SNDW1_CLK"),
 PINCTRL_PIN(70"SNDW1_DATA"),
 PINCTRL_PIN(71"SNDW2_CLK"),
 PINCTRL_PIN(72"SNDW2_DATA"),
 PINCTRL_PIN(73"SNDW3_CLK"),
 PINCTRL_PIN(74"SNDW3_DATA"),
 /* GPP_H */
 PINCTRL_PIN(75"GPPC_H_0"),
 PINCTRL_PIN(76"GPPC_H_1"),
 PINCTRL_PIN(77"GPPC_H_2"),
 PINCTRL_PIN(78"SX_EXIT_HOLDOFFB"),
 PINCTRL_PIN(79"I2C2_SDA"),
 PINCTRL_PIN(80"I2C2_SCL"),
 PINCTRL_PIN(81"I2C3_SDA"),
 PINCTRL_PIN(82"I2C3_SCL"),
 PINCTRL_PIN(83"I2C4_SDA"),
 PINCTRL_PIN(84"I2C4_SCL"),
 PINCTRL_PIN(85"SRCCLKREQB_4"),
 PINCTRL_PIN(86"SRCCLKREQB_5"),
 PINCTRL_PIN(87"M2_SKT2_CFG_0"),
 PINCTRL_PIN(88"M2_SKT2_CFG_1"),
 PINCTRL_PIN(89"M2_SKT2_CFG_2"),
 PINCTRL_PIN(90"M2_SKT2_CFG_3"),
 PINCTRL_PIN(91"DDPB_CTRLCLK"),
 PINCTRL_PIN(92"DDPB_CTRLDATA"),
 PINCTRL_PIN(93"CPU_C10_GATEB"),
 PINCTRL_PIN(94"TIME_SYNC_0"),
 PINCTRL_PIN(95"IMGCLKOUT_1"),
 PINCTRL_PIN(96"IMGCLKOUT_2"),
 PINCTRL_PIN(97"IMGCLKOUT_3"),
 PINCTRL_PIN(98"IMGCLKOUT_4"),
 /* GPP_D */
 PINCTRL_PIN(99"ISH_GP_0"),
 PINCTRL_PIN(100"ISH_GP_1"),
 PINCTRL_PIN(101"ISH_GP_2"),
 PINCTRL_PIN(102"ISH_GP_3"),
 PINCTRL_PIN(103"IMGCLKOUT_0"),
 PINCTRL_PIN(104"SRCCLKREQB_0"),
 PINCTRL_PIN(105"SRCCLKREQB_1"),
 PINCTRL_PIN(106"SRCCLKREQB_2"),
 PINCTRL_PIN(107"SRCCLKREQB_3"),
 PINCTRL_PIN(108"ISH_SPI_CSB"),
 PINCTRL_PIN(109"ISH_SPI_CLK"),
 PINCTRL_PIN(110"ISH_SPI_MISO"),
 PINCTRL_PIN(111"ISH_SPI_MOSI"),
 PINCTRL_PIN(112"ISH_UART0_RXD"),
 PINCTRL_PIN(113"ISH_UART0_TXD"),
 PINCTRL_PIN(114"ISH_UART0_RTSB"),
 PINCTRL_PIN(115"ISH_UART0_CTSB"),
 PINCTRL_PIN(116"ISH_GP_4"),
 PINCTRL_PIN(117"ISH_GP_5"),
 PINCTRL_PIN(118"I2S_MCLK1_OUT"),
 PINCTRL_PIN(119"GSPI2_CLK_LOOPBK"),
 /* GPP_U */
 PINCTRL_PIN(120"UART3_RXD"),
 PINCTRL_PIN(121"UART3_TXD"),
 PINCTRL_PIN(122"UART3_RTSB"),
 PINCTRL_PIN(123"UART3_CTSB"),
 PINCTRL_PIN(124"GSPI3_CS0B"),
 PINCTRL_PIN(125"GSPI3_CLK"),
 PINCTRL_PIN(126"GSPI3_MISO"),
 PINCTRL_PIN(127"GSPI3_MOSI"),
 PINCTRL_PIN(128"GSPI4_CS0B"),
 PINCTRL_PIN(129"GSPI4_CLK"),
 PINCTRL_PIN(130"GSPI4_MISO"),
 PINCTRL_PIN(131"GSPI4_MOSI"),
 PINCTRL_PIN(132"GSPI5_CS0B"),
 PINCTRL_PIN(133"GSPI5_CLK"),
 PINCTRL_PIN(134"GSPI5_MISO"),
 PINCTRL_PIN(135"GSPI5_MOSI"),
 PINCTRL_PIN(136"GSPI6_CS0B"),
 PINCTRL_PIN(137"GSPI6_CLK"),
 PINCTRL_PIN(138"GSPI6_MISO"),
 PINCTRL_PIN(139"GSPI6_MOSI"),
 PINCTRL_PIN(140"GSPI3_CLK_LOOPBK"),
 PINCTRL_PIN(141"GSPI4_CLK_LOOPBK"),
 PINCTRL_PIN(142"GSPI5_CLK_LOOPBK"),
 PINCTRL_PIN(143"GSPI6_CLK_LOOPBK"),
 /* vGPIO */
 PINCTRL_PIN(144"CNV_BTEN"),
 PINCTRL_PIN(145"CNV_BT_HOST_WAKEB"),
 PINCTRL_PIN(146"CNV_BT_IF_SELECT"),
 PINCTRL_PIN(147"vCNV_BT_UART_TXD"),
 PINCTRL_PIN(148"vCNV_BT_UART_RXD"),
 PINCTRL_PIN(149"vCNV_BT_UART_CTS_B"),
 PINCTRL_PIN(150"vCNV_BT_UART_RTS_B"),
 PINCTRL_PIN(151"vCNV_MFUART1_TXD"),
 PINCTRL_PIN(152"vCNV_MFUART1_RXD"),
 PINCTRL_PIN(153"vCNV_MFUART1_CTS_B"),
 PINCTRL_PIN(154"vCNV_MFUART1_RTS_B"),
 PINCTRL_PIN(155"vUART0_TXD"),
 PINCTRL_PIN(156"vUART0_RXD"),
 PINCTRL_PIN(157"vUART0_CTS_B"),
 PINCTRL_PIN(158"vUART0_RTS_B"),
 PINCTRL_PIN(159"vISH_UART0_TXD"),
 PINCTRL_PIN(160"vISH_UART0_RXD"),
 PINCTRL_PIN(161"vISH_UART0_CTS_B"),
 PINCTRL_PIN(162"vISH_UART0_RTS_B"),
 PINCTRL_PIN(163"vCNV_BT_I2S_BCLK"),
 PINCTRL_PIN(164"vCNV_BT_I2S_WS_SYNC"),
 PINCTRL_PIN(165"vCNV_BT_I2S_SDO"),
 PINCTRL_PIN(166"vCNV_BT_I2S_SDI"),
 PINCTRL_PIN(167"vI2S2_SCLK"),
 PINCTRL_PIN(168"vI2S2_SFRM"),
 PINCTRL_PIN(169"vI2S2_TXD"),
 PINCTRL_PIN(170"vI2S2_RXD"),
 /* GPP_C */
 PINCTRL_PIN(171"SMBCLK"),
 PINCTRL_PIN(172"SMBDATA"),
 PINCTRL_PIN(173"SMBALERTB"),
 PINCTRL_PIN(174"SML0CLK"),
 PINCTRL_PIN(175"SML0DATA"),
 PINCTRL_PIN(176"SML0ALERTB"),
 PINCTRL_PIN(177"SML1CLK"),
 PINCTRL_PIN(178"SML1DATA"),
 PINCTRL_PIN(179"UART0_RXD"),
 PINCTRL_PIN(180"UART0_TXD"),
 PINCTRL_PIN(181"UART0_RTSB"),
 PINCTRL_PIN(182"UART0_CTSB"),
 PINCTRL_PIN(183"UART1_RXD"),
 PINCTRL_PIN(184"UART1_TXD"),
 PINCTRL_PIN(185"UART1_RTSB"),
 PINCTRL_PIN(186"UART1_CTSB"),
 PINCTRL_PIN(187"I2C0_SDA"),
 PINCTRL_PIN(188"I2C0_SCL"),
 PINCTRL_PIN(189"I2C1_SDA"),
 PINCTRL_PIN(190"I2C1_SCL"),
 PINCTRL_PIN(191"UART2_RXD"),
 PINCTRL_PIN(192"UART2_TXD"),
 PINCTRL_PIN(193"UART2_RTSB"),
 PINCTRL_PIN(194"UART2_CTSB"),
 /* GPP_F */
 PINCTRL_PIN(195"CNV_BRI_DT"),
 PINCTRL_PIN(196"CNV_BRI_RSP"),
 PINCTRL_PIN(197"CNV_RGI_DT"),
 PINCTRL_PIN(198"CNV_RGI_RSP"),
 PINCTRL_PIN(199"CNV_RF_RESET_B"),
 PINCTRL_PIN(200"GPPC_F_5"),
 PINCTRL_PIN(201"CNV_PA_BLANKING"),
 PINCTRL_PIN(202"GPPC_F_7"),
 PINCTRL_PIN(203"I2S_MCLK2_INOUT"),
 PINCTRL_PIN(204"BOOTMPC"),
 PINCTRL_PIN(205"GPPC_F_10"),
 PINCTRL_PIN(206"GPPC_F_11"),
 PINCTRL_PIN(207"GSXDOUT"),
 PINCTRL_PIN(208"GSXSLOAD"),
 PINCTRL_PIN(209"GSXDIN"),
 PINCTRL_PIN(210"GSXSRESETB"),
 PINCTRL_PIN(211"GSXCLK"),
 PINCTRL_PIN(212"GMII_MDC"),
 PINCTRL_PIN(213"GMII_MDIO"),
 PINCTRL_PIN(214"SRCCLKREQB_6"),
 PINCTRL_PIN(215"EXT_PWR_GATEB"),
 PINCTRL_PIN(216"EXT_PWR_GATE2B"),
 PINCTRL_PIN(217"VNN_CTRL"),
 PINCTRL_PIN(218"V1P05_CTRL"),
 PINCTRL_PIN(219"GPPF_CLK_LOOPBACK"),
 /* HVCMOS */
 PINCTRL_PIN(220"L_BKLTEN"),
 PINCTRL_PIN(221"L_BKLTCTL"),
 PINCTRL_PIN(222"L_VDDEN"),
 PINCTRL_PIN(223"SYS_PWROK"),
 PINCTRL_PIN(224"SYS_RESETB"),
 PINCTRL_PIN(225"MLK_RSTB"),
 /* GPP_E */
 PINCTRL_PIN(226"SATAXPCIE_0"),
 PINCTRL_PIN(227"SPI1_IO_2"),
 PINCTRL_PIN(228"SPI1_IO_3"),
 PINCTRL_PIN(229"CPU_GP_0"),
 PINCTRL_PIN(230"SATA_DEVSLP_0"),
 PINCTRL_PIN(231"SATA_DEVSLP_1"),
 PINCTRL_PIN(232"GPPC_E_6"),
 PINCTRL_PIN(233"CPU_GP_1"),
 PINCTRL_PIN(234"SPI1_CS1B"),
 PINCTRL_PIN(235"USB2_OCB_0"),
 PINCTRL_PIN(236"SPI1_CSB"),
 PINCTRL_PIN(237"SPI1_CLK"),
 PINCTRL_PIN(238"SPI1_MISO_IO_1"),
 PINCTRL_PIN(239"SPI1_MOSI_IO_0"),
 PINCTRL_PIN(240"DDSP_HPD_A"),
 PINCTRL_PIN(241"ISH_GP_6"),
 PINCTRL_PIN(242"ISH_GP_7"),
 PINCTRL_PIN(243"GPPC_E_17"),
 PINCTRL_PIN(244"DDP1_CTRLCLK"),
 PINCTRL_PIN(245"DDP1_CTRLDATA"),
 PINCTRL_PIN(246"DDP2_CTRLCLK"),
 PINCTRL_PIN(247"DDP2_CTRLDATA"),
 PINCTRL_PIN(248"DDPA_CTRLCLK"),
 PINCTRL_PIN(249"DDPA_CTRLDATA"),
 PINCTRL_PIN(250"SPI1_CLK_LOOPBK"),
 /* JTAG */
 PINCTRL_PIN(251"JTAG_TDO"),
 PINCTRL_PIN(252"JTAGX"),
 PINCTRL_PIN(253"PRDYB"),
 PINCTRL_PIN(254"PREQB"),
 PINCTRL_PIN(255"CPU_TRSTB"),
 PINCTRL_PIN(256"JTAG_TDI"),
 PINCTRL_PIN(257"JTAG_TMS"),
 PINCTRL_PIN(258"JTAG_TCK"),
 PINCTRL_PIN(259"DBG_PMODE"),
 /* GPP_R */
 PINCTRL_PIN(260"HDA_BCLK"),
 PINCTRL_PIN(261"HDA_SYNC"),
 PINCTRL_PIN(262"HDA_SDO"),
 PINCTRL_PIN(263"HDA_SDI_0"),
 PINCTRL_PIN(264"HDA_RSTB"),
 PINCTRL_PIN(265"HDA_SDI_1"),
 PINCTRL_PIN(266"GPP_R_6"),
 PINCTRL_PIN(267"GPP_R_7"),
 /* SPI */
 PINCTRL_PIN(268"SPI0_IO_2"),
 PINCTRL_PIN(269"SPI0_IO_3"),
 PINCTRL_PIN(270"SPI0_MOSI_IO_0"),
 PINCTRL_PIN(271"SPI0_MISO_IO_1"),
 PINCTRL_PIN(272"SPI0_TPM_CSB"),
 PINCTRL_PIN(273"SPI0_FLASH_0_CSB"),
 PINCTRL_PIN(274"SPI0_FLASH_1_CSB"),
 PINCTRL_PIN(275"SPI0_CLK"),
 PINCTRL_PIN(276"SPI0_CLK_LOOPBK"),
};

static const struct intel_padgroup tgllp_community0_gpps[] = {
 TGL_GPP(00250),    /* GPP_B */
 TGL_GPP(1264132),    /* GPP_T */
 TGL_GPP(2426664),    /* GPP_A */
};

static const struct intel_padgroup tgllp_community1_gpps[] = {
 TGL_GPP(0677496),    /* GPP_S */
 TGL_GPP(17598128),   /* GPP_H */
 TGL_GPP(299119160),   /* GPP_D */
 TGL_GPP(3120143192),   /* GPP_U */
 TGL_GPP(4144170224),   /* vGPIO */
};

static const struct intel_padgroup tgllp_community4_gpps[] = {
 TGL_GPP(0171194256),   /* GPP_C */
 TGL_GPP(1195219288),   /* GPP_F */
 TGL_GPP(2220225, INTEL_GPIO_BASE_NOMAP), /* HVCMOS */
 TGL_GPP(3226250320),   /* GPP_E */
 TGL_GPP(4251259, INTEL_GPIO_BASE_NOMAP), /* JTAG */
};

static const struct intel_padgroup tgllp_community5_gpps[] = {
 TGL_GPP(0260267352),   /* GPP_R */
 TGL_GPP(1268276, INTEL_GPIO_BASE_NOMAP), /* SPI */
};

static const struct intel_community tgllp_communities[] = {
 TGL_LP_COMMUNITY(0066, tgllp_community0_gpps),
 TGL_LP_COMMUNITY(167170, tgllp_community1_gpps),
 TGL_LP_COMMUNITY(2171259, tgllp_community4_gpps),
 TGL_LP_COMMUNITY(3260276, tgllp_community5_gpps),
};

static const struct intel_pinctrl_soc_data tgllp_soc_data = {
 .pins = tgllp_pins,
 .npins = ARRAY_SIZE(tgllp_pins),
 .communities = tgllp_communities,
 .ncommunities = ARRAY_SIZE(tgllp_communities),
};

/* Tiger Lake-H */
static const struct pinctrl_pin_desc tglh_pins[] = {
 /* GPP_A */
 PINCTRL_PIN(0"SPI0_IO_2"),
 PINCTRL_PIN(1"SPI0_IO_3"),
 PINCTRL_PIN(2"SPI0_MOSI_IO_0"),
 PINCTRL_PIN(3"SPI0_MISO_IO_1"),
 PINCTRL_PIN(4"SPI0_TPM_CSB"),
 PINCTRL_PIN(5"SPI0_FLASH_0_CSB"),
 PINCTRL_PIN(6"SPI0_FLASH_1_CSB"),
 PINCTRL_PIN(7"SPI0_CLK"),
 PINCTRL_PIN(8"ESPI_IO_0"),
 PINCTRL_PIN(9"ESPI_IO_1"),
 PINCTRL_PIN(10"ESPI_IO_2"),
 PINCTRL_PIN(11"ESPI_IO_3"),
 PINCTRL_PIN(12"ESPI_CS0B"),
 PINCTRL_PIN(13"ESPI_CLK"),
 PINCTRL_PIN(14"ESPI_RESETB"),
 PINCTRL_PIN(15"ESPI_CS1B"),
 PINCTRL_PIN(16"ESPI_CS2B"),
 PINCTRL_PIN(17"ESPI_CS3B"),
 PINCTRL_PIN(18"ESPI_ALERT0B"),
 PINCTRL_PIN(19"ESPI_ALERT1B"),
 PINCTRL_PIN(20"ESPI_ALERT2B"),
 PINCTRL_PIN(21"ESPI_ALERT3B"),
 PINCTRL_PIN(22"GPPC_A_14"),
 PINCTRL_PIN(23"SPI0_CLK_LOOPBK"),
 PINCTRL_PIN(24"ESPI_CLK_LOOPBK"),
 /* GPP_R */
 PINCTRL_PIN(25"HDA_BCLK"),
 PINCTRL_PIN(26"HDA_SYNC"),
 PINCTRL_PIN(27"HDA_SDO"),
 PINCTRL_PIN(28"HDA_SDI_0"),
 PINCTRL_PIN(29"HDA_RSTB"),
 PINCTRL_PIN(30"HDA_SDI_1"),
 PINCTRL_PIN(31"GPP_R_6"),
 PINCTRL_PIN(32"GPP_R_7"),
 PINCTRL_PIN(33"GPP_R_8"),
 PINCTRL_PIN(34"PCIE_LNK_DOWN"),
 PINCTRL_PIN(35"ISH_UART0_RTSB"),
 PINCTRL_PIN(36"SX_EXIT_HOLDOFFB"),
 PINCTRL_PIN(37"CLKOUT_48"),
 PINCTRL_PIN(38"ISH_GP_7"),
 PINCTRL_PIN(39"ISH_GP_0"),
 PINCTRL_PIN(40"ISH_GP_1"),
 PINCTRL_PIN(41"ISH_GP_2"),
 PINCTRL_PIN(42"ISH_GP_3"),
 PINCTRL_PIN(43"ISH_GP_4"),
 PINCTRL_PIN(44"ISH_GP_5"),
 /* GPP_B */
 PINCTRL_PIN(45"GSPI0_CS1B"),
 PINCTRL_PIN(46"GSPI1_CS1B"),
 PINCTRL_PIN(47"VRALERTB"),
 PINCTRL_PIN(48"CPU_GP_2"),
 PINCTRL_PIN(49"CPU_GP_3"),
 PINCTRL_PIN(50"SRCCLKREQB_0"),
 PINCTRL_PIN(51"SRCCLKREQB_1"),
 PINCTRL_PIN(52"SRCCLKREQB_2"),
 PINCTRL_PIN(53"SRCCLKREQB_3"),
 PINCTRL_PIN(54"SRCCLKREQB_4"),
 PINCTRL_PIN(55"SRCCLKREQB_5"),
 PINCTRL_PIN(56"I2S_MCLK"),
 PINCTRL_PIN(57"SLP_S0B"),
 PINCTRL_PIN(58"PLTRSTB"),
 PINCTRL_PIN(59"SPKR"),
 PINCTRL_PIN(60"GSPI0_CS0B"),
 PINCTRL_PIN(61"GSPI0_CLK"),
 PINCTRL_PIN(62"GSPI0_MISO"),
 PINCTRL_PIN(63"GSPI0_MOSI"),
 PINCTRL_PIN(64"GSPI1_CS0B"),
 PINCTRL_PIN(65"GSPI1_CLK"),
 PINCTRL_PIN(66"GSPI1_MISO"),
 PINCTRL_PIN(67"GSPI1_MOSI"),
 PINCTRL_PIN(68"SML1ALERTB"),
 PINCTRL_PIN(69"GSPI0_CLK_LOOPBK"),
 PINCTRL_PIN(70"GSPI1_CLK_LOOPBK"),
 /* vGPIO_0 */
 PINCTRL_PIN(71"ESPI_USB_OCB_0"),
 PINCTRL_PIN(72"ESPI_USB_OCB_1"),
 PINCTRL_PIN(73"ESPI_USB_OCB_2"),
 PINCTRL_PIN(74"ESPI_USB_OCB_3"),
 PINCTRL_PIN(75"USB_CPU_OCB_0"),
 PINCTRL_PIN(76"USB_CPU_OCB_1"),
 PINCTRL_PIN(77"USB_CPU_OCB_2"),
 PINCTRL_PIN(78"USB_CPU_OCB_3"),
 /* GPP_D */
 PINCTRL_PIN(79"SPI1_CSB"),
 PINCTRL_PIN(80"SPI1_CLK"),
 PINCTRL_PIN(81"SPI1_MISO_IO_1"),
 PINCTRL_PIN(82"SPI1_MOSI_IO_0"),
 PINCTRL_PIN(83"SML1CLK"),
 PINCTRL_PIN(84"I2S2_SFRM"),
 PINCTRL_PIN(85"I2S2_TXD"),
 PINCTRL_PIN(86"I2S2_RXD"),
 PINCTRL_PIN(87"I2S2_SCLK"),
 PINCTRL_PIN(88"SML0CLK"),
 PINCTRL_PIN(89"SML0DATA"),
 PINCTRL_PIN(90"GPP_D_11"),
 PINCTRL_PIN(91"ISH_UART0_CTSB"),
 PINCTRL_PIN(92"SPI1_IO_2"),
 PINCTRL_PIN(93"SPI1_IO_3"),
 PINCTRL_PIN(94"SML1DATA"),
 PINCTRL_PIN(95"GSPI3_CS0B"),
 PINCTRL_PIN(96"GSPI3_CLK"),
 PINCTRL_PIN(97"GSPI3_MISO"),
 PINCTRL_PIN(98"GSPI3_MOSI"),
 PINCTRL_PIN(99"UART3_RXD"),
 PINCTRL_PIN(100"UART3_TXD"),
 PINCTRL_PIN(101"UART3_RTSB"),
 PINCTRL_PIN(102"UART3_CTSB"),
 PINCTRL_PIN(103"SPI1_CLK_LOOPBK"),
 PINCTRL_PIN(104"GSPI3_CLK_LOOPBK"),
 /* GPP_C */
 PINCTRL_PIN(105"SMBCLK"),
 PINCTRL_PIN(106"SMBDATA"),
 PINCTRL_PIN(107"SMBALERTB"),
 PINCTRL_PIN(108"ISH_UART0_RXD"),
 PINCTRL_PIN(109"ISH_UART0_TXD"),
 PINCTRL_PIN(110"SML0ALERTB"),
 PINCTRL_PIN(111"ISH_I2C2_SDA"),
 PINCTRL_PIN(112"ISH_I2C2_SCL"),
 PINCTRL_PIN(113"UART0_RXD"),
 PINCTRL_PIN(114"UART0_TXD"),
 PINCTRL_PIN(115"UART0_RTSB"),
 PINCTRL_PIN(116"UART0_CTSB"),
 PINCTRL_PIN(117"UART1_RXD"),
 PINCTRL_PIN(118"UART1_TXD"),
 PINCTRL_PIN(119"UART1_RTSB"),
 PINCTRL_PIN(120"UART1_CTSB"),
 PINCTRL_PIN(121"I2C0_SDA"),
 PINCTRL_PIN(122"I2C0_SCL"),
 PINCTRL_PIN(123"I2C1_SDA"),
 PINCTRL_PIN(124"I2C1_SCL"),
 PINCTRL_PIN(125"UART2_RXD"),
 PINCTRL_PIN(126"UART2_TXD"),
 PINCTRL_PIN(127"UART2_RTSB"),
 PINCTRL_PIN(128"UART2_CTSB"),
 /* GPP_S */
 PINCTRL_PIN(129"SNDW1_CLK"),
 PINCTRL_PIN(130"SNDW1_DATA"),
 PINCTRL_PIN(131"SNDW2_CLK"),
 PINCTRL_PIN(132"SNDW2_DATA"),
 PINCTRL_PIN(133"SNDW3_CLK"),
 PINCTRL_PIN(134"SNDW3_DATA"),
 PINCTRL_PIN(135"SNDW4_CLK"),
 PINCTRL_PIN(136"SNDW4_DATA"),
 /* GPP_G */
 PINCTRL_PIN(137"DDPA_CTRLCLK"),
 PINCTRL_PIN(138"DDPA_CTRLDATA"),
 PINCTRL_PIN(139"DNX_FORCE_RELOAD"),
 PINCTRL_PIN(140"GMII_MDC_0"),
 PINCTRL_PIN(141"GMII_MDIO_0"),
 PINCTRL_PIN(142"SLP_DRAMB"),
 PINCTRL_PIN(143"GPPC_G_6"),
 PINCTRL_PIN(144"GPPC_G_7"),
 PINCTRL_PIN(145"ISH_SPI_CSB"),
 PINCTRL_PIN(146"ISH_SPI_CLK"),
 PINCTRL_PIN(147"ISH_SPI_MISO"),
 PINCTRL_PIN(148"ISH_SPI_MOSI"),
 PINCTRL_PIN(149"DDP1_CTRLCLK"),
 PINCTRL_PIN(150"DDP1_CTRLDATA"),
 PINCTRL_PIN(151"DDP2_CTRLCLK"),
 PINCTRL_PIN(152"DDP2_CTRLDATA"),
 PINCTRL_PIN(153"GSPI2_CLK_LOOPBK"),
 /* vGPIO */
 PINCTRL_PIN(154"CNV_BTEN"),
 PINCTRL_PIN(155"CNV_BT_HOST_WAKEB"),
 PINCTRL_PIN(156"CNV_BT_IF_SELECT"),
 PINCTRL_PIN(157"vCNV_BT_UART_TXD"),
 PINCTRL_PIN(158"vCNV_BT_UART_RXD"),
 PINCTRL_PIN(159"vCNV_BT_UART_CTS_B"),
 PINCTRL_PIN(160"vCNV_BT_UART_RTS_B"),
 PINCTRL_PIN(161"vCNV_MFUART1_TXD"),
 PINCTRL_PIN(162"vCNV_MFUART1_RXD"),
 PINCTRL_PIN(163"vCNV_MFUART1_CTS_B"),
 PINCTRL_PIN(164"vCNV_MFUART1_RTS_B"),
 PINCTRL_PIN(165"vUART0_TXD"),
 PINCTRL_PIN(166"vUART0_RXD"),
 PINCTRL_PIN(167"vUART0_CTS_B"),
 PINCTRL_PIN(168"vUART0_RTS_B"),
 PINCTRL_PIN(169"vISH_UART0_TXD"),
 PINCTRL_PIN(170"vISH_UART0_RXD"),
 PINCTRL_PIN(171"vISH_UART0_CTS_B"),
 PINCTRL_PIN(172"vISH_UART0_RTS_B"),
 PINCTRL_PIN(173"vCNV_BT_I2S_BCLK"),
 PINCTRL_PIN(174"vCNV_BT_I2S_WS_SYNC"),
 PINCTRL_PIN(175"vCNV_BT_I2S_SDO"),
 PINCTRL_PIN(176"vCNV_BT_I2S_SDI"),
 PINCTRL_PIN(177"vI2S2_SCLK"),
 PINCTRL_PIN(178"vI2S2_SFRM"),
 PINCTRL_PIN(179"vI2S2_TXD"),
 PINCTRL_PIN(180"vI2S2_RXD"),
 /* GPP_E */
 PINCTRL_PIN(181"SATAXPCIE_0"),
 PINCTRL_PIN(182"SATAXPCIE_1"),
 PINCTRL_PIN(183"SATAXPCIE_2"),
 PINCTRL_PIN(184"CPU_GP_0"),
 PINCTRL_PIN(185"SATA_DEVSLP_0"),
 PINCTRL_PIN(186"SATA_DEVSLP_1"),
 PINCTRL_PIN(187"SATA_DEVSLP_2"),
 PINCTRL_PIN(188"CPU_GP_1"),
 PINCTRL_PIN(189"SATA_LEDB"),
 PINCTRL_PIN(190"USB2_OCB_0"),
 PINCTRL_PIN(191"USB2_OCB_1"),
 PINCTRL_PIN(192"USB2_OCB_2"),
 PINCTRL_PIN(193"USB2_OCB_3"),
 /* GPP_F */
 PINCTRL_PIN(194"SATAXPCIE_3"),
 PINCTRL_PIN(195"SATAXPCIE_4"),
 PINCTRL_PIN(196"SATAXPCIE_5"),
 PINCTRL_PIN(197"SATAXPCIE_6"),
 PINCTRL_PIN(198"SATAXPCIE_7"),
 PINCTRL_PIN(199"SATA_DEVSLP_3"),
 PINCTRL_PIN(200"SATA_DEVSLP_4"),
 PINCTRL_PIN(201"SATA_DEVSLP_5"),
 PINCTRL_PIN(202"SATA_DEVSLP_6"),
 PINCTRL_PIN(203"SATA_DEVSLP_7"),
 PINCTRL_PIN(204"SATA_SCLOCK"),
 PINCTRL_PIN(205"SATA_SLOAD"),
 PINCTRL_PIN(206"SATA_SDATAOUT1"),
 PINCTRL_PIN(207"SATA_SDATAOUT0"),
 PINCTRL_PIN(208"PS_ONB"),
 PINCTRL_PIN(209"M2_SKT2_CFG_0"),
 PINCTRL_PIN(210"M2_SKT2_CFG_1"),
 PINCTRL_PIN(211"M2_SKT2_CFG_2"),
 PINCTRL_PIN(212"M2_SKT2_CFG_3"),
 PINCTRL_PIN(213"L_VDDEN"),
 PINCTRL_PIN(214"L_BKLTEN"),
 PINCTRL_PIN(215"L_BKLTCTL"),
 PINCTRL_PIN(216"VNN_CTRL"),
 PINCTRL_PIN(217"GPP_F_23"),
 /* GPP_H */
 PINCTRL_PIN(218"SRCCLKREQB_6"),
 PINCTRL_PIN(219"SRCCLKREQB_7"),
 PINCTRL_PIN(220"SRCCLKREQB_8"),
 PINCTRL_PIN(221"SRCCLKREQB_9"),
 PINCTRL_PIN(222"SRCCLKREQB_10"),
 PINCTRL_PIN(223"SRCCLKREQB_11"),
 PINCTRL_PIN(224"SRCCLKREQB_12"),
 PINCTRL_PIN(225"SRCCLKREQB_13"),
 PINCTRL_PIN(226"SRCCLKREQB_14"),
 PINCTRL_PIN(227"SRCCLKREQB_15"),
 PINCTRL_PIN(228"SML2CLK"),
 PINCTRL_PIN(229"SML2DATA"),
 PINCTRL_PIN(230"SML2ALERTB"),
 PINCTRL_PIN(231"SML3CLK"),
 PINCTRL_PIN(232"SML3DATA"),
 PINCTRL_PIN(233"SML3ALERTB"),
 PINCTRL_PIN(234"SML4CLK"),
 PINCTRL_PIN(235"SML4DATA"),
 PINCTRL_PIN(236"SML4ALERTB"),
 PINCTRL_PIN(237"ISH_I2C0_SDA"),
 PINCTRL_PIN(238"ISH_I2C0_SCL"),
 PINCTRL_PIN(239"ISH_I2C1_SDA"),
 PINCTRL_PIN(240"ISH_I2C1_SCL"),
 PINCTRL_PIN(241"TIME_SYNC_0"),
 /* GPP_J */
 PINCTRL_PIN(242"CNV_PA_BLANKING"),
 PINCTRL_PIN(243"CPU_C10_GATEB"),
 PINCTRL_PIN(244"CNV_BRI_DT"),
 PINCTRL_PIN(245"CNV_BRI_RSP"),
 PINCTRL_PIN(246"CNV_RGI_DT"),
 PINCTRL_PIN(247"CNV_RGI_RSP"),
 PINCTRL_PIN(248"CNV_MFUART2_RXD"),
 PINCTRL_PIN(249"CNV_MFUART2_TXD"),
 PINCTRL_PIN(250"GPP_J_8"),
 PINCTRL_PIN(251"GPP_J_9"),
 /* GPP_K */
 PINCTRL_PIN(252"GSXDOUT"),
 PINCTRL_PIN(253"GSXSLOAD"),
 PINCTRL_PIN(254"GSXDIN"),
 PINCTRL_PIN(255"GSXSRESETB"),
 PINCTRL_PIN(256"GSXCLK"),
 PINCTRL_PIN(257"ADR_COMPLETE"),
 PINCTRL_PIN(258"DDSP_HPD_A"),
 PINCTRL_PIN(259"DDSP_HPD_B"),
 PINCTRL_PIN(260"CORE_VID_0"),
 PINCTRL_PIN(261"CORE_VID_1"),
 PINCTRL_PIN(262"DDSP_HPD_C"),
 PINCTRL_PIN(263"GPP_K_11"),
 PINCTRL_PIN(264"SYS_PWROK"),
 PINCTRL_PIN(265"SYS_RESETB"),
 PINCTRL_PIN(266"MLK_RSTB"),
 /* GPP_I */
 PINCTRL_PIN(267"PMCALERTB"),
 PINCTRL_PIN(268"DDSP_HPD_1"),
 PINCTRL_PIN(269"DDSP_HPD_2"),
 PINCTRL_PIN(270"DDSP_HPD_3"),
 PINCTRL_PIN(271"DDSP_HPD_4"),
 PINCTRL_PIN(272"DDPB_CTRLCLK"),
 PINCTRL_PIN(273"DDPB_CTRLDATA"),
 PINCTRL_PIN(274"DDPC_CTRLCLK"),
 PINCTRL_PIN(275"DDPC_CTRLDATA"),
 PINCTRL_PIN(276"FUSA_DIAGTEST_EN"),
 PINCTRL_PIN(277"FUSA_DIAGTEST_MODE"),
 PINCTRL_PIN(278"USB2_OCB_4"),
 PINCTRL_PIN(279"USB2_OCB_5"),
 PINCTRL_PIN(280"USB2_OCB_6"),
 PINCTRL_PIN(281"USB2_OCB_7"),
 /* JTAG */
 PINCTRL_PIN(282"JTAG_TDO"),
 PINCTRL_PIN(283"JTAGX"),
 PINCTRL_PIN(284"PRDYB"),
 PINCTRL_PIN(285"PREQB"),
 PINCTRL_PIN(286"JTAG_TDI"),
 PINCTRL_PIN(287"JTAG_TMS"),
 PINCTRL_PIN(288"JTAG_TCK"),
 PINCTRL_PIN(289"DBG_PMODE"),
 PINCTRL_PIN(290"CPU_TRSTB"),
};

static const struct intel_padgroup tglh_community0_gpps[] = {
 TGL_GPP(00240),    /* GPP_A */
 TGL_GPP(1254432),    /* GPP_R */
 TGL_GPP(2457064),    /* GPP_B */
 TGL_GPP(3717896),    /* vGPIO_0 */
};

static const struct intel_padgroup tglh_community1_gpps[] = {
 TGL_GPP(079104128),   /* GPP_D */
 TGL_GPP(1105128160),   /* GPP_C */
 TGL_GPP(2129136192),   /* GPP_S */
 TGL_GPP(3137153224),   /* GPP_G */
 TGL_GPP(4154180256),   /* vGPIO */
};

static const struct intel_padgroup tglh_community3_gpps[] = {
 TGL_GPP(0181193288),   /* GPP_E */
 TGL_GPP(1194217320),   /* GPP_F */
};

static const struct intel_padgroup tglh_community4_gpps[] = {
 TGL_GPP(0218241352),   /* GPP_H */
 TGL_GPP(1242251384),   /* GPP_J */
 TGL_GPP(2252266416),   /* GPP_K */
};

static const struct intel_padgroup tglh_community5_gpps[] = {
 TGL_GPP(0267281448),   /* GPP_I */
 TGL_GPP(1282290, INTEL_GPIO_BASE_NOMAP), /* JTAG */
};

static const struct intel_community tglh_communities[] = {
 TGL_H_COMMUNITY(0078, tglh_community0_gpps),
 TGL_H_COMMUNITY(179180, tglh_community1_gpps),
 TGL_H_COMMUNITY(2181217, tglh_community3_gpps),
 TGL_H_COMMUNITY(3218266, tglh_community4_gpps),
 TGL_H_COMMUNITY(4267290, tglh_community5_gpps),
};

static const struct intel_pinctrl_soc_data tglh_soc_data = {
 .pins = tglh_pins,
 .npins = ARRAY_SIZE(tglh_pins),
 .communities = tglh_communities,
 .ncommunities = ARRAY_SIZE(tglh_communities),
};

static const struct acpi_device_id tgl_pinctrl_acpi_match[] = {
 { "INT34C5", (kernel_ulong_t)&tgllp_soc_data },
 { "INT34C6", (kernel_ulong_t)&tglh_soc_data },
 { "INTC1055", (kernel_ulong_t)&tgllp_soc_data },
 { }
};
MODULE_DEVICE_TABLE(acpi, tgl_pinctrl_acpi_match);

static struct platform_driver tgl_pinctrl_driver = {
 .probe = intel_pinctrl_probe_by_hid,
 .driver = {
  .name = "tigerlake-pinctrl",
  .acpi_match_table = tgl_pinctrl_acpi_match,
  .pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
 },
};
module_platform_driver(tgl_pinctrl_driver);

MODULE_AUTHOR("Andy Shevchenko <andriy.shevchenko@linux.intel.com>");
MODULE_AUTHOR("Mika Westerberg <mika.westerberg@linux.intel.com>");
MODULE_DESCRIPTION("Intel Tiger Lake PCH pinctrl/GPIO driver");
MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS("PINCTRL_INTEL");

Messung V0.5 in Prozent
C=96 H=94 G=94

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-06-07) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.