Merge changes I0396b597,I326f920f,I0437eec8,Ieadf01fc,I4e1d8c24, ... into integration

* changes:
  feat(fvp): set defaults for build commandline
  docs(arm): enable Linux boot from fip as BL33
  feat(arm): enable Linux boot from fip as BL33
  docs(fvp): update fvp build time options
  docs(arm): add initrd props to dtb at build time
  feat(arm): add initrd props to dtb at build time
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index decb2f9..46e5f67 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -36,7 +36,7 @@
   - target-branch: "main"
     package-ecosystem: "pip"
     versioning-strategy: "lockfile-only"
-    directories: ["/", "/tools/cot_dt2c", "/tools/tlc"]
+    directories: ["/", "/tools/cot_dt2c", "/tools/memory", "/tools/tlc"]
     schedule:
       interval: "daily"
     groups:
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 2d1afab..d308fdd 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -1,4 +1,4 @@
-# Copyright (c) 2023-2024, Arm Limited. All rights reserved
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -20,7 +20,7 @@
     post_create_environment:
       - pip install poetry=="1.3.2"
     post_install:
-      - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs
+      - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --no-root --with docs
 
 sphinx:
   configuration: docs/conf.py
@@ -28,4 +28,3 @@
 # Auxiliary formats to export to (in addition to the default HTML output).
 formats:
   - pdf
-
diff --git a/Makefile b/Makefile
index 26636c8..7fd8d0c 100644
--- a/Makefile
+++ b/Makefile
@@ -1777,8 +1777,7 @@
 	$(q)${MAKE} PLAT_DIR=${PLAT_DIR} BUILD_PLAT=${BUILD_PLAT} ENABLE_BTI=${ENABLE_BTI} CRYPTO_SUPPORT=${CRYPTO_SUPPORT} ARM_ARCH_MINOR=${ARM_ARCH_MINOR} INCLUDES=$(call escape-shell,$(INCLUDES)) DEFINES=$(call escape-shell,$(DEFINES)) --no-print-directory -C ${ROMLIBPATH} all
 
 memmap: all
-	$(q)PYTHONPATH=${CURDIR}/tools/memory \
-		${PYTHON} -m memory.memmap -sr ${BUILD_PLAT}
+	$(q)$(if $(host-poetry),poetry run )memory -sr ${BUILD_PLAT}
 
 tl: ${BUILD_PLAT}/tl.bin
 ${BUILD_PLAT}/tl.bin: ${HW_CONFIG}
diff --git a/docs/porting-guide.rst b/docs/porting-guide.rst
index d06d153..0f0dedd 100644
--- a/docs/porting-guide.rst
+++ b/docs/porting-guide.rst
@@ -2938,6 +2938,8 @@
 possible on platforms where this is guaranteed to be terminal, however, it is
 strongly discouraged going forward.
 
+Previously this function was called ``pwr_domain_pwr_down_wfi()``.
+
 plat_psci_ops.pwr_domain_on_finish()
 ....................................
 
@@ -3457,6 +3459,18 @@
 External Abort handling and RAS Support
 ---------------------------------------
 
+If any cores on the platform support powerdown abandon (i.e. ``FEAT_PABANDON``
+is set, check the "Core powerup and powerdown sequence" in their TRMs), then
+these functions should be able to handle being called with power domains off and
+after the powerdown ``wfi``. In other words it may run after a call to
+``pwr_domain_suspend()`` and before a call to ``pwr_domain_suspend_finish()``
+(and their power off counterparts).
+
+Should this not be desirable, or if there is no powerdown abandon support, then
+RAS errors should be masked by writing any relevant error records in any
+powerdown hooks to prevent deadlocks due to a RAS error after the point of no
+return. See the core's TRM for further information.
+
 Function : plat_ea_handler
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/docs/tools/memory-layout-tool.rst b/docs/tools/memory-layout-tool.rst
index 8874bd7..d9c358d 100644
--- a/docs/tools/memory-layout-tool.rst
+++ b/docs/tools/memory-layout-tool.rst
@@ -23,7 +23,7 @@
 
     .. code:: shell
 
-        poetry install --with memory
+        poetry install --no-root
 
 #. Verify that the tool runs in the installed virtual environment
 
@@ -231,6 +231,6 @@
 
 --------------
 
-*Copyright (c) 2023, Arm Limited. All rights reserved.*
+*Copyright (c) 2023-2025, Arm Limited. All rights reserved.*
 
 .. _Poetry: https://python-poetry.org/docs/
diff --git a/plat/mediatek/mt8196/drivers/gpio/mtgpio.c b/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
index 6257159..a34f706 100644
--- a/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
+++ b/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
@@ -23,7 +23,8 @@
 	REG_11,
 	REG_12,
 	REG_13,
-	REG_14
+	REG_14,
+	REG_15
 } RegEnum;
 
 uintptr_t mt_gpio_find_reg_addr(uint32_t pin)
