summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Spiegel <richard.spiegel@amd.corp-partner.google.com>2018-03-27 17:41:11 -0700
committerMartin Roth <martinroth@google.com>2018-04-24 17:13:06 +0000
commite07e4f3961322383e05635c7e18b4dd1700750b3 (patch)
tree56b53dd6f3895364e5f1b85a8b23e8352b7afafb
parent90b3095093512f048d055a40ffc6b7acbf2a835a (diff)
downloadcoreboot-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.c412
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