From 15e4c0a23f93835a7f4e3756705eaa11a3a5bc2f Mon Sep 17 00:00:00 2001 From: Jack Rosenthal Date: Mon, 18 Jul 2022 13:54:09 -0600 Subject: mb/google/brya/var/ghost: Split ghost4adl into 3 variants We plan to make 3 firmwares which differ only by Kconfig options and can share a common variant directory. ghost4adl: Board with an ADL chip. ghost4es: Board near identical but has RPL-ES chip. ghost: Will have final RPL silicon. Since they will only differ by Kconfig options and Intel binary blobs, let's not duplicate the variant directory but instead share it in common. BUG=b:239456576 BRANCH=firmware-brya-14505.B TEST="make menuconfig", verify layout of board selection Signed-off-by: Jack Rosenthal Change-Id: I94f2048bbe6675a807f8eba986a1ded0a4167733 Reviewed-on: https://review.coreboot.org/c/coreboot/+/65956 Tested-by: build bot (Jenkins) Reviewed-by: Eric Lai Reviewed-by: Caveh Jalali Reviewed-by: Tim Wawrzynczak Reviewed-by: Nick Vaccaro --- src/mainboard/google/brya/Kconfig | 11 +- src/mainboard/google/brya/Kconfig.name | 10 +- .../google/brya/variants/ghost/Makefile.inc | 6 + src/mainboard/google/brya/variants/ghost/gpio.c | 420 +++++++++++++++++++++ .../brya/variants/ghost/include/variant/ec.h | 8 + .../brya/variants/ghost/include/variant/gpio.h | 8 + src/mainboard/google/brya/variants/ghost/memory.c | 118 ++++++ .../google/brya/variants/ghost/memory/Makefile.inc | 10 + .../variants/ghost/memory/dram_id.generated.txt | 11 + .../brya/variants/ghost/memory/mem_parts_used.txt | 16 + .../google/brya/variants/ghost/overridetree.cb | 192 ++++++++++ .../google/brya/variants/ghost4adl/Makefile.inc | 6 - .../google/brya/variants/ghost4adl/gpio.c | 420 --------------------- .../brya/variants/ghost4adl/include/variant/ec.h | 8 - .../brya/variants/ghost4adl/include/variant/gpio.h | 8 - .../google/brya/variants/ghost4adl/memory.c | 118 ------ .../brya/variants/ghost4adl/memory/Makefile.inc | 10 - .../ghost4adl/memory/dram_id.generated.txt | 11 - .../variants/ghost4adl/memory/mem_parts_used.txt | 16 - .../google/brya/variants/ghost4adl/overridetree.cb | 192 ---------- 20 files changed, 807 insertions(+), 792 deletions(-) create mode 100644 src/mainboard/google/brya/variants/ghost/Makefile.inc create mode 100644 src/mainboard/google/brya/variants/ghost/gpio.c create mode 100644 src/mainboard/google/brya/variants/ghost/include/variant/ec.h create mode 100644 src/mainboard/google/brya/variants/ghost/include/variant/gpio.h create mode 100644 src/mainboard/google/brya/variants/ghost/memory.c create mode 100644 src/mainboard/google/brya/variants/ghost/memory/Makefile.inc create mode 100644 src/mainboard/google/brya/variants/ghost/memory/dram_id.generated.txt create mode 100644 src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt create mode 100644 src/mainboard/google/brya/variants/ghost/overridetree.cb delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/Makefile.inc delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/gpio.c delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/include/variant/ec.h delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/include/variant/gpio.h delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/memory.c delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/memory/Makefile.inc delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/memory/dram_id.generated.txt delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt delete mode 100644 src/mainboard/google/brya/variants/ghost4adl/overridetree.cb (limited to 'src/mainboard/google/brya') diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig index c14bc24314..fde512f405 100644 --- a/src/mainboard/google/brya/Kconfig +++ b/src/mainboard/google/brya/Kconfig @@ -60,6 +60,11 @@ config BOARD_GOOGLE_BASEBOARD_BRASK select SOC_INTEL_ALDERLAKE_PCH_P select TPM_GOOGLE_CR50 +config BOARD_GOOGLE_BASEBOARD_GHOST + def_bool n + select BOARD_GOOGLE_BASEBOARD_BRYA if BOARD_GOOGLE_GHOST4ADL + select BOARD_GOOGLE_BASEBOARD_SKOLAS if !BOARD_GOOGLE_GHOST4ADL + config BOARD_GOOGLE_BASEBOARD_NISSA def_bool n select BOARD_GOOGLE_BRYA_COMMON @@ -116,7 +121,7 @@ config DRIVER_TPM_I2C_BUS default 0x1 if BOARD_GOOGLE_BRASK default 0x1 if BOARD_GOOGLE_PRIMUS default 0x3 if BOARD_GOOGLE_PRIMUS4ES - default 0x1 if BOARD_GOOGLE_GHOST4ADL + default 0x1 if BOARD_GOOGLE_BASEBOARD_GHOST default 0x1 if BOARD_GOOGLE_GIMBLE default 0x3 if BOARD_GOOGLE_GIMBLE4ES default 0x1 if BOARD_GOOGLE_REDRIX @@ -180,7 +185,9 @@ config MAINBOARD_PART_NUMBER default "Brask" if BOARD_GOOGLE_BRASK default "Primus" if BOARD_GOOGLE_PRIMUS default "Primus4ES" if BOARD_GOOGLE_PRIMUS4ES + default "Ghost" if BOARD_GOOGLE_GHOST default "Ghost4ADL" if BOARD_GOOGLE_GHOST4ADL + default "Ghost4ES" if BOARD_GOOGLE_GHOST4ES default "Gimble" if BOARD_GOOGLE_GIMBLE default "Gimble4ES" if BOARD_GOOGLE_GIMBLE4ES default "Redrix" if BOARD_GOOGLE_REDRIX @@ -216,7 +223,7 @@ config VARIANT_DIR default "brask" if BOARD_GOOGLE_BRASK default "primus" if BOARD_GOOGLE_PRIMUS default "primus4es" if BOARD_GOOGLE_PRIMUS4ES - default "ghost4adl" if BOARD_GOOGLE_GHOST4ADL + default "ghost" if BOARD_GOOGLE_BASEBOARD_GHOST default "gimble" if BOARD_GOOGLE_GIMBLE default "gimble4es" if BOARD_GOOGLE_GIMBLE4ES default "redrix" if BOARD_GOOGLE_REDRIX diff --git a/src/mainboard/google/brya/Kconfig.name b/src/mainboard/google/brya/Kconfig.name index 8c2fc2e87c..6608193284 100644 --- a/src/mainboard/google/brya/Kconfig.name +++ b/src/mainboard/google/brya/Kconfig.name @@ -57,11 +57,19 @@ config BOARD_GOOGLE_FELWINTER select DRIVERS_GENERIC_GPIO_KEYS select DRIVERS_GENESYSLOGIC_GL9755 +config BOARD_GOOGLE_GHOST + bool "-> Ghost" + select BOARD_GOOGLE_BASEBOARD_GHOST + config BOARD_GOOGLE_GHOST4ADL bool "-> Ghost4ADL" - select BOARD_GOOGLE_BASEBOARD_BRYA + select BOARD_GOOGLE_BASEBOARD_GHOST select ENABLE_TCSS_DISPLAY_DETECTION if RUN_FSP_GOP +config BOARD_GOOGLE_GHOST4ES + bool "-> Ghost4ES" + select BOARD_GOOGLE_BASEBOARD_GHOST + config BOARD_GOOGLE_GIMBLE bool "-> Gimble" select BOARD_GOOGLE_BASEBOARD_BRYA diff --git a/src/mainboard/google/brya/variants/ghost/Makefile.inc b/src/mainboard/google/brya/variants/ghost/Makefile.inc new file mode 100644 index 0000000000..073317f666 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/Makefile.inc @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0-only +romstage-y += memory.c + +bootblock-y += gpio.c +romstage-y += gpio.c +ramstage-y += gpio.c diff --git a/src/mainboard/google/brya/variants/ghost/gpio.c b/src/mainboard/google/brya/variants/ghost/gpio.c new file mode 100644 index 0000000000..e6a80f0fb5 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/gpio.c @@ -0,0 +1,420 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* This file is safe to edit, but please do not change this comment block. */ +/* BaseID: None */ +/* Overrides: None */ + +#include +#include +#include +#include +#include + +/* Pad configuration in ramstage */ +static const struct pad_config gpio_table[] = { + /* GPD0 : [NF1: BATLOW#] ==> BATLOW_L */ + PAD_CFG_NF(GPD0, NONE, DEEP, NF1), + /* GPD1 : [NF1: ACPRESENT] ==> ACPRESENT */ + PAD_CFG_NF(GPD1, NONE, DEEP, NF1), + /* GPD2 : [NF1: LAN_WAKE#] ==> EC_PCH_WAKE_ODL */ + PAD_CFG_NF(GPD2, NONE, DEEP, NF1), + /* GPD3 : [NF1: PWRBTN#] ==> EC_PCH_PWR_BTN_ODL */ + PAD_CFG_NF(GPD3, NONE, DEEP, NF1), + /* GPD4 : [NF1: SLP_S3#] ==> SLP_S3_R_L */ + PAD_CFG_NF(GPD4, NONE, DEEP, NF1), + /* GPD5 : [NF1: SLP_S4#] ==> SLP_S4_L */ + PAD_CFG_NF(GPD5, NONE, DEEP, NF1), + /* GPD6 : [NF1: SLP_A#] ==> SLP_A_L_CAP_SITE */ + PAD_CFG_NF(GPD6, NONE, DEEP, NF1), + /* GPD7 : GPD7_STRAP ==> Component NC */ + PAD_NC(GPD7, NONE), + /* GPD8 : [NF1: SUSCLK] ==> PCH_SUSCLK */ + PAD_CFG_NF(GPD8, NONE, DEEP, NF1), + /* GPD9 : [NF1: SLP_WLAN#] ==> SLP_WLAN_L_CAP_SITE */ + PAD_CFG_NF(GPD9, NONE, DEEP, NF1), + /* GPD10 : [NF1: SLP_S5#] ==> SLP_S5_L */ + PAD_CFG_NF(GPD10, NONE, DEEP, NF1), + /* GPD11 : No heuristic was found useful */ + PAD_NC(GPD11, NONE), + /* GPP_A0 : GPP_A0 ==> ESPI_PCH_D0_EC_R configured on reset, do not touch */ + /* GPP_A1 : GPP_A1 ==> ESPI_PCH_D1_EC_R configured on reset, do not touch */ + /* GPP_A2 : GPP_A2 ==> ESPI_PCH_D2_EC_R configured on reset, do not touch */ + /* GPP_A3 : GPP_A3 ==> ESPI_PCH_D3_EC_R configured on reset, do not touch */ + /* GPP_A4 : GPP_A4 ==> ESPI_PCH_CS_EC_R_L configured on reset, do not touch */ + /* GPP_A5 : GPP_A5 ==> ESPI_ALERT0 configured on reset, do not touch */ + /* GPP_A6 : GPP_A6 ==> ESPI_ALERT1 configured on reset, do not touch */ + /* GPP_A7 : No heuristic was found useful */ + PAD_NC(GPP_A7, NONE), + /* GPP_A8 : No heuristic was found useful */ + PAD_NC(GPP_A8, NONE), + /* GPP_A9 : GPP_A9 ==> ESPI_PCH_CLK_R configured on reset, do not touch */ + /* GPP_A10 : GPP_A10 ==> ESPI_PCH_RST_EC_L configured on reset, do not touch */ + /* GPP_A11 : [NF6: USB_C_GPP_A11] ==> EN_SPKR_PA */ + PAD_CFG_GPO(GPP_A11, 1, DEEP), + /* GPP_A12 : No heuristic was found useful */ + PAD_NC(GPP_A12, NONE), + /* GPP_A13 : [NF6: USB_C_GPP_A13] ==> GSC_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), + /* GPP_A14 : [NF1: USB_OC1# NF2: DDSP_HPD3 NF4: DISP_MISC3 NF6: USB_C_GPP_A14] ==> USB_C1_OC_ODL */ + PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1), + /* GPP_A15 : net NC is not present in the given design */ + PAD_NC(GPP_A15, NONE), + /* GPP_A16 : net NC is not present in the given design */ + PAD_NC(GPP_A16, NONE), + /* GPP_A17 : No heuristic was found useful */ + PAD_NC(GPP_A17, NONE), + /* GPP_A18 : net NC is not present in the given design */ + PAD_NC(GPP_A18, NONE), + /* GPP_A19 : No heuristic was found useful */ + PAD_NC(GPP_A19, NONE), + /* GPP_A20 : net NC is not present in the given design */ + PAD_NC(GPP_A20, NONE), + /* GPP_A21 : net NC is not present in the given design */ + PAD_NC(GPP_A21, NONE), + /* GPP_A22 : net NC is not present in the given design */ + PAD_NC(GPP_A22, NONE), + /* GPP_A23 : [NF1: ESPI_CS1# NF6: USB_C_GPP_A23] ==> AUD_HP_INT_L */ + PAD_CFG_GPI_INT(GPP_A23, NONE, PLTRST, EDGE_BOTH), + /* GPP_B0 : [NF1: CORE_VID0 NF6: USB_C_GPP_B0] ==> SOC_VID0 */ + PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1), + /* GPP_B1 : [NF1: CORE_VID1 NF6: USB_C_GPP_B1] ==> SOC_VID1 */ + PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1), + /* GPP_B2 : [NF1: VRALERT# NF6: USB_C_GPP_B2] ==> GPP_B2 */ + PAD_CFG_NF(GPP_B2, NONE, DEEP, NF6), + /* GPP_B3 : MEM_CH_SEL */ + PAD_CFG_GPI(GPP_B3, NONE, DEEP), + /* GPP_B4 : [NF1: PROC_GP3 NF4: ISH_GP5B NF6: USB_C_GPP_B4] ==> SSD_PERST_L */ + PAD_CFG_GPO(GPP_B4, 1, PLTRST), + /* GPP_B5 : [NF1: ISH_I2C0_SDA NF2: I2C2_SDA NF6: USB_C_GPP_B5] ==> PCH_I2C_MISC_R_SDA */ + PAD_CFG_NF(GPP_B5, NONE, DEEP, NF2), + /* GPP_B6 : [NF1: ISH_I2C0_SCL NF2: I2C2_SCL NF6: USB_C_GPP_B6] ==> PCH_I2C_MISC_R_SCL */ + PAD_CFG_NF(GPP_B6, NONE, DEEP, NF2), + /* GPP_B7 : [NF1: ISH_I2C1_SDA NF2: I2C3_SDA NF6: USB_C_GPP_B7] ==> PCH_I2C_TCHSCR_R_SDA */ + PAD_CFG_NF(GPP_B7, NONE, DEEP, NF2), + /* GPP_B8 : [NF1: ISH_I2C1_SCL NF2: I2C3_SCL NF6: USB_C_GPP_B8] ==> PCH_I2C_TCHSCR_R_SCL */ + PAD_CFG_NF(GPP_B8, NONE, DEEP, NF2), + /* GPP_B11 : [NF1: PMCALERT# NF6: USB_C_GPP_B11] ==> EN_PP3300_WLAN */ + PAD_CFG_GPO(GPP_B11, 1, DEEP), + /* GPP_B12 : [NF1: SLP_S0# NF6: USB_C_GPP_B12] ==> SLP_S0_R_L */ + PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1), + /* GPP_B13 : [NF1: PLTRST# NF6: USB_C_GPP_B13] ==> PLT_RST_L */ + PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1), + /* GPP_B14 : GPP_B14_STRAP ==> Component NC */ + PAD_NC(GPP_B14, NONE), + /* GPP_B15 : net NC is not present in the given design */ + PAD_NC(GPP_B15, NONE), + /* GPP_B16 : [NF2: I2C5_SDA NF4: ISH_I2C2_SDA NF6: USB_C_GPP_B16] ==> PCH_I2C_TCHPAD_R_SDA */ + PAD_CFG_NF(GPP_B16, NONE, DEEP, NF2), + /* GPP_B17 : [NF2: I2C5_SCL NF4: ISH_I2C2_SCL NF6: USB_C_GPP_B17] ==> PCH_I2C_TCHPAD_R_SCL */ + PAD_CFG_NF(GPP_B17, NONE, DEEP, NF2), + /* GPP_B18 : GPP_B18_STRAP ==> Component NC */ + PAD_NC(GPP_B18, NONE), + /* GPP_B23 : PCHHOT_ODL_STRAP ==> Component NC */ + PAD_NC(GPP_B23, NONE), + /* GPP_C0 : [NF1: SMBCLK NF6: USB_C_GPP_C0] ==> EN_PP3300_TCHSCR */ + PAD_CFG_GPO(GPP_C0, 0, DEEP), + /* GPP_C1 : [NF1: SMBDATA NF6: USB_C_GPP_C1] ==> EN_TCHSCR */ + PAD_CFG_GPO(GPP_C1, 0, DEEP), + /* GPP_C2 : GPP_C2_STRAP ==> Component NC */ + PAD_NC(GPP_C2, NONE), + /* GPP_C3 : net NC is not present in the given design */ + PAD_NC(GPP_C3, NONE), + /* GPP_C4 : [NF1: SML0DATA NF6: USB_C_GPP_C4] ==> EN_UCAM_PWR */ + PAD_CFG_GPO(GPP_C4, 0, DEEP), + /* GPP_C5 : [NF1: SML0ALERT# NF6: USB_C_GPP_C5] ==> GPP_C5_BOOT_STRAP0 */ + PAD_CFG_NF(GPP_C5, NONE, DEEP, NF6), + /* GPP_C6 : No heuristic was found useful */ + PAD_NC(GPP_C6, NONE), + /* GPP_C7 : [NF1: SML1DATA NF6: USB_C_GPP_C7] ==> TCHSCR_INT */ + PAD_CFG_GPI_APIC(GPP_C7, NONE, PLTRST, LEVEL, NONE), + /* GPP_D0 : PCH_FP_BOOT0 ==> Component NC */ + PAD_NC(GPP_D0, NONE), + /* GPP_D1 : [NF1: ISH_GP1 NF2: BK1 NF5: SBK1 NF6: USB_C_GPP_D1] ==> FP_RST_ODL */ + PAD_CFG_GPO(GPP_D1, 1, DEEP), + /* GPP_D2 : [NF1: ISH_GP2 NF2: BK2 NF5: SBK2 NF6: USB_C_GPP_D2] ==> EN_FP_PWR */ + PAD_CFG_GPO(GPP_D2, 1, DEEP), + /* GPP_D3 : [NF1: ISH_GP3 NF2: BK3 NF5: SBK3 NF6: USB_C_GPP_D3] ==> EN_PP3300_SSD */ + PAD_CFG_GPO(GPP_D3, 1, DEEP), + /* GPP_D4 : [NF1: IMGCLKOUT0 NF2: BK4 NF5: SBK4 NF6: USB_C_GPP_D4] ==> BT_DISABLE_L */ + PAD_CFG_GPO(GPP_D4, 1, DEEP), + /* GPP_D5 : net NC is not present in the given design */ + PAD_NC(GPP_D5, NONE), + /* GPP_D6 : [NF1: SRCCLKREQ1# NF6: USB_C_GPP_D6] ==> SSD_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1), + /* GPP_D7 : net NC is not present in the given design */ + PAD_NC(GPP_D7, NONE), + /* GPP_D8 : net NC is not present in the given design */ + PAD_NC(GPP_D8, NONE), + /* GPP_D9 : [NF1: ISH_SPI_CS# NF2: DDP3_CTRLCLK NF4: TBT_LSX2_TXD NF5: BSSB_LS2_RX NF6: USB_C_GPP_D9 NF7: GSPI2_CS0#] ==> USB_C0_LSX_TX */ + PAD_CFG_NF(GPP_D9, NONE, DEEP, NF4), + /* GPP_D10 : [NF1: ISH_SPI_CLK NF2: DDP3_CTRLDATA NF4: TBT_LSX2_RXD NF5: BSSB_LS2_TX NF6: USB_C_GPP_D10 NF7: GSPI2_CLK] ==> USB_C0_LSX_RX_STRAP */ + PAD_CFG_NF(GPP_D10, NONE, DEEP, NF4), + /* GPP_D11 : net NC is not present in the given design */ + PAD_NC(GPP_D11, NONE), + /* GPP_D12 : GPP_D12_STRAP ==> Component NC */ + PAD_NC(GPP_D12, NONE), + /* GPP_D13 : No heuristic was found useful */ + PAD_NC(GPP_D13, NONE), + /* GPP_D14 : No heuristic was found useful */ + PAD_NC(GPP_D14, NONE), + /* GPP_D15 : net NC is not present in the given design */ + PAD_NC(GPP_D15, NONE), + /* GPP_D16 : net NC is not present in the given design */ + PAD_NC(GPP_D16, NONE), + /* GPP_D17 : net NC is not present in the given design */ + PAD_NC(GPP_D17, NONE), + /* GPP_D18 : net NC is not present in the given design */ + PAD_NC(GPP_D18, NONE), + /* GPP_D19 : No heuristic was found useful */ + PAD_NC(GPP_D19, NONE), + /* GPP_E0 : net NC is not present in the given design */ + PAD_NC(GPP_E0, NONE), + /* GPP_E1 : MEM_STRAP_2 */ + PAD_CFG_GPI(GPP_E1, NONE, DEEP), + /* GPP_E2 : MEM_STRAP_1 */ + PAD_CFG_GPI(GPP_E2, NONE, DEEP), + /* GPP_E3 : MEM_STRAP_0 */ + PAD_CFG_GPI(GPP_E3, NONE, DEEP), + /* GPP_E4 : [NF1: DEVSLP0 NF6: USB_C_GPP_E4 NF7: SRCCLK_OE9#] ==> USB4_BB_RT_FORCE_PWR */ + PAD_CFG_GPO(GPP_E4, 1, DEEP), + /* GPP_E5 : net NC is not present in the given design */ + PAD_NC(GPP_E5, NONE), + /* GPP_E6 : GPP_E6_STRAP ==> Component NC */ + PAD_NC(GPP_E6, NONE), + /* GPP_E7 : MEM_STRAP_3 */ + PAD_CFG_GPI(GPP_E7, NONE, DEEP), + /* GPP_E8 : [NF6: USB_C_GPP_E8] ==> WIFI_DISABLE_L */ + PAD_CFG_GPO(GPP_E8, 1, DEEP), + /* GPP_E9 : [NF1: USB_OC0# NF2: ISH_GP4 NF6: USB_C_GPP_E9] ==> USB_C0_OC_ODL */ + PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1), + /* GPP_E10 : [NF2: THC0_SPI1_CS# NF6: USB_C_GPP_E10 NF7: GSPI0_CS0#] ==> PCH_GSPI0_CS_L_UWB */ + PAD_CFG_NF(GPP_E10, NONE, DEEP, NF7), + /* GPP_E11 : [NF2: THC0_SPI1_CLK NF6: USB_C_GPP_E11 NF7: GSPI0_CLK] ==> PCH_GSPI0_CLK_UWB_R */ + PAD_CFG_NF(GPP_E11, NONE, DEEP, NF7), + /* GPP_E12 : [NF2: THC0_SPI1_IO1 NF5: I2C0A_SDA NF6: USB_C_GPP_E12 NF7: GSPI0_MISO] ==> PCH_GSPI0_DI_UWB_DO */ + PAD_CFG_NF(GPP_E12, NONE, DEEP, NF7), + /* GPP_E13 : [NF2: THC0_SPI1_IO0 NF5: I2C0A_SCL NF6: USB_C_GPP_E13 NF7: GSPI0_MOSI] ==> PCH_GSPI0_DO_UWB_DI_R */ + PAD_CFG_NF(GPP_E13, NONE, DEEP, NF7), + /* GPP_E14 : [NF1: DDSP_HPDA NF2: DISP_MISCA NF6: USB_C_GPP_E14] ==> SOC_EDP_HPD */ + PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), + /* GPP_E15 : RSVD_TP ==> PCH_WP_OD */ + PAD_CFG_GPI_GPIO_DRIVER_LOCK(GPP_E15, NONE, LOCK_CONFIG), + /* GPP_E16 : net NC is not present in the given design */ + PAD_NC(GPP_E16, NONE), + /* GPP_E17 : net NC is not present in the given design */ + PAD_NC(GPP_E17, NONE), + /* GPP_E18 : net NC is not present in the given design */ + PAD_NC(GPP_E18, NONE), + /* GPP_E19 : GPP_E19_STRAP ==> Component NC */ + PAD_NC(GPP_E19, NONE), + /* GPP_E20 : [NF1: DDP2_CTRLCLK NF4: TBT_LSX1_TXD NF5: BSSB_LS1_RX NF6: USB_C_GPP_E20] ==> USB_C1_LSX_TX */ + PAD_CFG_NF(GPP_E20, NONE, DEEP, NF4), + /* GPP_E21 : [NF1: DDP2_CTRLDATA NF4: TBT_LSX1_RXD NF5: BSSB_LS1_TX NF6: USB_C_GPP_E21] ==> USB_C1_LSX_RX_STRAP */ + PAD_CFG_NF(GPP_E21, NONE, DEEP, NF4), + /* GPP_E22 : DNX_STRAP ==> Component NC */ + PAD_NC(GPP_E22, NONE), + /* GPP_E23 : net NC is not present in the given design */ + PAD_NC(GPP_E23, NONE), + /* GPP_F0 : CNV_BRI_DT_STRAP ==> Component NC */ + PAD_NC(GPP_F0, NONE), + /* GPP_F1 : No heuristic was found useful */ + PAD_NC(GPP_F1, NONE), + /* GPP_F2 : CNV_RGI_DT_STRAP ==> Component NC */ + PAD_NC(GPP_F2, NONE), + /* GPP_F3 : No heuristic was found useful */ + PAD_NC(GPP_F3, NONE), + /* GPP_F4 : No heuristic was found useful */ + PAD_NC(GPP_F4, NONE), + /* GPP_F5 : [NF2: MODEM_CLKREQ NF3: CRF_XTAL_CLKREQ NF6: USB_C_GPP_F5] ==> CNV_CLKREQ0 */ + PAD_CFG_NF(GPP_F5, NONE, DEEP, NF2), + /* GPP_F6 : net NC is not present in the given design */ + PAD_NC(GPP_F6, NONE), + /* GPP_F7 : GPP_F7_STRAP ==> Component NC */ + PAD_NC(GPP_F7, NONE), + /* GPP_F9 : [] ==> SLP_S0_GATE_R */ + PAD_CFG_GPO(GPP_F9, 1, DEEP), + /* GPP_F10 : GPP_F10_STRAP ==> Component NC */ + PAD_NC(GPP_F10, NONE), + /* GPP_F11 : [NF3: THC1_SPI2_CLK NF4: GSPI1_CLK NF6: USB_C_GPP_F11] ==> GSPI_PCH_CLK_FPMCU_R */ + PAD_CFG_NF(GPP_F11, NONE, DEEP, NF4), + /* GPP_F12 : [NF1: GSXDOUT NF3: THC1_SPI2_IO0 NF4: GSPI1_MOSI NF5: I2C1A_SCL NF6: USB_C_GPP_F12] ==> GSPI_PCH_DO_FPMCU_DI_R */ + PAD_CFG_NF(GPP_F12, NONE, DEEP, NF4), + /* GPP_F13 : [NF1: GSXSLOAD NF3: THC1_SPI2_IO1 NF4: GSPI1_MISO NF5: I2C1A_SDA NF6: USB_C_GPP_F13] ==> GSPI_PCH_DI_FPMCU_DO */ + PAD_CFG_NF(GPP_F13, NONE, DEEP, NF4), + /* GPP_F14 : [NF1: GSXDIN NF3: THC1_SPI2_IO2 NF6: USB_C_GPP_F14] ==> TCHPAD_INT_L */ + PAD_CFG_GPI_IRQ_WAKE(GPP_F14, NONE, PLTRST, LEVEL, INVERT), + /* GPP_F15 : [NF1: GSXSRESET# NF3: THC1_SPI2_IO3 NF6: USB_C_GPP_F15] ==> FPMCU_PCH_INT_L */ + PAD_CFG_GPI_IRQ_WAKE(GPP_F15, NONE, PLTRST, LEVEL, INVERT), + /* GPP_F16 : [NF1: GSXCLK NF3: THC1_SPI2_CS# NF4: GSPI_CS0# NF6: USB_C_GPP_F16] ==> GSPI_PCH_CS_FPMCU_R_L */ + PAD_CFG_NF(GPP_F16, NONE, DEEP, NF4), + /* GPP_F17 : [NF3: THC1_SPI2_RST# NF6: USB_C_GPP_F17] ==> EC_PCH_INT_ODL */ + PAD_CFG_GPI_IRQ_WAKE(GPP_F17, NONE, PLTRST, LEVEL, INVERT), + /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */ + PAD_CFG_GPI(GPP_F18, NONE, DEEP), + /* GPP_F19 : [NF1: SRCCLKREQ6# NF6: USB_C_GPP_F19] ==> GPP_F19 */ + PAD_CFG_NF(GPP_F19, NONE, DEEP, NF6), + /* GPP_F20 : [] ==> UCAM_RST_L */ + PAD_CFG_GPO(GPP_F20, 0, DEEP), + /* GPP_F21 : No heuristic was found useful */ + PAD_NC(GPP_F21, NONE), + /* GPP_F22 : No heuristic was found useful */ + PAD_NC(GPP_F22, NONE), + /* GPP_F23 : No heuristic was found useful */ + PAD_NC(GPP_F23, NONE), + /* GPP_H0 : [NF6: USB_C_GPP_H0] ==> GPP_H0_BOOT_STRAP1 */ + PAD_CFG_NF(GPP_H0, NONE, DEEP, NF6), + /* GPP_H1 : [NF6: USB_C_GPP_H1] ==> GPP_H1_BOOT_STRAP2 */ + PAD_CFG_NF(GPP_H1, NONE, DEEP, NF6), + /* GPP_H2 : [NF6: USB_C_GPP_H2] ==> GPP_H2_BOOT_STRAP3 */ + PAD_CFG_NF(GPP_H2, NONE, DEEP, NF6), + /* GPP_H3 : net NC is not present in the given design */ + PAD_NC(GPP_H3, NONE), + /* GPP_H4 : [NF1: I2C0_SDA NF6: USB_C_GPP_H4] ==> PCH_I2C_AUD_R_SDA */ + PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1), + /* GPP_H5 : [NF1: I2C0_SCL NF6: USB_C_GPP_H5] ==> PCH_I2C_AUD_R_SCL */ + PAD_CFG_NF(GPP_H5, NONE, DEEP, NF1), + /* GPP_H6 : [NF1: I2C1_SDA NF6: USB_C_GPP_H6] ==> PCH_I2C_TPM_R_SDA */ + PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1), + /* GPP_H7 : [NF1: I2C1_SCL NF6: USB_C_GPP_H7] ==> PCH_I2C_TPM_R_SCL */ + PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1), + /* GPP_H8 : net NC is not present in the given design */ + PAD_NC(GPP_H8, NONE), + /* GPP_H9 : net NC is not present in the given design */ + PAD_NC(GPP_H9, NONE), + /* GPP_H10 : [NF2: UART0_RXD NF3: M2_SKT2_CFG0 NF6: USB_C_GPP_H10] ==> UART_PCH_RX_DBG_TX */ + PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2), + /* GPP_H11 : [NF2: UART0_TXD NF3: M2_SKT2_CFG1 NF6: USB_C_GPP_H11] ==> UART_PCH_TX_DBG_RX */ + PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2), + /* GPP_H12 : net NC is not present in the given design */ + PAD_NC(GPP_H12, NONE), + /* GPP_H13 : net NC is not present in the given design */ + PAD_NC(GPP_H13, NONE), + /* GPP_H15 : net NC is not present in the given design */ + PAD_NC(GPP_H15, NONE), + /* GPP_H17 : net NC is not present in the given design */ + PAD_NC(GPP_H17, NONE), + /* GPP_H18 : [NF1: PROC_C10_GATE# NF6: USB_C_GPP_H18] ==> CPU_C10_GATE_L */ + PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1), + /* GPP_H19 : net NC is not present in the given design */ + PAD_NC(GPP_H19, NONE), + /* GPP_H20 : net NC is not present in the given design */ + PAD_NC(GPP_H20, NONE), + /* GPP_H21 : [NF1: IMGCLKOUT2 NF6: USB_C_GPP_H21] ==> UCAM_MCLK_R */ + PAD_CFG_NF(GPP_H21, NONE, DEEP, NF1), + /* GPP_H22 : net NC is not present in the given design */ + PAD_NC(GPP_H22, NONE), + /* GPP_H23 : net NC is not present in the given design */ + PAD_NC(GPP_H23, NONE), + /* GPP_R0 : [NF1: HDA_BCLK NF2: I2S0_SCLK NF3: DMIC_CLK_B0 NF4: HDAPROC_BCLK] ==> I2S_HP_SCLK_R */ + PAD_CFG_NF(GPP_R0, NONE, DEEP, NF2), + /* GPP_R1 : [NF1: HDA_SYNC NF2: I2S0_SFRM NF3: DMIC_CLK_B1] ==> I2S_HP_SFRM_R */ + PAD_CFG_NF(GPP_R1, NONE, DEEP, NF2), + /* GPP_R2 : [NF1: HDA_SDO NF2: I2S0_TXD NF4: HDAPROC_SDO] ==> I2S_PCH_TX_HP_RX_STRAP */ + PAD_CFG_NF(GPP_R2, NONE, DEEP, NF2), + /* GPP_R3 : [NF1: HDA_SDI0 NF2: I2S0_RXD NF4: HDAPROC_SDI] ==> I2S_PCH_RX_HP_TX */ + PAD_CFG_NF(GPP_R3, NONE, DEEP, NF2), + /* GPP_R4 : [NF1: HDA_RST# NF2: I2S2_SCLK NF3: DMIC_CLK_A0] ==> DMIC_CLK0_R */ + PAD_CFG_NF(GPP_R4, NONE, DEEP, NF3), + /* GPP_R5 : [NF1: HDA_SDI1 NF2: I2S2_SFRM NF3: DMIC_DATA0] ==> DMIC_DATA0_R */ + PAD_CFG_NF(GPP_R5, NONE, DEEP, NF3), + /* GPP_R6 : [NF2: I2S2_TXD NF3: DMIC_CLK_A1] ==> DMIC_CLK1_R */ + PAD_CFG_NF(GPP_R6, NONE, DEEP, NF3), + /* GPP_R7 : [NF2: I2S2_RXD NF3: DMIC_DATA1] ==> DMIC_DATA1_R */ + PAD_CFG_NF(GPP_R7, NONE, DEEP, NF3), + /* GPP_S0 : [NF1: SNDW0_CLK NF4: I2S1_SCLK] ==> I2S_SPKR_SCLK_R */ + PAD_CFG_NF(GPP_S0, NONE, DEEP, NF4), + /* GPP_S1 : [NF1: SNDW0_DATA NF4: I2S1_SFRM] ==> I2S_SPKR_SFRM_R */ + PAD_CFG_NF(GPP_S1, NONE, DEEP, NF4), + /* GPP_S2 : [NF1: SNDW1_CLK NF2: DMIC_CKLA0 NF4: I2S1_TXD] ==> I2S_PCH_TX_SPKR_RX_R */ + PAD_CFG_NF(GPP_S2, NONE, DEEP, NF4), + /* GPP_S3 : [NF1: SNDW1_DATA NF2: DMIC_DATA0 NF4: I2S1_RXD] ==> I2S_PCH_RX_SPKR_TX */ + PAD_CFG_NF(GPP_S3, NONE, DEEP, NF4), + /* GPP_S4 : net NC is not present in the given design */ + PAD_NC(GPP_S4, NONE), + /* GPP_S5 : net NC is not present in the given design */ + PAD_NC(GPP_S5, NONE), + /* GPP_S6 : net NC is not present in the given design */ + PAD_NC(GPP_S6, NONE), + /* GPP_S7 : net NC is not present in the given design */ + PAD_NC(GPP_S7, NONE), + /* GPP_T2 : No heuristic was found useful */ + PAD_NC(GPP_T2, NONE), + /* GPP_T3 : No heuristic was found useful */ + PAD_NC(GPP_T3, NONE), +}; + +/* Early pad configuration in bootblock */ +static const struct pad_config early_gpio_table[] = { + /* A13 : PMC_I2C_SCL ==> GSC_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), + /* B4 : PROC_GP3 ==> SSD_PERST_L */ + PAD_CFG_GPO(GPP_B4, 0, DEEP), + /* + * D1 : ISH_GP1 ==> FP_RST_ODL + * FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down. + * To ensure proper power sequencing for the FPMCU device, reset signal is driven low + * early on in bootblock, followed by enabling of power. Reset signal is deasserted + * later on in ramstage. Since reset signal is asserted in bootblock, it results in + * FPMCU not working after a S3 resume. This is a known issue. + */ + PAD_CFG_GPO(GPP_D1, 0, DEEP), + /* D2 : ISH_GP2 ==> EN_FP_PWR */ + PAD_CFG_GPO(GPP_D2, 1, DEEP), + /* GPP_D3 : [NF1: ISH_GP3 NF2: BK3 NF5: SBK3 NF6: USB_C_GPP_D3] ==> EN_PP3300_SSD */ + PAD_CFG_GPO(GPP_D3, 1, DEEP), + /* E15 : RSVD_TP ==> PCH_WP_OD */ + PAD_CFG_GPI_GPIO_DRIVER_LOCK(GPP_E15, NONE, LOCK_CONFIG), + /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */ + PAD_CFG_GPI(GPP_F18, NONE, DEEP), + /* H10 : UART0_RXD ==> UART_PCH_RX_DBG_TX */ + PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2), + /* H11 : UART0_TXD ==> UART_PCH_TX_DBG_RX */ + PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2), + + /* TPM is on I2C port 1 */ + /* H6 : [NF1: I2C1_SDA NF6: USB_C_GPP_H6] ==> PCH_I2C_TPM_R_SDA */ + PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1), + /* H7 : [NF1: I2C1_SCL NF6: USB_C_GPP_H7] ==> PCH_I2C_TPM_R_SCL */ + PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1), + + /* Mem straps */ + /* B3 : PROC_GP2 ==> MEM_CH_SEL */ + PAD_CFG_GPI(GPP_B3, NONE, DEEP), + /* E3 : PROC_GP0 ==> MEM_STRAP_0 */ + PAD_CFG_GPI(GPP_E3, NONE, DEEP), + /* E2 : THC0_SPI1_IO3 ==> MEM_STRAP_1 */ + PAD_CFG_GPI(GPP_E2, NONE, DEEP), + /* E1 : THC0_SPI1_IO2 ==> MEM_STRAP_2 */ + PAD_CFG_GPI(GPP_E1, NONE, DEEP), + /* E7 : PROC_GP1 ==> MEM_STRAP_3 */ + PAD_CFG_GPI(GPP_E7, NONE, DEEP), +}; + +static const struct pad_config romstage_gpio_table[] = { + /* B4 : PROC_GP3 ==> SSD_PERST_L */ + PAD_CFG_GPO(GPP_B4, 1, DEEP), +}; + +const struct pad_config *variant_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(gpio_table); + return gpio_table; +} + +const struct pad_config *variant_gpio_override_table(size_t *num) +{ + *num = 0; + return NULL; +} + +const struct pad_config *variant_early_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(early_gpio_table); + return early_gpio_table; +} + +const struct pad_config *variant_romstage_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(romstage_gpio_table); + return romstage_gpio_table; +} diff --git a/src/mainboard/google/brya/variants/ghost/include/variant/ec.h b/src/mainboard/google/brya/variants/ghost/include/variant/ec.h new file mode 100644 index 0000000000..7a2a6ff8b7 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/include/variant/ec.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __VARIANT_EC_H__ +#define __VARIANT_EC_H__ + +#include + +#endif diff --git a/src/mainboard/google/brya/variants/ghost/include/variant/gpio.h b/src/mainboard/google/brya/variants/ghost/include/variant/gpio.h new file mode 100644 index 0000000000..c4fe342621 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/include/variant/gpio.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef VARIANT_GPIO_H +#define VARIANT_GPIO_H + +#include + +#endif diff --git a/src/mainboard/google/brya/variants/ghost/memory.c b/src/mainboard/google/brya/variants/ghost/memory.c new file mode 100644 index 0000000000..4503a1f587 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/memory.c @@ -0,0 +1,118 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include +#include +#include +#include + +static const struct mb_cfg baseboard_memcfg = { + .type = MEM_TYPE_LP5X, + + /* + * DQ byte map + * + * To calculate from schematics, reference + * ADL_LP5_DqMapCpu2Dram sheet of this spreadsheet: + * https://cdrdv2.intel.com/v1/dl/getContent/573387 + */ + .lpx_dq_map = { + .ddr0 = { + .dq0 = { 5, 0, 4, 1, 2, 6, 7, 3, }, + .dq1 = { 9, 12, 8, 13, 15, 10, 14, 11, }, + }, + .ddr1 = { + .dq0 = { 9, 10, 11, 8, 13, 15, 14, 12, }, + .dq1 = { 0, 3, 1, 2, 7, 5, 6, 4, }, + }, + .ddr2 = { + .dq0 = { 9, 13, 8, 12, 15, 10, 14, 11, }, + .dq1 = { 7, 6, 4, 5, 0, 3, 1, 2, }, + }, + .ddr3 = { + .dq0 = { 3, 7, 2, 6, 4, 1, 5, 0, }, + .dq1 = { 12, 14, 15, 13, 11, 10, 8, 9, }, + }, + .ddr4 = { + .dq0 = { 15, 14, 12, 13, 10, 9, 8, 11, }, + .dq1 = { 7, 5, 4, 6, 2, 0, 1, 3, }, + }, + .ddr5 = { + .dq0 = { 9, 10, 11, 8, 12, 15, 13, 14, }, + .dq1 = { 3, 7, 2, 6, 0, 4, 5, 1, }, + }, + .ddr6 = { + .dq0 = { 3, 2, 1, 0, 7, 5, 6, 4, }, + .dq1 = { 12, 13, 10, 9, 14, 11, 8, 15, }, + }, + .ddr7 = { + .dq0 = { 11, 8, 10, 9, 12, 14, 13, 15, }, + .dq1 = { 1, 7, 0, 2, 5, 3, 4, 6, }, + }, + }, + + /* + * DQS CPU<>DRAM map + * + * To calculate from schematics, reference + * MTL_RPL_ADL_LP5_DqsMapCpu2Dram sheet of this spreadsheet: + * https://cdrdv2.intel.com/v1/dl/getContent/573387 + */ + .lpx_dqs_map = { + .ddr0 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr1 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr2 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr3 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr4 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr5 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr6 = { .dqs0 = 0, .dqs1 = 1 }, + .ddr7 = { .dqs0 = 0, .dqs1 = 1 }, + }, + + /* Enable Early Command Training */ + .ect = true, + + .UserBd = BOARD_TYPE_MOBILE, + + .lp5x_config = { + /* + * CA and CS signals are in descending order. + * + * Reference the MTL_RPL_ADL_LP5_CccConfig sheet of + * this spreadsheet for instructions: + * https://cdrdv2.intel.com/v1/dl/getContent/573387 + */ + .ccc_config = 0xff, + }, +}; + +const struct mb_cfg *variant_memory_params(void) +{ + return &baseboard_memcfg; +} + +int variant_memory_sku(void) +{ + /* + * Memory configuration board straps + * - MEM_STRAP_0: GPP_E3 + * - MEM_STRAP_1: GPP_E2 + * - MEM_STRAP_2: GPP_E1 + * - MEM_STRAP_3: GPP_E7 + * + * MEM_STRAP_0 is LSB, and MEM_STRAP_3 is MSB. + */ + gpio_t spd_gpios[] = { + GPP_E3, + GPP_E2, + GPP_E1, + GPP_E7, + }; + + return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios)); +} + +bool variant_is_half_populated(void) +{ + /* GPIO_MEM_CH_SEL is GPP_B3 */ + return gpio_get(GPP_B3); +} diff --git a/src/mainboard/google/brya/variants/ghost/memory/Makefile.inc b/src/mainboard/google/brya/variants/ghost/memory/Makefile.inc new file mode 100644 index 0000000000..80729d7c29 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/memory/Makefile.inc @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# This is an auto-generated file. Do not edit!! +# Generated by: +# ./util/spd_tools/bin/part_id_gen ADL lp5 src/mainboard/google/brya/variants/ghost/memory src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt + +SPD_SOURCES = +SPD_SOURCES += spd/lp5/set-0/spd-1.hex # ID = 0(0b0000) Parts = H9JCNNNBK3MLYR-N6E, MT62F512M32D2DR-031 WT:B +SPD_SOURCES += spd/lp5/set-0/spd-3.hex # ID = 1(0b0001) Parts = H58G56AK6BX069 +SPD_SOURCES += spd/lp5/set-0/spd-5.hex # ID = 2(0b0010) Parts = K3LKLKL0EM-MGCN +SPD_SOURCES += spd/lp5/set-0/spd-7.hex # ID = 3(0b0011) Parts = MT62F1G32D2DS-026 WT:B diff --git a/src/mainboard/google/brya/variants/ghost/memory/dram_id.generated.txt b/src/mainboard/google/brya/variants/ghost/memory/dram_id.generated.txt new file mode 100644 index 0000000000..026ac07dc3 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/memory/dram_id.generated.txt @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# This is an auto-generated file. Do not edit!! +# Generated by: +# ./util/spd_tools/bin/part_id_gen ADL lp5 src/mainboard/google/brya/variants/ghost/memory src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt + +DRAM Part Name ID to assign +H9JCNNNBK3MLYR-N6E 0 (0000) +H58G56AK6BX069 1 (0001) +MT62F512M32D2DR-031 WT:B 0 (0000) +K3LKLKL0EM-MGCN 2 (0010) +MT62F1G32D2DS-026 WT:B 3 (0011) diff --git a/src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt b/src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt new file mode 100644 index 0000000000..6f4f2a7177 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/memory/mem_parts_used.txt @@ -0,0 +1,16 @@ +# This is a CSV file containing a list of memory parts used by this variant. +# One part per line with an optional fixed ID in column 2. +# Only include a fixed ID if it is required for legacy reasons! +# Generated IDs are dependent on the order of parts in this file, +# so new parts must always be added at the end of the file! +# +# Generate an updated Makefile.inc and dram_id.generated.txt by running the +# part_id_gen tool from util/spd_tools. +# See util/spd_tools/README.md for more details and instructions. + +# Part Name +H9JCNNNBK3MLYR-N6E +H58G56AK6BX069 +MT62F512M32D2DR-031 WT:B +K3LKLKL0EM-MGCN +MT62F1G32D2DS-026 WT:B diff --git a/src/mainboard/google/brya/variants/ghost/overridetree.cb b/src/mainboard/google/brya/variants/ghost/overridetree.cb new file mode 100644 index 0000000000..b20593a479 --- /dev/null +++ b/src/mainboard/google/brya/variants/ghost/overridetree.cb @@ -0,0 +1,192 @@ +chip soc/intel/alderlake + #+-------------------+---------------------------+ + #| Field | Value | + #+-------------------+---------------------------+ + #| GSPI1 | FPMCU | + #| I2C0 | Audio | + #| I2C1 | cr50 TPM. Early init is | + #| | required to set up a BAR | + #| | for TPM communication | + #| I2C2 | Misc (Cam, Display, LED) | + #| I2C3 | Touchscreen | + #| I2C4 | NC | + #| I2C5 | Touchpad | + #+-------------------+---------------------------+ + register "common_soc_config" = "{ + .i2c[0] = { + .speed = I2C_SPEED_STANDARD, + .speed_config[0] = { + .speed = I2C_SPEED_STANDARD, + .scl_lcnt = 45, + .scl_hcnt = 33, + .sda_hold = 20, + }, + }, + .i2c[1] = { + .early_init = 1, + .speed = I2C_SPEED_STANDARD, + .rise_time_ns = 600, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + .i2c[2] = { + .speed = I2C_SPEED_STANDARD, + .rise_time_ns = 650, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + .i2c[3] = { + .speed = I2C_SPEED_STANDARD, + .rise_time_ns = 650, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + .i2c[5] = { + .speed = I2C_SPEED_STANDARD, + .rise_time_ns = 650, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + }" + + # I2C Port Config + register "serial_io_i2c_mode" = "{ + [PchSerialIoIndexI2C0] = PchSerialIoPci, + [PchSerialIoIndexI2C1] = PchSerialIoPci, + [PchSerialIoIndexI2C2] = PchSerialIoPci, + [PchSerialIoIndexI2C3] = PchSerialIoPci, + [PchSerialIoIndexI2C4] = PchSerialIoDisabled, + [PchSerialIoIndexI2C5] = PchSerialIoPci, + [PchSerialIoIndexI2C7] = PchSerialIoDisabled, + }" + + register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0 + register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC1)" # USB2_C1 + register "usb2_ports[2]" = "USB2_PORT_EMPTY" + register "usb2_ports[3]" = "USB2_PORT_EMPTY" + register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # DCI port + register "usb2_ports[5]" = "USB2_PORT_EMPTY" + register "usb2_ports[8]" = "USB2_PORT_EMPTY" + + register "usb3_ports[0]" = "USB3_PORT_EMPTY" + register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # DCI port + register "usb3_ports[3]" = "USB3_PORT_EMPTY" + + register "tcss_ports[0]" = "TCSS_PORT_EMPTY" + register "tcss_ports[1]" = "TCSS_PORT_DEFAULT(OC1)" # TypeC C1 + register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC0)" # TypeC C0 + + device domain 0 on + device ref cnvi_wifi on + chip drivers/wifi/generic + register "wake" = "GPE0_PME_B0" + device generic 0 on end + end + end + device ref pcie_rp6 off end + device ref pcie_rp7 off end + device ref pcie_rp8 off end + device ref tcss_dma0 on + chip drivers/intel/usb4/retimer + register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)" + use tcss_usb3_port2 as dfp[0].typec_port + device generic 0 on end + end + end + device ref tcss_dma1 on + chip drivers/intel/usb4/retimer + register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)" + use tcss_usb3_port3 as dfp[0].typec_port + device generic 0 on end + end + end + device ref i2c1 on + chip drivers/i2c/tpm + register "hid" = ""GOOG0005"" + register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)" + device i2c 50 on end + end + end + device ref gspi1 on + chip drivers/spi/acpi + register "name" = ""CRFP"" + register "hid" = "ACPI_DT_NAMESPACE_HID" + register "uid" = "1" + register "compat_string" = ""google,cros-ec-spi"" + register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)" + register "wake" = "GPE0_DW2_15" + device spi 0 on end + end # FPMCU + end + device ref pch_espi on + chip ec/google/chromeec + # Replicate Brya, except we have 2 ports instead of 3. + use conn0 as mux_conn[0] + use conn1 as mux_conn[1] + device pnp 0c09.0 on end + end + end + device ref pmc hidden + chip drivers/intel/pmc_mux + device generic 0 on + chip drivers/intel/pmc_mux/conn + # C0: Left side (on DB) + use usb2_port1 as usb2_port + use tcss_usb3_port3 as usb3_port + device generic 0 alias conn0 on end + end + chip drivers/intel/pmc_mux/conn + # C1: Right side (on MLB) + use usb2_port2 as usb2_port + use tcss_usb3_port2 as usb3_port + device generic 1 alias conn1 on end + end + end + end + end + device ref tcss_xhci on + chip drivers/usb/acpi + device ref tcss_root_hub on + chip drivers/usb/acpi + register "desc" = ""USB3 Type-C Port C0 (DB)"" + register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" + register "use_custom_pld" = "true" + # USB C0 is on the LEFT panel, LEFT side (i.e. rear) + register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))" + device ref tcss_usb3_port3 on end + end + chip drivers/usb/acpi + register "desc" = ""USB3 Type-C Port C1 (MLB)"" + register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" + register "use_custom_pld" = "true" + # USB C1 is on the RIGHT panel, RIGHT side (i.e. rear) + register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))" + device ref tcss_usb3_port2 on end + end + end + end + end + device ref xhci on + chip drivers/usb/acpi + device ref xhci_root_hub on + chip drivers/usb/acpi + register "desc" = ""USB2 Type-C Port C0 (DB)"" + register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" + register "use_custom_pld" = "true" + # USB C0 is on the LEFT panel, LEFT side (i.e. rear) + register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))" + device ref usb2_port1 on end + end + chip drivers/usb/acpi + register "desc" = ""USB2 Type-C Port C1 (MLB)"" + register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" + register "use_custom_pld" = "true" + # USB C1 is on the RIGHT panel, RIGHT side (i.e. rear) + register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))" + device ref usb2_port2 on end + end + end + end + end + end +end diff --git a/src/mainboard/google/brya/variants/ghost4adl/Makefile.inc b/src/mainboard/google/brya/variants/ghost4adl/Makefile.inc deleted file mode 100644 index 073317f666..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/Makefile.inc +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -romstage-y += memory.c - -bootblock-y += gpio.c -romstage-y += gpio.c -ramstage-y += gpio.c diff --git a/src/mainboard/google/brya/variants/ghost4adl/gpio.c b/src/mainboard/google/brya/variants/ghost4adl/gpio.c deleted file mode 100644 index e6a80f0fb5..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/gpio.c +++ /dev/null @@ -1,420 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -/* This file is safe to edit, but please do not change this comment block. */ -/* BaseID: None */ -/* Overrides: None */ - -#include -#include -#include -#include -#include - -/* Pad configuration in ramstage */ -static const struct pad_config gpio_table[] = { - /* GPD0 : [NF1: BATLOW#] ==> BATLOW_L */ - PAD_CFG_NF(GPD0, NONE, DEEP, NF1), - /* GPD1 : [NF1: ACPRESENT] ==> ACPRESENT */ - PAD_CFG_NF(GPD1, NONE, DEEP, NF1), - /* GPD2 : [NF1: LAN_WAKE#] ==> EC_PCH_WAKE_ODL */ - PAD_CFG_NF(GPD2, NONE, DEEP, NF1), - /* GPD3 : [NF1: PWRBTN#] ==> EC_PCH_PWR_BTN_ODL */ - PAD_CFG_NF(GPD3, NONE, DEEP, NF1), - /* GPD4 : [NF1: SLP_S3#] ==> SLP_S3_R_L */ - PAD_CFG_NF(GPD4, NONE, DEEP, NF1), - /* GPD5 : [NF1: SLP_S4#] ==> SLP_S4_L */ - PAD_CFG_NF(GPD5, NONE, DEEP, NF1), - /* GPD6 : [NF1: SLP_A#] ==> SLP_A_L_CAP_SITE */ - PAD_CFG_NF(GPD6, NONE, DEEP, NF1), - /* GPD7 : GPD7_STRAP ==> Component NC */ - PAD_NC(GPD7, NONE), - /* GPD8 : [NF1: SUSCLK] ==> PCH_SUSCLK */ - PAD_CFG_NF(GPD8, NONE, DEEP, NF1), - /* GPD9 : [NF1: SLP_WLAN#] ==> SLP_WLAN_L_CAP_SITE */ - PAD_CFG_NF(GPD9, NONE, DEEP, NF1), - /* GPD10 : [NF1: SLP_S5#] ==> SLP_S5_L */ - PAD_CFG_NF(GPD10, NONE, DEEP, NF1), - /* GPD11 : No heuristic was found useful */ - PAD_NC(GPD11, NONE), - /* GPP_A0 : GPP_A0 ==> ESPI_PCH_D0_EC_R configured on reset, do not touch */ - /* GPP_A1 : GPP_A1 ==> ESPI_PCH_D1_EC_R configured on reset, do not touch */ - /* GPP_A2 : GPP_A2 ==> ESPI_PCH_D2_EC_R configured on reset, do not touch */ - /* GPP_A3 : GPP_A3 ==> ESPI_PCH_D3_EC_R configured on reset, do not touch */ - /* GPP_A4 : GPP_A4 ==> ESPI_PCH_CS_EC_R_L configured on reset, do not touch */ - /* GPP_A5 : GPP_A5 ==> ESPI_ALERT0 configured on reset, do not touch */ - /* GPP_A6 : GPP_A6 ==> ESPI_ALERT1 configured on reset, do not touch */ - /* GPP_A7 : No heuristic was found useful */ - PAD_NC(GPP_A7, NONE), - /* GPP_A8 : No heuristic was found useful */ - PAD_NC(GPP_A8, NONE), - /* GPP_A9 : GPP_A9 ==> ESPI_PCH_CLK_R configured on reset, do not touch */ - /* GPP_A10 : GPP_A10 ==> ESPI_PCH_RST_EC_L configured on reset, do not touch */ - /* GPP_A11 : [NF6: USB_C_GPP_A11] ==> EN_SPKR_PA */ - PAD_CFG_GPO(GPP_A11, 1, DEEP), - /* GPP_A12 : No heuristic was found useful */ - PAD_NC(GPP_A12, NONE), - /* GPP_A13 : [NF6: USB_C_GPP_A13] ==> GSC_PCH_INT_ODL */ - PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), - /* GPP_A14 : [NF1: USB_OC1# NF2: DDSP_HPD3 NF4: DISP_MISC3 NF6: USB_C_GPP_A14] ==> USB_C1_OC_ODL */ - PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1), - /* GPP_A15 : net NC is not present in the given design */ - PAD_NC(GPP_A15, NONE), - /* GPP_A16 : net NC is not present in the given design */ - PAD_NC(GPP_A16, NONE), - /* GPP_A17 : No heuristic was found useful */ - PAD_NC(GPP_A17, NONE), - /* GPP_A18 : net NC is not present in the given design */ - PAD_NC(GPP_A18, NONE), - /* GPP_A19 : No heuristic was found useful */ - PAD_NC(GPP_A19, NONE), - /* GPP_A20 : net NC is not present in the given design */ - PAD_NC(GPP_A20, NONE), - /* GPP_A21 : net NC is not present in the given design */ - PAD_NC(GPP_A21, NONE), - /* GPP_A22 : net NC is not present in the given design */ - PAD_NC(GPP_A22, NONE), - /* GPP_A23 : [NF1: ESPI_CS1# NF6: USB_C_GPP_A23] ==> AUD_HP_INT_L */ - PAD_CFG_GPI_INT(GPP_A23, NONE, PLTRST, EDGE_BOTH), - /* GPP_B0 : [NF1: CORE_VID0 NF6: USB_C_GPP_B0] ==> SOC_VID0 */ - PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1), - /* GPP_B1 : [NF1: CORE_VID1 NF6: USB_C_GPP_B1] ==> SOC_VID1 */ - PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1), - /* GPP_B2 : [NF1: VRALERT# NF6: USB_C_GPP_B2] ==> GPP_B2 */ - PAD_CFG_NF(GPP_B2, NONE, DEEP, NF6), - /* GPP_B3 : MEM_CH_SEL */ - PAD_CFG_GPI(GPP_B3, NONE, DEEP), - /* GPP_B4 : [NF1: PROC_GP3 NF4: ISH_GP5B NF6: USB_C_GPP_B4] ==> SSD_PERST_L */ - PAD_CFG_GPO(GPP_B4, 1, PLTRST), - /* GPP_B5 : [NF1: ISH_I2C0_SDA NF2: I2C2_SDA NF6: USB_C_GPP_B5] ==> PCH_I2C_MISC_R_SDA */ - PAD_CFG_NF(GPP_B5, NONE, DEEP, NF2), - /* GPP_B6 : [NF1: ISH_I2C0_SCL NF2: I2C2_SCL NF6: USB_C_GPP_B6] ==> PCH_I2C_MISC_R_SCL */ - PAD_CFG_NF(GPP_B6, NONE, DEEP, NF2), - /* GPP_B7 : [NF1: ISH_I2C1_SDA NF2: I2C3_SDA NF6: USB_C_GPP_B7] ==> PCH_I2C_TCHSCR_R_SDA */ - PAD_CFG_NF(GPP_B7, NONE, DEEP, NF2), - /* GPP_B8 : [NF1: ISH_I2C1_SCL NF2: I2C3_SCL NF6: USB_C_GPP_B8] ==> PCH_I2C_TCHSCR_R_SCL */ - PAD_CFG_NF(GPP_B8, NONE, DEEP, NF2), - /* GPP_B11 : [NF1: PMCALERT# NF6: USB_C_GPP_B11] ==> EN_PP3300_WLAN */ - PAD_CFG_GPO(GPP_B11, 1, DEEP), - /* GPP_B12 : [NF1: SLP_S0# NF6: USB_C_GPP_B12] ==> SLP_S0_R_L */ - PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1), - /* GPP_B13 : [NF1: PLTRST# NF6: USB_C_GPP_B13] ==> PLT_RST_L */ - PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1), - /* GPP_B14 : GPP_B14_STRAP ==> Component NC */ - PAD_NC(GPP_B14, NONE), - /* GPP_B15 : net NC is not present in the given design */ - PAD_NC(GPP_B15, NONE), - /* GPP_B16 : [NF2: I2C5_SDA NF4: ISH_I2C2_SDA NF6: USB_C_GPP_B16] ==> PCH_I2C_TCHPAD_R_SDA */ - PAD_CFG_NF(GPP_B16, NONE, DEEP, NF2), - /* GPP_B17 : [NF2: I2C5_SCL NF4: ISH_I2C2_SCL NF6: USB_C_GPP_B17] ==> PCH_I2C_TCHPAD_R_SCL */ - PAD_CFG_NF(GPP_B17, NONE, DEEP, NF2), - /* GPP_B18 : GPP_B18_STRAP ==> Component NC */ - PAD_NC(GPP_B18, NONE), - /* GPP_B23 : PCHHOT_ODL_STRAP ==> Component NC */ - PAD_NC(GPP_B23, NONE), - /* GPP_C0 : [NF1: SMBCLK NF6: USB_C_GPP_C0] ==> EN_PP3300_TCHSCR */ - PAD_CFG_GPO(GPP_C0, 0, DEEP), - /* GPP_C1 : [NF1: SMBDATA NF6: USB_C_GPP_C1] ==> EN_TCHSCR */ - PAD_CFG_GPO(GPP_C1, 0, DEEP), - /* GPP_C2 : GPP_C2_STRAP ==> Component NC */ - PAD_NC(GPP_C2, NONE), - /* GPP_C3 : net NC is not present in the given design */ - PAD_NC(GPP_C3, NONE), - /* GPP_C4 : [NF1: SML0DATA NF6: USB_C_GPP_C4] ==> EN_UCAM_PWR */ - PAD_CFG_GPO(GPP_C4, 0, DEEP), - /* GPP_C5 : [NF1: SML0ALERT# NF6: USB_C_GPP_C5] ==> GPP_C5_BOOT_STRAP0 */ - PAD_CFG_NF(GPP_C5, NONE, DEEP, NF6), - /* GPP_C6 : No heuristic was found useful */ - PAD_NC(GPP_C6, NONE), - /* GPP_C7 : [NF1: SML1DATA NF6: USB_C_GPP_C7] ==> TCHSCR_INT */ - PAD_CFG_GPI_APIC(GPP_C7, NONE, PLTRST, LEVEL, NONE), - /* GPP_D0 : PCH_FP_BOOT0 ==> Component NC */ - PAD_NC(GPP_D0, NONE), - /* GPP_D1 : [NF1: ISH_GP1 NF2: BK1 NF5: SBK1 NF6: USB_C_GPP_D1] ==> FP_RST_ODL */ - PAD_CFG_GPO(GPP_D1, 1, DEEP), - /* GPP_D2 : [NF1: ISH_GP2 NF2: BK2 NF5: SBK2 NF6: USB_C_GPP_D2] ==> EN_FP_PWR */ - PAD_CFG_GPO(GPP_D2, 1, DEEP), - /* GPP_D3 : [NF1: ISH_GP3 NF2: BK3 NF5: SBK3 NF6: USB_C_GPP_D3] ==> EN_PP3300_SSD */ - PAD_CFG_GPO(GPP_D3, 1, DEEP), - /* GPP_D4 : [NF1: IMGCLKOUT0 NF2: BK4 NF5: SBK4 NF6: USB_C_GPP_D4] ==> BT_DISABLE_L */ - PAD_CFG_GPO(GPP_D4, 1, DEEP), - /* GPP_D5 : net NC is not present in the given design */ - PAD_NC(GPP_D5, NONE), - /* GPP_D6 : [NF1: SRCCLKREQ1# NF6: USB_C_GPP_D6] ==> SSD_CLKREQ_ODL */ - PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1), - /* GPP_D7 : net NC is not present in the given design */ - PAD_NC(GPP_D7, NONE), - /* GPP_D8 : net NC is not present in the given design */ - PAD_NC(GPP_D8, NONE), - /* GPP_D9 : [NF1: ISH_SPI_CS# NF2: DDP3_CTRLCLK NF4: TBT_LSX2_TXD NF5: BSSB_LS2_RX NF6: USB_C_GPP_D9 NF7: GSPI2_CS0#] ==> USB_C0_LSX_TX */ - PAD_CFG_NF(GPP_D9, NONE, DEEP, NF4), - /* GPP_D10 : [NF1: ISH_SPI_CLK NF2: DDP3_CTRLDATA NF4: TBT_LSX2_RXD NF5: BSSB_LS2_TX NF6: USB_C_GPP_D10 NF7: GSPI2_CLK] ==> USB_C0_LSX_RX_STRAP */ - PAD_CFG_NF(GPP_D10, NONE, DEEP, NF4), - /* GPP_D11 : net NC is not present in the given design */ - PAD_NC(GPP_D11, NONE), - /* GPP_D12 : GPP_D12_STRAP ==> Component NC */ - PAD_NC(GPP_D12, NONE), - /* GPP_D13 : No heuristic was found useful */ - PAD_NC(GPP_D13, NONE), - /* GPP_D14 : No heuristic was found useful */ - PAD_NC(GPP_D14, NONE), - /* GPP_D15 : net NC is not present in the given design */ - PAD_NC(GPP_D15, NONE), - /* GPP_D16 : net NC is not present in the given design */ - PAD_NC(GPP_D16, NONE), - /* GPP_D17 : net NC is not present in the given design */ - PAD_NC(GPP_D17, NONE), - /* GPP_D18 : net NC is not present in the given design */ - PAD_NC(GPP_D18, NONE), - /* GPP_D19 : No heuristic was found useful */ - PAD_NC(GPP_D19, NONE), - /* GPP_E0 : net NC is not present in the given design */ - PAD_NC(GPP_E0, NONE), - /* GPP_E1 : MEM_STRAP_2 */ - PAD_CFG_GPI(GPP_E1, NONE, DEEP), - /* GPP_E2 : MEM_STRAP_1 */ - PAD_CFG_GPI(GPP_E2, NONE, DEEP), - /* GPP_E3 : MEM_STRAP_0 */ - PAD_CFG_GPI(GPP_E3, NONE, DEEP), - /* GPP_E4 : [NF1: DEVSLP0 NF6: USB_C_GPP_E4 NF7: SRCCLK_OE9#] ==> USB4_BB_RT_FORCE_PWR */ - PAD_CFG_GPO(GPP_E4, 1, DEEP), - /* GPP_E5 : net NC is not present in the given design */ - PAD_NC(GPP_E5, NONE), - /* GPP_E6 : GPP_E6_STRAP ==> Component NC */ - PAD_NC(GPP_E6, NONE), - /* GPP_E7 : MEM_STRAP_3 */ - PAD_CFG_GPI(GPP_E7, NONE, DEEP), - /* GPP_E8 : [NF6: USB_C_GPP_E8] ==> WIFI_DISABLE_L */ - PAD_CFG_GPO(GPP_E8, 1, DEEP), - /* GPP_E9 : [NF1: USB_OC0# NF2: ISH_GP4 NF6: USB_C_GPP_E9] ==> USB_C0_OC_ODL */ - PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1), - /* GPP_E10 : [NF2: THC0_SPI1_CS# NF6: USB_C_GPP_E10 NF7: GSPI0_CS0#] ==> PCH_GSPI0_CS_L_UWB */ - PAD_CFG_NF(GPP_E10, NONE, DEEP, NF7), - /* GPP_E11 : [NF2: THC0_SPI1_CLK NF6: USB_C_GPP_E11 NF7: GSPI0_CLK] ==> PCH_GSPI0_CLK_UWB_R */ - PAD_CFG_NF(GPP_E11, NONE, DEEP, NF7), - /* GPP_E12 : [NF2: THC0_SPI1_IO1 NF5: I2C0A_SDA NF6: USB_C_GPP_E12 NF7: GSPI0_MISO] ==> PCH_GSPI0_DI_UWB_DO */ - PAD_CFG_NF(GPP_E12, NONE, DEEP, NF7), - /* GPP_E13 : [NF2: THC0_SPI1_IO0 NF5: I2C0A_SCL NF6: USB_C_GPP_E13 NF7: GSPI0_MOSI] ==> PCH_GSPI0_DO_UWB_DI_R */ - PAD_CFG_NF(GPP_E13, NONE, DEEP, NF7), - /* GPP_E14 : [NF1: DDSP_HPDA NF2: DISP_MISCA NF6: USB_C_GPP_E14] ==> SOC_EDP_HPD */ - PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), - /* GPP_E15 : RSVD_TP ==> PCH_WP_OD */ - PAD_CFG_GPI_GPIO_DRIVER_LOCK(GPP_E15, NONE, LOCK_CONFIG), - /* GPP_E16 : net NC is not present in the given design */ - PAD_NC(GPP_E16, NONE), - /* GPP_E17 : net NC is not present in the given design */ - PAD_NC(GPP_E17, NONE), - /* GPP_E18 : net NC is not present in the given design */ - PAD_NC(GPP_E18, NONE), - /* GPP_E19 : GPP_E19_STRAP ==> Component NC */ - PAD_NC(GPP_E19, NONE), - /* GPP_E20 : [NF1: DDP2_CTRLCLK NF4: TBT_LSX1_TXD NF5: BSSB_LS1_RX NF6: USB_C_GPP_E20] ==> USB_C1_LSX_TX */ - PAD_CFG_NF(GPP_E20, NONE, DEEP, NF4), - /* GPP_E21 : [NF1: DDP2_CTRLDATA NF4: TBT_LSX1_RXD NF5: BSSB_LS1_TX NF6: USB_C_GPP_E21] ==> USB_C1_LSX_RX_STRAP */ - PAD_CFG_NF(GPP_E21, NONE, DEEP, NF4), - /* GPP_E22 : DNX_STRAP ==> Component NC */ - PAD_NC(GPP_E22, NONE), - /* GPP_E23 : net NC is not present in the given design */ - PAD_NC(GPP_E23, NONE), - /* GPP_F0 : CNV_BRI_DT_STRAP ==> Component NC */ - PAD_NC(GPP_F0, NONE), - /* GPP_F1 : No heuristic was found useful */ - PAD_NC(GPP_F1, NONE), - /* GPP_F2 : CNV_RGI_DT_STRAP ==> Component NC */ - PAD_NC(GPP_F2, NONE), - /* GPP_F3 : No heuristic was found useful */ - PAD_NC(GPP_F3, NONE), - /* GPP_F4 : No heuristic was found useful */ - PAD_NC(GPP_F4, NONE), - /* GPP_F5 : [NF2: MODEM_CLKREQ NF3: CRF_XTAL_CLKREQ NF6: USB_C_GPP_F5] ==> CNV_CLKREQ0 */ - PAD_CFG_NF(GPP_F5, NONE, DEEP, NF2), - /* GPP_F6 : net NC is not present in the given design */ - PAD_NC(GPP_F6, NONE), - /* GPP_F7 : GPP_F7_STRAP ==> Component NC */ - PAD_NC(GPP_F7, NONE), - /* GPP_F9 : [] ==> SLP_S0_GATE_R */ - PAD_CFG_GPO(GPP_F9, 1, DEEP), - /* GPP_F10 : GPP_F10_STRAP ==> Component NC */ - PAD_NC(GPP_F10, NONE), - /* GPP_F11 : [NF3: THC1_SPI2_CLK NF4: GSPI1_CLK NF6: USB_C_GPP_F11] ==> GSPI_PCH_CLK_FPMCU_R */ - PAD_CFG_NF(GPP_F11, NONE, DEEP, NF4), - /* GPP_F12 : [NF1: GSXDOUT NF3: THC1_SPI2_IO0 NF4: GSPI1_MOSI NF5: I2C1A_SCL NF6: USB_C_GPP_F12] ==> GSPI_PCH_DO_FPMCU_DI_R */ - PAD_CFG_NF(GPP_F12, NONE, DEEP, NF4), - /* GPP_F13 : [NF1: GSXSLOAD NF3: THC1_SPI2_IO1 NF4: GSPI1_MISO NF5: I2C1A_SDA NF6: USB_C_GPP_F13] ==> GSPI_PCH_DI_FPMCU_DO */ - PAD_CFG_NF(GPP_F13, NONE, DEEP, NF4), - /* GPP_F14 : [NF1: GSXDIN NF3: THC1_SPI2_IO2 NF6: USB_C_GPP_F14] ==> TCHPAD_INT_L */ - PAD_CFG_GPI_IRQ_WAKE(GPP_F14, NONE, PLTRST, LEVEL, INVERT), - /* GPP_F15 : [NF1: GSXSRESET# NF3: THC1_SPI2_IO3 NF6: USB_C_GPP_F15] ==> FPMCU_PCH_INT_L */ - PAD_CFG_GPI_IRQ_WAKE(GPP_F15, NONE, PLTRST, LEVEL, INVERT), - /* GPP_F16 : [NF1: GSXCLK NF3: THC1_SPI2_CS# NF4: GSPI_CS0# NF6: USB_C_GPP_F16] ==> GSPI_PCH_CS_FPMCU_R_L */ - PAD_CFG_NF(GPP_F16, NONE, DEEP, NF4), - /* GPP_F17 : [NF3: THC1_SPI2_RST# NF6: USB_C_GPP_F17] ==> EC_PCH_INT_ODL */ - PAD_CFG_GPI_IRQ_WAKE(GPP_F17, NONE, PLTRST, LEVEL, INVERT), - /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */ - PAD_CFG_GPI(GPP_F18, NONE, DEEP), - /* GPP_F19 : [NF1: SRCCLKREQ6# NF6: USB_C_GPP_F19] ==> GPP_F19 */ - PAD_CFG_NF(GPP_F19, NONE, DEEP, NF6), - /* GPP_F20 : [] ==> UCAM_RST_L */ - PAD_CFG_GPO(GPP_F20, 0, DEEP), - /* GPP_F21 : No heuristic was found useful */ - PAD_NC(GPP_F21, NONE), - /* GPP_F22 : No heuristic was found useful */ - PAD_NC(GPP_F22, NONE), - /* GPP_F23 : No heuristic was found useful */ - PAD_NC(GPP_F23, NONE), - /* GPP_H0 : [NF6: USB_C_GPP_H0] ==> GPP_H0_BOOT_STRAP1 */ - PAD_CFG_NF(GPP_H0, NONE, DEEP, NF6), - /* GPP_H1 : [NF6: USB_C_GPP_H1] ==> GPP_H1_BOOT_STRAP2 */ - PAD_CFG_NF(GPP_H1, NONE, DEEP, NF6), - /* GPP_H2 : [NF6: USB_C_GPP_H2] ==> GPP_H2_BOOT_STRAP3 */ - PAD_CFG_NF(GPP_H2, NONE, DEEP, NF6), - /* GPP_H3 : net NC is not present in the given design */ - PAD_NC(GPP_H3, NONE), - /* GPP_H4 : [NF1: I2C0_SDA NF6: USB_C_GPP_H4] ==> PCH_I2C_AUD_R_SDA */ - PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1), - /* GPP_H5 : [NF1: I2C0_SCL NF6: USB_C_GPP_H5] ==> PCH_I2C_AUD_R_SCL */ - PAD_CFG_NF(GPP_H5, NONE, DEEP, NF1), - /* GPP_H6 : [NF1: I2C1_SDA NF6: USB_C_GPP_H6] ==> PCH_I2C_TPM_R_SDA */ - PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1), - /* GPP_H7 : [NF1: I2C1_SCL NF6: USB_C_GPP_H7] ==> PCH_I2C_TPM_R_SCL */ - PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1), - /* GPP_H8 : net NC is not present in the given design */ - PAD_NC(GPP_H8, NONE), - /* GPP_H9 : net NC is not present in the given design */ - PAD_NC(GPP_H9, NONE), - /* GPP_H10 : [NF2: UART0_RXD NF3: M2_SKT2_CFG0 NF6: USB_C_GPP_H10] ==> UART_PCH_RX_DBG_TX */ - PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2), - /* GPP_H11 : [NF2: UART0_TXD NF3: M2_SKT2_CFG1 NF6: USB_C_GPP_H11] ==> UART_PCH_TX_DBG_RX */ - PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2), - /* GPP_H12 : net NC is not present in the given design */ - PAD_NC(GPP_H12, NONE), - /* GPP_H13 : net NC is not present in the given design */ - PAD_NC(GPP_H13, NONE), - /* GPP_H15 : net NC is not present in the given design */ - PAD_NC(GPP_H15, NONE), - /* GPP_H17 : net NC is not present in the given design */ - PAD_NC(GPP_H17, NONE), - /* GPP_H18 : [NF1: PROC_C10_GATE# NF6: USB_C_GPP_H18] ==> CPU_C10_GATE_L */ - PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1), - /* GPP_H19 : net NC is not present in the given design */ - PAD_NC(GPP_H19, NONE), - /* GPP_H20 : net NC is not present in the given design */ - PAD_NC(GPP_H20, NONE), - /* GPP_H21 : [NF1: IMGCLKOUT2 NF6: USB_C_GPP_H21] ==> UCAM_MCLK_R */ - PAD_CFG_NF(GPP_H21, NONE, DEEP, NF1), - /* GPP_H22 : net NC is not present in the given design */ - PAD_NC(GPP_H22, NONE), - /* GPP_H23 : net NC is not present in the given design */ - PAD_NC(GPP_H23, NONE), - /* GPP_R0 : [NF1: HDA_BCLK NF2: I2S0_SCLK NF3: DMIC_CLK_B0 NF4: HDAPROC_BCLK] ==> I2S_HP_SCLK_R */ - PAD_CFG_NF(GPP_R0, NONE, DEEP, NF2), - /* GPP_R1 : [NF1: HDA_SYNC NF2: I2S0_SFRM NF3: DMIC_CLK_B1] ==> I2S_HP_SFRM_R */ - PAD_CFG_NF(GPP_R1, NONE, DEEP, NF2), - /* GPP_R2 : [NF1: HDA_SDO NF2: I2S0_TXD NF4: HDAPROC_SDO] ==> I2S_PCH_TX_HP_RX_STRAP */ - PAD_CFG_NF(GPP_R2, NONE, DEEP, NF2), - /* GPP_R3 : [NF1: HDA_SDI0 NF2: I2S0_RXD NF4: HDAPROC_SDI] ==> I2S_PCH_RX_HP_TX */ - PAD_CFG_NF(GPP_R3, NONE, DEEP, NF2), - /* GPP_R4 : [NF1: HDA_RST# NF2: I2S2_SCLK NF3: DMIC_CLK_A0] ==> DMIC_CLK0_R */ - PAD_CFG_NF(GPP_R4, NONE, DEEP, NF3), - /* GPP_R5 : [NF1: HDA_SDI1 NF2: I2S2_SFRM NF3: DMIC_DATA0] ==> DMIC_DATA0_R */ - PAD_CFG_NF(GPP_R5, NONE, DEEP, NF3), - /* GPP_R6 : [NF2: I2S2_TXD NF3: DMIC_CLK_A1] ==> DMIC_CLK1_R */ - PAD_CFG_NF(GPP_R6, NONE, DEEP, NF3), - /* GPP_R7 : [NF2: I2S2_RXD NF3: DMIC_DATA1] ==> DMIC_DATA1_R */ - PAD_CFG_NF(GPP_R7, NONE, DEEP, NF3), - /* GPP_S0 : [NF1: SNDW0_CLK NF4: I2S1_SCLK] ==> I2S_SPKR_SCLK_R */ - PAD_CFG_NF(GPP_S0, NONE, DEEP, NF4), - /* GPP_S1 : [NF1: SNDW0_DATA NF4: I2S1_SFRM] ==> I2S_SPKR_SFRM_R */ - PAD_CFG_NF(GPP_S1, NONE, DEEP, NF4), - /* GPP_S2 : [NF1: SNDW1_CLK NF2: DMIC_CKLA0 NF4: I2S1_TXD] ==> I2S_PCH_TX_SPKR_RX_R */ - PAD_CFG_NF(GPP_S2, NONE, DEEP, NF4), - /* GPP_S3 : [NF1: SNDW1_DATA NF2: DMIC_DATA0 NF4: I2S1_RXD] ==> I2S_PCH_RX_SPKR_TX */ - PAD_CFG_NF(GPP_S3, NONE, DEEP, NF4), - /* GPP_S4 : net NC is not present in the given design */ - PAD_NC(GPP_S4, NONE), - /* GPP_S5 : net NC is not present in the given design */ - PAD_NC(GPP_S5, NONE), - /* GPP_S6 : net NC is not present in the given design */ - PAD_NC(GPP_S6, NONE), - /* GPP_S7 : net NC is not present in the given design */ - PAD_NC(GPP_S7, NONE), - /* GPP_T2 : No heuristic was found useful */ - PAD_NC(GPP_T2, NONE), - /* GPP_T3 : No heuristic was found useful */ - PAD_NC(GPP_T3, NONE), -}; - -/* Early pad configuration in bootblock */ -static const struct pad_config early_gpio_table[] = { - /* A13 : PMC_I2C_SCL ==> GSC_PCH_INT_ODL */ - PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), - /* B4 : PROC_GP3 ==> SSD_PERST_L */ - PAD_CFG_GPO(GPP_B4, 0, DEEP), - /* - * D1 : ISH_GP1 ==> FP_RST_ODL - * FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down. - * To ensure proper power sequencing for the FPMCU device, reset signal is driven low - * early on in bootblock, followed by enabling of power. Reset signal is deasserted - * later on in ramstage. Since reset signal is asserted in bootblock, it results in - * FPMCU not working after a S3 resume. This is a known issue. - */ - PAD_CFG_GPO(GPP_D1, 0, DEEP), - /* D2 : ISH_GP2 ==> EN_FP_PWR */ - PAD_CFG_GPO(GPP_D2, 1, DEEP), - /* GPP_D3 : [NF1: ISH_GP3 NF2: BK3 NF5: SBK3 NF6: USB_C_GPP_D3] ==> EN_PP3300_SSD */ - PAD_CFG_GPO(GPP_D3, 1, DEEP), - /* E15 : RSVD_TP ==> PCH_WP_OD */ - PAD_CFG_GPI_GPIO_DRIVER_LOCK(GPP_E15, NONE, LOCK_CONFIG), - /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */ - PAD_CFG_GPI(GPP_F18, NONE, DEEP), - /* H10 : UART0_RXD ==> UART_PCH_RX_DBG_TX */ - PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2), - /* H11 : UART0_TXD ==> UART_PCH_TX_DBG_RX */ - PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2), - - /* TPM is on I2C port 1 */ - /* H6 : [NF1: I2C1_SDA NF6: USB_C_GPP_H6] ==> PCH_I2C_TPM_R_SDA */ - PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1), - /* H7 : [NF1: I2C1_SCL NF6: USB_C_GPP_H7] ==> PCH_I2C_TPM_R_SCL */ - PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1), - - /* Mem straps */ - /* B3 : PROC_GP2 ==> MEM_CH_SEL */ - PAD_CFG_GPI(GPP_B3, NONE, DEEP), - /* E3 : PROC_GP0 ==> MEM_STRAP_0 */ - PAD_CFG_GPI(GPP_E3, NONE, DEEP), - /* E2 : THC0_SPI1_IO3 ==> MEM_STRAP_1 */ - PAD_CFG_GPI(GPP_E2, NONE, DEEP), - /* E1 : THC0_SPI1_IO2 ==> MEM_STRAP_2 */ - PAD_CFG_GPI(GPP_E1, NONE, DEEP), - /* E7 : PROC_GP1 ==> MEM_STRAP_3 */ - PAD_CFG_GPI(GPP_E7, NONE, DEEP), -}; - -static const struct pad_config romstage_gpio_table[] = { - /* B4 : PROC_GP3 ==> SSD_PERST_L */ - PAD_CFG_GPO(GPP_B4, 1, DEEP), -}; - -const struct pad_config *variant_gpio_table(size_t *num) -{ - *num = ARRAY_SIZE(gpio_table); - return gpio_table; -} - -const struct pad_config *variant_gpio_override_table(size_t *num) -{ - *num = 0; - return NULL; -} - -const struct pad_config *variant_early_gpio_table(size_t *num) -{ - *num = ARRAY_SIZE(early_gpio_table); - return early_gpio_table; -} - -const struct pad_config *variant_romstage_gpio_table(size_t *num) -{ - *num = ARRAY_SIZE(romstage_gpio_table); - return romstage_gpio_table; -} diff --git a/src/mainboard/google/brya/variants/ghost4adl/include/variant/ec.h b/src/mainboard/google/brya/variants/ghost4adl/include/variant/ec.h deleted file mode 100644 index 7a2a6ff8b7..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/include/variant/ec.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#ifndef __VARIANT_EC_H__ -#define __VARIANT_EC_H__ - -#include - -#endif diff --git a/src/mainboard/google/brya/variants/ghost4adl/include/variant/gpio.h b/src/mainboard/google/brya/variants/ghost4adl/include/variant/gpio.h deleted file mode 100644 index c4fe342621..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/include/variant/gpio.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#ifndef VARIANT_GPIO_H -#define VARIANT_GPIO_H - -#include - -#endif diff --git a/src/mainboard/google/brya/variants/ghost4adl/memory.c b/src/mainboard/google/brya/variants/ghost4adl/memory.c deleted file mode 100644 index 4503a1f587..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/memory.c +++ /dev/null @@ -1,118 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#include -#include -#include -#include - -static const struct mb_cfg baseboard_memcfg = { - .type = MEM_TYPE_LP5X, - - /* - * DQ byte map - * - * To calculate from schematics, reference - * ADL_LP5_DqMapCpu2Dram sheet of this spreadsheet: - * https://cdrdv2.intel.com/v1/dl/getContent/573387 - */ - .lpx_dq_map = { - .ddr0 = { - .dq0 = { 5, 0, 4, 1, 2, 6, 7, 3, }, - .dq1 = { 9, 12, 8, 13, 15, 10, 14, 11, }, - }, - .ddr1 = { - .dq0 = { 9, 10, 11, 8, 13, 15, 14, 12, }, - .dq1 = { 0, 3, 1, 2, 7, 5, 6, 4, }, - }, - .ddr2 = { - .dq0 = { 9, 13, 8, 12, 15, 10, 14, 11, }, - .dq1 = { 7, 6, 4, 5, 0, 3, 1, 2, }, - }, - .ddr3 = { - .dq0 = { 3, 7, 2, 6, 4, 1, 5, 0, }, - .dq1 = { 12, 14, 15, 13, 11, 10, 8, 9, }, - }, - .ddr4 = { - .dq0 = { 15, 14, 12, 13, 10, 9, 8, 11, }, - .dq1 = { 7, 5, 4, 6, 2, 0, 1, 3, }, - }, - .ddr5 = { - .dq0 = { 9, 10, 11, 8, 12, 15, 13, 14, }, - .dq1 = { 3, 7, 2, 6, 0, 4, 5, 1, }, - }, - .ddr6 = { - .dq0 = { 3, 2, 1, 0, 7, 5, 6, 4, }, - .dq1 = { 12, 13, 10, 9, 14, 11, 8, 15, }, - }, - .ddr7 = { - .dq0 = { 11, 8, 10, 9, 12, 14, 13, 15, }, - .dq1 = { 1, 7, 0, 2, 5, 3, 4, 6, }, - }, - }, - - /* - * DQS CPU<>DRAM map - * - * To calculate from schematics, reference - * MTL_RPL_ADL_LP5_DqsMapCpu2Dram sheet of this spreadsheet: - * https://cdrdv2.intel.com/v1/dl/getContent/573387 - */ - .lpx_dqs_map = { - .ddr0 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr1 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr2 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr3 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr4 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr5 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr6 = { .dqs0 = 0, .dqs1 = 1 }, - .ddr7 = { .dqs0 = 0, .dqs1 = 1 }, - }, - - /* Enable Early Command Training */ - .ect = true, - - .UserBd = BOARD_TYPE_MOBILE, - - .lp5x_config = { - /* - * CA and CS signals are in descending order. - * - * Reference the MTL_RPL_ADL_LP5_CccConfig sheet of - * this spreadsheet for instructions: - * https://cdrdv2.intel.com/v1/dl/getContent/573387 - */ - .ccc_config = 0xff, - }, -}; - -const struct mb_cfg *variant_memory_params(void) -{ - return &baseboard_memcfg; -} - -int variant_memory_sku(void) -{ - /* - * Memory configuration board straps - * - MEM_STRAP_0: GPP_E3 - * - MEM_STRAP_1: GPP_E2 - * - MEM_STRAP_2: GPP_E1 - * - MEM_STRAP_3: GPP_E7 - * - * MEM_STRAP_0 is LSB, and MEM_STRAP_3 is MSB. - */ - gpio_t spd_gpios[] = { - GPP_E3, - GPP_E2, - GPP_E1, - GPP_E7, - }; - - return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios)); -} - -bool variant_is_half_populated(void) -{ - /* GPIO_MEM_CH_SEL is GPP_B3 */ - return gpio_get(GPP_B3); -} diff --git a/src/mainboard/google/brya/variants/ghost4adl/memory/Makefile.inc b/src/mainboard/google/brya/variants/ghost4adl/memory/Makefile.inc deleted file mode 100644 index 9f8d085315..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/memory/Makefile.inc +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# This is an auto-generated file. Do not edit!! -# Generated by: -# ./util/spd_tools/bin/part_id_gen ADL lp5 src/mainboard/google/brya/variants/ghost4adl/memory src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt - -SPD_SOURCES = -SPD_SOURCES += spd/lp5/set-0/spd-1.hex # ID = 0(0b0000) Parts = H9JCNNNBK3MLYR-N6E, MT62F512M32D2DR-031 WT:B -SPD_SOURCES += spd/lp5/set-0/spd-3.hex # ID = 1(0b0001) Parts = H58G56AK6BX069 -SPD_SOURCES += spd/lp5/set-0/spd-5.hex # ID = 2(0b0010) Parts = K3LKLKL0EM-MGCN -SPD_SOURCES += spd/lp5/set-0/spd-7.hex # ID = 3(0b0011) Parts = MT62F1G32D2DS-026 WT:B diff --git a/src/mainboard/google/brya/variants/ghost4adl/memory/dram_id.generated.txt b/src/mainboard/google/brya/variants/ghost4adl/memory/dram_id.generated.txt deleted file mode 100644 index b4dc8a676b..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/memory/dram_id.generated.txt +++ /dev/null @@ -1,11 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# This is an auto-generated file. Do not edit!! -# Generated by: -# ./util/spd_tools/bin/part_id_gen ADL lp5 src/mainboard/google/brya/variants/ghost4adl/memory src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt - -DRAM Part Name ID to assign -H9JCNNNBK3MLYR-N6E 0 (0000) -H58G56AK6BX069 1 (0001) -MT62F512M32D2DR-031 WT:B 0 (0000) -K3LKLKL0EM-MGCN 2 (0010) -MT62F1G32D2DS-026 WT:B 3 (0011) diff --git a/src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt b/src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt deleted file mode 100644 index 6f4f2a7177..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/memory/mem_parts_used.txt +++ /dev/null @@ -1,16 +0,0 @@ -# This is a CSV file containing a list of memory parts used by this variant. -# One part per line with an optional fixed ID in column 2. -# Only include a fixed ID if it is required for legacy reasons! -# Generated IDs are dependent on the order of parts in this file, -# so new parts must always be added at the end of the file! -# -# Generate an updated Makefile.inc and dram_id.generated.txt by running the -# part_id_gen tool from util/spd_tools. -# See util/spd_tools/README.md for more details and instructions. - -# Part Name -H9JCNNNBK3MLYR-N6E -H58G56AK6BX069 -MT62F512M32D2DR-031 WT:B -K3LKLKL0EM-MGCN -MT62F1G32D2DS-026 WT:B diff --git a/src/mainboard/google/brya/variants/ghost4adl/overridetree.cb b/src/mainboard/google/brya/variants/ghost4adl/overridetree.cb deleted file mode 100644 index b20593a479..0000000000 --- a/src/mainboard/google/brya/variants/ghost4adl/overridetree.cb +++ /dev/null @@ -1,192 +0,0 @@ -chip soc/intel/alderlake - #+-------------------+---------------------------+ - #| Field | Value | - #+-------------------+---------------------------+ - #| GSPI1 | FPMCU | - #| I2C0 | Audio | - #| I2C1 | cr50 TPM. Early init is | - #| | required to set up a BAR | - #| | for TPM communication | - #| I2C2 | Misc (Cam, Display, LED) | - #| I2C3 | Touchscreen | - #| I2C4 | NC | - #| I2C5 | Touchpad | - #+-------------------+---------------------------+ - register "common_soc_config" = "{ - .i2c[0] = { - .speed = I2C_SPEED_STANDARD, - .speed_config[0] = { - .speed = I2C_SPEED_STANDARD, - .scl_lcnt = 45, - .scl_hcnt = 33, - .sda_hold = 20, - }, - }, - .i2c[1] = { - .early_init = 1, - .speed = I2C_SPEED_STANDARD, - .rise_time_ns = 600, - .fall_time_ns = 400, - .data_hold_time_ns = 50, - }, - .i2c[2] = { - .speed = I2C_SPEED_STANDARD, - .rise_time_ns = 650, - .fall_time_ns = 400, - .data_hold_time_ns = 50, - }, - .i2c[3] = { - .speed = I2C_SPEED_STANDARD, - .rise_time_ns = 650, - .fall_time_ns = 400, - .data_hold_time_ns = 50, - }, - .i2c[5] = { - .speed = I2C_SPEED_STANDARD, - .rise_time_ns = 650, - .fall_time_ns = 400, - .data_hold_time_ns = 50, - }, - }" - - # I2C Port Config - register "serial_io_i2c_mode" = "{ - [PchSerialIoIndexI2C0] = PchSerialIoPci, - [PchSerialIoIndexI2C1] = PchSerialIoPci, - [PchSerialIoIndexI2C2] = PchSerialIoPci, - [PchSerialIoIndexI2C3] = PchSerialIoPci, - [PchSerialIoIndexI2C4] = PchSerialIoDisabled, - [PchSerialIoIndexI2C5] = PchSerialIoPci, - [PchSerialIoIndexI2C7] = PchSerialIoDisabled, - }" - - register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0 - register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC1)" # USB2_C1 - register "usb2_ports[2]" = "USB2_PORT_EMPTY" - register "usb2_ports[3]" = "USB2_PORT_EMPTY" - register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # DCI port - register "usb2_ports[5]" = "USB2_PORT_EMPTY" - register "usb2_ports[8]" = "USB2_PORT_EMPTY" - - register "usb3_ports[0]" = "USB3_PORT_EMPTY" - register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # DCI port - register "usb3_ports[3]" = "USB3_PORT_EMPTY" - - register "tcss_ports[0]" = "TCSS_PORT_EMPTY" - register "tcss_ports[1]" = "TCSS_PORT_DEFAULT(OC1)" # TypeC C1 - register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC0)" # TypeC C0 - - device domain 0 on - device ref cnvi_wifi on - chip drivers/wifi/generic - register "wake" = "GPE0_PME_B0" - device generic 0 on end - end - end - device ref pcie_rp6 off end - device ref pcie_rp7 off end - device ref pcie_rp8 off end - device ref tcss_dma0 on - chip drivers/intel/usb4/retimer - register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)" - use tcss_usb3_port2 as dfp[0].typec_port - device generic 0 on end - end - end - device ref tcss_dma1 on - chip drivers/intel/usb4/retimer - register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)" - use tcss_usb3_port3 as dfp[0].typec_port - device generic 0 on end - end - end - device ref i2c1 on - chip drivers/i2c/tpm - register "hid" = ""GOOG0005"" - register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)" - device i2c 50 on end - end - end - device ref gspi1 on - chip drivers/spi/acpi - register "name" = ""CRFP"" - register "hid" = "ACPI_DT_NAMESPACE_HID" - register "uid" = "1" - register "compat_string" = ""google,cros-ec-spi"" - register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)" - register "wake" = "GPE0_DW2_15" - device spi 0 on end - end # FPMCU - end - device ref pch_espi on - chip ec/google/chromeec - # Replicate Brya, except we have 2 ports instead of 3. - use conn0 as mux_conn[0] - use conn1 as mux_conn[1] - device pnp 0c09.0 on end - end - end - device ref pmc hidden - chip drivers/intel/pmc_mux - device generic 0 on - chip drivers/intel/pmc_mux/conn - # C0: Left side (on DB) - use usb2_port1 as usb2_port - use tcss_usb3_port3 as usb3_port - device generic 0 alias conn0 on end - end - chip drivers/intel/pmc_mux/conn - # C1: Right side (on MLB) - use usb2_port2 as usb2_port - use tcss_usb3_port2 as usb3_port - device generic 1 alias conn1 on end - end - end - end - end - device ref tcss_xhci on - chip drivers/usb/acpi - device ref tcss_root_hub on - chip drivers/usb/acpi - register "desc" = ""USB3 Type-C Port C0 (DB)"" - register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" - register "use_custom_pld" = "true" - # USB C0 is on the LEFT panel, LEFT side (i.e. rear) - register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))" - device ref tcss_usb3_port3 on end - end - chip drivers/usb/acpi - register "desc" = ""USB3 Type-C Port C1 (MLB)"" - register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" - register "use_custom_pld" = "true" - # USB C1 is on the RIGHT panel, RIGHT side (i.e. rear) - register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))" - device ref tcss_usb3_port2 on end - end - end - end - end - device ref xhci on - chip drivers/usb/acpi - device ref xhci_root_hub on - chip drivers/usb/acpi - register "desc" = ""USB2 Type-C Port C0 (DB)"" - register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" - register "use_custom_pld" = "true" - # USB C0 is on the LEFT panel, LEFT side (i.e. rear) - register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))" - device ref usb2_port1 on end - end - chip drivers/usb/acpi - register "desc" = ""USB2 Type-C Port C1 (MLB)"" - register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" - register "use_custom_pld" = "true" - # USB C1 is on the RIGHT panel, RIGHT side (i.e. rear) - register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))" - device ref usb2_port2 on end - end - end - end - end - end -end -- cgit v1.2.3