From bde1ac579420de4869340685d7d7e1c122926508 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Tue, 8 Apr 2025 11:42:47 +0530 Subject: [PATCH] mb/google/fatcat/var/fatcat: Implement barrel jack presence check Uses fw_config to check if barrel jack PSU is configured. If `PSU_BJ` is selected, checks hardware presence via `google_chromeec_is_barrel_charger_present()`. Allows 'fatcat' to adapt based on configured power source. Includes: - Adds `variant.c` to ramstage build in `Makefile.mk`. - Adds `PSU` field (`PSU_USBC`: 0, `PSU_BJ`: 1) to `overridetree.cb`. - Includes `ec.h` in `variant.c`. TEST=Boot time savings ~62ms on google/fatcat with PSU=0 (USB-C). Change-Id: I68507034cfbf4caa8e5c2ac9c7bebf758a5a5439 Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/87207 Tested-by: build bot (Jenkins) Reviewed-by: YH Lin Reviewed-by: Jayvik Desai Reviewed-by: Pranava Y N Reviewed-by: Kapil Porwal --- src/mainboard/google/fatcat/variants/fatcat/Makefile.mk | 1 + .../google/fatcat/variants/fatcat/overridetree.cb | 4 ++++ src/mainboard/google/fatcat/variants/fatcat/variant.c | 9 +++++++++ 3 files changed, 14 insertions(+) diff --git a/src/mainboard/google/fatcat/variants/fatcat/Makefile.mk b/src/mainboard/google/fatcat/variants/fatcat/Makefile.mk index b9f1fd15dd..3fdd4642c0 100644 --- a/src/mainboard/google/fatcat/variants/fatcat/Makefile.mk +++ b/src/mainboard/google/fatcat/variants/fatcat/Makefile.mk @@ -6,4 +6,5 @@ romstage-y += memory.c romstage-$(CONFIG_FW_CONFIG) += fw_config.c ramstage-y += gpio.c romstage-$(CONFIG_FW_CONFIG) += variant.c +ramstage-$(CONFIG_FW_CONFIG) += variant.c ramstage-$(CONFIG_FW_CONFIG) += fw_config.c diff --git a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb index c6a63c3fcb..e154ffc46c 100644 --- a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb @@ -67,6 +67,10 @@ fw_config option ISH_DISABLE 0 option ISH_ENABLE 1 end + field PSU 25 + option PSU_USBC 0 + option PSU_BJ 1 + end end chip soc/intel/pantherlake diff --git a/src/mainboard/google/fatcat/variants/fatcat/variant.c b/src/mainboard/google/fatcat/variants/fatcat/variant.c index 5ba7683640..3e0ee54505 100644 --- a/src/mainboard/google/fatcat/variants/fatcat/variant.c +++ b/src/mainboard/google/fatcat/variants/fatcat/variant.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include +#include #include #include #include @@ -84,3 +85,11 @@ void variant_update_soc_memory_init_params(FSPM_UPD *memupd) m_cfg->PchHdaSdiEnable[1] = false; } } + +bool variant_is_barrel_charger_present(void) +{ + if (fw_config_probe(FW_CONFIG(PSU, PSU_BJ))) + return google_chromeec_is_barrel_charger_present(); + else + return false; +}