diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig index 7da805504f..06adc7f346 100644 --- a/src/mainboard/google/brya/Kconfig +++ b/src/mainboard/google/brya/Kconfig @@ -518,6 +518,7 @@ config BOARD_GOOGLE_PUJJOCENTO select BOARD_GOOGLE_BASEBOARD_TRULO select DRIVERS_I2C_SX9324 select DRIVERS_I2C_SX9324_SUPPORT_LEGACY_LINUX_DRIVER + select ENFORCE_MEM_CHANNEL_DISABLE select HAVE_WWAN_POWER_SEQUENCE select MAINBOARD_HAS_GOOGLE_STRAUSS_KEYBOARD select SOC_INTEL_COMMON_BLOCK_HDA_VERB diff --git a/src/mainboard/google/brya/variants/pujjocento/gpio.c b/src/mainboard/google/brya/variants/pujjocento/gpio.c index 3df21e79b6..e079b19981 100644 --- a/src/mainboard/google/brya/variants/pujjocento/gpio.c +++ b/src/mainboard/google/brya/variants/pujjocento/gpio.c @@ -451,7 +451,7 @@ static const struct pad_config early_gpio_table[] = { /* H11 : UART0_TXD ==> UART_SOC_TX_DBG_RX */ PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2), /* E13 : THC0_SPI1_IO0 ==> SINGLE CHANNEL */ - PAD_CFG_GPI(GPP_E13, NONE, DEEP), + PAD_CFG_GPI_LOCK(GPP_E13, NONE, LOCK_CONFIG), /* H20 : IMGCLKOUT1 ==> WLAN_PERST_L */ PAD_CFG_GPO(GPP_H20, 0, DEEP), }; diff --git a/src/mainboard/google/brya/variants/pujjocento/memory.c b/src/mainboard/google/brya/variants/pujjocento/memory.c index bb80ee15ec..2a56efbbf5 100644 --- a/src/mainboard/google/brya/variants/pujjocento/memory.c +++ b/src/mainboard/google/brya/variants/pujjocento/memory.c @@ -3,6 +3,7 @@ #include #include #include +#include static const struct mb_cfg variant_memcfg = { .type = MEM_TYPE_LP5X, @@ -109,3 +110,16 @@ void variant_get_spd_info(struct mem_spd *spd_info) spd_info->topo = MEM_TOPO_MEMORY_DOWN; spd_info->cbfs_index = variant_memory_sku(); } + +uint8_t mb_get_channel_disable_mask(void) +{ + /* + * GPP_E13 High -> One RAM Chip + * GPP_E13 Low -> Two RAM Chip + */ + if (gpio_get(GPP_E13)) { + /* Disable all other channels except first two on each controller */ + return (BIT(2) | BIT(3)); + } + return 0; +}