xref: /rk3399_ARM-atf/plat/aspeed/ast2700/include/platform_def.h (revision fc189d95e4ecc1f2f4ec9a857c314337f891da37)
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