diff --git a/product/neoverse-rd/rdv3r1/scp_ramfw/CMakeLists.txt b/product/neoverse-rd/rdv3r1/scp_ramfw/CMakeLists.txt index b278c71bdb37a0caa87190bf90cc024dacfabd0e..7d41c6fc74c9f6e7529a970b9d5f8a9a67f2eb86 100644 --- a/product/neoverse-rd/rdv3r1/scp_ramfw/CMakeLists.txt +++ b/product/neoverse-rd/rdv3r1/scp_ramfw/CMakeLists.txt @@ -1,6 +1,6 @@ # # Arm SCP/MCP Software -# Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -23,6 +23,7 @@ target_sources( PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/config_system_power.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_armv7m_mpu.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_atu.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_atu_mmio.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_power_domain.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_ppu_v1.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_mhu3.c" diff --git a/product/neoverse-rd/rdv3r1/scp_ramfw/Firmware.cmake b/product/neoverse-rd/rdv3r1/scp_ramfw/Firmware.cmake index b9693f2933fa0d9f35ed54d1238440b5f8fd3d5d..6280fb2a564a8d667e5e01d37361096ccf4b2c61 100644 --- a/product/neoverse-rd/rdv3r1/scp_ramfw/Firmware.cmake +++ b/product/neoverse-rd/rdv3r1/scp_ramfw/Firmware.cmake @@ -1,6 +1,6 @@ # # Arm SCP/MCP Software -# Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -45,6 +45,7 @@ list(APPEND SCP_MODULES "pl011") list(APPEND SCP_MODULES "system-pik") list(APPEND SCP_MODULES "sid") list(APPEND SCP_MODULES "atu") +list(APPEND SCP_MODULES "atu-mmio") list(APPEND SCP_MODULES "ppu-v1") list(APPEND SCP_MODULES "system-power") list(APPEND SCP_MODULES "power-domain") diff --git a/product/neoverse-rd/rdv3r1/scp_ramfw/config_atu_mmio.c b/product/neoverse-rd/rdv3r1/scp_ramfw/config_atu_mmio.c new file mode 100644 index 0000000000000000000000000000000000000000..a7e80ea2ed59dc6ab6700125d19f040d364e26a2 --- /dev/null +++ b/product/neoverse-rd/rdv3r1/scp_ramfw/config_atu_mmio.c @@ -0,0 +1,31 @@ +/* + * Arm SCP/MCP Software + * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * Description: + * Configuration data for module 'atu_mmio'. + */ + +#include "scp_atw0_mmap.h" +#include "scp_css_mmap.h" + +#include +#include + +#include +#include +#include +#include + +static struct mod_atu_mmio_config atu_mmio_module_config = { + .window_address = SCP_ATW0_ATU_MMIO_BASE, + .map_size = SCP_ATW0_ATU_MMIO_SIZE, + .atu_id = FWK_ID_ELEMENT(FWK_MODULE_IDX_ATU, 0), + .atu_api_id = FWK_ID_API(FWK_MODULE_IDX_ATU, MOD_ATU_API_IDX_ATU), +}; + +struct fwk_module_config config_atu_mmio = { + .data = &atu_mmio_module_config, +}; diff --git a/product/neoverse-rd/rdv3r1/scp_ramfw/include/scp_atw0_mmap.h b/product/neoverse-rd/rdv3r1/scp_ramfw/include/scp_atw0_mmap.h index 7ad842f0ab6fe283d158f4bfc520f4333141773a..2eca80a0b1127c5aadffad0c19b0d100a9b5fe76 100644 --- a/product/neoverse-rd/rdv3r1/scp_ramfw/include/scp_atw0_mmap.h +++ b/product/neoverse-rd/rdv3r1/scp_ramfw/include/scp_atw0_mmap.h @@ -1,6 +1,6 @@ /* * Arm SCP/MCP Software - * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. + * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause * @@ -28,6 +28,10 @@ * | | * +----------------------------------------+ * | | + * | MMIO region mapped by ATU (1MB) | + * | | + * +----------------------------------------+ SCP_ATW0_ATU_MMIO_BASE + * | | * | Peripheral SRAM (1MB) | * | | * +----------------------------------------+ SCP_ATW0_AP_PERIPHERAL_SRAM_BASE @@ -100,4 +104,9 @@ (SCP_ATW0_CU_LCP_PERIPH_REGION_BASE + SCP_ATW0_CU_LCP_PERIPH_REGION_SIZE) #define SCP_ATW0_AP_PERIPHERAL_SRAM_SIZE (1 * FWK_MIB) +/* Logical address to access MMIO region mapped by ATU */ +#define SCP_ATW0_ATU_MMIO_BASE \ + (SCP_ATW0_AP_PERIPHERAL_SRAM_BASE + SCP_ATW0_AP_PERIPHERAL_SRAM_SIZE) +#define SCP_ATW0_ATU_MMIO_SIZE (1 * FWK_MIB) + #endif /* SCP_ATW0_MMAP_H */