William Wei has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor sch.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: WilliamWei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 606 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/1
diff --git a/src/mainboard/google/volteer/Kconfig b/src/mainboard/google/volteer/Kconfig index 5bc4876..e1593f2 100644 --- a/src/mainboard/google/volteer/Kconfig +++ b/src/mainboard/google/volteer/Kconfig @@ -55,6 +55,7 @@
config MAINBOARD_PART_NUMBER string + default "Malefor" if BOARD_GOOGLE_MALEFOR default "Ripto" if BOARD_GOOGLE_RIPTO default "Volteer" if BOARD_GOOGLE_VOLTEER
@@ -68,6 +69,7 @@
config VARIANT_DIR string + default "malefor" if BOARD_GOOGLE_MALEFOR default "ripto" if BOARD_GOOGLE_RIPTO default "volteer" if BOARD_GOOGLE_VOLTEER
diff --git a/src/mainboard/google/volteer/Kconfig.name b/src/mainboard/google/volteer/Kconfig.name index d60dfb4..7a943d9 100644 --- a/src/mainboard/google/volteer/Kconfig.name +++ b/src/mainboard/google/volteer/Kconfig.name @@ -7,3 +7,7 @@ config BOARD_GOOGLE_RIPTO bool "-> Ripto" select BOARD_GOOGLE_BASEBOARD_VOLTEER + +config BOARD_GOOGLE_MALEFOR + bool "-> Malefor" + select BOARD_GOOGLE_BASEBOARD_VOLTEER diff --git a/src/mainboard/google/volteer/variants/malefor/Makefile.inc b/src/mainboard/google/volteer/variants/malefor/Makefile.inc new file mode 100644 index 0000000..76c1259 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/Makefile.inc @@ -0,0 +1,23 @@ +## +## This file is part of the coreboot project. +## +## Copyright 2020 Google LLC +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; version 2 of the License. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## + +## Memory Options +SPD_SOURCES = SPD_LPDDR4X_200b_8bank_1Rx16_16Gb_DDP_4267 # 0b0000 + +romstage-y += memory.c + +bootblock-y += gpio.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/volteer/variants/malefor/gpio.c b/src/mainboard/google/volteer/variants/malefor/gpio.c new file mode 100644 index 0000000..4a2d70a --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/gpio.c @@ -0,0 +1,466 @@ +/* + * This file is part of the coreboot project. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> +#include <commonlib/helpers.h> + +/* Pad configuration in ramstage */ +/* Leave eSPI pins untouched from default settings */ +static const struct pad_config gpio_table[] = { + /* A0 thru A6 come configured out of reset, do not touch */ + /* A0 : ESPI_IO0 ==> ESPI_IO_0 */ + /* A1 : ESPI_IO1 ==> ESPI_IO_1 */ + /* A2 : ESPI_IO2 ==> ESPI_IO_2 */ + /* A3 : ESPI_IO3 ==> ESPI_IO_3 */ + /* A4 : ESPI_CS# ==> ESPI_CS_L */ + /* A5 : ESPI_CLK ==> ESPI_CLK */ + /* A6 : ESPI_RESET# ==> NC(TP764) */ + /* A7 : I2S2_SCLK ==> EN_PP3300_TRACKPAD */ + PAD_CFG_GPO(GPP_A7, 1, DEEP), + /* A8 : I2S2_SFRM ==> EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO(GPP_A8, 1, DEEP), + /* A9 : I2S2_TXD ==> EC_IN_RW_OD */ + PAD_CFG_GPI(GPP_A9, NONE, DEEP), + /* A10 : I2S2_RXD ==> EN_SPKR_PA */ + PAD_CFG_GPO(GPP_A10, 1, DEEP), + /* A11 : PMC_I2C_SDA ==> SSD_PERST_L */ + PAD_CFG_GPO(GPP_A11, 1, DEEP), + /* A12 : SATAXPCIE1 ==> M2_SSD_PEDET */ + PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1), + /* A13 : PMC_I2C_SCL ==> BT_DISABLE_L */ + PAD_CFG_GPO(GPP_A13, 1, DEEP), + /* A14 : USB_OC1# ==> USB_A0_OC_ODL */ + PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1), + /* A15 : USB_OC2# ==> USB_A1_OC_ODL */ + PAD_CFG_NF(GPP_A15, NONE, DEEP, NF1), + /* A16 : USB_OC3# ==> USB_C0_OC_ODL */ + PAD_CFG_NF(GPP_A16, NONE, DEEP, NF1), + /* A17 : DDSP_HPDC ==> MEM_CH_SEL */ + PAD_CFG_GPI(GPP_A17, NONE, DEEP), + /* A18 : DDSP_HPDB ==> HDMI_HPD */ + PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1), + /* A19 : DDSP_HPD1 ==> USB_C0_DP_HPD */ + PAD_CFG_NF(GPP_A19, NONE, DEEP, NF1), + /* A20 : DDSP_HPD2 ==> USB_C1_DP_HPD */ + PAD_CFG_NF(GPP_A20, NONE, DEEP, NF1), + /* A21 : DDPC_CTRCLK ==> EN_FP_PWR */ + PAD_CFG_GPO(GPP_A21, 1, DEEP), + /* A22 : DDPC_CTRLDATA ==> EN_HDMI_PWR */ + PAD_CFG_GPO(GPP_A22, 1, DEEP), + /* A23 : I2S1_SCLK ==> I2S1_SPKR_SCLK */ + PAD_CFG_NF(GPP_A23, NONE, DEEP, NF1), + + /* B0 : CORE_VID0 */ + PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1), + /* B1 : CORE_VID1 */ + PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1), + /* B2 : VRALERT# ==> NOT USED */ + PAD_NC(GPP_B2, NONE), + /* B3 : CPU_GP2 ==> PEN_DET_ODL */ + PAD_CFG_GPI(GPP_B3, NONE, DEEP), + /* B4 : CPU_GP3 ==> NC */ + PAD_NC(GPP_B4, NONE), + /* B5 : ISH_I2C0_CVF_SDA ==> NOT USED*/ + PAD_NC(GPP_B5, NONE), + /* B6 : ISH_I2C0_CVF_SCL ==> NOT USED*/ + PAD_NC(GPP_B6, NONE), + /* B7 : ISH_12C1_SDA ==> NOT USED */ + PAD_NC(GPP_B7, NONE), + /* B8 : ISH_I2C1_SCL ==> NOT USED */ + PAD_NC(GPP_B8, NONE), + /* B9 : I2C5_SDA ==> PCH_I2C5_TRACKPAD_SDA */ + PAD_CFG_NF(GPP_B9, NONE, DEEP, NF1), + /* B10 : I2C5_SCL ==> PCH_I2C5_TRACKPAD_SCL */ + PAD_CFG_NF(GPP_B10, NONE, DEEP, NF1), + /* B11 : PMCALERT# ==> PCH_WP_OD */ + PAD_CFG_GPI_GPIO_DRIVER(GPP_B11, NONE, DEEP), + /* B12 : SLP_S0# ==> SLP_S0_L */ + PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1), + /* B13 : PLTRST# ==> PLT_RST_L */ + PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1), + /* B14 : SPKR ==> GPP_B14_STRAP */ + PAD_NC(GPP_B14, DN_20K), + /* B15 : GSPI0_CS0# ==> PCH_GSPI0_H1_TPM_CS_L */ + PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1), + /* B16 : GSPI0_CLK ==> PCH_GSPI0_H1_TPM_CLK */ + PAD_CFG_NF(GPP_B16, NONE, DEEP, NF1), + /* B17 : GSPI0_MISO ==> PCH_GSPIO_H1_TPM_MISO */ + PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1), + /* B18 : GSPI0_MOSI ==> PCH_GSPI0_H1_TPM_MOSI_STRAP */ + PAD_CFG_NF(GPP_B18, DN_20K, DEEP, NF1), + /* B19 : GSPI1_CS0# ==> PCH_GSPI1_FPMCU_CS_L */ + PAD_CFG_NF(GPP_B19, NONE, DEEP, NF1), + /* B20 : GSPI1_CLK ==> PCH_GSPI1_FPMCU_CLK */ + PAD_CFG_NF(GPP_B20, NONE, DEEP, NF1), + /* B21 : GSPI1_MISO ==> PCH_GSPI1_FPMCU_MISO */ + PAD_CFG_NF(GPP_B21, NONE, DEEP, NF1), + /* B22 : GSPI1_MOSI ==> PCH_GSPI1_GPMCU_MOSI */ + PAD_CFG_NF(GPP_B22, NONE, DEEP, NF1), + /* B23 : SML1ALERT# ==> GPP_B23_STRAP # */ + PAD_NC(GPP_B23, DN_20K), + + /* C0 : SMBCLK ==> EN_PP3300_WLAN */ + PAD_CFG_GPO(GPP_C0, 1, DEEP), + /* C1 : SMBDATA ==> NOT USED */ + PAD_NC(GPP_C1, NONE), + /* C2 : SMBALERT# ==> GPP_C2_STRAP */ + PAD_NC(GPP_C2, DN_20K), + /* C3 : SML0CLK ==> USB4_SMB_SCL */ + PAD_CFG_NF(GPP_C3, NONE, DEEP, NF1), + /* C4 : SML0DATA ==> USB4_SMB_SDA */ + PAD_CFG_NF(GPP_C4, NONE, DEEP, NF1), + /* C5 : SML0ALERT# ==> USB_SMB_INT_L_BOOT_STRAP0 */ + PAD_NC(GPP_C5, DN_20K), + /* C6 : SML1CLK ==> EC_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_C6, NONE, PLTRST, LEVEL, INVERT), + /* C7 : SML1DATA ==> EN_PP5000_PEN */ + PAD_CFG_GPO(GPP_C7, 1, DEEP), + /* C8 : UART0_RXD ==> UART_PCH_RX_DEBUG_TX */ + PAD_CFG_NF(GPP_C8, NONE, DEEP, NF1), + /* C9 : UART0_TXD ==> UART_PCH_TX_DEBUG_RX */ + PAD_CFG_NF(GPP_C9, NONE, DEEP, NF1), + /* C10 : UART0_RTS# ==> USI_RST_L */ + PAD_CFG_GPO(GPP_C10, 1, DEEP), + /* C11 : UART0_CTS# ==> NOT USED */ + PAD_NC(GPP_C11, NONE), + /* C12 : UART1_RXD ==> MEM_STRAP_0 */ + PAD_CFG_GPI(GPP_C12, NONE, DEEP), + /* C13 : UART1_TXD ==> NOT USED */ + PAD_NC(GPP_C13, NONE), + /* C14 : UART1_RTS# ==> MEM_STRAP_2 */ + PAD_CFG_GPI(GPP_C14, NONE, DEEP), + /* C15 : UART1_CTS# ==> MEM_STRAP_1 */ + PAD_CFG_GPI(GPP_C15, NONE, DEEP), + /* C16 : I2C0_SDA ==> PCH_I2C0_1V8_AUDIO_SDA */ + PAD_CFG_NF(GPP_C16, NONE, DEEP, NF1), + /* C17 : I2C0_SCL ==> PCH_I2C0_1V8_AUDIO_SCL */ + PAD_CFG_NF(GPP_C17, NONE, DEEP, NF1), + /* C18 : I2C1_SDA ==> PCH_I2C1_TOUCH_USI_SDA */ + PAD_CFG_NF(GPP_C18, NONE, DEEP, NF1), + /* C19 : I2C1_SCL ==> PCH_I2C1_TOUCH_USI_SCL */ + PAD_CFG_NF(GPP_C19, NONE, DEEP, NF1), + /* C20 : UART2_RXD ==> FPMCU_INT_L */ + PAD_CFG_GPI_INT(GPP_C20, NONE, PLTRST, LEVEL), + /* C21 : UART2_TXD ==> H1_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_C21, NONE, PLTRST, LEVEL, INVERT), + /* C22 : UART2_RTS# ==> PCH_FPMCU_BOOT0 */ + PAD_CFG_GPO(GPP_C22, 0, DEEP), + /* C23 : UART2_CTS# ==> FPMCU_RST_ODL */ + PAD_CFG_GPO(GPP_C23, 1, DEEP), + + /* D0 : ISH_GP0 ==> NOT USED */ + PAD_NC(GPP_D0, NONE), + /* D1 : ISH_GP1 ==> NOT USED */ + PAD_NC(GPP_D1, NONE), + /* D2 : ISH_GP2 ==> NOT USED */ + PAD_NC(GPP_D2, NONE), + /* D3 : ISH_GP3 ==> NOT USED */ + PAD_NC(GPP_D3, NONE), + /* D4 : IMGCLKOUT0 ==> NOT USED */ + PAD_NC(GPP_D4, NONE), + /* D5 : SRCCLKREQ0$ ==> SSD_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D5, NONE, DEEP, NF1), + /* D6 : SRCCLKREQ1# ==> WLAN_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1), + /* D7 : SRCCLKREQ2# ==> NOT USED */ + PAD_NC(GPP_D7, NONE), + /* D8 : SRCCLKREQ3# ==> SD_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D8, NONE, DEEP, NF1), + /* D9 : ISH_SPI_CS# ==> NOT USED */ + PAD_NC(GPP_D9, NONE), + /* D10 : ISH_SPI_CLK ==> PCH_GSPI2_CVF_CLK_STRAP */ + PAD_NC(GPP_D10, DN_20K), + /* D11 : ISH_SPI_MISO ==> NOT USED */ + PAD_NC(GPP_D11, NONE), + /* D12 : ISH_SPI_MOSI ==> PCH_GSPI2_CVF_MISO_STRAP */ + PAD_NC(GPP_D12, DN_20K), + /* D13 : ISH_UART0_RXD ==> UART_ISH_RX_DEBUG_TX */ + PAD_CFG_NF(GPP_D13, NONE, DEEP, NF1), + /* D14 : ISH_UART0_TXD ==> UART_ISH_TX_DEBUG_RX */ + PAD_CFG_NF(GPP_D14, NONE, DEEP, NF1), + /* D15 : ISH_UART0_RTS# ==> MEM_STRAP_3 */ + PAD_CFG_GPI(GPP_D15, NONE, DEEP), + /* D16 : ISH_UART0_CTS# ==> EN_PP3300_SD */ + PAD_CFG_GPO(GPP_D16, 1, DEEP), + /* D17 : ISH_GP4 ==> EN_CVF_PWR */ + PAD_CFG_GPO(GPP_D17, 1, DEEP), + /* D18 : ISH_GP5 ==> NOT USED */ + PAD_NC(GPP_D18, NONE), + /* D19 : I2S_MCLK1 ==> I2S_MCLK1 */ + PAD_CFG_NF(GPP_D19, NONE, DEEP, NF1), + + /* E0 : SATAXPCIE0 ==> USB_A1_RT_RST_ODL */ + PAD_CFG_GPO(GPP_E0, 1, DEEP), + /* E1 : SPI1_IO2 ==> PEN_DET_ODL */ + PAD_CFG_GPI_SCI_LOW(GPP_E1, NONE, DEEP, EDGE_SINGLE), + /* E2 : SPI1_IO3 ==> WLAN_PCIE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E2, NONE, DEEP), + /* E3 : CPU_GP0 ==> USI_REPORT_EN */ + PAD_CFG_GPO(GPP_E3, 1, DEEP), + /* E4 : SATA_DEVSLP0 ==> M2_SSD_PE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E4, NONE, DEEP), + /* E5 : SATA_DEVSLP1 ==> M2_SSD_DEVSLP_OD */ + PAD_CFG_NF(GPP_E5, NONE, DEEP, NF1), + /* E6 : THC0_SPI1_RST# ==> GPPE6_STRAP */ + PAD_NC(GPP_E6, NONE), + /* E7 : CPU_GP1 ==> USI_INT */ + PAD_CFG_GPI(GPP_E7, NONE, DEEP), + /* E8 : SPI1_CS1# ==> SLP_S0IX */ + PAD_CFG_GPO(GPP_E8, 0, DEEP), + /* E9 : USB2_OC0# ==> USB_C1_OC_ODL */ + PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1), + /* E10 : SPI1_CS# ==> USB_C0_AUXP_DC */ + PAD_CFG_GPO(GPP_E10, 0, DEEP), + /* E11 : SPI1_CLK ==> SD_PE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E11, NONE, DEEP), + /* E12 : SPI1_MISO_IO1 ==> PEN_ALERT_ODL */ + PAD_CFG_GPI(GPP_E12, NONE, DEEP), + /* E13 : SPI1_MOSI_IO0 ==> USB_C0_AUXN_DC */ + PAD_CFG_GPO(GPP_E13, 0, DEEP), + /* E14 : DDPC_HPDA ==> SOC_EDP_HPD */ + PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), + /* E15 : ISH_GP6 ==> TRACKPAD_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_E15, NONE, PLTRST, LEVEL, INVERT), + /* E16 : ISH_GP7 ==> NOT USED */ + PAD_NC(GPP_E16, NONE), + /* E17 : THC0_SPI1_INT# ==> NOT USED */ + PAD_NC(GPP_E17, NONE), + /* E18 : DDP1_CTRLCLK ==> USB_C0_LSX_SOC_TX */ + PAD_CFG_NF(GPP_E18, NONE, DEEP, NF4), + /* E19 : DDP1_CTRLDATA ==> USB0_C0_LSX_SOC_RX_STRAP */ + PAD_CFG_NF(GPP_E19, DN_20K, DEEP, NF4), + /* E20 : DDP2_CTRLCLK ==> USB_C1_LSX_SOC_TX */ + PAD_CFG_NF(GPP_E20, NONE, DEEP, NF4), + /* E21 : DDP2_CTRLDATA ==> USB_C1_LSX_SOC_RX_STRAP */ + PAD_CFG_NF(GPP_E21, NONE, DEEP, NF4), + /* E22 : DDPA_CTRLCLK ==> USB_C1_AUXP_DC: Retimer FW drives this pin */ + PAD_NC(GPP_E22, NONE), + /* E23 : DDPA_CTRLDATA ==> USB_C1_AUXN_DC: Retimer FW drives this pin */ + PAD_NC(GPP_E23, NONE), + + /* F0 : CNV_BRI_DT ==> CNV_BRI_DT_STRAP */ + PAD_CFG_NF(GPP_F0, NONE, DEEP, NF1), + /* F1 : CNV_BRI_RSP ==> NCV_BRI_RSP */ + PAD_CFG_NF(GPP_F1, UP_20K, DEEP, NF1), + /* F2 : I2S2_TXD ==> CNV_RGI_DT_STRAP */ + PAD_CFG_NF(GPP_F2, NONE, DEEP, NF1), + /* F3 : I2S2_RXD ==> CNV_RGI_RSP */ + PAD_CFG_NF(GPP_F3, UP_20K, DEEP, NF1), + /* F4 : CNV_RF_RESET# ==> CNV_RF_RST_L */ + PAD_CFG_NF(GPP_F4, NONE, DEEP, NF1), + /* F5 : MODEM_CLKREQ ==> CNV_CLKREQ0 */ + PAD_CFG_NF(GPP_F5, NONE, DEEP, NF3), + /* F6 : CNV_PA_BLANKING ==> WWAN_WLAN_COEX3 */ + PAD_CFG_NF(GPP_F6, NONE, DEEP, NF1), + /* F7 : GPPF7_STRAP */ + PAD_NC(GPP_F7, DN_20K), + /* F8 : I2S_MCLK2_INOUT ==> HP_INT_L */ + PAD_CFG_GPI_APIC(GPP_F8, UP_20K, DEEP, EDGE_BOTH, INVERT), + /* F9 : Reserved ==> NC */ + /* F10 : GPPF10_STRAP */ + PAD_NC(GPP_F10, DN_20K), + /* F11 : THC1_SPI2_CLK ==> NOT USED */ + PAD_NC(GPP_F11, NONE), + /* F12 : GSXDOUT ==> NOT USED */ + PAD_NC(GPP_F12, NONE), + /* F13 : GSXDOUT ==> WiFi_DISABLE_L */ + PAD_CFG_GPO(GPP_F13, 1, DEEP), + /* F14 : GSXDIN ==> NOT USED */ + PAD_NC(GPP_F14, NONE), + /* F15 : GSXSRESET# ==> NOT USED */ + PAD_NC(GPP_F15, NONE), + /* F16 : GSXCLK ==> NOT USED */ + PAD_NC(GPP_F16, NONE), + /* F17 : NOT USED */ + PAD_NC(GPP_F17, NONE), + /* F18 : THC1_SPI2_INT# ==> NOT USED */ + PAD_NC(GPP_F18, NONE), + /* F19 : SRCCLKREQ6# ==> WLAN_INT_L */ + PAD_CFG_GPI_SCI_LOW(GPP_F19, NONE, DEEP, EDGE_SINGLE), + /* F20 : EXT_PWR_GATE# ==> EXT_PWR_GATE_L */ + PAD_CFG_NF(GPP_F20, NONE, DEEP, NF1), + /* F21 : EXT_PWR_GATE2# ==> EXT_PWR_GATE2_L */ + PAD_CFG_NF(GPP_F21, NONE, DEEP, NF1), + /* F22 : VNN_CTRL */ + PAD_CFG_NF(GPP_F22, NONE, DEEP, NF1), + /* F23 : V1P05_CTRL */ + PAD_CFG_NF(GPP_F23, NONE, DEEP, NF1), + + /* H0 : GPPH0_BOOT_STRAP1 */ + PAD_NC(GPP_H0, DN_20K), + /* H1 : GPPH1_BOOT_STRAP2 */ + PAD_NC(GPP_H1, DN_20K), + /* H2 : GPPH2_BOOT_STRAP3 */ + PAD_NC(GPP_H2, DN_20K), + /* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */ + PAD_CFG_GPO(GPP_H3, 1, DEEP), + /* H4 : I2C2_SDA ==> PCH_I2C2_MISC_SDA */ + PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1), + /* H5 : I2C2_SCL ==> PCH_I2C2_MISC_SCL */ + PAD_CFG_NF(GPP_H5, NONE, DEEP, NF1), + /* H6 : I2C3_SDA ==> NOT USED */ + PAD_NC(GPP_H6, NONE), + /* H7 : I2C3_SCL ==> NOT USED */ + PAD_NC(GPP_H7, NONE), + /* H8 : I2C4_SDA ==> WWAN_WLAN_COEX1 */ + PAD_CFG_NF(GPP_H8, NONE, DEEP, NF2), + /* H9 : I2C4_SCL ==> WWAN_WLAN_COEX2 */ + PAD_CFG_NF(GPP_H9, NONE, DEEP, NF2), + /* H10 : SRCCLKREQ4# ==> USB_C1_RT_FORCE_PWR */ + PAD_CFG_GPO(GPP_H10, 1, DEEP), + /* H11 : SRCCLKREQ5# ==> WLAN_PERST_L */ + PAD_CFG_GPO(GPP_H11, 1, DEEP), + /* H12 : M2_SKT2_CFG0 ==> NOT USED */ + PAD_NC(GPP_H12, NONE), + /* H13 : M2_SKT2_CFG1 # ==> NOT USED */ + PAD_NC(GPP_H13, NONE), + /* H14 : M2_SKT2_CFG2 # ==> NOT SUED */ + PAD_NC(GPP_H14, NONE), + /* H15 : M2_SKT2_CFG3 # ==> NOT USED */ + PAD_NC(GPP_H15, NONE), + /* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */ + PAD_CFG_NF(GPP_H16, NONE, DEEP, NF1), + /* H17 : DDPB_CTRLDATA ==> DDPB_HDMI_CTRLDATA */ + PAD_CFG_NF(GPP_H17, NONE, DEEP, NF1), + /* H18 : CPU_C10_GATE# ==> CPU_C10_GATE_L */ + PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1), + /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ + PAD_CFG_GPI(GPP_H19, NONE, DEEP), + /* H20 : IMGCLKOUT1 ==> EN_MIPI_RCAM_PWR */ + PAD_CFG_GPO(GPP_H20, 1, PLTRST), + /* H21 : IMGCLKOUT2 ==> NOT USED */ + PAD_NC(GPP_H21, NONE), + /* H22 : IMGCLKOUT3 ==> NOT USED */ + PAD_NC(GPP_H22, NONE), + /* H23 : IMGCLKOUT4 ==> NOT USED */ + PAD_NC(GPP_H23, NONE), + + /* R0 : HDA_BCLK ==> I2S0_HP_SCLK */ + PAD_CFG_NF(GPP_R0, NONE, DEEP, NF2), + /* R1 : HDA_SYNC ==> I2S0_HP_SFRM */ + PAD_CFG_NF(GPP_R1, NONE, DEEP, NF2), + /* R2 : HDA_SDO ==> I2S0_PCH_TX_HP_RX_STRAP */ + PAD_CFG_NF(GPP_R2, DN_20K, DEEP, NF2), + /* R3 : HDA_SDIO ==> I2S0_PCH_RX_HP_TX */ + PAD_CFG_NF(GPP_R3, NONE, DEEP, NF2), + /* R4 : HDA_RST# ==> HDA_RST_L */ + PAD_CFG_NF(GPP_R4, DN_20K, DEEP, NF1), + /* R5 : HDA_SDI1 ==> I2S1_PCH_RX_SPKR_TX */ + PAD_CFG_NF(GPP_R5, NONE, DEEP, NF2), + /* R6 : I2S1_TXD ==> I2S1_PCH_RX_SPKR_RX */ + PAD_CFG_NF(GPP_R6, NONE, DEEP, NF2), + /* R7 : I2S1_SFRM ==> I2S1_SPKR_SFRM */ + PAD_CFG_NF(GPP_R7, NONE, DEEP, NF2), + + /* S0 : SNDW0_CLK ==> SNDW0_HP_CLK */ + PAD_CFG_NF(GPP_S0, NONE, DEEP, NF1), + /* S1 : SNDW0_DATA ==> SNDW0_HP_DATA */ + PAD_CFG_NF(GPP_S1, NONE, DEEP, NF1), + /* S2 : SNDW1_CLK ==> SNDW1_SPKR_CLK */ + PAD_CFG_NF(GPP_S2, NONE, DEEP, NF1), + /* S3 : SNDW1_DATA ==> SNDW1_SPKR_DATA */ + PAD_CFG_NF(GPP_S3, NONE, DEEP, NF1), + /* S4 : SNDW2_CLK ==> NOT USED */ + PAD_NC(GPP_S4, NONE), + /* S5 : SNDW2_DATA ==> NOT USED */ + PAD_NC(GPP_S5, NONE), + /* S6 : SNDW3_CLK ==> DMIC_CLK0 */ + PAD_CFG_NF(GPP_S6, NONE, DEEP, NF2), + /* S7 : SNDW3_DATA ==> DMIC_DATA0 */ + PAD_CFG_NF(GPP_S7, NONE, DEEP, NF2), + + /* GPD0: BATLOW# ==> BATLOW_L */ + PAD_CFG_NF(GPD0, NONE, DEEP, NF1), + /* GPD1: ACPRESENT ==> PCH_ACPRESENT */ + PAD_CFG_NF(GPD1, NONE, DEEP, NF1), + /* GPD2: LAN_WAKE# ==> EC_PCH_WAKE_ODL */ + PAD_CFG_NF(GPD2, NONE, DEEP, NF1), + /* GPD3: PWRBTN# ==> EC_PCH_PWR_BTN_ODL */ + PAD_CFG_NF(GPD3, NONE, DEEP, NF1), + /* GPD4: SLP_S3# ==> SLP_S3_L */ + PAD_CFG_NF(GPD4, NONE, DEEP, NF1), + /* GPD5: SLP_S4# ==> SLP_S4_L */ + PAD_CFG_NF(GPD5, NONE, DEEP, NF1), + /* GPD6: SLP_A# ==> SLP_A_L */ + PAD_CFG_NF(GPD6, NONE, DEEP, NF1), + /* GPD7: GPD7_STRAP */ + PAD_CFG_GPI(GPD7, DN_20K, DEEP), + /* GPD8: SUSCLK ==> PCH_SUSCLK */ + PAD_CFG_NF(GPD8, NONE, DEEP, NF1), + /* GPD9: SLP_WLAN# ==> SLP_WLAN_L */ + PAD_CFG_NF(GPD9, NONE, DEEP, NF1), + /* GPD10: SLP_S5# ==> SLP_S5_L */ + PAD_CFG_NF(GPD10, NONE, DEEP, NF1), + /* GPD11: LANPHYC ==> NC */ +}; + +const struct pad_config *variant_base_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(gpio_table); + return gpio_table; +} + +/* Early pad configuration in bootblock */ +static const struct pad_config early_gpio_table[] = { + /* A12 : SATAXPCIE1 ==> M2_SSD_PEDET */ + PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1), + + /* B11 : PMCALERT# ==> PCH_WP_OD */ + PAD_CFG_GPI_GPIO_DRIVER(GPP_B11, NONE, DEEP), + + /* B15 : GSPI0_CS0# ==> PCH_GSPI0_H1_TPM_CS_L */ + PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1), + + /* B16 : GSPI0_CLK ==> PCH_GSPI0_H1_TPM_CLK */ + PAD_CFG_NF(GPP_B16, NONE, DEEP, NF1), + + /* B17 : GSPI0_MISO ==> PCH_GSPIO_H1_TPM_MISO */ + PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1), + + /* B18 : GSPI0_MOSI ==> PCH_GSPI0_H1_TPM_MOSI_STRAP */ + PAD_CFG_NF(GPP_B18, DN_20K, DEEP, NF1), + + /* C0 : SMBCLK ==> EN_PP3300_WLAN */ + PAD_CFG_GPO(GPP_C0, 1, DEEP), + + /* C21 : UART2_TXD ==> H1_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_C21, NONE, PLTRST, LEVEL, INVERT), + + /* C22 : UART2_RTS# ==> PCH_FPMCU_BOOT0 */ + PAD_CFG_GPO(GPP_C22, 0, DEEP), + + /* E12 : SPI1_MISO_IO1 ==> EN_PP3300_SSD */ + PAD_CFG_GPO(GPP_E12, 1, DEEP), + + /* H11 : SRCCLKREQ5# ==> WLAN_PERST_L */ + PAD_CFG_GPO(GPP_H11, 1, RSMRST), +}; + +const struct pad_config *variant_early_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(early_gpio_table); + return early_gpio_table; +} + +static const struct cros_gpio cros_gpios[] = { + CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_COMM0_NAME), + CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_COMM0_NAME), +}; + +const struct cros_gpio *variant_cros_gpios(size_t *num) +{ + *num = ARRAY_SIZE(cros_gpios); + return cros_gpios; +} diff --git a/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h b/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h new file mode 100644 index 0000000..36cdff8 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h @@ -0,0 +1,20 @@ +/* + * This file is part of the coreboot project. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __VARIANT_EC_H__ +#define __VARIANT_EC_H__ + +#include <baseboard/ec.h> + +#endif diff --git a/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h b/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h new file mode 100644 index 0000000..4127969 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h @@ -0,0 +1,27 @@ +/* + * This file is part of the coreboot project. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#ifndef VARIANT_GPIO_H +#define VARIANT_GPIO_H + +#include <baseboard/gpio.h> + +/* Memory configuration board straps */ +/* Copied from baseboard and may need to change for the new variant. */ +#define GPIO_MEM_CONFIG_0 GPP_C12 +#define GPIO_MEM_CONFIG_1 GPP_C15 +#define GPIO_MEM_CONFIG_2 GPP_C14 +#define GPIO_MEM_CONFIG_3 GPP_D15 + +#endif diff --git a/src/mainboard/google/volteer/variants/malefor/memory.c b/src/mainboard/google/volteer/variants/malefor/memory.c new file mode 100644 index 0000000..2ad1c55 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/memory.c @@ -0,0 +1,58 @@ +/* + * This file is part of the coreboot project. + * + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> +#include <gpio.h> + +static const struct mb_lpddr4x_cfg baseboard_memcfg = { + /* DQ byte map */ + .dq_map = { + { 3, 1, 0, 2, 4, 6, 7, 5, /* Byte 0 */ + 12, 13, 14, 15, 8, 9, 10, 11 }, /* Byte 1 */ + { 0, 7, 1, 6, 2, 4, 3, 5, /* Byte 2 */ + 8, 15, 14, 9, 13, 10, 12, 11 }, /* Byte 3 */ + { 3, 2, 0, 1, 4, 5, 6, 7, /* Byte 4 */ + 12, 13, 15, 14, 8, 9, 10, 11 }, /* Byte 5 */ + { 6, 0, 1, 7, 5, 4, 2, 3, /* Byte 6 */ + 15, 14, 8, 9, 10, 12, 11, 13 }, /* Byte 7 */ + { 5, 0, 1, 3, 4, 2, 7, 6, /* Byte 0 */ + 11, 14, 13, 12, 8, 9, 15, 10 }, /* Byte 1 */ + { 3, 4, 2, 5, 0, 6, 1, 7, /* Byte 2 */ + 13, 12, 11, 10, 14, 15, 9, 8 }, /* Byte 3 */ + { 3, 2, 1, 0, 5, 4, 7, 6, /* Byte 4 */ + 12, 13, 15, 14, 8, 11, 9, 10 }, /* Byte 5 */ + { 3, 4, 2, 5, 1, 0, 7, 6, /* Byte 6 */ + 15, 14, 9, 8, 12, 10, 11, 13 } /* Byte 7 */ + }, + + /* DQS CPU<>DRAM map */ + .dqs_map = { + /* Ch 0 1 2 3 */ + { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, + { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } + }, + + .ect = 0, /* Disable Early Command Training */ +}; + +const struct mb_lpddr4x_cfg *__weak variant_memory_params(void) +{ + return &baseboard_memcfg; +} + +int variant_memory_sku(void) +{ + gpio_t spd_gpios[] = { + GPIO_MEM_CONFIG_0, + GPIO_MEM_CONFIG_1, + GPIO_MEM_CONFIG_2, + GPIO_MEM_CONFIG_3, + }; + + return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios)); +} diff --git a/src/mainboard/google/volteer/variants/malefor/overridetree.cb b/src/mainboard/google/volteer/variants/malefor/overridetree.cb new file mode 100644 index 0000000..32204c5 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/overridetree.cb @@ -0,0 +1,6 @@ +chip soc/intel/tigerlake + + device domain 0 on + end + +end
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... PS1, Line 339: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ 'PRES' may be misspelled - perhaps 'PRESS'?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 1: Code-Review+1
Caveh Jalali has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/Kconfig.name:
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... PS1, Line 11: config BOARD_GOOGLE_MALEFOR could you add this in alphabetical order?
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... PS1, Line 1: /* please replace with SPDX-License in all of these files.
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#2).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor sch.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: WilliamWei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 559 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/2
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... PS2, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ 'PRES' may be misspelled - perhaps 'PRESS'?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 2: Code-Review+1
(2 comments)
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/Kconfig.name:
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... PS1, Line 11: config BOARD_GOOGLE_MALEFOR
could you add this in alphabetical order?
Done
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/1/src/mainboard/google/voltee... PS1, Line 1: /*
please replace with SPDX-License […]
Done
Caveh Jalali has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 2: Code-Review+1
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro, Zhuohao Lee,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#3).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor sch.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: WilliamWei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 557 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/3
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 3: Code-Review+1
(1 comment)
Re-base and correct typo.
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... PS2, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */
'PRES' may be misspelled - perhaps 'PRESS'?
Done
Caveh Jalali has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 3: Code-Review+1
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... PS2, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */
Done
i haven't checked the schematics, but it is more important that this matches the schematics, even if the bot complains.
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro, Zhuohao Lee,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#4).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor sch.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: WilliamWei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 557 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/4
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/4/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/4/src/mainboard/google/voltee... PS4, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ 'PRES' may be misspelled - perhaps 'PRESS'?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 4: Code-Review+1
(1 comment)
Change the GPIO pin name matches the schematics.
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/2/src/mainboard/google/voltee... PS2, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */
i haven't checked the schematics, but it is more important that this matches the schematics, even if […]
Many thanks! I've rollback to USER_PRES_FP_ODL which match the schematics.
Caveh Jalali has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 4: Code-Review+1
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 4:
(2 comments)
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG@2 PS4, Line 2: WilliamWei Please add a space: William Wei
$ git config -g user.name "William Wei" $ git commit --amend --author="William Wei wenxu.wei@bitland.corp-partner.google.com"
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG@11 PS4, Line 11: sch schematics
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro, Zhuohao Lee,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#5).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor schematics.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: William Wei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 557 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/5
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 5:
(2 comments)
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG@2 PS4, Line 2: WilliamWei
Please add a space: William Wei […]
Done, thanks for your reminding.
https://review.coreboot.org/c/coreboot/+/39857/4//COMMIT_MSG@11 PS4, Line 11: sch
schematics
Done, thanks for your reminding.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 5:
(6 comments)
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 10: gpio_table Is this gpio_table just a complete copy of ripto/volteer? Or is this updated to handle malefor? If it is just a copy, can we just rely on using the baseboard default definitions instead of copying these?
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 405: early_gpio_table Same comment as above.
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 446: cros_gpios Same comment as above.
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 8: baseboard This is not really baseboard. I think you can just name this memcfg
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 39: __weak Why is this weak?
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 44: int variant_memory_sku(void) : { : gpio_t spd_gpios[] = { : GPIO_MEM_CONFIG_0, : GPIO_MEM_CONFIG_1, : GPIO_MEM_CONFIG_2, : GPIO_MEM_CONFIG_3, : }; : : return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios)); : } Is this different than what baseboard is providing?
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro, Zhuohao Lee,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#6).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor schematics.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: William Wei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 485 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/6
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ 'PRES' may be misspelled - perhaps 'PRESS'?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6: Code-Review+1
(6 comments)
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 10: gpio_table
Is this gpio_table just a complete copy of ripto/volteer? Or is this updated to handle malefor? If i […]
This table compatible with malefor board, not just a copy.
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 405: early_gpio_table
Same comment as above.
It's the same table with baseboard, I'll remove them.
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 446: cros_gpios
Same comment as above.
It's the same table with baseboard, I'll remove them.
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 8: baseboard
This is not really baseboard. […]
I'll change the structure name to malefor. Thanks for you suggestion!
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 39: __weak
Why is this weak?
Sorry, I missed remove it..
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 44: int variant_memory_sku(void) : { : gpio_t spd_gpios[] = { : GPIO_MEM_CONFIG_0, : GPIO_MEM_CONFIG_1, : GPIO_MEM_CONFIG_2, : GPIO_MEM_CONFIG_3, : }; : : return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios)); : }
Is this different than what baseboard is providing?
It's same as baseboard's definition, so I'll remove them.
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6:
Current comments resolved, please kindly help to review again. Thanks a lot.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6:
(13 comments)
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/5/src/mainboard/google/voltee... PS5, Line 10: gpio_table
This table compatible with malefor board, not just a copy.
Thanks! I think the baseboard gpio table needs to be cleaned up so that it is easier to use by variants. Anyways you can start with this for now.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 83: DN_20K Why?
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 91: DN_20K Why is this PD added?
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 101: DN_20K Why PD?
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 108: DN_20K Same here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 173: DN_20K Same here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 177: DN_20K Same here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 232: DN_20K Why does this have an internal PD?
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 257: DN_20K Same here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 291: DN_20K Same here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 293: DN_20K and here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 295: DN_20K and here.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 348: DN_20K Why?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6: -Code-Review
(12 comments)
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 83: DN_20K
Why?
The full table copy from Ripto, and Ripto used DN_20K. I'll change to NONE to match baseboard settings.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 91: DN_20K
Why is this PD added?
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 101: DN_20K
Why PD?
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 108: DN_20K
Same here.
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 173: DN_20K
Same here.
GPP_D10 has a similar function with GPP_D12, and we see the GPP_D12 also use a DN_20K, so we add it here. If you think NC pin do not use this, I'll change it to NONE.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 177: DN_20K
Same here.
Baseboard also has a DN_20K with NF7, we follow the settings here. If you think NC pin do not use this, I'll change it to NONE.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 232: DN_20K
Why does this have an internal PD?
The full table copy from Ripto, and Ripto used DN_20K. I'll change to NONE to match baseboard settings.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 257: DN_20K
Same here.
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 291: DN_20K
Same here.
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 293: DN_20K
and here.
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 295: DN_20K
and here.
Same reason.
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 348: DN_20K
Why?
Same reason.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 83: DN_20K
The full table copy from Ripto, and Ripto used DN_20K. […]
I don't think we should have those PD even in ripto.
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 6:
Patch Set 6:
(1 comment)
I'll change it to NONE.
Hello build bot (Jenkins), Patrick Georgi, Martin Roth, Caveh Jalali, Nick Vaccaro, Zhuohao Lee,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/39857
to look at the new patch set (#7).
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor schematics.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: William Wei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 485 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/39857/7
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... PS7, Line 328: /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ 'PRES' may be misspelled - perhaps 'PRESS'?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7: Code-Review+1
(12 comments)
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/gpio.c:
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 83: DN_20K
I don't think we should have those PD even in ripto.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 91: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 101: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 108: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 173: DN_20K
GPP_D10 has a similar function with GPP_D12, and we see the GPP_D12 also use a DN_20K, so we add it […]
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 177: DN_20K
Baseboard also has a DN_20K with NF7, we follow the settings here. […]
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 232: DN_20K
The full table copy from Ripto, and Ripto used DN_20K. […]
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 257: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 291: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 293: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 295: DN_20K
Same reason.
Done
https://review.coreboot.org/c/coreboot/+/39857/6/src/mainboard/google/voltee... PS6, Line 348: DN_20K
Same reason.
Done
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7: Code-Review+2
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... PS7, Line 6: mb_lpddr4x_cfg I just realized that there is a change for updating the dq_map and dqs_map: https://review.coreboot.org/c/coreboot/+/39865/10/src/mainboard/google/volte...
I was planning to submit it right now. Can you rebase on top of it? Or do you want me to make that change for malefor as well?
William Wei has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... PS7, Line 6: mb_lpddr4x_cfg
I just realized that there is a change for updating the dq_map and dqs_map: https://review.coreboot. […]
It's my pleasure if you make the same change for malefor. Thanks so much!
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... PS7, Line 6: mb_lpddr4x_cfg
It's my pleasure if you make the same change for malefor. […]
Sounds good. I will rebase on top of your CL.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... File src/mainboard/google/volteer/variants/malefor/memory.c:
https://review.coreboot.org/c/coreboot/+/39857/7/src/mainboard/google/voltee... PS7, Line 6: mb_lpddr4x_cfg
Sounds good. I will rebase on top of your CL.
Done
Furquan Shaikh has submitted this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
mb/google/volteer: Create Malefor variant
This commit creates a malefor variant for Volteer. The initial settings override the baseboard was copied from variant ripto. Fine tune GPIO and memory DQ based on malefor schematics.
BUG=b:150653745 BRANCH=volteer TEST=emerge-volteer coreboot
Signed-off-by: William Wei wenxu.wei@bitland.corp-partner.google.com Change-Id: Idbeebb13e537287686344740211143df35b7863a Reviewed-on: https://review.coreboot.org/c/coreboot/+/39857 Reviewed-by: Furquan Shaikh furquan@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/google/volteer/Kconfig M src/mainboard/google/volteer/Kconfig.name A src/mainboard/google/volteer/variants/malefor/Makefile.inc A src/mainboard/google/volteer/variants/malefor/gpio.c A src/mainboard/google/volteer/variants/malefor/include/variant/ec.h A src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h A src/mainboard/google/volteer/variants/malefor/memory.c A src/mainboard/google/volteer/variants/malefor/overridetree.cb 8 files changed, 485 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Furquan Shaikh: Looks good to me, approved William Wei: Looks good to me, but someone else must approve
diff --git a/src/mainboard/google/volteer/Kconfig b/src/mainboard/google/volteer/Kconfig index 54a8fec..0870c61 100644 --- a/src/mainboard/google/volteer/Kconfig +++ b/src/mainboard/google/volteer/Kconfig @@ -56,6 +56,7 @@ config MAINBOARD_PART_NUMBER string default "Halvor" if BOARD_GOOGLE_HALVOR + default "Malefor" if BOARD_GOOGLE_MALEFOR default "Ripto" if BOARD_GOOGLE_RIPTO default "Volteer" if BOARD_GOOGLE_VOLTEER
@@ -70,6 +71,7 @@ config VARIANT_DIR string default "halvor" if BOARD_GOOGLE_HALVOR + default "malefor" if BOARD_GOOGLE_MALEFOR default "ripto" if BOARD_GOOGLE_RIPTO default "volteer" if BOARD_GOOGLE_VOLTEER
diff --git a/src/mainboard/google/volteer/Kconfig.name b/src/mainboard/google/volteer/Kconfig.name index 596894e..62aabb1 100644 --- a/src/mainboard/google/volteer/Kconfig.name +++ b/src/mainboard/google/volteer/Kconfig.name @@ -4,6 +4,10 @@ bool "-> Halvor" select BOARD_GOOGLE_BASEBOARD_VOLTEER
+config BOARD_GOOGLE_MALEFOR + bool "-> Malefor" + select BOARD_GOOGLE_BASEBOARD_VOLTEER + config BOARD_GOOGLE_RIPTO bool "-> Ripto" select BOARD_GOOGLE_BASEBOARD_VOLTEER diff --git a/src/mainboard/google/volteer/variants/malefor/Makefile.inc b/src/mainboard/google/volteer/variants/malefor/Makefile.inc new file mode 100644 index 0000000..8a7cbec --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/Makefile.inc @@ -0,0 +1,11 @@ +## SPDX-License-Identifier: GPL-2.0-only +## This file is part of the coreboot project. + +## Memory Options +SPD_SOURCES = SPD_LPDDR4X_200b_8bank_1Rx16_16Gb_DDP_4267 # 0b0000 + +romstage-y += memory.c + +bootblock-y += gpio.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/volteer/variants/malefor/gpio.c b/src/mainboard/google/volteer/variants/malefor/gpio.c new file mode 100644 index 0000000..71a03e6 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/gpio.c @@ -0,0 +1,402 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* This file is part of the coreboot project. */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> +#include <commonlib/helpers.h> + +/* Pad configuration in ramstage */ +/* Leave eSPI pins untouched from default settings */ +static const struct pad_config gpio_table[] = { + /* A0 thru A6 come configured out of reset, do not touch */ + /* A0 : ESPI_IO0 ==> ESPI_IO_0 */ + /* A1 : ESPI_IO1 ==> ESPI_IO_1 */ + /* A2 : ESPI_IO2 ==> ESPI_IO_2 */ + /* A3 : ESPI_IO3 ==> ESPI_IO_3 */ + /* A4 : ESPI_CS# ==> ESPI_CS_L */ + /* A5 : ESPI_CLK ==> ESPI_CLK */ + /* A6 : ESPI_RESET# ==> NC(TP764) */ + /* A7 : I2S2_SCLK ==> EN_PP3300_TRACKPAD */ + PAD_CFG_GPO(GPP_A7, 1, DEEP), + /* A8 : I2S2_SFRM ==> EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO(GPP_A8, 1, DEEP), + /* A9 : I2S2_TXD ==> EC_IN_RW_OD */ + PAD_CFG_GPI(GPP_A9, NONE, DEEP), + /* A10 : I2S2_RXD ==> EN_SPKR_PA */ + PAD_CFG_GPO(GPP_A10, 1, DEEP), + /* A11 : PMC_I2C_SDA ==> SSD_PERST_L */ + PAD_CFG_GPO(GPP_A11, 1, DEEP), + /* A12 : SATAXPCIE1 ==> M2_SSD_PEDET */ + PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1), + /* A13 : PMC_I2C_SCL ==> BT_DISABLE_L */ + PAD_CFG_GPO(GPP_A13, 1, DEEP), + /* A14 : USB_OC1# ==> USB_A0_OC_ODL */ + PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1), + /* A15 : USB_OC2# ==> USB_A1_OC_ODL */ + PAD_CFG_NF(GPP_A15, NONE, DEEP, NF1), + /* A16 : USB_OC3# ==> USB_C0_OC_ODL */ + PAD_CFG_NF(GPP_A16, NONE, DEEP, NF1), + /* A17 : DDSP_HPDC ==> MEM_CH_SEL */ + PAD_CFG_GPI(GPP_A17, NONE, DEEP), + /* A18 : DDSP_HPDB ==> HDMI_HPD */ + PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1), + /* A19 : DDSP_HPD1 ==> USB_C0_DP_HPD */ + PAD_CFG_NF(GPP_A19, NONE, DEEP, NF1), + /* A20 : DDSP_HPD2 ==> USB_C1_DP_HPD */ + PAD_CFG_NF(GPP_A20, NONE, DEEP, NF1), + /* A21 : DDPC_CTRCLK ==> EN_FP_PWR */ + PAD_CFG_GPO(GPP_A21, 1, DEEP), + /* A22 : DDPC_CTRLDATA ==> EN_HDMI_PWR */ + PAD_CFG_GPO(GPP_A22, 1, DEEP), + /* A23 : I2S1_SCLK ==> I2S1_SPKR_SCLK */ + PAD_CFG_NF(GPP_A23, NONE, DEEP, NF1), + + /* B0 : CORE_VID0 */ + PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1), + /* B1 : CORE_VID1 */ + PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1), + /* B2 : VRALERT# ==> NOT USED */ + PAD_NC(GPP_B2, NONE), + /* B3 : CPU_GP2 ==> PEN_DET_ODL */ + PAD_CFG_GPI(GPP_B3, NONE, DEEP), + /* B4 : CPU_GP3 ==> NC */ + PAD_NC(GPP_B4, NONE), + /* B5 : ISH_I2C0_CVF_SDA ==> NOT USED*/ + PAD_NC(GPP_B5, NONE), + /* B6 : ISH_I2C0_CVF_SCL ==> NOT USED*/ + PAD_NC(GPP_B6, NONE), + /* B7 : ISH_12C1_SDA ==> NOT USED */ + PAD_NC(GPP_B7, NONE), + /* B8 : ISH_I2C1_SCL ==> NOT USED */ + PAD_NC(GPP_B8, NONE), + /* B9 : I2C5_SDA ==> PCH_I2C5_TRACKPAD_SDA */ + PAD_CFG_NF(GPP_B9, NONE, DEEP, NF1), + /* B10 : I2C5_SCL ==> PCH_I2C5_TRACKPAD_SCL */ + PAD_CFG_NF(GPP_B10, NONE, DEEP, NF1), + /* B11 : PMCALERT# ==> PCH_WP_OD */ + PAD_CFG_GPI_GPIO_DRIVER(GPP_B11, NONE, DEEP), + /* B12 : SLP_S0# ==> SLP_S0_L */ + PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1), + /* B13 : PLTRST# ==> PLT_RST_L */ + PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1), + /* B14 : SPKR ==> GPP_B14_STRAP */ + PAD_NC(GPP_B14, NONE), + /* B15 : GSPI0_CS0# ==> PCH_GSPI0_H1_TPM_CS_L */ + PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1), + /* B16 : GSPI0_CLK ==> PCH_GSPI0_H1_TPM_CLK */ + PAD_CFG_NF(GPP_B16, NONE, DEEP, NF1), + /* B17 : GSPI0_MISO ==> PCH_GSPIO_H1_TPM_MISO */ + PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1), + /* B18 : GSPI0_MOSI ==> PCH_GSPI0_H1_TPM_MOSI_STRAP */ + PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1), + /* B19 : GSPI1_CS0# ==> PCH_GSPI1_FPMCU_CS_L */ + PAD_CFG_NF(GPP_B19, NONE, DEEP, NF1), + /* B20 : GSPI1_CLK ==> PCH_GSPI1_FPMCU_CLK */ + PAD_CFG_NF(GPP_B20, NONE, DEEP, NF1), + /* B21 : GSPI1_MISO ==> PCH_GSPI1_FPMCU_MISO */ + PAD_CFG_NF(GPP_B21, NONE, DEEP, NF1), + /* B22 : GSPI1_MOSI ==> PCH_GSPI1_GPMCU_MOSI */ + PAD_CFG_NF(GPP_B22, NONE, DEEP, NF1), + /* B23 : SML1ALERT# ==> GPP_B23_STRAP # */ + PAD_NC(GPP_B23, NONE), + + /* C0 : SMBCLK ==> EN_PP3300_WLAN */ + PAD_CFG_GPO(GPP_C0, 1, DEEP), + /* C1 : SMBDATA ==> NOT USED */ + PAD_NC(GPP_C1, NONE), + /* C2 : SMBALERT# ==> GPP_C2_STRAP */ + PAD_NC(GPP_C2, NONE), + /* C3 : SML0CLK ==> USB4_SMB_SCL */ + PAD_CFG_NF(GPP_C3, NONE, DEEP, NF1), + /* C4 : SML0DATA ==> USB4_SMB_SDA */ + PAD_CFG_NF(GPP_C4, NONE, DEEP, NF1), + /* C5 : SML0ALERT# ==> USB_SMB_INT_L_BOOT_STRAP0 */ + PAD_NC(GPP_C5, NONE), + /* C6 : SML1CLK ==> EC_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_C6, NONE, PLTRST, LEVEL, INVERT), + /* C7 : SML1DATA ==> EN_PP5000_PEN */ + PAD_CFG_GPO(GPP_C7, 1, DEEP), + /* C8 : UART0_RXD ==> UART_PCH_RX_DEBUG_TX */ + PAD_CFG_NF(GPP_C8, NONE, DEEP, NF1), + /* C9 : UART0_TXD ==> UART_PCH_TX_DEBUG_RX */ + PAD_CFG_NF(GPP_C9, NONE, DEEP, NF1), + /* C10 : UART0_RTS# ==> USI_RST_L */ + PAD_CFG_GPO(GPP_C10, 1, DEEP), + /* C11 : UART0_CTS# ==> NOT USED */ + PAD_NC(GPP_C11, NONE), + /* C12 : UART1_RXD ==> MEM_STRAP_0 */ + PAD_CFG_GPI(GPP_C12, NONE, DEEP), + /* C13 : UART1_TXD ==> NOT USED */ + PAD_NC(GPP_C13, NONE), + /* C14 : UART1_RTS# ==> MEM_STRAP_2 */ + PAD_CFG_GPI(GPP_C14, NONE, DEEP), + /* C15 : UART1_CTS# ==> MEM_STRAP_1 */ + PAD_CFG_GPI(GPP_C15, NONE, DEEP), + /* C16 : I2C0_SDA ==> PCH_I2C0_1V8_AUDIO_SDA */ + PAD_CFG_NF(GPP_C16, NONE, DEEP, NF1), + /* C17 : I2C0_SCL ==> PCH_I2C0_1V8_AUDIO_SCL */ + PAD_CFG_NF(GPP_C17, NONE, DEEP, NF1), + /* C18 : I2C1_SDA ==> PCH_I2C1_TOUCH_USI_SDA */ + PAD_CFG_NF(GPP_C18, NONE, DEEP, NF1), + /* C19 : I2C1_SCL ==> PCH_I2C1_TOUCH_USI_SCL */ + PAD_CFG_NF(GPP_C19, NONE, DEEP, NF1), + /* C20 : UART2_RXD ==> FPMCU_INT_L */ + PAD_CFG_GPI_INT(GPP_C20, NONE, PLTRST, LEVEL), + /* C21 : UART2_TXD ==> H1_PCH_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_C21, NONE, PLTRST, LEVEL, INVERT), + /* C22 : UART2_RTS# ==> PCH_FPMCU_BOOT0 */ + PAD_CFG_GPO(GPP_C22, 0, DEEP), + /* C23 : UART2_CTS# ==> FPMCU_RST_ODL */ + PAD_CFG_GPO(GPP_C23, 1, DEEP), + + /* D0 : ISH_GP0 ==> NOT USED */ + PAD_NC(GPP_D0, NONE), + /* D1 : ISH_GP1 ==> NOT USED */ + PAD_NC(GPP_D1, NONE), + /* D2 : ISH_GP2 ==> NOT USED */ + PAD_NC(GPP_D2, NONE), + /* D3 : ISH_GP3 ==> NOT USED */ + PAD_NC(GPP_D3, NONE), + /* D4 : IMGCLKOUT0 ==> NOT USED */ + PAD_NC(GPP_D4, NONE), + /* D5 : SRCCLKREQ0$ ==> SSD_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D5, NONE, DEEP, NF1), + /* D6 : SRCCLKREQ1# ==> WLAN_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1), + /* D7 : SRCCLKREQ2# ==> NOT USED */ + PAD_NC(GPP_D7, NONE), + /* D8 : SRCCLKREQ3# ==> SD_CLKREQ_ODL */ + PAD_CFG_NF(GPP_D8, NONE, DEEP, NF1), + /* D9 : ISH_SPI_CS# ==> NOT USED */ + PAD_NC(GPP_D9, NONE), + /* D10 : ISH_SPI_CLK ==> PCH_GSPI2_CVF_CLK_STRAP */ + PAD_NC(GPP_D10, NONE), + /* D11 : ISH_SPI_MISO ==> NOT USED */ + PAD_NC(GPP_D11, NONE), + /* D12 : ISH_SPI_MOSI ==> PCH_GSPI2_CVF_MISO_STRAP */ + PAD_NC(GPP_D12, NONE), + /* D13 : ISH_UART0_RXD ==> UART_ISH_RX_DEBUG_TX */ + PAD_CFG_NF(GPP_D13, NONE, DEEP, NF1), + /* D14 : ISH_UART0_TXD ==> UART_ISH_TX_DEBUG_RX */ + PAD_CFG_NF(GPP_D14, NONE, DEEP, NF1), + /* D15 : ISH_UART0_RTS# ==> MEM_STRAP_3 */ + PAD_CFG_GPI(GPP_D15, NONE, DEEP), + /* D16 : ISH_UART0_CTS# ==> EN_PP3300_SD */ + PAD_CFG_GPO(GPP_D16, 1, DEEP), + /* D17 : ISH_GP4 ==> EN_CVF_PWR */ + PAD_CFG_GPO(GPP_D17, 1, DEEP), + /* D18 : ISH_GP5 ==> NOT USED */ + PAD_NC(GPP_D18, NONE), + /* D19 : I2S_MCLK1 ==> I2S_MCLK1 */ + PAD_CFG_NF(GPP_D19, NONE, DEEP, NF1), + + /* E0 : SATAXPCIE0 ==> USB_A1_RT_RST_ODL */ + PAD_CFG_GPO(GPP_E0, 1, DEEP), + /* E1 : SPI1_IO2 ==> PEN_DET_ODL */ + PAD_CFG_GPI_SCI_LOW(GPP_E1, NONE, DEEP, EDGE_SINGLE), + /* E2 : SPI1_IO3 ==> WLAN_PCIE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E2, NONE, DEEP), + /* E3 : CPU_GP0 ==> USI_REPORT_EN */ + PAD_CFG_GPO(GPP_E3, 1, DEEP), + /* E4 : SATA_DEVSLP0 ==> M2_SSD_PE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E4, NONE, DEEP), + /* E5 : SATA_DEVSLP1 ==> M2_SSD_DEVSLP_OD */ + PAD_CFG_NF(GPP_E5, NONE, DEEP, NF1), + /* E6 : THC0_SPI1_RST# ==> GPPE6_STRAP */ + PAD_NC(GPP_E6, NONE), + /* E7 : CPU_GP1 ==> USI_INT */ + PAD_CFG_GPI(GPP_E7, NONE, DEEP), + /* E8 : SPI1_CS1# ==> SLP_S0IX */ + PAD_CFG_GPO(GPP_E8, 0, DEEP), + /* E9 : USB2_OC0# ==> USB_C1_OC_ODL */ + PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1), + /* E10 : SPI1_CS# ==> USB_C0_AUXP_DC */ + PAD_CFG_GPO(GPP_E10, 0, DEEP), + /* E11 : SPI1_CLK ==> SD_PE_WAKE_ODL */ + PAD_CFG_GPI(GPP_E11, NONE, DEEP), + /* E12 : SPI1_MISO_IO1 ==> PEN_ALERT_ODL */ + PAD_CFG_GPI(GPP_E12, NONE, DEEP), + /* E13 : SPI1_MOSI_IO0 ==> USB_C0_AUXN_DC */ + PAD_CFG_GPO(GPP_E13, 0, DEEP), + /* E14 : DDPC_HPDA ==> SOC_EDP_HPD */ + PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), + /* E15 : ISH_GP6 ==> TRACKPAD_INT_ODL */ + PAD_CFG_GPI_APIC(GPP_E15, NONE, PLTRST, LEVEL, INVERT), + /* E16 : ISH_GP7 ==> NOT USED */ + PAD_NC(GPP_E16, NONE), + /* E17 : THC0_SPI1_INT# ==> NOT USED */ + PAD_NC(GPP_E17, NONE), + /* E18 : DDP1_CTRLCLK ==> USB_C0_LSX_SOC_TX */ + PAD_CFG_NF(GPP_E18, NONE, DEEP, NF4), + /* E19 : DDP1_CTRLDATA ==> USB0_C0_LSX_SOC_RX_STRAP */ + PAD_CFG_NF(GPP_E19, NONE, DEEP, NF4), + /* E20 : DDP2_CTRLCLK ==> USB_C1_LSX_SOC_TX */ + PAD_CFG_NF(GPP_E20, NONE, DEEP, NF4), + /* E21 : DDP2_CTRLDATA ==> USB_C1_LSX_SOC_RX_STRAP */ + PAD_CFG_NF(GPP_E21, NONE, DEEP, NF4), + /* E22 : DDPA_CTRLCLK ==> USB_C1_AUXP_DC: Retimer FW drives this pin */ + PAD_NC(GPP_E22, NONE), + /* E23 : DDPA_CTRLDATA ==> USB_C1_AUXN_DC: Retimer FW drives this pin */ + PAD_NC(GPP_E23, NONE), + + /* F0 : CNV_BRI_DT ==> CNV_BRI_DT_STRAP */ + PAD_CFG_NF(GPP_F0, NONE, DEEP, NF1), + /* F1 : CNV_BRI_RSP ==> NCV_BRI_RSP */ + PAD_CFG_NF(GPP_F1, UP_20K, DEEP, NF1), + /* F2 : I2S2_TXD ==> CNV_RGI_DT_STRAP */ + PAD_CFG_NF(GPP_F2, NONE, DEEP, NF1), + /* F3 : I2S2_RXD ==> CNV_RGI_RSP */ + PAD_CFG_NF(GPP_F3, UP_20K, DEEP, NF1), + /* F4 : CNV_RF_RESET# ==> CNV_RF_RST_L */ + PAD_CFG_NF(GPP_F4, NONE, DEEP, NF1), + /* F5 : MODEM_CLKREQ ==> CNV_CLKREQ0 */ + PAD_CFG_NF(GPP_F5, NONE, DEEP, NF3), + /* F6 : CNV_PA_BLANKING ==> WWAN_WLAN_COEX3 */ + PAD_CFG_NF(GPP_F6, NONE, DEEP, NF1), + /* F7 : GPPF7_STRAP */ + PAD_NC(GPP_F7, NONE), + /* F8 : I2S_MCLK2_INOUT ==> HP_INT_L */ + PAD_CFG_GPI_APIC(GPP_F8, UP_20K, DEEP, EDGE_BOTH, INVERT), + /* F9 : Reserved ==> NC */ + /* F10 : GPPF10_STRAP */ + PAD_NC(GPP_F10, DN_20K), + /* F11 : THC1_SPI2_CLK ==> NOT USED */ + PAD_NC(GPP_F11, NONE), + /* F12 : GSXDOUT ==> NOT USED */ + PAD_NC(GPP_F12, NONE), + /* F13 : GSXDOUT ==> WiFi_DISABLE_L */ + PAD_CFG_GPO(GPP_F13, 1, DEEP), + /* F14 : GSXDIN ==> NOT USED */ + PAD_NC(GPP_F14, NONE), + /* F15 : GSXSRESET# ==> NOT USED */ + PAD_NC(GPP_F15, NONE), + /* F16 : GSXCLK ==> NOT USED */ + PAD_NC(GPP_F16, NONE), + /* F17 : NOT USED */ + PAD_NC(GPP_F17, NONE), + /* F18 : THC1_SPI2_INT# ==> NOT USED */ + PAD_NC(GPP_F18, NONE), + /* F19 : SRCCLKREQ6# ==> WLAN_INT_L */ + PAD_CFG_GPI_SCI_LOW(GPP_F19, NONE, DEEP, EDGE_SINGLE), + /* F20 : EXT_PWR_GATE# ==> EXT_PWR_GATE_L */ + PAD_CFG_NF(GPP_F20, NONE, DEEP, NF1), + /* F21 : EXT_PWR_GATE2# ==> EXT_PWR_GATE2_L */ + PAD_CFG_NF(GPP_F21, NONE, DEEP, NF1), + /* F22 : VNN_CTRL */ + PAD_CFG_NF(GPP_F22, NONE, DEEP, NF1), + /* F23 : V1P05_CTRL */ + PAD_CFG_NF(GPP_F23, NONE, DEEP, NF1), + + /* H0 : GPPH0_BOOT_STRAP1 */ + PAD_NC(GPP_H0, NONE), + /* H1 : GPPH1_BOOT_STRAP2 */ + PAD_NC(GPP_H1, NONE), + /* H2 : GPPH2_BOOT_STRAP3 */ + PAD_NC(GPP_H2, NONE), + /* H3 : SX_EXIT_HOLDOFF# ==> SD_PERST_L */ + PAD_CFG_GPO(GPP_H3, 1, DEEP), + /* H4 : I2C2_SDA ==> PCH_I2C2_MISC_SDA */ + PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1), + /* H5 : I2C2_SCL ==> PCH_I2C2_MISC_SCL */ + PAD_CFG_NF(GPP_H5, NONE, DEEP, NF1), + /* H6 : I2C3_SDA ==> NOT USED */ + PAD_NC(GPP_H6, NONE), + /* H7 : I2C3_SCL ==> NOT USED */ + PAD_NC(GPP_H7, NONE), + /* H8 : I2C4_SDA ==> WWAN_WLAN_COEX1 */ + PAD_CFG_NF(GPP_H8, NONE, DEEP, NF2), + /* H9 : I2C4_SCL ==> WWAN_WLAN_COEX2 */ + PAD_CFG_NF(GPP_H9, NONE, DEEP, NF2), + /* H10 : SRCCLKREQ4# ==> USB_C1_RT_FORCE_PWR */ + PAD_CFG_GPO(GPP_H10, 1, DEEP), + /* H11 : SRCCLKREQ5# ==> WLAN_PERST_L */ + PAD_CFG_GPO(GPP_H11, 1, DEEP), + /* H12 : M2_SKT2_CFG0 ==> NOT USED */ + PAD_NC(GPP_H12, NONE), + /* H13 : M2_SKT2_CFG1 # ==> NOT USED */ + PAD_NC(GPP_H13, NONE), + /* H14 : M2_SKT2_CFG2 # ==> NOT SUED */ + PAD_NC(GPP_H14, NONE), + /* H15 : M2_SKT2_CFG3 # ==> NOT USED */ + PAD_NC(GPP_H15, NONE), + /* H16 : DDPB_CTRLCLK ==> DDPB_HDMI_CTRLCLK */ + PAD_CFG_NF(GPP_H16, NONE, DEEP, NF1), + /* H17 : DDPB_CTRLDATA ==> DDPB_HDMI_CTRLDATA */ + PAD_CFG_NF(GPP_H17, NONE, DEEP, NF1), + /* H18 : CPU_C10_GATE# ==> CPU_C10_GATE_L */ + PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1), + /* H19 : TIME_SYNC0 ==> USER_PRES_FP_ODL */ + PAD_CFG_GPI(GPP_H19, NONE, DEEP), + /* H20 : IMGCLKOUT1 ==> EN_MIPI_RCAM_PWR */ + PAD_CFG_GPO(GPP_H20, 1, PLTRST), + /* H21 : IMGCLKOUT2 ==> NOT USED */ + PAD_NC(GPP_H21, NONE), + /* H22 : IMGCLKOUT3 ==> NOT USED */ + PAD_NC(GPP_H22, NONE), + /* H23 : IMGCLKOUT4 ==> NOT USED */ + PAD_NC(GPP_H23, NONE), + + /* R0 : HDA_BCLK ==> I2S0_HP_SCLK */ + PAD_CFG_NF(GPP_R0, NONE, DEEP, NF2), + /* R1 : HDA_SYNC ==> I2S0_HP_SFRM */ + PAD_CFG_NF(GPP_R1, NONE, DEEP, NF2), + /* R2 : HDA_SDO ==> I2S0_PCH_TX_HP_RX_STRAP */ + PAD_CFG_NF(GPP_R2, DN_20K, DEEP, NF2), + /* R3 : HDA_SDIO ==> I2S0_PCH_RX_HP_TX */ + PAD_CFG_NF(GPP_R3, NONE, DEEP, NF2), + /* R4 : HDA_RST# ==> HDA_RST_L */ + PAD_CFG_NF(GPP_R4, NONE, DEEP, NF1), + /* R5 : HDA_SDI1 ==> I2S1_PCH_RX_SPKR_TX */ + PAD_CFG_NF(GPP_R5, NONE, DEEP, NF2), + /* R6 : I2S1_TXD ==> I2S1_PCH_RX_SPKR_RX */ + PAD_CFG_NF(GPP_R6, NONE, DEEP, NF2), + /* R7 : I2S1_SFRM ==> I2S1_SPKR_SFRM */ + PAD_CFG_NF(GPP_R7, NONE, DEEP, NF2), + + /* S0 : SNDW0_CLK ==> SNDW0_HP_CLK */ + PAD_CFG_NF(GPP_S0, NONE, DEEP, NF1), + /* S1 : SNDW0_DATA ==> SNDW0_HP_DATA */ + PAD_CFG_NF(GPP_S1, NONE, DEEP, NF1), + /* S2 : SNDW1_CLK ==> SNDW1_SPKR_CLK */ + PAD_CFG_NF(GPP_S2, NONE, DEEP, NF1), + /* S3 : SNDW1_DATA ==> SNDW1_SPKR_DATA */ + PAD_CFG_NF(GPP_S3, NONE, DEEP, NF1), + /* S4 : SNDW2_CLK ==> NOT USED */ + PAD_NC(GPP_S4, NONE), + /* S5 : SNDW2_DATA ==> NOT USED */ + PAD_NC(GPP_S5, NONE), + /* S6 : SNDW3_CLK ==> DMIC_CLK0 */ + PAD_CFG_NF(GPP_S6, NONE, DEEP, NF2), + /* S7 : SNDW3_DATA ==> DMIC_DATA0 */ + PAD_CFG_NF(GPP_S7, NONE, DEEP, NF2), + + /* GPD0: BATLOW# ==> BATLOW_L */ + PAD_CFG_NF(GPD0, NONE, DEEP, NF1), + /* GPD1: ACPRESENT ==> PCH_ACPRESENT */ + PAD_CFG_NF(GPD1, NONE, DEEP, NF1), + /* GPD2: LAN_WAKE# ==> EC_PCH_WAKE_ODL */ + PAD_CFG_NF(GPD2, NONE, DEEP, NF1), + /* GPD3: PWRBTN# ==> EC_PCH_PWR_BTN_ODL */ + PAD_CFG_NF(GPD3, NONE, DEEP, NF1), + /* GPD4: SLP_S3# ==> SLP_S3_L */ + PAD_CFG_NF(GPD4, NONE, DEEP, NF1), + /* GPD5: SLP_S4# ==> SLP_S4_L */ + PAD_CFG_NF(GPD5, NONE, DEEP, NF1), + /* GPD6: SLP_A# ==> SLP_A_L */ + PAD_CFG_NF(GPD6, NONE, DEEP, NF1), + /* GPD7: GPD7_STRAP */ + PAD_CFG_GPI(GPD7, DN_20K, DEEP), + /* GPD8: SUSCLK ==> PCH_SUSCLK */ + PAD_CFG_NF(GPD8, NONE, DEEP, NF1), + /* GPD9: SLP_WLAN# ==> SLP_WLAN_L */ + PAD_CFG_NF(GPD9, NONE, DEEP, NF1), + /* GPD10: SLP_S5# ==> SLP_S5_L */ + PAD_CFG_NF(GPD10, NONE, DEEP, NF1), + /* GPD11: LANPHYC ==> NC */ +}; + +const struct pad_config *variant_base_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(gpio_table); + return gpio_table; +} diff --git a/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h b/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h new file mode 100644 index 0000000..33e7971 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/include/variant/ec.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* This file is part of the coreboot project. */ + +#ifndef __VARIANT_EC_H__ +#define __VARIANT_EC_H__ + +#include <baseboard/ec.h> + +#endif diff --git a/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h b/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h new file mode 100644 index 0000000..55725ad --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/include/variant/gpio.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* This file is part of the coreboot project. */ + +#ifndef VARIANT_GPIO_H +#define VARIANT_GPIO_H + +#include <baseboard/gpio.h> + +/* Copied from baseboard and may need to change for the new variant. */ + +#endif diff --git a/src/mainboard/google/volteer/variants/malefor/memory.c b/src/mainboard/google/volteer/variants/malefor/memory.c new file mode 100644 index 0000000..75ac762 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/memory.c @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* This file is part of the coreboot project. */ + +#include <baseboard/variants.h> + +static const struct mb_lpddr4x_cfg malefor_memcfg = { + /* DQ byte map */ + .dq_map = { + { 3, 1, 0, 2, 4, 6, 7, 5, /* Byte 0 */ + 12, 13, 14, 15, 8, 9, 10, 11 }, /* Byte 1 */ + { 0, 7, 1, 6, 2, 4, 3, 5, /* Byte 2 */ + 8, 15, 14, 9, 13, 10, 12, 11 }, /* Byte 3 */ + { 3, 2, 0, 1, 4, 5, 6, 7, /* Byte 4 */ + 12, 13, 15, 14, 8, 9, 10, 11 }, /* Byte 5 */ + { 6, 0, 1, 7, 5, 4, 2, 3, /* Byte 6 */ + 15, 14, 8, 9, 10, 12, 11, 13 }, /* Byte 7 */ + { 5, 0, 1, 3, 4, 2, 7, 6, /* Byte 0 */ + 11, 14, 13, 12, 8, 9, 15, 10 }, /* Byte 1 */ + { 3, 4, 2, 5, 0, 6, 1, 7, /* Byte 2 */ + 13, 12, 11, 10, 14, 15, 9, 8 }, /* Byte 3 */ + { 3, 2, 1, 0, 5, 4, 7, 6, /* Byte 4 */ + 12, 13, 15, 14, 8, 11, 9, 10 }, /* Byte 5 */ + { 3, 4, 2, 5, 1, 0, 7, 6, /* Byte 6 */ + 15, 14, 9, 8, 12, 10, 11, 13 } /* Byte 7 */ + }, + + /* DQS CPU<>DRAM map */ + .dqs_map = { + /* Ch 0 1 2 3 */ + { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, + { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } + }, + + .ect = 0, /* Disable Early Command Training */ +}; + +const struct mb_lpddr4x_cfg *variant_memory_params(void) +{ + return &malefor_memcfg; +} diff --git a/src/mainboard/google/volteer/variants/malefor/overridetree.cb b/src/mainboard/google/volteer/variants/malefor/overridetree.cb new file mode 100644 index 0000000..32204c5 --- /dev/null +++ b/src/mainboard/google/volteer/variants/malefor/overridetree.cb @@ -0,0 +1,6 @@ +chip soc/intel/tigerlake + + device domain 0 on + end + +end
9elements QA has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39857 )
Change subject: mb/google/volteer: Create Malefor variant ......................................................................
Patch Set 8:
Automatic boot test returned (PASS/FAIL/TOTAL): 3/0/3 Emulation targets: EMULATION_QEMU_X86_Q35 using payload TianoCore : SUCCESS : https://lava.9esec.io/r/1990 EMULATION_QEMU_X86_Q35 using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/1989 EMULATION_QEMU_X86_I440FX using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/1988
Please note: This test is under development and might not be accurate at all!