diff options
author | Richard Spiegel <richard.spiegel@amd.corp-partner.google.com> | 2018-03-27 17:41:11 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-04-24 17:13:06 +0000 |
commit | e07e4f3961322383e05635c7e18b4dd1700750b3 (patch) | |
tree | 56b53dd6f3895364e5f1b85a8b23e8352b7afafb | |
parent | 90b3095093512f048d055a40ffc6b7acbf2a835a (diff) | |
download | coreboot-e07e4f3961322383e05635c7e18b4dd1700750b3.tar.xz |
mb/google/kahlee/variants/baseboard/gpio.c: move all non-critical gpios
When GPIO tables were created, there was no study on which pins had to be
programmed ASAP and which could be programmed later. Execute such study and
move all non-critical gpios from reset to late.
BUG=b:76097508
TEST=Build and boot grunt to OS, test OS for lost functionality (WIFI, video
playback, track pad, keyboard).
Change-Id: Icbc9370050d619800026035caaac3e89536a460a
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25395
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | src/mainboard/google/kahlee/variants/baseboard/gpio.c | 412 |
1 files changed, 193 insertions, 219 deletions
diff --git a/src/mainboard/google/kahlee/variants/baseboard/gpio.c b/src/mainboard/google/kahlee/variants/baseboard/gpio.c index cc75f29113..45f58fdd45 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/gpio.c +++ b/src/mainboard/google/kahlee/variants/baseboard/gpio.c @@ -27,126 +27,88 @@ * ramstage. */ static const struct soc_amd_gpio gpio_set_stage_reset_old[] = { - /* GPIO_0 - EC_PCH_PWR_BTN_ODL */ - PAD_NF(GPIO_0, PWR_BTN_L, PULL_UP), - - /* GPIO_1 - SYS_RST_ODL */ - PAD_NF(GPIO_1, SYS_RESET_L, PULL_UP), - - /* GPIO_3 - MEM_VOLT_SEL */ - PAD_GPI(GPIO_3, PULL_UP), - /* GPIO_4 - EN_PP3300_WLAN */ PAD_GPO(GPIO_4, HIGH), - /* GPIO_5 - PCH_TRACKPAD_INT_3V3_ODL, SCI */ - PAD_GPI(GPIO_5, PULL_UP), - /* GPIO_6 - APU_RST_L / EC_SMI_ODL, SMI */ PAD_GPI(GPIO_6, PULL_UP), - /* GPIO_7 - APU_PWROK_OD (currently not used) */ - PAD_GPI(GPIO_7, PULL_UP), - - /* GPIO_8 - DDR_ALERT_3V3_L (currently not used) */ - PAD_GPI(GPIO_8, PULL_UP), - /* GPIO_9 - H1_PCH_INT_ODL, SCI */ PAD_GPI(GPIO_9, PULL_UP), - /* GPIO_11 - TOUCHSCREEN_INT_3V3_ODL, SCI */ - PAD_GPI(GPIO_11, PULL_UP), - - /* GPIO_14 - APU_HP_INT_ODL, SCI */ - PAD_GPI(GPIO_14, PULL_UP), - /* GPIO_15 - EC_IN_RW_OD */ PAD_GPI(GPIO_15, PULL_UP), - /* GPIO_19 - APU_I2C_SCL3 (Touchscreen) */ - PAD_NF(GPIO_19, I2C3_SCL, PULL_UP), - - /* GPIO_20 - APU_I2C_SDA3 (Touchscreen) */ - PAD_NF(GPIO_20, I2C3_SDA, PULL_UP), - - /* GPIO_21 - APU_PEN_INT_ODL, SCI */ - PAD_GPI(GPIO_21, PULL_UP), - /* GPIO_22 - EC_SCI_ODL, SCI */ PAD_GPI(GPIO_22, PULL_UP), - /* GPIO_23 - ACOK_OD */ - /* GPIO_24 - USB_A1_OC_ODL */ - PAD_NF(GPIO_24, USB_OC3_L, PULL_UP), - - /* GPIO_25 - SD_CD */ - PAD_NF(GPIO_25, SD0_CD, PULL_UP), - /* GPIO_26 - APU_PCIE_RST_L */ PAD_NF(GPIO_26, PCIE_RST_L, PULL_NONE), /* GPIO_40 - EMMC_BRIDGE_RST_L - Currently unused */ PAD_GPI(GPIO_40, PULL_UP), - /* GPIO_42 - S5_MUX_CTRL */ - PAD_NF(GPIO_42, S5_MUX_CTRL, PULL_NONE), - /* GPIO_70 - WLAN_PE_RST_L */ PAD_GPO(GPIO_70, HIGH), /* GPIO_74 - LPC_CLK0_EC_R */ PAD_NF(GPIO_74, LPCCLK0, PULL_DOWN), - /* GPIO_84 - HUB_RST (Active High) */ - PAD_GPO(GPIO_84, LOW), + /* GPIO_92 - WLAN_PCIE_CLKREQ_3V3_ODL */ + PAD_NF(GPIO_92, CLK_REQ0_L, PULL_UP), - /* GPIO_85 - TOUCHSCREEN_RST (Active High) */ - PAD_GPO(GPIO_85, LOW), + /* GPIO_131 - CONFIG_STRAP3 */ + PAD_GPI(GPIO_131, PULL_NONE), - /* GPIO_87 - LPC_SERIRQ */ - PAD_NF(GPIO_87, SERIRQ, PULL_NONE), + /* GPIO_132 - CONFIG_STRAP4 */ + PAD_GPI(GPIO_132, PULL_NONE), - /* GPIO_88 - LPC_CLKRUN_L */ - PAD_NF(GPIO_88, LPC_CLKRUN_L, PULL_NONE), + /* GPIO_136 - UART_PCH_RX_DEBUG_TX */ + PAD_NF(GPIO_136, UART0_RXD, PULL_NONE), - /* GPIO_92 - WLAN_PCIE_CLKREQ_3V3_ODL */ - PAD_NF(GPIO_92, CLK_REQ0_L, PULL_UP), + /* GPIO_138 - UART_PCH_TX_DEBUG_RX */ + PAD_NF(GPIO_138, UART0_TXD, PULL_NONE), - /* GPIO_93 - EMMC_RST_L */ - PAD_GPO(GPIO_93, HIGH), + /* GPIO_139 - CONFIG_STRAP1 */ + PAD_GPI(GPIO_139, PULL_NONE), - /* GPIO_95 - SD_CLK */ - /* GPIO_96 - SD_CMD */ - /* GPIO_97 - SD_D0 */ - /* GPIO_98 - SD_D1 */ - /* GPIO_99 - SD_D2 */ - /* GPIO_100 - SD_D3 */ + /* GPIO_142 - CONFIG_STRAP2 */ + PAD_GPI(GPIO_142, PULL_NONE), +}; - /* GPIO_101 - SD_WP_L */ - PAD_NF(GPIO_101, SD0_WP, PULL_DOWN), +static const struct soc_amd_gpio gpio_set_stage_reset[] = { + /* GPIO_4 - EN_PP3300_WLAN */ + PAD_GPO(GPIO_4, HIGH), - /* GPIO_116 - PCIE_EMMC_CLKREQ_L */ - PAD_NF(GPIO_116, CLK_REQ2_L, PULL_NONE), + /* GPIO_6 - APU_RST_L / EC_SMI_ODL, SMI */ + PAD_GPI(GPIO_6, PULL_UP), - /* GPIO_117 - PCH_SPI_CLK_R */ + /* GPIO_9 - H1_PCH_INT_ODL, SCI */ + PAD_GPI(GPIO_9, PULL_UP), - /* GPIO_118 - PCH_SPI_CS0_L */ - PAD_NF(GPIO_118, SPI_CS1_L, PULL_NONE), + /* GPIO_15 - EC_IN_RW_OD */ + PAD_GPI(GPIO_15, PULL_UP), - /* GPIO_119 - SPK_PA_EN */ - PAD_GPO(GPIO_119, HIGH), + /* GPIO_22 - EC_SCI_ODL, SCI */ + PAD_GPI(GPIO_22, PULL_UP), - /* GPIO_120 - PCH_SPI_MISO */ - /* GPIO_121 - PCH_SPI_MOSI */ + /* GPIO_24 - EC_PCH_WAKE_L */ + PAD_GPI(GPIO_24, PULL_UP), - /* GPIO_122 - APU_BIOS_FLASH_WP_L */ - PAD_GPI(GPIO_122, PULL_NONE), + /* GPIO_26 - APU_PCIE_RST_L */ + PAD_NF(GPIO_26, PCIE_RST_L, PULL_NONE), - /* GPIO_126 - DMIC_CLK2_EN */ - PAD_GPO(GPIO_126, HIGH), + /* GPIO_40 - EMMC_BRIDGE_RST */ + PAD_GPI(GPIO_40, PULL_DOWN), - /* GPIO_129 - APU_KBRST_L */ - PAD_NF(GPIO_129, KBRST_L, PULL_UP), + /* GPIO_70 - WLAN_PE_RST_L */ + PAD_GPO(GPIO_70, HIGH), + + /* GPIO_74 - LPC_CLK0_EC_R */ + PAD_NF(GPIO_74, LPCCLK0, PULL_DOWN), + + /* GPIO_92 - WLAN_PCIE_CLKREQ_3V3_ODL */ + PAD_NF(GPIO_92, CLK_REQ0_L, PULL_UP), /* GPIO_131 - CONFIG_STRAP3 */ PAD_GPI(GPIO_131, PULL_NONE), @@ -154,85 +116,64 @@ static const struct soc_amd_gpio gpio_set_stage_reset_old[] = { /* GPIO_132 - CONFIG_STRAP4 */ PAD_GPI(GPIO_132, PULL_NONE), - /* GPIO_133 - APU_EDP_BKLTEN_L (backlight - Active LOW) */ - PAD_GPO(GPIO_133, LOW), - /* GPIO_136 - UART_PCH_RX_DEBUG_TX */ PAD_NF(GPIO_136, UART0_RXD, PULL_NONE), - /* GPIO_137 - AUDIO_CLK_EN (Remove in EVT?) */ - PAD_GPO(GPIO_137, HIGH), - /* GPIO_138 - UART_PCH_TX_DEBUG_RX */ PAD_NF(GPIO_138, UART0_TXD, PULL_NONE), /* GPIO_139 - CONFIG_STRAP1 */ PAD_GPI(GPIO_139, PULL_NONE), - /* GPIO_140 - I2S_BCLK_R (init to func0, used for I2S) */ - PAD_NF(GPIO_140, UART1_CTS_L, PULL_NONE), - - /* GPIO_141 - I2S2_DATA_MIC2 (init to func0, used for I2S) */ - PAD_NF(GPIO_141, UART1_RXD, PULL_NONE), - /* GPIO_142 - CONFIG_STRAP2 */ PAD_GPI(GPIO_142, PULL_NONE), - - /* GPIO_143 - I2S2_DATA (init to func0, used for I2S) */ - PAD_NF(GPIO_143, UART1_TXD, PULL_NONE), - - /* GPIO_144 - I2S_LR_R (init to func0, used for I2S) */ - PAD_NF(GPIO_144, UART1_INTR, PULL_NONE), - - /* GPIO_145 - PCH_I2C_AUDIO_SCL */ - PAD_NF(GPIO_145, I2C0_SCL, PULL_NONE), - - /* GPIO_146 - PCH_I2C_AUDIO_SDA */ - PAD_NF(GPIO_146, I2C0_SDA, PULL_NONE), - - /* GPIO_147 - PCH_I2C_H1_TPM_SCL */ - PAD_NF(GPIO_147, I2C1_SCL, PULL_NONE), - - /* GPIO_148 - PCH_I2C_H1_TPM_SDA */ - PAD_NF(GPIO_148, I2C1_SDA, PULL_NONE), }; -static const struct soc_amd_gpio gpio_set_stage_reset[] = { +static const struct soc_amd_gpio gpio_set_stage_ram_old[] = { /* GPIO_0 - EC_PCH_PWR_BTN_ODL */ PAD_NF(GPIO_0, PWR_BTN_L, PULL_UP), /* GPIO_1 - SYS_RST_ODL */ PAD_NF(GPIO_1, SYS_RESET_L, PULL_UP), + /* GPIO_2 - WLAN_PCIE_WAKE_3V3_ODL */ + PAD_NF(GPIO_2, WAKE_L, PULL_UP), + /* GPIO_3 - MEM_VOLT_SEL */ PAD_GPI(GPIO_3, PULL_UP), - /* GPIO_4 - EN_PP3300_WLAN */ - PAD_GPO(GPIO_4, HIGH), - /* GPIO_5 - PCH_TRACKPAD_INT_3V3_ODL, SCI */ PAD_GPI(GPIO_5, PULL_UP), - /* GPIO_6 - APU_RST_L / EC_SMI_ODL, SMI */ - PAD_GPI(GPIO_6, PULL_UP), - /* GPIO_7 - APU_PWROK_OD (currently not used) */ PAD_GPI(GPIO_7, PULL_UP), /* GPIO_8 - DDR_ALERT_3V3_L (currently not used) */ PAD_GPI(GPIO_8, PULL_UP), - /* GPIO_9 - H1_PCH_INT_ODL, SCI */ - PAD_GPI(GPIO_9, PULL_UP), + /* GPIO_10 - SLP_S0_L (currently not used) */ + PAD_NF(GPIO_10, S0A3_GPIO, PULL_UP), /* GPIO_11 - TOUCHSCREEN_INT_3V3_ODL, SCI */ PAD_GPI(GPIO_11, PULL_UP), + /* GPIO_12 - Unused (TP126) */ + PAD_GPI(GPIO_12, PULL_UP), + + /* GPIO_13 - APU_PEN_PDCT_ODL (currently not used) */ + PAD_GPI(GPIO_13, PULL_UP), + /* GPIO_14 - APU_HP_INT_ODL, SCI */ PAD_GPI(GPIO_14, PULL_UP), - /* GPIO_15 - EC_IN_RW_OD */ - PAD_GPI(GPIO_15, PULL_UP), + /* GPIO_16 - USB_C0_OC_L */ + PAD_NF(GPIO_16, USB_OC0_L, PULL_UP), + + /* GPIO_17 - USB_C1_OC_L */ + PAD_NF(GPIO_17, USB_OC1_L, PULL_UP), + + /* GPIO_18 - USB_A0_OC_ODL */ + PAD_NF(GPIO_18, USB_OC2_L, PULL_UP), /* GPIO_19 - APU_I2C_SCL3 (Touchscreen) */ PAD_NF(GPIO_19, I2C3_SCL, PULL_UP), @@ -243,30 +184,23 @@ static const struct soc_amd_gpio gpio_set_stage_reset[] = { /* GPIO_21 - APU_PEN_INT_ODL, SCI */ PAD_GPI(GPIO_21, PULL_UP), - /* GPIO_22 - EC_SCI_ODL, SCI */ - PAD_GPI(GPIO_22, PULL_UP), - - /* GPIO_23 - ACOK_OD */ - /* GPIO_24 - EC_PCH_WAKE_L */ - PAD_GPI(GPIO_24, PULL_UP), + /* GPIO_24 - USB_A1_OC_ODL */ + PAD_NF(GPIO_24, USB_OC3_L, PULL_UP), /* GPIO_25 - SD_CD */ PAD_NF(GPIO_25, SD0_CD, PULL_UP), - /* GPIO_26 - APU_PCIE_RST_L */ - PAD_NF(GPIO_26, PCIE_RST_L, PULL_NONE), - - /* GPIO_40 - EMMC_BRIDGE_RST */ - PAD_GPI(GPIO_40, PULL_DOWN), - /* GPIO_42 - S5_MUX_CTRL */ PAD_NF(GPIO_42, S5_MUX_CTRL, PULL_NONE), - /* GPIO_70 - WLAN_PE_RST_L */ - PAD_GPO(GPIO_70, HIGH), + /* GPIO_67 - PEN_RESET */ + PAD_GPO(GPIO_67, LOW), - /* GPIO_74 - LPC_CLK0_EC_R */ - PAD_NF(GPIO_74, LPCCLK0, PULL_DOWN), + /* GPIO_75 - Unused (strap) (R139/R130) */ + PAD_GPI(GPIO_75, PULL_UP), + + /* GPIO_76 - EN_PP3300_TOUCHSCREEN */ + PAD_GPO(GPIO_76, HIGH), /* GPIO_84 - HUB_RST (Active High) */ PAD_GPO(GPIO_84, LOW), @@ -274,45 +208,48 @@ static const struct soc_amd_gpio gpio_set_stage_reset[] = { /* GPIO_85 - TOUCHSCREEN_RST (Active High) */ PAD_GPO(GPIO_85, LOW), + /* GPIO_86 - Unused (TP109) */ + PAD_GPI(GPIO_86, PULL_UP), + /* GPIO_87 - LPC_SERIRQ */ PAD_NF(GPIO_87, SERIRQ, PULL_NONE), /* GPIO_88 - LPC_CLKRUN_L */ PAD_NF(GPIO_88, LPC_CLKRUN_L, PULL_NONE), - /* GPIO_91 - DMIC_CLK1_EN */ - PAD_GPO(GPIO_91, HIGH), - - /* GPIO_92 - WLAN_PCIE_CLKREQ_3V3_ODL */ - PAD_NF(GPIO_92, CLK_REQ0_L, PULL_UP), + /* GPIO_90 - EN_PP3300_CAMERA */ + PAD_GPO(GPIO_90, HIGH), - /* GPIO_93 - EMMC_RST */ - PAD_GPO(GPIO_93, LOW), + /* GPIO_91 - EN_PP3300_TRACKPAD */ + PAD_GPO(GPIO_91, HIGH), - /* GPIO_95 - SD_CLK */ - /* GPIO_96 - SD_CMD */ - /* GPIO_97 - SD_D0 */ - /* GPIO_98 - SD_D1 */ - /* GPIO_99 - SD_D2 */ - /* GPIO_100 - SD_D3 */ + /* GPIO_93 - EMMC_RST_L */ + PAD_GPO(GPIO_93, HIGH), /* GPIO_101 - SD_WP_L */ PAD_NF(GPIO_101, SD0_WP, PULL_DOWN), + /* GPIO_102 - EN_SD_SOCKET_PWR */ + PAD_NF(GPIO_102, SD0_PWR_CTRL, PULL_DOWN), + + /* GPIO_113 - APU_I2C_SCL2 (Pen & Trackpad) */ + PAD_NF(GPIO_113, I2C2_SCL, PULL_UP), + + /* GPIO_114 - APU_I2C_SDA2 (Pen & Trackpad) */ + PAD_NF(GPIO_114, I2C2_SDA, PULL_UP), + + /* GPIO_115 - Unused (TP127) */ + PAD_GPI(GPIO_115, PULL_UP), + /* GPIO_116 - PCIE_EMMC_CLKREQ_L */ PAD_NF(GPIO_116, CLK_REQ2_L, PULL_NONE), - /* GPIO_117 - PCH_SPI_CLK_R */ - /* GPIO_118 - PCH_SPI_CS0_L */ PAD_NF(GPIO_118, SPI_CS1_L, PULL_NONE), /* GPIO_119 - SPK_PA_EN */ PAD_GPO(GPIO_119, HIGH), - /* GPIO_120 - PCH_SPI_MISO */ - /* GPIO_121 - PCH_SPI_MOSI */ - /* GPIO_122 - APU_BIOS_FLASH_WP_L */ PAD_GPI(GPIO_122, PULL_NONE), @@ -322,26 +259,17 @@ static const struct soc_amd_gpio gpio_set_stage_reset[] = { /* GPIO_129 - APU_KBRST_L */ PAD_NF(GPIO_129, KBRST_L, PULL_UP), - /* GPIO_131 - CONFIG_STRAP3 */ - PAD_GPI(GPIO_131, PULL_NONE), - - /* GPIO_132 - CONFIG_STRAP4 */ - PAD_GPI(GPIO_132, PULL_NONE), + /* GPIO_130 - Unused (TP55) */ + PAD_GPI(GPIO_130, PULL_UP), /* GPIO_133 - APU_EDP_BKLTEN_L (backlight - Active LOW) */ PAD_GPO(GPIO_133, LOW), - /* GPIO_136 - UART_PCH_RX_DEBUG_TX */ - PAD_NF(GPIO_136, UART0_RXD, PULL_NONE), - - /* GPIO_137 - Unused (TP27) */ - PAD_GPI(GPIO_137, PULL_UP), - - /* GPIO_138 - UART_PCH_TX_DEBUG_RX */ - PAD_NF(GPIO_138, UART0_TXD, PULL_NONE), + /* GPIO_135 - Unused (TP128) */ + PAD_GPI(GPIO_135, PULL_UP), - /* GPIO_139 - CONFIG_STRAP1 */ - PAD_GPI(GPIO_139, PULL_NONE), + /* GPIO_137 - AUDIO_CLK_EN (Remove in EVT?) */ + PAD_GPO(GPIO_137, HIGH), /* GPIO_140 - I2S_BCLK_R (init to func0, used for I2S) */ PAD_NF(GPIO_140, UART1_CTS_L, PULL_NONE), @@ -349,9 +277,6 @@ static const struct soc_amd_gpio gpio_set_stage_reset[] = { /* GPIO_141 - I2S2_DATA_MIC2 (init to func0, used for I2S) */ PAD_NF(GPIO_141, UART1_RXD, PULL_NONE), - /* GPIO_142 - CONFIG_STRAP2 */ - PAD_GPI(GPIO_142, PULL_NONE), - /* GPIO_143 - I2S2_DATA (init to func0, used for I2S) */ PAD_NF(GPIO_143, UART1_TXD, PULL_NONE), @@ -371,19 +296,43 @@ static const struct soc_amd_gpio gpio_set_stage_reset[] = { PAD_NF(GPIO_148, I2C1_SDA, PULL_NONE), }; -static const struct soc_amd_gpio gpio_set_stage_ram_old[] = { +static const struct soc_amd_gpio gpio_set_stage_ram[] = { + /* GPIO_0 - EC_PCH_PWR_BTN_ODL */ + PAD_NF(GPIO_0, PWR_BTN_L, PULL_UP), + + /* GPIO_1 - SYS_RST_ODL */ + PAD_NF(GPIO_1, SYS_RESET_L, PULL_UP), + /* GPIO_2 - WLAN_PCIE_WAKE_3V3_ODL */ PAD_NF(GPIO_2, WAKE_L, PULL_UP), + /* GPIO_3 - MEM_VOLT_SEL */ + PAD_GPI(GPIO_3, PULL_UP), + + /* GPIO_5 - PCH_TRACKPAD_INT_3V3_ODL, SCI */ + PAD_GPI(GPIO_5, PULL_UP), + + /* GPIO_7 - APU_PWROK_OD (currently not used) */ + PAD_GPI(GPIO_7, PULL_UP), + + /* GPIO_8 - DDR_ALERT_3V3_L (currently not used) */ + PAD_GPI(GPIO_8, PULL_UP), + /* GPIO_10 - SLP_S0_L (currently not used) */ PAD_NF(GPIO_10, S0A3_GPIO, PULL_UP), - /* GPIO_12 - Unused (TP126) */ - PAD_GPI(GPIO_12, PULL_UP), + /* GPIO_11 - TOUCHSCREEN_INT_3V3_ODL, SCI */ + PAD_GPI(GPIO_11, PULL_UP), + + /* GPIO_12 - EN_PP3300_TRACKPAD */ + PAD_GPO(GPIO_12, HIGH), /* GPIO_13 - APU_PEN_PDCT_ODL (currently not used) */ PAD_GPI(GPIO_13, PULL_UP), + /* GPIO_14 - APU_HP_INT_ODL, SCI */ + PAD_GPI(GPIO_14, PULL_UP), + /* GPIO_16 - USB_C0_OC_L */ PAD_NF(GPIO_16, USB_OC0_L, PULL_UP), @@ -393,6 +342,21 @@ static const struct soc_amd_gpio gpio_set_stage_ram_old[] = { /* GPIO_18 - USB_A0_OC_ODL */ PAD_NF(GPIO_18, USB_OC2_L, PULL_UP), + /* GPIO_19 - APU_I2C_SCL3 (Touchscreen) */ + PAD_NF(GPIO_19, I2C3_SCL, PULL_UP), + + /* GPIO_20 - APU_I2C_SDA3 (Touchscreen) */ + PAD_NF(GPIO_20, I2C3_SDA, PULL_UP), + + /* GPIO_21 - APU_PEN_INT_ODL, SCI */ + PAD_GPI(GPIO_21, PULL_UP), + + /* GPIO_25 - SD_CD */ + PAD_NF(GPIO_25, SD0_CD, PULL_UP), + + /* GPIO_42 - S5_MUX_CTRL */ + PAD_NF(GPIO_42, S5_MUX_CTRL, PULL_NONE), + /* GPIO_67 - PEN_RESET */ PAD_GPO(GPIO_67, LOW), @@ -402,15 +366,33 @@ static const struct soc_amd_gpio gpio_set_stage_ram_old[] = { /* GPIO_76 - EN_PP3300_TOUCHSCREEN */ PAD_GPO(GPIO_76, HIGH), + /* GPIO_84 - HUB_RST (Active High) */ + PAD_GPO(GPIO_84, LOW), + + /* GPIO_85 - TOUCHSCREEN_RST (Active High) */ + PAD_GPO(GPIO_85, LOW), + /* GPIO_86 - Unused (TP109) */ PAD_GPI(GPIO_86, PULL_UP), + /* GPIO_87 - LPC_SERIRQ */ + PAD_NF(GPIO_87, SERIRQ, PULL_NONE), + + /* GPIO_88 - LPC_CLKRUN_L */ + PAD_NF(GPIO_88, LPC_CLKRUN_L, PULL_NONE), + /* GPIO_90 - EN_PP3300_CAMERA */ PAD_GPO(GPIO_90, HIGH), - /* GPIO_91 - EN_PP3300_TRACKPAD */ + /* GPIO_91 - DMIC_CLK1_EN */ PAD_GPO(GPIO_91, HIGH), + /* GPIO_93 - EMMC_RST */ + PAD_GPO(GPIO_93, LOW), + + /* GPIO_101 - SD_WP_L */ + PAD_NF(GPIO_101, SD0_WP, PULL_DOWN), + /* GPIO_102 - EN_SD_SOCKET_PWR */ PAD_NF(GPIO_102, SD0_PWR_CTRL, PULL_DOWN), @@ -423,67 +405,59 @@ static const struct soc_amd_gpio gpio_set_stage_ram_old[] = { /* GPIO_115 - Unused (TP127) */ PAD_GPI(GPIO_115, PULL_UP), - /* GPIO_130 - Unused (TP55) */ - PAD_GPI(GPIO_130, PULL_UP), - - /* GPIO_135 - Unused (TP128) */ - PAD_GPI(GPIO_135, PULL_UP), -}; - -static const struct soc_amd_gpio gpio_set_stage_ram[] = { - /* GPIO_2 - WLAN_PCIE_WAKE_3V3_ODL */ - PAD_NF(GPIO_2, WAKE_L, PULL_UP), + /* GPIO_116 - PCIE_EMMC_CLKREQ_L */ + PAD_NF(GPIO_116, CLK_REQ2_L, PULL_NONE), - /* GPIO_10 - SLP_S0_L (currently not used) */ - PAD_NF(GPIO_10, S0A3_GPIO, PULL_UP), + /* GPIO_118 - PCH_SPI_CS0_L */ + PAD_NF(GPIO_118, SPI_CS1_L, PULL_NONE), - /* GPIO_12 - EN_PP3300_TRACKPAD */ - PAD_GPO(GPIO_12, HIGH), + /* GPIO_119 - SPK_PA_EN */ + PAD_GPO(GPIO_119, HIGH), - /* GPIO_13 - APU_PEN_PDCT_ODL (currently not used) */ - PAD_GPI(GPIO_13, PULL_UP), + /* GPIO_122 - APU_BIOS_FLASH_WP_L */ + PAD_GPI(GPIO_122, PULL_NONE), - /* GPIO_16 - USB_C0_OC_L */ - PAD_NF(GPIO_16, USB_OC0_L, PULL_UP), + /* GPIO_126 - DMIC_CLK2_EN */ + PAD_GPO(GPIO_126, HIGH), - /* GPIO_17 - USB_C1_OC_L */ - PAD_NF(GPIO_17, USB_OC1_L, PULL_UP), + /* GPIO_129 - APU_KBRST_L */ + PAD_NF(GPIO_129, KBRST_L, PULL_UP), - /* GPIO_18 - USB_A0_OC_ODL */ - PAD_NF(GPIO_18, USB_OC2_L, PULL_UP), + /* GPIO_130 - Unused (TP55) */ + PAD_GPI(GPIO_130, PULL_UP), - /* GPIO_67 - PEN_RESET */ - PAD_GPO(GPIO_67, LOW), + /* GPIO_133 - APU_EDP_BKLTEN_L (backlight - Active LOW) */ + PAD_GPO(GPIO_133, LOW), - /* GPIO_75 - Unused (strap) (R139/R130) */ - PAD_GPI(GPIO_75, PULL_UP), + /* GPIO_135 - Unused (TP128) */ + PAD_GPI(GPIO_135, PULL_UP), - /* GPIO_76 - EN_PP3300_TOUCHSCREEN */ - PAD_GPO(GPIO_76, HIGH), + /* GPIO_137 - Unused (TP27) */ + PAD_GPI(GPIO_137, PULL_UP), - /* GPIO_86 - Unused (TP109) */ - PAD_GPI(GPIO_86, PULL_UP), + /* GPIO_140 - I2S_BCLK_R (init to func0, used for I2S) */ + PAD_NF(GPIO_140, UART1_CTS_L, PULL_NONE), - /* GPIO_90 - EN_PP3300_CAMERA */ - PAD_GPO(GPIO_90, HIGH), + /* GPIO_141 - I2S2_DATA_MIC2 (init to func0, used for I2S) */ + PAD_NF(GPIO_141, UART1_RXD, PULL_NONE), - /* GPIO_102 - EN_SD_SOCKET_PWR */ - PAD_NF(GPIO_102, SD0_PWR_CTRL, PULL_DOWN), + /* GPIO_143 - I2S2_DATA (init to func0, used for I2S) */ + PAD_NF(GPIO_143, UART1_TXD, PULL_NONE), - /* GPIO_113 - APU_I2C_SCL2 (Pen & Trackpad) */ - PAD_NF(GPIO_113, I2C2_SCL, PULL_UP), + /* GPIO_144 - I2S_LR_R (init to func0, used for I2S) */ + PAD_NF(GPIO_144, UART1_INTR, PULL_NONE), - /* GPIO_114 - APU_I2C_SDA2 (Pen & Trackpad) */ - PAD_NF(GPIO_114, I2C2_SDA, PULL_UP), + /* GPIO_145 - PCH_I2C_AUDIO_SCL */ + PAD_NF(GPIO_145, I2C0_SCL, PULL_NONE), - /* GPIO_115 - Unused (TP127) */ - PAD_GPI(GPIO_115, PULL_UP), + /* GPIO_146 - PCH_I2C_AUDIO_SDA */ + PAD_NF(GPIO_146, I2C0_SDA, PULL_NONE), - /* GPIO_130 - Unused (TP55) */ - PAD_GPI(GPIO_130, PULL_UP), + /* GPIO_147 - PCH_I2C_H1_TPM_SCL */ + PAD_NF(GPIO_147, I2C1_SCL, PULL_NONE), - /* GPIO_135 - Unused (TP128) */ - PAD_GPI(GPIO_135, PULL_UP), + /* GPIO_148 - PCH_I2C_H1_TPM_SDA */ + PAD_NF(GPIO_148, I2C1_SDA, PULL_NONE), }; const __weak |