From dd76bcc4c3274a73d34c1aa3238ba2c79ca9c759 Mon Sep 17 00:00:00 2001 From: Sasirekaa Madhesu Date: Wed, 23 Jul 2025 19:04:14 +0530 Subject: [PATCH] soc/qc/sc7280: Relocate SHRM firmware load to common Qualcomm path This patch moves the shrm_fw_load_reset() API from the SC7280 specific implementation to the Qualcomm common directory. This change enables reuse of the API across multiple Qualcomm chipsets. Change-Id: Ifab870b9aea7396e29fa93c999c29cf11ab0d199 Signed-off-by: Sasirekaa Madhesu Reviewed-on: https://review.coreboot.org/c/coreboot/+/88545 Reviewed-by: Kapil Porwal Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) --- src/soc/qualcomm/common/aop_load_reset.c | 2 -- src/soc/qualcomm/{sc7280 => common}/shrm_load_reset.c | 2 -- src/soc/qualcomm/sc7280/Makefile.mk | 2 +- src/soc/qualcomm/sc7280/include/soc/clock.h | 11 +++++++++-- 4 files changed, 10 insertions(+), 7 deletions(-) rename src/soc/qualcomm/{sc7280 => common}/shrm_load_reset.c (93%) diff --git a/src/soc/qualcomm/common/aop_load_reset.c b/src/soc/qualcomm/common/aop_load_reset.c index 9064120215..f746530891 100644 --- a/src/soc/qualcomm/common/aop_load_reset.c +++ b/src/soc/qualcomm/common/aop_load_reset.c @@ -15,6 +15,4 @@ void aop_fw_load_reset(void) die("SOC image: AOP load failed"); clock_reset_aop(); - - printk(BIOS_DEBUG, "SOC:AOP brought out of reset.\n"); } diff --git a/src/soc/qualcomm/sc7280/shrm_load_reset.c b/src/soc/qualcomm/common/shrm_load_reset.c similarity index 93% rename from src/soc/qualcomm/sc7280/shrm_load_reset.c rename to src/soc/qualcomm/common/shrm_load_reset.c index 4da5a55dd6..f86dc10271 100644 --- a/src/soc/qualcomm/sc7280/shrm_load_reset.c +++ b/src/soc/qualcomm/common/shrm_load_reset.c @@ -27,6 +27,4 @@ void shrm_fw_load_reset(void) mmu_config_range((void *)_shrm, REGION_SIZE(shrm), DEV_MEM); clock_reset_shrm(); - - printk(BIOS_DEBUG, "SOC:SHRM brought out of reset.\n"); } diff --git a/src/soc/qualcomm/sc7280/Makefile.mk b/src/soc/qualcomm/sc7280/Makefile.mk index ae23f45ede..7e010c731a 100644 --- a/src/soc/qualcomm/sc7280/Makefile.mk +++ b/src/soc/qualcomm/sc7280/Makefile.mk @@ -28,7 +28,7 @@ verstage-$(CONFIG_DRIVERS_UART) += ../common/qupv3_uart.c ################################################################################ romstage-y += cbmem.c -romstage-y += shrm_load_reset.c +romstage-y += ../common/shrm_load_reset.c romstage-y += cpucp_load_reset.c romstage-y += ../common/qclib.c romstage-y += ../common/mmu.c diff --git a/src/soc/qualcomm/sc7280/include/soc/clock.h b/src/soc/qualcomm/sc7280/include/soc/clock.h index 402c898c4b..d6eb7a77c8 100644 --- a/src/soc/qualcomm/sc7280/include/soc/clock.h +++ b/src/soc/qualcomm/sc7280/include/soc/clock.h @@ -397,8 +397,15 @@ static struct aoss *const aoss = (void *)AOSS_CC_BASE; static struct shrm *const shrm = (void *)SHRM_SPROC_BASE; #define clock_reset_aop() \ - clock_reset_subsystem(&aoss->aoss_cc_apcs_misc, AOP_RESET_SHFT) + do { \ + clock_reset_subsystem(&aoss->aoss_cc_apcs_misc, AOP_RESET_SHFT); \ + printk(BIOS_DEBUG, "SOC:AOP brought out of reset.\n"); \ + } while (0) + #define clock_reset_shrm() \ - clock_reset_subsystem(&shrm->shrm_sproc_ctrl, SHRM_RUN_STALL) + do { \ + clock_reset_subsystem(&shrm->shrm_sproc_ctrl, SHRM_RUN_STALL); \ + printk(BIOS_DEBUG, "SOC:SHRM brought out of reset.\n"); \ + } while (0) #endif // __SOC_QUALCOMM_SC7280_CLOCK_H__