@@ -37,48 +38,51 @@
 
 	switch (gpio_info.base & 0xF) {
 	case REG_0:
-		reg_addr = IOCFG_RT_BASE;
+		reg_addr = GPIO_BASE;
 		break;
 	case REG_1:
-		reg_addr = IOCFG_RM1_BASE;
+		reg_addr = IOCFG_RT_BASE;
 		break;
 	case REG_2:
-		reg_addr = IOCFG_RM2_BASE;
+		reg_addr = IOCFG_RM1_BASE;
 		break;
 	case REG_3:
-		reg_addr = IOCFG_RB_BASE;
+		reg_addr = IOCFG_RM2_BASE;
 		break;
 	case REG_4:
-		reg_addr = IOCFG_BM1_BASE;
+		reg_addr = IOCFG_RB_BASE;
 		break;
 	case REG_5:
-		reg_addr = IOCFG_BM2_BASE;
+		reg_addr = IOCFG_BM1_BASE;
 		break;
 	case REG_6:
-		reg_addr = IOCFG_BM3_BASE;
+		reg_addr = IOCFG_BM2_BASE;
 		break;
 	case REG_7:
-		reg_addr = IOCFG_LT_BASE;
+		reg_addr = IOCFG_BM3_BASE;
 		break;
 	case REG_8:
-		reg_addr = IOCFG_LM1_BASE;
+		reg_addr = IOCFG_LT_BASE;
 		break;
 	case REG_9:
-		reg_addr = IOCFG_LM2_BASE;
+		reg_addr = IOCFG_LM1_BASE;
 		break;
 	case REG_10:
-		reg_addr = IOCFG_LB1_BASE;
+		reg_addr = IOCFG_LM2_BASE;
 		break;
 	case REG_11:
-		reg_addr = IOCFG_LB2_BASE;
+		reg_addr = IOCFG_LB1_BASE;
 		break;
 	case REG_12:
-		reg_addr = IOCFG_TM1_BASE;
+		reg_addr = IOCFG_LB2_BASE;
 		break;
 	case REG_13:
-		reg_addr = IOCFG_TM2_BASE;
+		reg_addr = IOCFG_TM1_BASE;
 		break;
 	case REG_14:
+		reg_addr = IOCFG_TM2_BASE;
+		break;
+	case REG_15:
 		reg_addr = IOCFG_TM3_BASE;
 		break;
 	default:
diff --git a/plat/mediatek/mt8196/drivers/gpio/mtgpio.h b/plat/mediatek/mt8196/drivers/gpio/mtgpio.h
index a33bdad..ef8ee8c 100644
--- a/plat/mediatek/mt8196/drivers/gpio/mtgpio.h
+++ b/plat/mediatek/mt8196/drivers/gpio/mtgpio.h
@@ -50,131 +50,131 @@
 } GPIO_PIN;
 
 static const struct mt_pin_info mt_pin_infos[] = {
-	PIN(0, 0, 0, 0x18, 0x90),
-	PIN(1, 0, 1, 0x18, 0x90),
-	PIN(2, 0, 1, 0x1b, 0x70),
-	PIN(3, 0, 2, 0x1b, 0x70),
-	PIN(4, 0, 3, 0x1b, 0x70),
-	PIN(5, 0, 4, 0x1b, 0x70),
-	PIN(6, 0, 5, 0x1b, 0x70),
-	PIN(7, 0, 6, 0x1b, 0x70),
-	PIN(8, 0, 7, 0x1b, 0x70),
-	PIN(9, 0, 14, 0x29, 0xa0),
-	PIN(10, 0, 12, 0x29, 0xa0),
-	PIN(11, 0, 2, 0x18, 0x90),
-	PIN(12, 0, 13, 0x29, 0xa0),
-	PIN(13, 0, 1, 0x26, 0x90),
-	PIN(14, 0, 0, 0x13, 0x80),
-	PIN(15, 0, 2, 0x26, 0x90),
-	PIN(16, 0, 3, 0x26, 0x90),
-	PIN(17, 0, 4, 0x26, 0x90),
-	PIN(18, 0, 5, 0x26, 0x90),
-	PIN(19, 0, 6, 0x26, 0x90),
-	PIN(20, 0, 1, 0x13, 0x80),
-	PIN(21, 0, 3, 0x12, 0x80),
-	PIN(22, 0, 4, 0x12, 0x80),
-	PIN(23, 0, 5, 0x12, 0x80),
-	PIN(24, 0, 6, 0x12, 0x80),
-	PIN(25, 0, 7, 0x12, 0x80),
-	PIN(26, 0, 8, 0x12, 0x80),
-	PIN(27, 0, 9, 0x12, 0x80),
-	PIN(28, 0, 10, 0x12, 0x80),
-	PIN(29, 0, 11, 0x12, 0x80),
-	PIN(30, 0, 12, 0x12, 0x80),
-	PIN(31, 0, 13, 0x12, 0x80),
-	PIN(32, 0, 8, 0x11, 0x80),
-	PIN(33, 0, 9, 0x11, 0x80),
-	PIN(34, 0, 10, 0x11, 0x80),
-	PIN(35, 0, 11, 0x11, 0x80),
-	PIN(36, 0, 12, 0x11, 0x80),
-	PIN(37, 0, 13, 0x11, 0x80),
-	PIN(38, 0, 14, 0x11, 0x80),
-	PIN(39, 0, 6, 0x18, 0x90),
-	PIN(40, 0, 3, 0x18, 0x90),
-	PIN(41, 0, 5, 0x18, 0x90),
-	PIN(42, 0, 4, 0x18, 0x90),
-	PIN(43, 0, 7, 0x18, 0x90),
-	PIN(44, 0, 8, 0x18, 0x90),
-	PIN(45, 0, 9, 0x18, 0x90),
-	PIN(46, 0, 10, 0x18, 0x90),
-	PIN(47, 0, 13, 0x18, 0x90),
-	PIN(48, 0, 11, 0x18, 0x90),
-	PIN(49, 0, 14, 0x18, 0x90),
-	PIN(50, 0, 12, 0x18, 0x90),
-	PIN(51, 0, 15, 0x18, 0x90),
-	PIN(52, 0, 7, 0x29, 0xa0),
-	PIN(53, 0, 8, 0x29, 0xa0),
-	PIN(54, 0, 2, 0x29, 0xa0),
-	PIN(55, 0, 1, 0x29, 0xa0),
-	PIN(56, 0, 5, 0x29, 0xa0),
-	PIN(57, 0, 6, 0x29, 0xa0),
-	PIN(58, 0, 3, 0x29, 0xa0),
-	PIN(59, 0, 4, 0x29, 0xa0),
+	PIN(0, 0, 0, 0x18, 0xa0),
+	PIN(1, 0, 1, 0x18, 0xa0),
+	PIN(2, 0, 1, 0x1b, 0x80),
+	PIN(3, 0, 2, 0x1b, 0x80),
+	PIN(4, 0, 3, 0x1b, 0x80),
+	PIN(5, 0, 4, 0x1b, 0x80),
+	PIN(6, 0, 5, 0x1b, 0x80),
+	PIN(7, 0, 6, 0x1b, 0x80),
+	PIN(8, 0, 7, 0x1b, 0x80),
+	PIN(9, 0, 14, 0x29, 0xc0),
+	PIN(10, 0, 12, 0x29, 0xc0),
+	PIN(11, 0, 2, 0x18, 0xa0),
+	PIN(12, 0, 13, 0x29, 0xc0),
+	PIN(13, 0, 1, 0x26, 0xb0),
+	PIN(14, 0, 0, 0x13, 0x90),
+	PIN(15, 0, 2, 0x26, 0xb0),
+	PIN(16, 0, 3, 0x26, 0xb0),
+	PIN(17, 0, 4, 0x26, 0xb0),
+	PIN(18, 0, 5, 0x26, 0xb0),
+	PIN(19, 0, 6, 0x26, 0xb0),
+	PIN(20, 0, 1, 0x13, 0x90),
+	PIN(21, 0, 3, 0x12, 0x90),
+	PIN(22, 0, 4, 0x12, 0x90),
+	PIN(23, 0, 5, 0x12, 0x90),
+	PIN(24, 0, 6, 0x12, 0x90),
+	PIN(25, 0, 7, 0x12, 0x90),
+	PIN(26, 0, 8, 0x12, 0x90),
+	PIN(27, 0, 9, 0x12, 0x90),
+	PIN(28, 0, 10, 0x12, 0x90),
+	PIN(29, 0, 11, 0x12, 0x90),
+	PIN(30, 0, 12, 0x12, 0x90),
+	PIN(31, 0, 13, 0x12, 0x90),
+	PIN(32, 0, 8, 0x11, 0x90),
+	PIN(33, 0, 9, 0x11, 0x90),
+	PIN(34, 0, 10, 0x11, 0x90),
+	PIN(35, 0, 11, 0x11, 0x90),
+	PIN(36, 0, 12, 0x11, 0x90),
+	PIN(37, 0, 13, 0x11, 0x90),
+	PIN(38, 0, 14, 0x11, 0x90),
+	PIN(39, 0, 6, 0x18, 0xa0),
+	PIN(40, 0, 3, 0x18, 0xa0),
+	PIN(41, 0, 5, 0x18, 0xa0),
+	PIN(42, 0, 4, 0x18, 0xa0),
+	PIN(43, 0, 7, 0x18, 0xa0),
+	PIN(44, 0, 8, 0x18, 0xa0),
+	PIN(45, 0, 9, 0x18, 0xa0),
+	PIN(46, 0, 10, 0x18, 0xa0),
+	PIN(47, 0, 13, 0x18, 0xa0),
+	PIN(48, 0, 11, 0x18, 0xa0),
+	PIN(49, 0, 14, 0x18, 0xa0),
+	PIN(50, 0, 12, 0x18, 0xa0),
+	PIN(51, 0, 15, 0x18, 0xa0),
+	PIN(52, 0, 7, 0x29, 0xc0),
+	PIN(53, 0, 8, 0x29, 0xc0),
+	PIN(54, 0, 2, 0x29, 0xc0),
+	PIN(55, 0, 1, 0x29, 0xc0),
+	PIN(56, 0, 5, 0x29, 0xc0),
+	PIN(57, 0, 6, 0x29, 0xc0),
+	PIN(58, 0, 3, 0x29, 0xc0),
+	PIN(59, 0, 4, 0x29, 0xc0),
 	PIN(60, 1, 0, 0x29, 0xb0),
-	PIN(61, 0, 10, 0x29, 0xa0),
-	PIN(62, 0, 9, 0x29, 0xa0),
-	PIN(63, 0, 18, 0x29, 0xa0),
-	PIN(64, 0, 0, 0x29, 0xa0),
-	PIN(65, 0, 11, 0x29, 0xa0),
-	PIN(66, 0, 24, 0x29, 0xa0),
-	PIN(67, 0, 21, 0x29, 0xa0),
-	PIN(68, 0, 20, 0x29, 0xa0),
-	PIN(69, 0, 25, 0x29, 0xa0),
-	PIN(70, 0, 16, 0x29, 0xa0),
-	PIN(71, 0, 15, 0x29, 0xa0),
-	PIN(72, 0, 23, 0x29, 0xa0),
-	PIN(73, 0, 19, 0x29, 0xa0),
-	PIN(74, 0, 17, 0x29, 0xa0),
-	PIN(75, 0, 2, 0x1a, 0x80),
-	PIN(76, 0, 3, 0x1a, 0x80),
-	PIN(77, 0, 4, 0x1a, 0x80),
-	PIN(78, 0, 5, 0x1a, 0x80),
-	PIN(79, 0, 0, 0x1a, 0x80),
-	PIN(80, 0, 1, 0x1a, 0x80),
-	PIN(81, 0, 9, 0x1b, 0x70),
-	PIN(82, 0, 10, 0x1b, 0x70),
-	PIN(83, 0, 12, 0x1b, 0x70),
-	PIN(84, 0, 11, 0x1b, 0x70),
-	PIN(85, 0, 13, 0x1b, 0x70),
-	PIN(86, 0, 14, 0x1b, 0x70),
-	PIN(87, 0, 16, 0x1b, 0x70),
-	PIN(88, 0, 15, 0x1b, 0x70),
-	PIN(89, 0, 0, 0x1b, 0x70),
-	PIN(90, 0, 8, 0x1b, 0x70),
-	PIN(91, 0, 6, 0x1c, 0x80),
-	PIN(92, 0, 7, 0x1c, 0x80),
-	PIN(93, 0, 8, 0x1c, 0x80),
-	PIN(94, 0, 4, 0x1c, 0x80),
-	PIN(95, 0, 1, 0x1c, 0x80),
-	PIN(96, 0, 3, 0x1c, 0x80),
-	PIN(97, 0, 2, 0x1c, 0x80),
-	PIN(98, 0, 5, 0x1c, 0x80),
-	PIN(99, 0, 9, 0x1c, 0x80),
-	PIN(100, 0, 12, 0x1c, 0x80),
-	PIN(101, 0, 10, 0x1c, 0x80),
-	PIN(102, 0, 13, 0x1c, 0x80),
-	PIN(103, 0, 0, 0x1c, 0x80),
-	PIN(104, 0, 11, 0x1c, 0x80),
-	PIN(105, 0, 14, 0x1c, 0x80),
-	PIN(106, 0, 0, 0x15, 0x80),
-	PIN(107, 0, 1, 0x15, 0x80),
-	PIN(108, 0, 3, 0x15, 0x80),
-	PIN(109, 0, 2, 0x15, 0x80),
-	PIN(110, 0, 4, 0x15, 0x80),
-	PIN(111, 0, 5, 0x15, 0x80),
-	PIN(112, 0, 7, 0x15, 0x80),
-	PIN(113, 0, 6, 0x15, 0x80),
-	PIN(114, 0, 8, 0x15, 0x80),
-	PIN(115, 0, 9, 0x15, 0x80),
-	PIN(116, 0, 11, 0x15, 0x80),
-	PIN(117, 0, 10, 0x15, 0x80),
-	PIN(118, 0, 9, 0x26, 0x90),
-	PIN(119, 0, 10, 0x26, 0x90),
-	PIN(120, 0, 12, 0x26, 0x90),
-	PIN(121, 0, 11, 0x26, 0x90),
-	PIN(122, 0, 0, 0x26, 0x90),
-	PIN(123, 0, 7, 0x26, 0x90),
-	PIN(124, 0, 8, 0x26, 0x90),
+	PIN(61, 0, 10, 0x29, 0xc0),
+	PIN(62, 0, 9, 0x29, 0xc0),
+	PIN(63, 0, 18, 0x29, 0xc0),
+	PIN(64, 0, 0, 0x29, 0xc0),
+	PIN(65, 0, 11, 0x29, 0xc0),
+	PIN(66, 0, 24, 0x29, 0xc0),
+	PIN(67, 0, 21, 0x29, 0xc0),
+	PIN(68, 0, 20, 0x29, 0xc0),
+	PIN(69, 0, 25, 0x29, 0xc0),
+	PIN(70, 0, 16, 0x29, 0xc0),
+	PIN(71, 0, 15, 0x29, 0xc0),
+	PIN(72, 0, 23, 0x29, 0xc0),
+	PIN(73, 0, 19, 0x29, 0xc0),
+	PIN(74, 0, 17, 0x29, 0xc0),
+	PIN(75, 0, 2, 0x1a, 0x90),
+	PIN(76, 0, 3, 0x1a, 0x90),
+	PIN(77, 0, 4, 0x1a, 0x90),
+	PIN(78, 0, 5, 0x1a, 0x90),
+	PIN(79, 0, 0, 0x1a, 0x90),
+	PIN(80, 0, 1, 0x1a, 0x90),
+	PIN(81, 0, 9, 0x1b, 0x80),
+	PIN(82, 0, 10, 0x1b, 0x80),
+	PIN(83, 0, 12, 0x1b, 0x80),
+	PIN(84, 0, 11, 0x1b, 0x80),
+	PIN(85, 0, 13, 0x1b, 0x80),
+	PIN(86, 0, 14, 0x1b, 0x80),
+	PIN(87, 0, 16, 0x1b, 0x80),
+	PIN(88, 0, 15, 0x1b, 0x80),
+	PIN(89, 0, 0, 0x1b, 0x80),
+	PIN(90, 0, 8, 0x1b, 0x80),
+	PIN(91, 0, 6, 0x1c, 0x90),
+	PIN(92, 0, 7, 0x1c, 0x90),
+	PIN(93, 0, 8, 0x1c, 0x90),
+	PIN(94, 0, 4, 0x1c, 0x90),
+	PIN(95, 0, 1, 0x1c, 0x90),
+	PIN(96, 0, 3, 0x1c, 0x90),
+	PIN(97, 0, 2, 0x1c, 0x90),
+	PIN(98, 0, 5, 0x1c, 0x90),
+	PIN(99, 0, 9, 0x1c, 0x90),
+	PIN(100, 0, 12, 0x1c, 0x90),
+	PIN(101, 0, 10, 0x1c, 0x90),
+	PIN(102, 0, 13, 0x1c, 0x90),
+	PIN(103, 0, 0, 0x1c, 0x90),
+	PIN(104, 0, 11, 0x1c, 0x90),
+	PIN(105, 0, 14, 0x1c, 0x90),
+	PIN(106, 0, 0, 0x15, 0x90),
+	PIN(107, 0, 1, 0x15, 0x90),
+	PIN(108, 0, 3, 0x15, 0x90),
+	PIN(109, 0, 2, 0x15, 0x90),
+	PIN(110, 0, 4, 0x15, 0x90),
+	PIN(111, 0, 5, 0x15, 0x90),
+	PIN(112, 0, 7, 0x15, 0x90),
+	PIN(113, 0, 6, 0x15, 0x90),
+	PIN(114, 0, 8, 0x15, 0x90),
+	PIN(115, 0, 9, 0x15, 0x90),
+	PIN(116, 0, 11, 0x15, 0x90),
+	PIN(117, 0, 10, 0x15, 0x90),
+	PIN(118, 0, 9, 0x26, 0xb0),
+	PIN(119, 0, 10, 0x26, 0xb0),
+	PIN(120, 0, 12, 0x26, 0xb0),
+	PIN(121, 0, 11, 0x26, 0xb0),
+	PIN(122, 0, 0, 0x26, 0xb0),
+	PIN(123, 0, 7, 0x26, 0xb0),
+	PIN(124, 0, 8, 0x26, 0xb0),
 	PIN(125, 1, 0, 0x17, 0x80),
 	PIN(126, 1, 1, 0x17, 0x80),
 	PIN(127, 1, 2, 0x17, 0x80),
@@ -207,108 +207,108 @@
 	PIN(154, 1, 8, 0x14, 0x70),
 	PIN(155, 1, 18, 0x14, 0x70),
 	PIN(156, 1, 19, 0x14, 0x70),
-	PIN(157, 0, 1, 0x12, 0x80),
-	PIN(158, 0, 2, 0x12, 0x80),
-	PIN(159, 0, 0, 0x12, 0x80),
-	PIN(160, 0, 22, 0x13, 0x80),
-	PIN(161, 0, 20, 0x13, 0x80),
-	PIN(162, 0, 23, 0x13, 0x80),
-	PIN(163, 0, 21, 0x13, 0x80),
-	PIN(164, 0, 12, 0x13, 0x80),
-	PIN(165, 0, 14, 0x13, 0x80),
-	PIN(166, 0, 13, 0x13, 0x80),
-	PIN(167, 0, 15, 0x13, 0x80),
-	PIN(168, 0, 16, 0x13, 0x80),
-	PIN(169, 0, 17, 0x13, 0x80),
-	PIN(170, 0, 19, 0x13, 0x80),
-	PIN(171, 0, 18, 0x13, 0x80),
-	PIN(172, 0, 10, 0x13, 0x80),
-	PIN(173, 0, 11, 0x13, 0x80),
-	PIN(174, 0, 15, 0x11, 0x80),
-	PIN(175, 0, 16, 0x11, 0x80),
-	PIN(176, 0, 17, 0x11, 0x80),
-	PIN(177, 0, 18, 0x11, 0x80),
-	PIN(178, 0, 6, 0x11, 0x80),
-	PIN(179, 0, 7, 0x11, 0x80),
-	PIN(180, 0, 0, 0x11, 0x80),
-	PIN(181, 0, 1, 0x11, 0x80),
-	PIN(182, 0, 2, 0x11, 0x80),
-	PIN(183, 0, 3, 0x11, 0x80),
-	PIN(184, 0, 4, 0x11, 0x80),
-	PIN(185, 0, 5, 0x11, 0x80),
-	PIN(186, 0, 4, 0x1d, 0xc0),
-	PIN(187, 0, 5, 0x1d, 0xc0),
-	PIN(188, 0, 12, 0x1d, 0xc0),
-	PIN(189, 0, 17, 0x1d, 0xc0),
-	PIN(190, 0, 13, 0x1d, 0xc0),
-	PIN(191, 0, 18, 0x1d, 0xc0),
-	PIN(192, 0, 0, 0x1d, 0xc0),
-	PIN(193, 0, 6, 0x1d, 0xc0),
-	PIN(194, 0, 14, 0x1d, 0xc0),
-	PIN(195, 0, 19, 0x1d, 0xc0),
-	PIN(196, 0, 1, 0x1d, 0xc0),
-	PIN(197, 0, 7, 0x1d, 0xc0),
-	PIN(198, 0, 15, 0x1d, 0xc0),
-	PIN(199, 0, 20, 0x1d, 0xc0),
-	PIN(200, 0, 22, 0x1d, 0xc0),
-	PIN(201, 0, 25, 0x1d, 0xc0),
-	PIN(202, 0, 16, 0x1d, 0xc0),
-	PIN(203, 0, 21, 0x1d, 0xc0),
-	PIN(204, 0, 2, 0x1d, 0xc0),
-	PIN(205, 0, 3, 0x1d, 0xc0),
-	PIN(206, 0, 8, 0x1d, 0xc0),
-	PIN(207, 0, 9, 0x1d, 0xc0),
-	PIN(208, 0, 10, 0x1d, 0xc0),
-	PIN(209, 0, 11, 0x1d, 0xc0),
-	PIN(210, 0, 0, 0x2e, 0x90),
-	PIN(211, 0, 1, 0x2e, 0x90),
-	PIN(212, 0, 2, 0x2e, 0x90),
-	PIN(213, 0, 3, 0x2e, 0x90),
-	PIN(214, 0, 23, 0x1d, 0xc0),
-	PIN(215, 0, 24, 0x1d, 0xc0),
-	PIN(216, 0, 4, 0x2e, 0x90),
+	PIN(157, 0, 1, 0x12, 0x90),
+	PIN(158, 0, 2, 0x12, 0x90),
+	PIN(159, 0, 0, 0x12, 0x90),
+	PIN(160, 0, 22, 0x13, 0x90),
+	PIN(161, 0, 20, 0x13, 0x90),
+	PIN(162, 0, 23, 0x13, 0x90),
+	PIN(163, 0, 21, 0x13, 0x90),
+	PIN(164, 0, 12, 0x13, 0x90),
+	PIN(165, 0, 14, 0x13, 0x90),
+	PIN(166, 0, 13, 0x13, 0x90),
+	PIN(167, 0, 15, 0x13, 0x90),
+	PIN(168, 0, 16, 0x13, 0x90),
+	PIN(169, 0, 17, 0x13, 0x90),
+	PIN(170, 0, 19, 0x13, 0x90),
+	PIN(171, 0, 18, 0x13, 0x90),
+	PIN(172, 0, 10, 0x13, 0x90),
+	PIN(173, 0, 11, 0x13, 0x90),
+	PIN(174, 0, 15, 0x11, 0x90),
+	PIN(175, 0, 16, 0x11, 0x90),
+	PIN(176, 0, 17, 0x11, 0x90),
+	PIN(177, 0, 18, 0x11, 0x90),
+	PIN(178, 0, 6, 0x11, 0x90),
+	PIN(179, 0, 7, 0x11, 0x90),
+	PIN(180, 0, 0, 0x11, 0x90),
+	PIN(181, 0, 1, 0x11, 0x90),
+	PIN(182, 0, 2, 0x11, 0x90),
+	PIN(183, 0, 3, 0x11, 0x90),
+	PIN(184, 0, 4, 0x11, 0x90),
+	PIN(185, 0, 5, 0x11, 0x90),
+	PIN(186, 0, 4, 0x1d, 0xd0),
+	PIN(187, 0, 5, 0x1d, 0xd0),
+	PIN(188, 0, 12, 0x1d, 0xd0),
+	PIN(189, 0, 17, 0x1d, 0xd0),
+	PIN(190, 0, 13, 0x1d, 0xd0),
+	PIN(191, 0, 18, 0x1d, 0xd0),
+	PIN(192, 0, 0, 0x1d, 0xd0),
+	PIN(193, 0, 6, 0x1d, 0xd0),
+	PIN(194, 0, 14, 0x1d, 0xd0),
+	PIN(195, 0, 19, 0x1d, 0xd0),
+	PIN(196, 0, 1, 0x1d, 0xd0),
+	PIN(197, 0, 7, 0x1d, 0xd0),
+	PIN(198, 0, 15, 0x1d, 0xd0),
+	PIN(199, 0, 20, 0x1d, 0xd0),
+	PIN(200, 0, 22, 0x1d, 0xd0),
+	PIN(201, 0, 25, 0x1d, 0xd0),
+	PIN(202, 0, 16, 0x1d, 0xd0),
+	PIN(203, 0, 21, 0x1d, 0xd0),
+	PIN(204, 0, 2, 0x1d, 0xd0),
+	PIN(205, 0, 3, 0x1d, 0xd0),
+	PIN(206, 0, 8, 0x1d, 0xd0),
+	PIN(207, 0, 9, 0x1d, 0xd0),
+	PIN(208, 0, 10, 0x1d, 0xd0),
+	PIN(209, 0, 11, 0x1d, 0xd0),
+	PIN(210, 0, 0, 0x2e, 0xb0),
+	PIN(211, 0, 1, 0x2e, 0xb0),
+	PIN(212, 0, 2, 0x2e, 0xb0),
+	PIN(213, 0, 3, 0x2e, 0xb0),
+	PIN(214, 0, 23, 0x1d, 0xd0),
+	PIN(215, 0, 24, 0x1d, 0xd0),
+	PIN(216, 0, 4, 0x2e, 0xb0),
 	PIN(217, 1, 1, 0x2e, 0xa0),
 	PIN(218, 1, 2, 0x2e, 0xa0),
 	PIN(219, 1, 0, 0x2e, 0xa0),
-	PIN(220, 0, 5, 0x2e, 0x90),
-	PIN(221, 0, 6, 0x2e, 0x90),
-	PIN(222, 0, 8, 0x2e, 0x90),
-	PIN(223, 0, 7, 0x2e, 0x90),
+	PIN(220, 0, 5, 0x2e, 0xb0),
+	PIN(221, 0, 6, 0x2e, 0xb0),
+	PIN(222, 0, 8, 0x2e, 0xb0),
+	PIN(223, 0, 7, 0x2e, 0xb0),
 	PIN(224, 1, 3, 0x2e, 0xa0),
 	PIN(225, 1, 4, 0x2e, 0xa0),
 	PIN(226, 1, 5, 0x2e, 0xa0),
 	PIN(227, 1, 6, 0x2e, 0xa0),
 	PIN(228, 1, 7, 0x2e, 0xa0),
 	PIN(229, 1, 8, 0x2e, 0xa0),
-	PIN(230, 0, 13, 0x2f, 0x70),
-	PIN(231, 0, 14, 0x2f, 0x70),
-	PIN(232, 0, 10, 0x2f, 0x70),
-	PIN(233, 0, 0, 0x2f, 0x70),
-	PIN(234, 0, 3, 0x2f, 0x70),
-	PIN(235, 0, 1, 0x2f, 0x70),
-	PIN(236, 0, 2, 0x2f, 0x70),
-	PIN(237, 0, 6, 0x2f, 0x70),
-	PIN(238, 0, 5, 0x2f, 0x70),
-	PIN(239, 0, 19, 0x2f, 0x70),
-	PIN(240, 0, 18, 0x2f, 0x70),
-	PIN(241, 0, 16, 0x2f, 0x70),
-	PIN(242, 0, 17, 0x2f, 0x70),
-	PIN(243, 0, 15, 0x2f, 0x70),
-	PIN(244, 0, 12, 0x2f, 0x70),
-	PIN(245, 0, 9, 0x2f, 0x70),
-	PIN(246, 0, 8, 0x2f, 0x70),
-	PIN(247, 0, 7, 0x2f, 0x70),
-	PIN(248, 0, 4, 0x2f, 0x70),
-	PIN(249, 0, 20, 0x2f, 0x70),
-	PIN(250, 0, 11, 0x2f, 0x70),
-	PIN(251, 0, 2, 0x13, 0x80),
-	PIN(252, 0, 3, 0x13, 0x80),
-	PIN(253, 0, 4, 0x13, 0x80),
-	PIN(254, 0, 5, 0x13, 0x80),
-	PIN(255, 0, 6, 0x13, 0x80),
-	PIN(256, 0, 7, 0x13, 0x80),
-	PIN(257, 0, 8, 0x13, 0x80),
-	PIN(258, 0, 9, 0x13, 0x80),
+	PIN(230, 0, 13, 0x2f, 0x90),
+	PIN(231, 0, 14, 0x2f, 0x90),
+	PIN(232, 0, 10, 0x2f, 0x90),
+	PIN(233, 0, 0, 0x2f, 0x90),
+	PIN(234, 0, 3, 0x2f, 0x90),
+	PIN(235, 0, 1, 0x2f, 0x90),
+	PIN(236, 0, 2, 0x2f, 0x90),
+	PIN(237, 0, 6, 0x2f, 0x90),
+	PIN(238, 0, 5, 0x2f, 0x90),
+	PIN(239, 0, 19, 0x2f, 0x90),
+	PIN(240, 0, 18, 0x2f, 0x90),
+	PIN(241, 0, 16, 0x2f, 0x90),
+	PIN(242, 0, 17, 0x2f, 0x90),
+	PIN(243, 0, 15, 0x2f, 0x90),
+	PIN(244, 0, 12, 0x2f, 0x90),
+	PIN(245, 0, 9, 0x2f, 0x90),
+	PIN(246, 0, 8, 0x2f, 0x90),
+	PIN(247, 0, 7, 0x2f, 0x90),
+	PIN(248, 0, 4, 0x2f, 0x90),
+	PIN(249, 0, 20, 0x2f, 0x90),
+	PIN(250, 0, 11, 0x2f, 0x90),
+	PIN(251, 0, 2, 0x13, 0x90),
+	PIN(252, 0, 3, 0x13, 0x90),
+	PIN(253, 0, 4, 0x13, 0x90),
+	PIN(254, 0, 5, 0x13, 0x90),
+	PIN(255, 0, 6, 0x13, 0x90),
+	PIN(256, 0, 7, 0x13, 0x90),
+	PIN(257, 0, 8, 0x13, 0x90),
+	PIN(258, 0, 9, 0x13, 0x90),
 	PIN(259, 1, 9, 0x2e, 0xa0),
 	PIN(260, 1, 10, 0x2e, 0xa0),
 	PIN(261, 1, 11, 0x2e, 0xa0),
diff --git a/poetry.lock b/poetry.lock
index 4127bcd..341a2bd 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
 
 [[package]]
 name = "alabaster"
@@ -538,6 +538,25 @@
 ]
 
 [[package]]
