summaryrefslogtreecommitdiffstats
path: root/src/mainboard/google/dedede/variants/shotzo/gpio.c
diff options
context:
space:
mode:
authorTony Huang <tony-huang@quanta.corp-partner.google.com>2022-06-10 11:01:52 +0800
committerFelix Held <felix-coreboot@felixheld.de>2022-06-29 13:57:34 +0000
commit0092c1534486c3bf77277bda9eb4b736efe11e2d (patch)
tree6e75059db6d1347a7507554c7c26b751ea0152d9 /src/mainboard/google/dedede/variants/shotzo/gpio.c
parentcd8a3669ac813087bafaf5188a37f961235fb5ef (diff)
downloadcoreboot-0092c1534486c3bf77277bda9eb4b736efe11e2d.tar.gz
coreboot-0092c1534486c3bf77277bda9eb4b736efe11e2d.tar.bz2
coreboot-0092c1534486c3bf77277bda9eb4b736efe11e2d.zip
mb/google/dedede/var/shotzo: Update devicetree and GPIO table
Based on latest schematic: 1. Update devicetree for USB port description 2. Add touchscreen ILITEK, amplifier ALC1019, codec ALC5682 3. Configure GPIO table to reflect that 4. Remove APW8738BQBI IC so set "disable_external_bypass_vr to "1" BUG=b:235303242, b:236791101 BRANCH=dedede TEST=build Change-Id: I38c8c5b913013d818ac6a26284184c9decdd9f4e Signed-off-by: Tony Huang <tony-huang@quanta.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/65079 Reviewed-by: Zhuohao Lee <zhuohao@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/dedede/variants/shotzo/gpio.c')
-rw-r--r--src/mainboard/google/dedede/variants/shotzo/gpio.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/mainboard/google/dedede/variants/shotzo/gpio.c b/src/mainboard/google/dedede/variants/shotzo/gpio.c
new file mode 100644
index 000000000000..729f556d0ec1
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/shotzo/gpio.c
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <baseboard/gpio.h>
+#include <baseboard/variants.h>
+
+/* Pad configuration in ramstage */
+static const struct pad_config gpio_table[] = {
+ /* A10 : LAN_PWR_ON */
+ PAD_CFG_GPO(GPP_A10, 1, DEEP),
+ /* A11 : TOUCH_RPT_EN */
+ PAD_NC(GPP_A11, NONE),
+ /* A12 : USB_OC1_N */
+ PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1),
+ /* A13 : USB_OC2_N */
+ PAD_CFG_NF(GPP_A13, NONE, DEEP, NF1),
+ /* A18 : USB_OC0_N */
+ PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1),
+
+ /* B3 : TRACKPAD_INT_ODL */
+ PAD_NC(GPP_B3, NONE),
+
+ /* C16 : I2C0_SDA */
+ PAD_NC(GPP_C16, NONE),
+ /* C17 : I2C0_SCL */
+ PAD_NC(GPP_C17, NONE),
+ /* C18 : LVDS_SDA */
+ PAD_CFG_NF(GPP_C18, NONE, DEEP, NF1),
+ /* C19 : LVDS_SCL */
+ PAD_CFG_NF(GPP_C19, NONE, DEEP, NF1),
+
+ /* D4 : TOUCH_INT_ODL */
+ PAD_CFG_GPI_IRQ_WAKE(GPP_D4, NONE, PLTRST, LEVEL, INVERT),
+ /* D12 : WCAM_RST_L */
+ PAD_NC(GPP_D12, NONE),
+ /* D15 : PD_EN_WEBCAM */
+ PAD_CFG_GPI_GPIO_DRIVER(GPP_D15, NONE, DEEP),
+
+ /* E0 : CLK_24M_UCAM */
+ PAD_NC(GPP_E0, NONE),
+ /* E2 : CLK_24M_WCAM */
+ PAD_NC(GPP_E2, NONE),
+
+ /* G0 : SD_CMD */
+ PAD_NC(GPP_G0, NONE),
+ /* G1 : SD_DATA0 */
+ PAD_NC(GPP_G1, NONE),
+ /* G2 : SD_DATA1 */
+ PAD_NC(GPP_G2, NONE),
+ /* G3 : SD_DATA2 */
+ PAD_NC(GPP_G3, NONE),
+ /* G4 : SD_DATA3 */
+ PAD_NC(GPP_G4, NONE),
+ /* G5 : SD_CD_ODL */
+ PAD_NC(GPP_G5, NONE),
+ /* G6 : SD_CLK */
+ PAD_NC(GPP_G6, NONE),
+ /* G7 : SD_SDIO_WP */
+ PAD_NC(GPP_G7, NONE),
+
+ /* H1 : EN_PP3300_SD_U */
+ PAD_NC(GPP_H1, NONE),
+ /* H6 : I2C3_SDA */
+ PAD_NC(GPP_H6, NONE),
+ /* H7 : I2C3_SCL */
+ PAD_NC(GPP_H7, NONE),
+};
+
+const struct pad_config *variant_override_gpio_table(size_t *num)
+{
+ *num = ARRAY_SIZE(gpio_table);
+ return gpio_table;
+}