185f199b7SChia-Wei Wang /* 285f199b7SChia-Wei Wang * Copyright (c) 2023, Aspeed Technology Inc. 385f199b7SChia-Wei Wang * 485f199b7SChia-Wei Wang * SPDX-License-Identifier: BSD-3-Clause 585f199b7SChia-Wei Wang */ 685f199b7SChia-Wei Wang 785f199b7SChia-Wei Wang #ifndef PLATFORM_DEF_H 885f199b7SChia-Wei Wang #define PLATFORM_DEF_H 985f199b7SChia-Wei Wang 1085f199b7SChia-Wei Wang #include <arch.h> 1185f199b7SChia-Wei Wang #include <plat/common/common_def.h> 1285f199b7SChia-Wei Wang #include <platform_reg.h> 1385f199b7SChia-Wei Wang 1485f199b7SChia-Wei Wang #define PLATFORM_STACK_SIZE UL(0x1000) 1585f199b7SChia-Wei Wang 1685f199b7SChia-Wei Wang /* cpu topology */ 1785f199b7SChia-Wei Wang #define PLATFORM_SYSTEM_COUNT U(1) 1885f199b7SChia-Wei Wang #define PLATFORM_CLUSTER_COUNT U(1) 1985f199b7SChia-Wei Wang #define PLATFORM_CORE_PRIMARY U(0) 2085f199b7SChia-Wei Wang #define PLATFORM_CORE_COUNT_PER_CLUSTER U(4) 2185f199b7SChia-Wei Wang #define PLATFORM_CORE_COUNT (PLATFORM_CLUSTER_COUNT * \ 2285f199b7SChia-Wei Wang PLATFORM_CORE_COUNT_PER_CLUSTER) 2385f199b7SChia-Wei Wang 2485f199b7SChia-Wei Wang /* power domain */ 2585f199b7SChia-Wei Wang #define PLAT_MAX_PWR_LVL U(1) 2685f199b7SChia-Wei Wang #define PLAT_NUM_PWR_DOMAINS U(5) 2785f199b7SChia-Wei Wang #define PLAT_MAX_RET_STATE U(1) 2885f199b7SChia-Wei Wang #define PLAT_MAX_OFF_STATE U(2) 2985f199b7SChia-Wei Wang 3085f199b7SChia-Wei Wang /* cache line size */ 3185f199b7SChia-Wei Wang #define CACHE_WRITEBACK_SHIFT U(6) 3285f199b7SChia-Wei Wang #define CACHE_WRITEBACK_GRANULE (U(1) << CACHE_WRITEBACK_SHIFT) 3385f199b7SChia-Wei Wang 3485f199b7SChia-Wei Wang /* translation tables */ 3585f199b7SChia-Wei Wang #define PLAT_PHY_ADDR_SPACE_SIZE (ULL(1) << 36) 3685f199b7SChia-Wei Wang #define PLAT_VIRT_ADDR_SPACE_SIZE (ULL(1) << 40) 3785f199b7SChia-Wei Wang #define MAX_XLAT_TABLES U(8) 3885f199b7SChia-Wei Wang #define MAX_MMAP_REGIONS U(32) 3985f199b7SChia-Wei Wang 4085f199b7SChia-Wei Wang /* BL31 region */ 41e681f1b8SChia-Wei Wang #define BL31_BASE ULL(0x430000000) 42e681f1b8SChia-Wei Wang #define BL31_SIZE SZ_512K 4385f199b7SChia-Wei Wang #define BL31_LIMIT (BL31_BASE + BL31_SIZE) 4485f199b7SChia-Wei Wang 4585f199b7SChia-Wei Wang /* BL32 region */ 4685f199b7SChia-Wei Wang #define BL32_BASE BL31_LIMIT 47e681f1b8SChia-Wei Wang #define BL32_SIZE SZ_16M 4885f199b7SChia-Wei Wang #define BL32_LIMIT (BL32_BASE + BL32_SIZE) 4985f199b7SChia-Wei Wang 5085f199b7SChia-Wei Wang /* console */ 5185f199b7SChia-Wei Wang #define CONSOLE_UART_BASE UART12_BASE 5285f199b7SChia-Wei Wang #define CONSOLE_UART_CLKIN_HZ U(1846153) 5385f199b7SChia-Wei Wang #define CONSOLE_UART_BAUDRATE U(115200) 5485f199b7SChia-Wei Wang 55*e3d1bbdbSKevin Chen /* CLK information */ 56*e3d1bbdbSKevin Chen #define CLKIN_25M UL(25000000) 57*e3d1bbdbSKevin Chen 58*e3d1bbdbSKevin Chen #define PLAT_CLK_GATE_NUM U(29) 59*e3d1bbdbSKevin Chen #define PLAT_CLK_HPLL (PLAT_CLK_GATE_NUM + 5) 60*e3d1bbdbSKevin Chen #define PLAT_CLK_DPLL (PLAT_CLK_GATE_NUM + 6) 61*e3d1bbdbSKevin Chen #define PLAT_CLK_MPLL (PLAT_CLK_GATE_NUM + 7) 62*e3d1bbdbSKevin Chen 6385f199b7SChia-Wei Wang #endif /* PLATFORM_DEF_H */ 64