+name = "memory"
+version = "0.1.0"
+description = "A tool for analysis of "
+optional = false
+python-versions = "^3.8.0"
+files = []
+develop = true
+
+[package.dependencies]
+anytree = "^2.8.0"
+click = "^8.1.3"
+prettytable = "^3.5.0"
+pyelftools = "^0.29.0"
+
+[package.source]
+type = "directory"
+url = "tools/memory"
+
+[[package]]
 name = "myst-parser"
 version = "0.18.1"
 description = "An extended commonmark compliant parser, with bridges to docutils & sphinx."
@@ -1147,7 +1166,7 @@
 
 [package.dependencies]
 click = "^8.1.7"
-jinja2 = "^3.1.4"
+jinja2 = "^3.1.5"
 pyyaml = "^6.0.1"
 rich = "^10.14.0"
 tox = "^4.18.0"
@@ -1312,4 +1331,4 @@
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.8"
-content-hash = "6a6d2fe9390a4d7d1ecf808d5f303f2dc1eeb44736827b706a858046f3eea1db"
+content-hash = "7574eee0a05db1d9631bb29288abfc806810906a66e087a5a32e6e3920eb4bba"
diff --git a/pyproject.toml b/pyproject.toml
index 62878b4..55f3f2a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -5,16 +5,11 @@
 authors = ["Arm Ltd."]
 license = "BSD-3-Clause"
 readme = "readme.rst"
