/* * This file is part of the coreboot project. * * Copyright 2018 Intel Corporation. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #if !IS_ENABLED(CONFIG_SOC_INTEL_CANNONLAKE_PCH_H) static const struct pad_config gpio_table[] = { /* GPPC */ /* A0 : RCINB_TIME_SYNC_1 */ /* A1 : ESPI_IO_0 */ /* A2 : ESPI_IO_1 */ /* A3 : ESPI_IO_2 */ /* A4 : ESPI_IO_3 */ /* A5 : ESPI_CSB */ /* A6 : SERIRQ */ /* A7 : PRIQAB_GSP10_CS1B */ PAD_CFG_GPI_SCI_HIGH(GPP_A7, UP_20K, DEEP, EDGE_SINGLE), /* A8 : CLKRUNB */ PAD_CFG_GPO(GPP_A8, 1, PLTRST), /* A9 : CLKOUT_LPC_0_ESPI_CLK */ /* A10 : CLKOUT_LPC_1 */ /* A11 : PMEB_GSP11_CS1B */ PAD_CFG_GPI_SCI_LOW(GPP_A11, UP_20K, DEEP, LEVEL), /* A12 : BM_BUSYB_ISH__GP_6 */ /* A13 : SUSWARNB_SUSPWRDNACK */ PAD_CFG_GPO(GPP_A13, 1, PLTRST), /* A14 : SUS_STATB_ESPI_RESETB */ /* A15 : SUSACKB */ PAD_CFG_GPO(GPP_A15, 1, PLTRST), /* A16 : SD_1P8_SEL */ PAD_CFG_TERM_GPO(GPP_A16, 1, UP_20K, PLTRST), /* A17 : SD_VDD1_PWR_EN_B_ISH_GP_7 */ /* A18 : ISH_GP_0 */ PAD_CFG_NF(GPP_A18, UP_20K, DEEP, NF1), /* A19 : ISH_GP_1 */ PAD_CFG_NF(GPP_A19, UP_20K, DEEP, NF1), /* A20 : ISH_GP_2 */ PAD_CFG_NF(GPP_A20, UP_20K, DEEP, NF1), /* A21 : ISH_GP_3 */ PAD_CFG_NF(GPP_A21, UP_20K, DEEP, NF1), /* A22 : ISH_GP_4 */ PAD_CFG_NF(GPP_A22, UP_20K, DEEP, NF1), /* A23 : ISH_GP_5 */ PAD_CFG_NF(GPP_A23, UP_20K, DEEP, NF1), /* B0 : CORE_VID_0 */ /* B1 : CORE_VID_1 */ /* B2 : VRALERTB */ PAD_CFG_GPI_APIC(GPP_B2, NONE, DEEP, LEVEL, NONE), /* B3 : CPU_GP_2 */ PAD_CFG_GPI_APIC(GPP_B3, NONE, PLTRST, LEVEL, NONE), /* B4 : CPU_GP_3 */ PAD_CFG_GPO(GPP_B4, 1, DEEP), /* B5 : SRCCLKREQB_0 */ /* B6 : SRCCLKREQB_1 */ /* B7 : SRCCLKREQB_2 */ /* B8 : SRCCLKREQB_3 */ /* B9 : SRCCLKREQB_4 */ /* B10 : SRCCLKREQB_5 */ /* B11 : EXT_PWR_GATEB */ PAD_CFG_NF(GPP_B11, NONE, DEEP, NF1), /* B12 : SLP_S0B */ /* B13 : PLTRSTB */ /* B14 : SPKR */ PAD_CFG_GPO(GPP_B14, 1, PLTRST), /* B15 : GSPI0_CS0B */ PAD_CFG_GPO(GPP_B15, 0, DEEP), /* B16 : GSPI0_CLK */ PAD_CFG_GPI_APIC(GPP_B16, NONE, PLTRST, LEVEL, NONE), /* B17 : GSPI0_MISO */ PAD_CFG_GPO(GPP_B17, 1, PLTRST), /* B18 : GSPI0_MOSI */ PAD_CFG_GPO(GPP_B18, 1, PLTRST), /* B19 : GSPI1_CS0B */ /* B20 : GSPI1_CLK_NFC_CLK */ /* B21 : GSPI1_MISO_NFC_CLKREQ */ /* B22 : GSP1_MOSI */ /* B23 : SML1ALERTB_PCHHOTB */ PAD_CFG_GPO(GPP_B23, 1, DEEP), /* C0 : SMBCLK */ /* C1 : SMBDATA */ /* C2 : SMBALERTB */ PAD_CFG_GPO(GPP_C2, 1, DEEP), /* C3 : SML0CLK */ /* C4 : SML0DATA */ /* C5 : SML0ALERTB */ PAD_CFG_GPI_SCI_LOW(GPP_C5, NONE, DEEP, LEVEL), /* C6 : SML1CLK */ /* C7 : SML1DATA */ /* C8 : UART0_RXD */ PAD_CFG_GPI_APIC(GPP_C8, UP_20K, DEEP, LEVEL, INVERT), /* C9 : UART0_TXD */ PAD_CFG_GPI_SCI_LOW(GPP_C9, UP_20K, PLTRST, EDGE_SINGLE), /* C10 : UART0_RTSB */ PAD_CFG_GPO(GPP_C10, 0, PLTRST), /* C11 : UART0_CTSB */ PAD_CFG_TERM_GPO(GPP_C11, 1, UP_20K, DEEP), /* C12 : UART1_RXD_ISH_UART1_RXD */ PAD_CFG_GPO(GPP_C12, 1, PLTRST), /* C13 : UART1_RXD_ISH_UART1_TXD */ /* C14 : UART1_RXD_ISH_UART1_RTSB */ /* C15 : UART1_RXD_ISH_UART1_CTSB */ PAD_CFG_GPO(GPP_C15, 1, PLTRST), /* C16 : I2C0_SDA */ /* C17 : I2C0_SCL */ /* C18 : I2C1_SDA */ /* C19 : I2C1_SCL */ /* C20 : UART2_RXD */ /* C21 : UART2_TXD */ /* C22 : UART2_RTSB */ /* C23 : UART2_CTSB */ /* D0 : SPI1_CSB_BK_0 */ /* D1 : SPI1_CLK_BK_1 */ /* D2 : SPI1_MISO_IO_1_BK_2 */ /* D3 : SPI1_MOSI_IO_0_BK_3 */ /* D4 : IMGCLKOUT_0_BK_4 */ /* D5 : ISH_I2C0_SDA */ /* D6 : ISH_I2C0_SCL */ /* D7 : ISH_I2C1_SDA */ /* D8 : ISH_I2C1_SCL */ /* D9 : ISH_SPI_CSB */ PAD_CFG_GPO(GPP_D9, 1, PLTRST), /* D10 : ISH_SPI_CLK */ PAD_CFG_GPI_APIC(GPP_D10, UP_20K, PLTRST, LEVEL, INVERT), /* D11 : ISH_SPI_MISO_GP_BSSB_CLK */ PAD_CFG_GPI_SCI_LOW(GPP_D11, NONE, DEEP, LEVEL), /* D12 : ISH_SPI_MOSI_GP_BSSB_DI */ /* D13 : ISH_UART0_RXD_SML0BDATA */ PAD_CFG_GPO(GPP_D13, 1, DEEP), /* D14 : ISH_UART0_TXD_SML0BCLK */ PAD_CFG_GPO(GPP_D14, 1, PLTRST), /* D15 : ISH_UART0_RTSB_GPSPI2_CS1B */ /* D16 : ISH_UART0_CTSB_SML0BALERTB */ PAD_CFG_GPI_SCI_HIGH(GPP_D16, NONE, DEEP, LEVEL), /* D17 : DMIC_CLK_1_SNDW3_CLK */ /* D18 : DMIC_DATA_1_SNDW3_DATA */ /* D19 : DMIC_CLK_0_SNDW4_CLK */ /* D20 : DMIC_DATA_0_SNDW4_DATA */ /* D21 : SPI1_IO_2 */ PAD_CFG_NF(GPP_D21, NONE, PLTRST, NF1), /* D22 : SPI1_IO_3 */ PAD_CFG_NF(GPP_D22, NONE, PLTRST, NF1), /* D23 : SPP_MCLK */ /* E1 : SATAXPCIE_1_SATAGP_1 */ /* E2 : SATAXPCIE_2_SATAGP_2 */ PAD_CFG_GPI(GPP_E2, UP_20K, PLTRST), /* E3 : CPU_GP_0 */ PAD_CFG_GPI_SMI(GPP_E3, NONE, PLTRST, EDGE_SINGLE, NONE), /* E4 : SATA_DEVSLP_0 */ PAD_CFG_NF(GPP_E4, NONE, DEEP, NF1), /* E5 : SATA_DEVSLP_1 */ /* E6 : SATA_DEVSLP_2 */ PAD_CFG_GPI_SCI(GPP_E6, NONE, DEEP, OFF, NONE), /* E7 : CPU_GP_1 */ PAD_CFG_GPI_INT(GPP_E7, NONE, PLTRST, EDGE_SINGLE), /* E8 : SATA_LEDB */ /* E9 : USB2_OCB_0_GP_BSSB_CLK */ /* E10 : USB2_OCB_1_GP_BSSB_DI */ /* E11 : USB2_OCB_2 */ /* E12 : USB2_OCB_3 */ /* E13 : DDSP_HPD_0_DISP_MISC_0 */ /* E14 : DDSP_HPD_0_DISP_MISC_1 */ /* E15 : DDSP_HPD_0_DISP_MISC_2 */ /* E16 : EMMC_EN */ PAD_CFG_GPO(GPP_E16, 1, PLTRST), /* E17 : EDP_HPD_DISP_MISC_4 */ /* E18 : DDPB_CTRLCLK */ /* E19 : DDPB_CTRLDATA */ /* E20 : DDPC_CTRLCLK */ /* E21 : DDPC_CTRLDATA */ /* E22 : DDPD_CTRLCLK */ /* E23 : DDPD_CTRLDATA */ /* F0 : CNV_GNSS_PA_BLANKING */ PAD_CFG_GPI(GPP_F0, NONE, PLTRST), /* F1 : CNV_GNSS_FAT */ PAD_CFG_TERM_GPO(GPP_F1, 1, UP_20K, DEEP), /* F2 : CNV_GNSS_SYSCK */ PAD_CFG_TERM_GPO(GPP_F2, 1, UP_20K, PLTRST), /* F3 : GPP_F_3 */ PAD_CFG_TERM_GPO(GPP_F3, 0, UP_20K, PLTRST), /* F4 : CNV_BRI_DT_UART0_RTSB */ /* F5 : CNV_BRI_RSP_UART0_RXD */ /* F6 : CNV_RGI_DT_UART0_TXD */ /* F7 : CNV_RGI_DT_RSP_UART9_CTSB */ /* F8 : CNV_MFUART2_RXD */ PAD_CFG_NF(GPP_F8, UP_20K, DEEP, NF1), /* F9 : CNV_MFUART2_TXD */ PAD_CFG_NF(GPP_F9, UP_20K, DEEP, NF1), /* F10 : GPP_F_10 */ PAD_CFG_GPO(GPP_F10, 1, PLTRST), /* F11 : EMMC_CMD */ /* F12 : EMMC_DATA0 */ /* F13 : EMMC_DATA1 */ /* F14 : EMMC_DATA2 */ /* F15 : EMMC_DATA3 */ /* F16 : EMMC_DATA4 */ /* F17 : EMMC_DATA5 */ /* F18 : EMMC_DATA6 */ /* F19 : EMMC_DATA9 */ /* F20 : EMMC_RCLK */ /* F21 : EMMC_CLK */ /* F22 : EMMC_RESETB */ /* F23 : BIOS_REC */ PAD_CFG_GPI(GPP_F23, UP_20K, DEEP), /* G0 : SD3_D2 */ /* G1 : SD3_D0_SD4_RCLK_P */ /* G2 : SD3_D1_SD4_RCLK_N */ /* G3 : SD3_D2 */ /* G4 : SD3_D3 */ /* G5 : SD3_CDB */ PAD_CFG_NF(GPP_G5, UP_20K, DEEP, NF1), /* G6 : SD3_CLK */ /* G7 : SD3_WP */ PAD_CFG_NF(GPP_G7, DN_20K, DEEP, NF1), /* H0 : SSP2_SCLK */ /* H1 : SSP2_SFRM */ /* H2 : SSP2_TXD */ /* H3 : SSP2_RXD */ /* H4 : I2C2_SDA */ /* H5 : I2C2_SCL */ /* H6 : I2C3_SDA */ /* H7 : I2C3_SCL */ /* H8 : I2C4_SDA */ /* H9 : I2C4_SCL */ /* H10 : I2C5_SDA_ISH_I2C2_SDA */ PAD_CFG_GPO(GPP_H10, 1, PLTRST), /* H11 : I2C5_SCL_ISH_I2C2_SCL */ PAD_CFG_GPO(GPP_H11, 1, PLTRST), /* H12 : M2_SKT2_CFG_0_DFLEXIO_0 */ PAD_CFG_GPO(GPP_H12, 1, PLTRST), /* H13 : M2_SKT2_CFG_1_DFLEXIO_1 */ PAD_CFG_GPO(GPP_H13, 1, PLTRST), /* H14 : M2_SKT2_CFG_2 */ PAD_CFG_GPO(GPP_H14, 1, PLTRST), /* H15 : M2_SKT2_CFG_3 */ PAD_CFG_GPO(GPP_H15, 1, PLTRST), /* H16 : CAM5_PWR_EN */ PAD_CFG_GPO(GPP_H16, 1, PLTRST), /* H17 : CAM5_FLASH_STROBE */ PAD_CFG_GPO(GPP_H17, 1, PLTRST), /* H18 : BOOTMPC */ /* H19 : TIMESYNC_0 */ PAD_CFG_GPO(GPP_H19, 1, PLTRST), /* H20 : IMGCLKOUT_1 */ /* H21 : GPPC_H_21 */ /* H22 : GPPC_H_22 */ PAD_CFG_GPI(GPP_H22, NONE, DEEP), #if IS_ENABLED(CONFIG_BOARD_INTEL_WHISKEYLAKE_RVP) PAD_CFG_GPO(GPP_H22, 1, PLTRST), #else PAD_CFG_GPI(GPP_H22, NONE, DEEP), #endif /* H23 : GPPC_H_23 */ /* GPD */ /* GPD_0 : BATLOWB */ /* GPD_1 : ACPRESENT */ /* GPD_2 : LAN_WAKEB */ /* GPD_3 : PWRBTNB */ /* GPD_4 : SLP_S3B */ /* GPD_5 : SLP_S4B */ /* GPD_6 : SLP_AB */ /* GPD_7 : GPD_7 */ /* GPD-8 : SUSCLK */ /* GPD-9 : SLP_WLANB */ /* GPD-10 : SLP_5B */ /* GPD_11 : LANPHYPC */ }; #else static const struct pad_config gpio_table[] = { /* GPPC */ /* A0 : RCIN_ESPI_ALERT1 */ /* A1 : ESPI_IO_0 */ /* A2 : ESPI_IO_1 */ /* A3 : ESPI_IO_2 */ /* A4 : ESPI_IO_3 */ /* A5 : ESPI_CSB */ /* A6 : SERIRQ */ /* A7 : PRIQAB_ESPI_ALERT0 */ /* A8 : CLKRUNB */ PAD_CFG_GPO(GPP_A8, 1, PLTRST), /* A9 : CLKOUT_LPC_0_ESPI_CLK */ /* A10 : CLKOUT_LPC_1 */ /* A11 : I2S_CODEC_INT */ PAD_CFG_GPI_APIC_LOW(GPP_A11, UP_20K, PLTRST), /* A12 : BM_BUSYB_ISH__GP_6 */ /* A13 : SUSWARNB_SUSPWRDNACK */ PAD_CFG_GPO(GPP_A13, 1, PLTRST), /* A14 : SUS_STATB_ESPI_RESETB */ /* A15 : SUSACKB */ PAD_CFG_GPO(GPP_A15, 1, PLTRST), /* A16 : TCH_PAD_INT_N */ PAD_CFG_GPI_APIC(GPP_A16, NONE, PLTRST, LEVEL, INVERT), /* A17 : SD_VDD1_PWR_EN_B_ISH_GP_7 */ /* A18 : ISH_GP_0 */ /* A19 : ISH_GP_1 */ /* A20 : ISH_GP_2 */ /* A21 : ISH_GP_3 */ /* A22 : ISH_GP_4 */ /* A23 : ISH_GP_5 */ /* B0 : SPI_TPM_INIT */ PAD_CFG_GPI_SCI_LOW(GPP_B0, UP_20K, DEEP, EDGE_SINGLE), /* B1 : GSPI1_CS1 */ /* B2 : VRALERTB */ PAD_CFG_GPI_APIC(GPP_B2, NONE, DEEP, LEVEL, NONE), /* B3 : BT_RF_KILL */ PAD_CFG_GPO(GPP_B3, 1, DEEP), /* B4 : WIFI_RF_KILL */ PAD_CFG_GPO(GPP_B4, 1, DEEP), /* B5 : SRCCLKREQB_0 */ /* B6 : SRCCLKREQB_1 */ /* B7 : SRCCLKREQB_2 */ /* B8 : SRCCLKREQB_3 */ /* B9 : SRCCLKREQB_4 */ /* B10 : SRCCLKREQB_5 */ /* B11 : I2S_MCLK */ /* B12 : SLP_S0B */ /* B13 : PLTRSTB */ /* B14 : SPKR */ PAD_CFG_GPO(GPP_B14, 1, PLTRST), /* B15 : GSPI0_CS0B */ PAD_CFG_GPO(GPP_B15, 0, DEEP), /* B16 : GSPI0_CLK */ PAD_CFG_GPI_APIC(GPP_B16, NONE, PLTRST, LEVEL, NONE), /* B17 : GSPI0_MISO */ PAD_CFG_GPO(GPP_B17, 1, PLTRST), /* B18 : I2C_TCH_PNL_PWREN */ PAD_CFG_GPO(GPP_B18, 1, PLTRST), /* B19 : GSPI1_CS0B */ /* B20 : GSPI1_CLK */ /* B21 : GSPI1_MISO */ /* B22 : GSP1_MOSI */ /* B23 : EC_SLP_S0_CS_N */ PAD_CFG_GPO(GPP_B23, 1, PLTRST), /* C0 : SMBCLK */ /* C1 : SMBDATA */ /* C2 : SMBALERTB */ PAD_CFG_GPO(GPP_C2, 1, DEEP), /* C3 : SML0CLK */ /* C4 : SML0DATA */ /* C5 : WIFI_WAKE_N */ PAD_CFG_GPI_SCI_LOW(GPP_C5, NONE, DEEP, LEVEL), /* C6 : SML1CLK */ /* C7 : SML1DATA */ /* C8 : UART0_RXD */ PAD_CFG_GPI_APIC(GPP_C8, UP_20K, DEEP, LEVEL, INVERT), /* C9 : UART0_TXD */ PAD_CFG_GPI_SCI_LOW(GPP_C9, UP_20K, PLTRST, EDGE_SINGLE), /* C10 : UART0_RTSB */ PAD_CFG_GPO(GPP_C10, 0, PLTRST), /* C11 : UART0_CTSB */ PAD_CFG_TERM_GPO(GPP_C11, 1, UP_20K, DEEP), /* C12 : UART1_RXD_ISH_UART1_RXD */ PAD_CFG_GPO(GPP_C12, 1, PLTRST), /* C13 : UART1_RXD_ISH_UART1_TXD */ /* C14 : SSD1_RESET */ PAD_CFG_GPO(GPP_C14, 1, PLTRST), /* C15 : SSD2_RESET */ PAD_CFG_GPO(GPP_C15, 1, PLTRST), /* C16 : I2C0_SDA */ /* C17 : I2C0_SCL */ /* C18 : I2C1_SDA */ /* C19 : I2C1_SCL */ /* C20 : UART2_RXD */ /* C21 : UART2_TXD */ /* C22 : UART2_RTSB */ /* C23 : UART2_CTSB */ /* D0 : SPI1_CSB_BK_0 */ /* D1 : SPI1_CLK_BK_1 */ /* D2 : SPI1_MISO_IO_1_BK_2 */ /* D3 : SPI1_MOSI_IO_0_BK_3 */ /* D4 : IMGCLKOUT_0_BK_4 */ /* D5 : ISH_I2C0_SDA */ /* D6 : ISH_I2C0_SCL */ /* D7 : SSP2_RXD */ PAD_CFG_GPI_INT(GPP_D7, NONE, PLTRST, LEVEL), /* D8 : SSP2_SCLK */ PAD_CFG_GPI_INT(GPP_D8, NONE, PLTRST, LEVEL), /* D9 : ISH_SPI_CSB */ PAD_CFG_GPO(GPP_D9, 1, PLTRST), /* D10 : ISH_SPI_CLK */ PAD_CFG_GPI_APIC(GPP_D10, UP_20K, PLTRST, LEVEL, INVERT), /* D11 : ISH_SPI_MISO_GP_BSSB_CLK */ PAD_CFG_GPI_SCI_LOW(GPP_D11, NONE, DEEP, LEVEL), /* D12 : ISH_SPI_MOSI_GP_BSSB_DI */ /* D13 : ISH_UART0_RXD_SML0BDATA */ PAD_CFG_GPO(GPP_D13, 1, DEEP), /* D14 : ISH_UART0_TXD_SML0BCLK */ PAD_CFG_GPO(GPP_D14, 1, PLTRST), /* D15 : ISH_UART0_RTSB_GPSPI2_CS1B */ /* D16 : ISH_UART0_CTSB_SML0BALERTB */ PAD_CFG_GPI_SCI_HIGH(GPP_D16, NONE, DEEP, LEVEL), /* D17 : DMIC_CLK_1_SNDW3_CLK */ /* D18 : DMIC_DATA_1_SNDW3_DATA */ /* D19 : DMIC_CLK_0_SNDW4_CLK */ /* D20 : DMIC_DATA_0_SNDW4_DATA */ /* D21 : SPI1_IO_2 */ PAD_CFG_NF(GPP_D21, NONE, PLTRST, NF1), /* D22 : SPI1_IO_3 */ PAD_CFG_NF(GPP_D22, NONE, PLTRST, NF1), /* D23 : ISH_I2C2_SCL_I2C3_SCL */ /* E0 : SATAXPCIE_0_SATAGP_0 */ /* E1 : SATAXPCIE_1_SATAGP_1 */ /* E2 : SATAXPCIE_2_SATAGP_2 */ PAD_CFG_GPI(GPP_E2, UP_20K, PLTRST), /* E3 : EC_SMI_N */ PAD_CFG_GPI_SMI(GPP_E3, NONE, PLTRST, EDGE_SINGLE, NONE), /* E4 : SATA_DEVSLP_0 */ PAD_CFG_NF(GPP_E4, NONE, DEEP, NF1), /* E5 : SATA_DEVSLP_1 */ /* E6 : SATA_DEVSLP_2 */ PAD_CFG_GPI_SCI(GPP_E6, NONE, DEEP, OFF, NONE), /* E7 : CPU_GP_1 */ PAD_CFG_GPI_INT(GPP_E7, NONE, PLTRST, EDGE_SINGLE), /* E8 : SATA_LEDB */ /* E9 : USB2_OCB_0 */ /* E10 : USB2_OCB_1 */ /* E11 : USB2_OCB_2 */ /* E12 : USB2_OCB_3 */ /* F0 : SATAXPCIE_3_SATAGP_3 */ /* F1 : SATAXPCIE_4_SATAGP_4 */ /* F2 : SATAXPCIE_5_SATAGP_5 */ /* F3 : SATAXPCIE_6_SATAGP_6 */ /* F4 : SLOT2_RST_N */ PAD_CFG_GPO(GPP_F4, 1, PLTRST), /* F5 : SATA_DEVSLP_3 */ /* F6 : SATA_DEVSLP_4 */ /* F7 : ME_PG_LED */ PAD_CFG_GPI_INT(GPP_F7, NONE, PLTRST, LEVEL), /* F8 : SATA_DEVSLP_6 */ /* F9 : PEG_SLOT_RST */ PAD_CFG_GPO(GPP_F9, 1, PLTRST), /* F10 : BIOS_RECOVERY */ PAD_CFG_GPI_INT(GPP_F10, NONE, PLTRST, LEVEL), /* F11 : SATA_SLOAD */ /* F12 : SATA_S-DATA_OUT1 */ /* F13 : SATA_S-DATA_OUT0 */ /* F14 : PS_ON */ /* F15 : USB2_OC_4 */ /* F16 : USB2_OC_5 */ /* F17 : USB2_OC_6 */ /* F18 : USB2_OC_7 */ /* F19 : EDP_VDDEN */ /* F20 : EDP_BKLTEN */ /* F21 : EDP_BKLTCTL */ /* F22 : DDPF_C_TRLCLK */ /* F23 : DDPF_C_TRLDATA */ /* G0 : SD_DATA */ /* G1 : SD_DATA0 */ /* G2 : SD_DATA1 */ /* G3 : SD_DATA2 */ /* G4 : SD_DATA3 */ /* G5 : GPP_G_5_SD3_CDB */ PAD_CFG_NF(GPP_G5, UP_20K, DEEP, GPIO), /* G6 : SD_CLK */ /* G7 : GPP_G_7_SD3_WP */ PAD_CFG_NF(GPP_G7, UP_20K, DEEP, GPIO), /* H0 : SRCCLKREQB_6 */ /* H1 : SRCCLKREQB_7 */ /* H2 : SRCCLKREQB_8 */ /* H3 : SRCCLKREQB_9 */ /* H4 : SRCCLKREQB_10 */ /* H5 : SRCCLKREQB_11 */ /* H6 : SRCCLKREQB_12 */ /* H7 : SRCCLKREQB_13 */ /* H8 : SRCCLKREQB_14 */ /* H9 : SRCCLKREQB_15 */ /* H10 : Audio Power Enable */ PAD_CFG_GPO(GPP_H10, 1, PLTRST), /* H11 : SML_2_DATA */ /* H12 : SML_2_ALERT */ /* H13 : SML_3_CLK */ /* H14 : SML_3_DATA */ /* H15 : SML_3_ALERT */ /* H16 : TBT_CIO_PWREN */ PAD_CFG_GPO(GPP_H16, 1, PLTRST), /* H17 : TBT_FORCE_PWR */ PAD_CFG_GPO(GPP_H17, 0, PLTRST), /* H18 : SML_4_ALERT */ /* H19 : ISH_I2C0_SDA */ /* H20 : ISH_I2C0_SCL */ /* H21 : ISH_I2C1_SDA */ /* H22 : ISH_I2C1_SCL */ /* H23 : TBT_CIO_PLUG_EVENT_N */ PAD_CFG_GPI_SCI_LOW(GPP_H23, NONE, PLTRST, EDGE_SINGLE), /* I0 : DDPB_HPD_0 */ /* I1 : DDPC_HPD_1 */ /* I2 : DPPD_HPD_2 */ /* I3 : DPPE_HPD_3 */ /* I4 : EDP_HPD */ /* I5 : DDPB_C_TRLCLK */ /* I6 : DDPB_C_TRLDATA */ /* I7 : DDPC_C_TRLCLK */ /* I8 : DDPC_C_TRLDATA */ /* I9 : DDPD_C_TRLCLK */ /* I10 : DDPD_C_TRLDATA */ /* I11 : M2_SKT2_C_FG0 */ /* I12 : M2_SKT2_CFG1 */ /* I13 : M2_SKT2_C_FG2 */ /* I14 : M2_SKT2_C_FG3 */ /* J0 : I2C_TCH_PNL_INT */ PAD_CFG_GPI_APIC(GPP_J0, UP_20K, PLTRST, EDGE_SINGLE, INVERT), /* J1 : CPU_C10_GATE */ /* J2 : FPS_INT_N */ PAD_CFG_GPI_APIC(GPP_J2, NONE, PLTRST, EDGE_SINGLE, NONE), /* J3 : FPS_RST_N */ PAD_CFG_GPO(GPP_J3, 1, PLTRST), /* J4 : CNV_BRI_DT_UART0_RTS */ /* J5 : CNV_BRI_RSP_UART0_RXD */ /* J6 : CNV_RGI_DT_UART0_TXD */ /* J7 : CNV_RGI_RSP_UART0_CTS */ /* J8 : CNV_M_FUART2_RXD */ /* J9 : CNV_M_FUART2_TXD */ /* J10 : I2C_TCH_PNL_RST_N */ PAD_CFG_GPO(GPP_J10, 1, PLTRST), /* J11 : SPEAKER_PD */ PAD_CFG_GPO(GPP_J11, 1, PLTRST), /* K0 : GPP_K0 */ /* K1 : SATA_ODD_PWRGT_R */ PAD_CFG_GPO(GPP_K1, 1, PLTRST), /* K2 : SATA_ODD_DA_N */ PAD_CFG_GPI_SCI_HIGH(GPP_K2, NONE, PLTRST, EDGE_SINGLE), /* K3 : GPP_K3 */ /* K4 : GPP_K4 */ /* K5 : GPP_K5 */ /* K6 : GPP_K6 */ /* K7 : GPP_K7 */ /* K8 : GPP_K8 */ /* K9 : GPP_K9 */ /* K10 : GPP_K10 */ /* K11 : RUNTIME_SCI */ PAD_CFG_GPI_SCI_LOW(GPP_K11, UP_20K, PLTRST, LEVEL), /* K12 : GSXDOUT */ /* K13 : GSXSLOAD */ /* K14 : GSXDIN */ /* K15 : GSXSRESET */ /* K16 : GSXCLK */ /* K17 : ADR_COMPLETE */ /* K18 : SLOT2_WAKE_N */ PAD_CFG_GPI_SCI_LOW(GPP_K18, NONE, PLTRST, LEVEL), /* K19 : SMI */ /* K20 : GPP_K20 */ /* K21 : GPP_K21 */ /* K22 : IMGCLKOUT_0 */ /* K23 : IMGCLKOUT_1 */ /* GPD */ /* GPD_0 : BATLOWB */ /* GPD_1 : ACPRESENT */ /* GPD_2 : LAN_WAKEB */ /* GPD_3 : PWRBTNB */ /* GPD_4 : SLP_S3B */ /* GPD_5 : SLP_S4B */ /* GPD_6 : SLP_AB */ /* GPD_7 : GPD_7 */ /* GPD-8 : SUSCLK */ /* GPD-9 : SLP_WLANB */ /* GPD-10 : SLP_5B */ /* GPD_11 : LANPHYPC */ }; #endif /* Early pad configuration in bootblock */ static const struct pad_config early_gpio_table[] = { }; const struct pad_config *__weak variant_gpio_table(size_t *num) { *num = ARRAY_SIZE(gpio_table); return gpio_table; } const struct pad_config *__weak variant_early_gpio_table(size_t *num) { *num = ARRAY_SIZE(early_gpio_table); return early_gpio_table; } static const struct cros_gpio cros_gpios[] = { CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME), }; const struct cros_gpio * __weak variant_cros_gpios(size_t *num) { *num = ARRAY_SIZE(cros_gpios); return cros_gpios; }