/* SPDX-License-Identifier: GPL-2.0 OR MIT */ /* Copyright (c) 2024 Imagination Technologies Ltd. */ #ifndef PVR_ROGUE_RISCV_H #define PVR_ROGUE_RISCV_H #include "pvr_rogue_cr_defs.h" #include #include #include #define ROGUE_RISCVFW_REGION_SIZE SZ_256M #define ROGUE_RISCVFW_REGION_SHIFT __ffs(ROGUE_RISCVFW_REGION_SIZE) enum rogue_riscvfw_region { ROGUE_RISCV_REGION__RESERVED_0 = 0, ROGUE_RISCV_REGION__RESERVED_1, ROGUE_RISCV_REGION_SOCIF, ROGUE_RISCV_REGION__RESERVED_3, ROGUE_RISCV_REGION__RESERVED_4, ROGUE_RISCV_REGION_BOOTLDR_DATA, ROGUE_RISCV_REGION_SHARED_CACHED_DATA, ROGUE_RISCV_REGION__RESERVED_7, ROGUE_RISCV_REGION_COREMEM, ROGUE_RISCV_REGION__RESERVED_9, ROGUE_RISCV_REGION__RESERVED_A, ROGUE_RISCV_REGION__RESERVED_B, ROGUE_RISCV_REGION_BOOTLDR_CODE, ROGUE_RISCV_REGION_SHARED_UNCACHED_DATA, ROGUE_RISCV_REGION__RESERVED_E, ROGUE_RISCV_REGION__RESERVED_F, ROGUE_RISCV_REGION__COUNT, }; #define ROGUE_RISCVFW_REGION_BASE(r) ((u32)(ROGUE_RISCV_REGION_##r) << ROGUE_RISCVFW_REGION_SHIFT) #define ROGUE_RISCVFW_REGION_REMAP_CR(r) \ (ROGUE_CR_FWCORE_ADDR_REMAP_CONFIG0 + (u32)(ROGUE_RISCV_REGION_##r) * 8U) #endif /* PVR_ROGUE_RISCV_H */