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>
This commit is contained in:
Tony Huang 2022-06-10 11:01:52 +08:00 committed by Felix Held
parent cd8a3669ac
commit 0092c15344
3 changed files with 202 additions and 10 deletions

View file

@ -0,0 +1,3 @@
## SPDX-License-Identifier: GPL-2.0-or-later
ramstage-y += gpio.c

View file

@ -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;
}

View file

@ -8,10 +8,8 @@ chip soc/intel/jasperlake
#| | required to set up a BAR |
#| | for TPM communication |
#| | before memory is up |
#| I2C0 | Trackpad |
#| I2C1 | Digitizer |
#| I2C1 | LVDS |
#| I2C2 | Touchscreen |
#| I2C3 | Camera |
#| I2C4 | Audio |
#+-------------------+---------------------------+
register "common_soc_config" = "{
@ -19,24 +17,143 @@ chip soc/intel/jasperlake
.speed_mhz = 1,
.early_init = 1,
},
.i2c[0] = {
.speed = I2C_SPEED_FAST,
},
.i2c[1] = {
.speed = I2C_SPEED_FAST,
},
.i2c[2] = {
.speed = I2C_SPEED_FAST,
},
.i2c[3] = {
.speed = I2C_SPEED_FAST,
},
.i2c[4] = {
.speed = I2C_SPEED_FAST,
},
}"
register "disable_external_bypass_vr" = "1" # Does not support external vnn power rail
# USB Port Configuration
register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # Camera
register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # Lan
device domain 0 on
device pci 15.0 on end
device pci 14.0 on
chip drivers/usb/acpi
device usb 0.0 on
chip drivers/usb/acpi
register "desc" = ""USB2 Type-C Port C0""
register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
register "group" = "ACPI_PLD_GROUP(1, 1)"
device usb 2.0 on end
end
chip drivers/usb/acpi
register "desc" = ""USB2 Type-A Port A2""
register "type" = "UPC_TYPE_A"
register "group" = "ACPI_PLD_GROUP(2, 1)"
device usb 2.1 on end
end
chip drivers/usb/acpi
register "desc" = ""USB2 Type-A Port A0""
register "type" = "UPC_TYPE_A"
register "group" = "ACPI_PLD_GROUP(2, 2)"
device usb 2.2 on end
end
chip drivers/usb/acpi
register "desc" = ""USB2 Type-A Port A1""
register "type" = "UPC_TYPE_A"
register "group" = "ACPI_PLD_GROUP(2, 3)"
device usb 2.3 on end
end
chip drivers/usb/acpi
register "desc" = ""USB2 Type-A Port A3""
register "type" = "UPC_TYPE_A"
register "group" = "ACPI_PLD_GROUP(2, 4)"
device usb 2.4 on end
end
chip drivers/usb/acpi
register "desc" = ""Camera""
register "type" = "UPC_TYPE_INTERNAL"
device usb 2.5 on end
end
chip drivers/usb/acpi
register "desc" = ""LAN""
register "type" = "UPC_TYPE_INTERNAL"
device usb 2.6 on end
end
chip drivers/usb/acpi
register "desc" = ""Bluetooth""
register "type" = "UPC_TYPE_INTERNAL"
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H19)"
device usb 2.7 on end
end
chip drivers/usb/acpi
register "desc" = ""USB3 Type-C Port C0""
register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
register "group" = "ACPI_PLD_GROUP(1, 1)"
device usb 3.0 on end
end
chip drivers/usb/acpi
register "desc" = ""LAN""
register "type" = "UPC_TYPE_INTERNAL"
device usb 3.1 on end
end
chip drivers/usb/acpi
register "desc" = ""USB3 Type-A Port A0""
register "type" = "UPC_TYPE_USB3_A"
register "group" = "ACPI_PLD_GROUP(2, 1)"
device usb 3.2 on end
end
chip drivers/usb/acpi
register "desc" = ""USB3 Type-A Port A1""
register "type" = "UPC_TYPE_USB3_A"
register "group" = "ACPI_PLD_GROUP(2, 2)"
device usb 3.3 on end
end
end
end
end # USB xHCI
device pci 15.0 off end # I2C 0
device pci 15.2 on
chip drivers/i2c/hid
register "generic.hid" = ""ILTK0001""
register "generic.desc" = ""ILITEK Touchscreen""
register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPP_D4_IRQ)"
register "generic.probed" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
register "generic.reset_delay_ms" = "20"
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
register "generic.enable_delay_ms" = "12"
register "generic.wake" = "GPE0_DW2_04"
register "generic.has_power_resource" = "1"
register "generic.disable_gpio_export_in_crs" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 41 on end
end
end # I2C 2
device pci 15.3 off end #I2C 3
device pci 1c.7 on
chip drivers/wifi/generic
register "wake" = "GPE0_DW2_03"
device pci 00.0 on end
end
end # PCI Express Root Port 8 - WLAN
device pci 19.0 on
chip drivers/i2c/generic
register "hid" = ""RTL5682""
register "name" = ""RT58""
register "desc" = ""Realtek RT5682""
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
register "property_count" = "1"
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
register "property_list[0].name" = ""realtek,jd-src""
register "property_list[0].integer" = "1"
device i2c 1a on end
end
end #I2C 4
device pci 1f.3 on
chip drivers/generic/alc1015
register "hid" = ""RTL1019""
register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
device generic 0 on end
end
end # Intel HDA
end
end