diff options
author | Leo Chou <leo.chou@lcfc.corp-partner.google.com> | 2022-08-18 18:17:57 +0800 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-08-21 14:52:22 +0000 |
commit | 50b45d35f097d017e18e27d43c65f7e458df7e4e (patch) | |
tree | 36506baaa2c8d71d56f9f01ae8ddb410b6c91543 | |
parent | d6bf000a0ee8be0a2090333668e5d2e8274e1063 (diff) |
mb/google/nissa/var/pujjo: Add FW_CONFIG probe for Pujjoteen disable
bypass power
Add FW_CONFIG probe to separate ext fivr settings for Pujjoteen
and others(Pujjo and Pujjoflex)
BUG=b:242663554
TEST=Boot to OS and verify that ext_fivr_settings are set based on
fw_config.
Signed-off-by: Leo Chou <leo.chou@lcfc.corp-partner.google.com>
Change-Id: I6bb6d1701c55459cf331dd2f3ffe07f91bca2fa5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66863
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
-rw-r--r-- | src/mainboard/google/brya/variants/pujjo/Makefile.inc | 1 | ||||
-rw-r--r-- | src/mainboard/google/brya/variants/pujjo/overridetree.cb | 17 | ||||
-rw-r--r-- | src/mainboard/google/brya/variants/pujjo/variant.c | 33 |
3 files changed, 40 insertions, 11 deletions
diff --git a/src/mainboard/google/brya/variants/pujjo/Makefile.inc b/src/mainboard/google/brya/variants/pujjo/Makefile.inc index 8ae0e3b61c..e04a887191 100644 --- a/src/mainboard/google/brya/variants/pujjo/Makefile.inc +++ b/src/mainboard/google/brya/variants/pujjo/Makefile.inc @@ -4,4 +4,5 @@ bootblock-y += gpio.c romstage-y += gpio.c ramstage-$(CONFIG_FW_CONFIG) += fw_config.c +ramstage-y += variant.c ramstage-y += gpio.c diff --git a/src/mainboard/google/brya/variants/pujjo/overridetree.cb b/src/mainboard/google/brya/variants/pujjo/overridetree.cb index 552b24472f..16b6a136a6 100644 --- a/src/mainboard/google/brya/variants/pujjo/overridetree.cb +++ b/src/mainboard/google/brya/variants/pujjo/overridetree.cb @@ -24,6 +24,10 @@ fw_config field AUDIO 12 14 option ALC1019_ALC5682IVS 0 end + field EXT_VR 15 + option EXT_VR_PRESENT 0 + option EXT_VR_ABSENT 1 + end end @@ -55,19 +59,10 @@ chip soc/intel/alderlake register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN - # Configure external V1P05/Vnn/VnnSx Rails + # FIVR configurations for Pujjoteen are disabled since the board doesn't have V1p05 and Vnn + # bypass rails implemented. register "ext_fivr_settings" = "{ .configure_ext_fivr = 1, - .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX, - .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX, - .vnn_sx_enable_bitmap = FIVR_ENABLE_ALL_SX, - .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL, - .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_MIN_ACTIVE, - .v1p05_voltage_mv = 1050, - .vnn_voltage_mv = 780, - .vnn_sx_voltage_mv = 1050, - .v1p05_icc_max_ma = 500, - .vnn_icc_max_ma = 500, }" # Intel Common SoC Config diff --git a/src/mainboard/google/brya/variants/pujjo/variant.c b/src/mainboard/google/brya/variants/pujjo/variant.c new file mode 100644 index 0000000000..54542f4dcd --- /dev/null +++ b/src/mainboard/google/brya/variants/pujjo/variant.c @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include <fw_config.h> +#include <baseboard/variants.h> + +void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config) +{ + // Configure external V1P05/Vnn/VnnSx Rails for Pujjo, Pujjoflex + if (fw_config_probe(FW_CONFIG(EXT_VR, EXT_VR_PRESENT))) { + config->ext_fivr_settings.configure_ext_fivr = 1; + + config->ext_fivr_settings.v1p05_enable_bitmap = + FIVR_ENABLE_ALL_SX; + + config->ext_fivr_settings.vnn_enable_bitmap = + FIVR_ENABLE_ALL_SX; + + config->ext_fivr_settings.vnn_sx_enable_bitmap = + FIVR_ENABLE_ALL_SX; + + config->ext_fivr_settings.v1p05_supported_voltage_bitmap = + FIVR_VOLTAGE_NORMAL; + + config->ext_fivr_settings.vnn_supported_voltage_bitmap = + FIVR_VOLTAGE_MIN_ACTIVE; + + config->ext_fivr_settings.v1p05_voltage_mv = 1050; + config->ext_fivr_settings.vnn_voltage_mv = 780; + config->ext_fivr_settings.vnn_sx_voltage_mv = 1050; + config->ext_fivr_settings.v1p05_icc_max_ma = 500; + config->ext_fivr_settings.vnn_icc_max_ma = 500; + } +} |