-packages = [
-	{ include = "memory", from = "tools/memory"}
-]
-
-[tool.poetry.scripts]
-memory = "memory.memmap:main"
 
 [tool.poetry.dependencies]
 python = "^3.8"
 cot-dt2c = {path = "tools/cot_dt2c", develop = true}
+memory = {path = "tools/memory", develop = true}
 tlc = {path = "tools/tlc", develop = true}
 
 [tool.poetry.group.docs]
@@ -30,9 +25,3 @@
 
 [tool.poetry.group.ci.dependencies]
 click = "^8.1.3"
-
-[tool.poetry.group.memory.dependencies]
-pyelftools = "^0.29"
-anytree = "^2.8.0"
-click = "^8.1.3"
-prettytable = "^3.5.0"
diff --git a/tools/memory/__init__.py b/tools/memory/__init__.py
deleted file mode 100644
index 0b4c8d3..0000000
--- a/tools/memory/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python3
-
-#
-# Copyright (c) 2023, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
diff --git a/tools/memory/memory/__init__.py b/tools/memory/memory/__init__.py
deleted file mode 100644
index 0b4c8d3..0000000
--- a/tools/memory/memory/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python3
-
-#
-# Copyright (c) 2023, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
diff --git a/tools/memory/poetry.lock b/tools/memory/poetry.lock
new file mode 100644
index 0000000..2747479
--- /dev/null
+++ b/tools/memory/poetry.lock
@@ -0,0 +1,95 @@
+# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
+
+[[package]]
+name = "anytree"
+version = "2.12.1"
+description = "Powerful and Lightweight Python Tree Data Structure with various plugins"
+optional = false
+python-versions = ">=3.7.2,<4"
+files = [
+    {file = "anytree-2.12.1-py3-none-any.whl", hash = "sha256:5ea9e61caf96db1e5b3d0a914378d2cd83c269dfce1fb8242ce96589fa3382f0"},
+    {file = "anytree-2.12.1.tar.gz", hash = "sha256:244def434ccf31b668ed282954e5d315b4e066c4940b94aff4a7962d85947830"},
+]
+
+[package.dependencies]
+six = "*"
+
+[[package]]
+name = "click"
+version = "8.1.8"
+description = "Composable command line interface toolkit"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"},
+    {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"},
+]
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+description = "Cross-platform colored terminal text."
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+files = [
+    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
+    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
+]
+
+[[package]]
+name = "prettytable"
+version = "3.11.0"
+description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "prettytable-3.11.0-py3-none-any.whl", hash = "sha256:aa17083feb6c71da11a68b2c213b04675c4af4ce9c541762632ca3f2cb3546dd"},
+    {file = "prettytable-3.11.0.tar.gz", hash = "sha256:7e23ca1e68bbfd06ba8de98bf553bf3493264c96d5e8a615c0471025deeba722"},
+]
+
+[package.dependencies]
+wcwidth = "*"
+
+[package.extras]
+tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"]
+
+[[package]]
+name = "pyelftools"
+version = "0.29"
+description = "Library for analyzing ELF files and DWARF debugging information"
+optional = false
+python-versions = "*"
+files = [
+    {file = "pyelftools-0.29-py2.py3-none-any.whl", hash = "sha256:519f38cf412f073b2d7393aa4682b0190fa901f7c3fa0bff2b82d537690c7fc1"},
+    {file = "pyelftools-0.29.tar.gz", hash = "sha256:ec761596aafa16e282a31de188737e5485552469ac63b60cfcccf22263fd24ff"},
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+description = "Python 2 and 3 compatibility utilities"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+files = [
+    {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
+    {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
+]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.13"
+description = "Measures the displayed width of unicode strings in a terminal"
+optional = false
+python-versions = "*"
+files = [
+    {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
+    {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
+]
+
+[metadata]
+lock-version = "2.0"
+python-versions = "^3.8.0"
+content-hash = "d7c185b3dbfc9bba145f12146e18ce501caf081d7762f138bc5a7fde99f40543"
diff --git a/tools/memory/pyproject.toml b/tools/memory/pyproject.toml
new file mode 100644
index 0000000..c2fdfcb
--- /dev/null
+++ b/tools/memory/pyproject.toml
@@ -0,0 +1,21 @@
+[tool.poetry]
+name = "memory"
+version = "0.1.0"
+description = "A tool for analysis of static memory consumption by TF-A images"
+authors = ["Chris Kay <chris.kay@arm.com>", "Harrison Mutai <harrison.mutai@arm.com>"]
+license = "BSD-3-Clause"
+packages = [{include = "memory", from = "src"}]
+
+[tool.poetry.dependencies]
+anytree = "^2.8.0"
+click = "^8.1.3"
+prettytable = "^3.5.0"
+pyelftools = "^0.29.0"
+python = "^3.8.0"
+
+[tool.poetry.scripts]
+memory = "memory.memmap:main"
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
diff --git a/tools/memory/src/memory/__init__.py b/tools/memory/src/memory/__init__.py
new file mode 100644
index 0000000..8e0db6b
--- /dev/null
+++ b/tools/memory/src/memory/__init__.py
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2025, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/tools/memory/memory/buildparser.py b/tools/memory/src/memory/buildparser.py
similarity index 97%
rename from tools/memory/memory/buildparser.py
rename to tools/memory/src/memory/buildparser.py
index dedff79..ea417e1 100755
--- a/tools/memory/memory/buildparser.py
+++ b/tools/memory/src/memory/buildparser.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2023, Arm Limited. All rights reserved.
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
diff --git a/tools/memory/memory/elfparser.py b/tools/memory/src/memory/elfparser.py
similarity index 98%
rename from tools/memory/memory/elfparser.py
rename to tools/memory/src/memory/elfparser.py
index 2dd2513..e6581c9 100644
--- a/tools/memory/memory/elfparser.py
+++ b/tools/memory/src/memory/elfparser.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2023, Arm Limited. All rights reserved.
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
diff --git a/tools/memory/memory/mapparser.py b/tools/memory/src/memory/mapparser.py
similarity index 97%
rename from tools/memory/memory/mapparser.py
rename to tools/memory/src/memory/mapparser.py
index ce4cc31..1c28e71 100644
--- a/tools/memory/memory/mapparser.py
+++ b/tools/memory/src/memory/mapparser.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
diff --git a/tools/memory/memory/memmap.py b/tools/memory/src/memory/memmap.py
similarity index 97%
rename from tools/memory/memory/memmap.py
rename to tools/memory/src/memory/memmap.py
index 34f5069..f46db8c 100755
--- a/tools/memory/memory/memmap.py
+++ b/tools/memory/src/memory/memmap.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
 #
-# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
diff --git a/tools/memory/memory/printer.py b/tools/memory/src/memory/printer.py
similarity index 98%
rename from tools/memory/memory/printer.py
rename to tools/memory/src/memory/printer.py
index 4b18560..f797139 100755
--- a/tools/memory/memory/printer.py
+++ b/tools/memory/src/memory/printer.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2023, Arm Limited. All rights reserved.
+# Copyright (c) 2023-2025, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #