From 6925fd69f86787bfb79e3e14bb2d019cd766a2af Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Sat, 16 Aug 2025 11:01:43 +0530 Subject: [PATCH] soc/qualcomm: Move common region macros to `soc/memlayout.h` The `SSRAM_START/END`, `BSRAM_START/END`, and `AOPSRAM_START/END` macros were redefined across multiple Qualcomm SoC `memlayout.ld` files. To reduce code duplication and improve maintainability, this commit moves these common macros into the shared `` header part of the Qualcomm common code. The SoC-specific linker scripts are updated to remove the local definitions. TEST=Built for all affected SoCs (qcs405, sc7180, sc7280, x1p42100) Change-Id: I8638b8e03e1e51f57b7e91a072f3d9cdb4ec6200 Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/88782 Reviewed-by: Kapil Porwal Tested-by: build bot (Jenkins) --- src/soc/qualcomm/common/include/soc/memlayout.h | 17 +++++++++++++++++ src/soc/qualcomm/qcs405/memlayout.ld | 9 +-------- src/soc/qualcomm/sc7180/memlayout.ld | 13 +------------ src/soc/qualcomm/sc7280/memlayout.ld | 13 +------------ src/soc/qualcomm/x1p42100/memlayout.ld | 15 +-------------- 5 files changed, 21 insertions(+), 46 deletions(-) create mode 100644 src/soc/qualcomm/common/include/soc/memlayout.h diff --git a/src/soc/qualcomm/common/include/soc/memlayout.h b/src/soc/qualcomm/common/include/soc/memlayout.h new file mode 100644 index 0000000000..83aaf913c5 --- /dev/null +++ b/src/soc/qualcomm/common/include/soc/memlayout.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/* This file contains macro definitions for Qualcomm SoC memlayout.ld linker scripts. */ + +#ifndef _SOC_QUALCOMM_MEMLAYOUT_H_ +#define _SOC_QUALCOMM_MEMLAYOUT_H_ + +#define SSRAM_START(addr) REGION_START(ssram, addr) +#define SSRAM_END(addr) REGION_END(ssram, addr) + +#define BSRAM_START(addr) REGION_START(bsram, addr) +#define BSRAM_END(addr) REGION_END(bsram, addr) + +#define AOPSRAM_START(addr) REGION_START(aopsram, addr) +#define AOPSRAM_END(addr) REGION_END(aopsram, addr) + +#endif /* _SOC_QUALCOMM_MEMLAYOUT_H_ */ diff --git a/src/soc/qualcomm/qcs405/memlayout.ld b/src/soc/qualcomm/qcs405/memlayout.ld index d883e24e2f..45d497e050 100644 --- a/src/soc/qualcomm/qcs405/memlayout.ld +++ b/src/soc/qualcomm/qcs405/memlayout.ld @@ -2,14 +2,7 @@ #include #include - -/* SYSTEM_IMEM : 0x8600000 - 0x8607FFF */ -#define SSRAM_START(addr) REGION_START(ssram, addr) -#define SSRAM_END(addr) REGION_END(ssram, addr) - -/* BOOT_IMEM : 0x8C00000 - 0x8D80000 */ -#define BSRAM_START(addr) REGION_START(bsram, addr) -#define BSRAM_END(addr) REGION_END(bsram, addr) +#include SECTIONS { diff --git a/src/soc/qualcomm/sc7180/memlayout.ld b/src/soc/qualcomm/sc7180/memlayout.ld index 9c500c2b78..c65f415d7d 100644 --- a/src/soc/qualcomm/sc7180/memlayout.ld +++ b/src/soc/qualcomm/sc7180/memlayout.ld @@ -2,18 +2,7 @@ #include #include - -/* SYSTEM_IMEM : 0x14680000 - 0x146AE000 */ -#define SSRAM_START(addr) REGION_START(ssram, addr) -#define SSRAM_END(addr) REGION_END(ssram, addr) - -/* BOOT_IMEM : 0x14800000 - 0x14980000 */ -#define BSRAM_START(addr) REGION_START(bsram, addr) -#define BSRAM_END(addr) REGION_END(bsram, addr) - -/* AOP : 0x0B000000 - 0x0B100000 */ -#define AOPSRAM_START(addr) REGION_START(aopsram, addr) -#define AOPSRAM_END(addr) REGION_END(aopsram, addr) +#include SECTIONS { diff --git a/src/soc/qualcomm/sc7280/memlayout.ld b/src/soc/qualcomm/sc7280/memlayout.ld index b37b4816bb..731761c029 100644 --- a/src/soc/qualcomm/sc7280/memlayout.ld +++ b/src/soc/qualcomm/sc7280/memlayout.ld @@ -2,18 +2,7 @@ #include #include - -/* SYSTEM_IMEM : 0x14680000 - 0x146AB000 */ -#define SSRAM_START(addr) REGION_START(ssram, addr) -#define SSRAM_END(addr) REGION_END(ssram, addr) - -/* BOOT_IMEM : 0x14800000 - 0x14980000 */ -#define BSRAM_START(addr) REGION_START(bsram, addr) -#define BSRAM_END(addr) REGION_END(bsram, addr) - -/* AOP : 0x0B000000 - 0x0B100000 */ -#define AOPSRAM_START(addr) REGION_START(aopsram, addr) -#define AOPSRAM_END(addr) REGION_END(aopsram, addr) +#include SECTIONS { diff --git a/src/soc/qualcomm/x1p42100/memlayout.ld b/src/soc/qualcomm/x1p42100/memlayout.ld index 0fdfca25f9..36fb9a797a 100644 --- a/src/soc/qualcomm/x1p42100/memlayout.ld +++ b/src/soc/qualcomm/x1p42100/memlayout.ld @@ -2,20 +2,7 @@ #include #include - -/* Copied from Qualcomm previous generation SoC SC7280 and need cleanup */ - -/* SYSTEM_IMEM : 0x14680000 - 0x146AB000 */ -#define SSRAM_START(addr) REGION_START(ssram, addr) -#define SSRAM_END(addr) REGION_END(ssram, addr) - -/* BOOT_IMEM : 0x14800000 - 0x14980000 */ -#define BSRAM_START(addr) REGION_START(bsram, addr) -#define BSRAM_END(addr) REGION_END(bsram, addr) - -/* AOP : 0x0B000000 - 0x0B100000 */ -#define AOPSRAM_START(addr) REGION_START(aopsram, addr) -#define AOPSRAM_END(addr) REGION_END(aopsram, addr) +#include SECTIONS {