xref: /arm-trusted-firmware/plat/amlogic/gxbb/gxbb_def.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #ifndef GXBB_DEF_H
8*91f16700Schasinglulu #define GXBB_DEF_H
9*91f16700Schasinglulu 
10*91f16700Schasinglulu #include <lib/utils_def.h>
11*91f16700Schasinglulu 
12*91f16700Schasinglulu /*******************************************************************************
13*91f16700Schasinglulu  * System oscillator
14*91f16700Schasinglulu  ******************************************************************************/
15*91f16700Schasinglulu #define AML_OSC24M_CLK_IN_HZ			ULL(24000000) /* 24 MHz */
16*91f16700Schasinglulu 
17*91f16700Schasinglulu /*******************************************************************************
18*91f16700Schasinglulu  * Memory regions
19*91f16700Schasinglulu  ******************************************************************************/
20*91f16700Schasinglulu #define AML_NSDRAM0_BASE			UL(0x01000000)
21*91f16700Schasinglulu #define AML_NSDRAM0_SIZE			UL(0x0F000000)
22*91f16700Schasinglulu 
23*91f16700Schasinglulu #define AML_NSDRAM1_BASE			UL(0x10000000)
24*91f16700Schasinglulu #define AML_NSDRAM1_SIZE			UL(0x00100000)
25*91f16700Schasinglulu 
26*91f16700Schasinglulu #define BL31_BASE				UL(0x10100000)
27*91f16700Schasinglulu #define BL31_SIZE				UL(0x000C0000)
28*91f16700Schasinglulu #define BL31_LIMIT				(BL31_BASE + BL31_SIZE)
29*91f16700Schasinglulu 
30*91f16700Schasinglulu /* Shared memory used for SMC services */
31*91f16700Schasinglulu #define AML_SHARE_MEM_INPUT_BASE		UL(0x100FE000)
32*91f16700Schasinglulu #define AML_SHARE_MEM_OUTPUT_BASE		UL(0x100FF000)
33*91f16700Schasinglulu 
34*91f16700Schasinglulu #define AML_SEC_DEVICE0_BASE			UL(0xC0000000)
35*91f16700Schasinglulu #define AML_SEC_DEVICE0_SIZE			UL(0x09000000)
36*91f16700Schasinglulu 
37*91f16700Schasinglulu #define AML_SEC_DEVICE1_BASE			UL(0xD0040000)
38*91f16700Schasinglulu #define AML_SEC_DEVICE1_SIZE			UL(0x00008000)
39*91f16700Schasinglulu 
40*91f16700Schasinglulu #define AML_TZRAM_BASE				UL(0xD9000000)
41*91f16700Schasinglulu #define AML_TZRAM_SIZE				UL(0x00014000)
42*91f16700Schasinglulu /* Top 0xC000 bytes (up to 0xD9020000) used by BL2 */
43*91f16700Schasinglulu 
44*91f16700Schasinglulu /* Mailboxes */
45*91f16700Schasinglulu #define AML_MHU_SECURE_SCP_TO_AP_PAYLOAD	UL(0xD9013800)
46*91f16700Schasinglulu #define AML_MHU_SECURE_AP_TO_SCP_PAYLOAD	UL(0xD9013A00)
47*91f16700Schasinglulu #define AML_PSCI_MAILBOX_BASE			UL(0xD9013F00)
48*91f16700Schasinglulu 
49*91f16700Schasinglulu #define AML_TZROM_BASE				UL(0xD9040000)
50*91f16700Schasinglulu #define AML_TZROM_SIZE				UL(0x00010000)
51*91f16700Schasinglulu 
52*91f16700Schasinglulu #define AML_SEC_DEVICE2_BASE			UL(0xDA000000)
53*91f16700Schasinglulu #define AML_SEC_DEVICE2_SIZE			UL(0x00200000)
54*91f16700Schasinglulu 
55*91f16700Schasinglulu #define AML_SEC_DEVICE3_BASE			UL(0xDA800000)
56*91f16700Schasinglulu #define AML_SEC_DEVICE3_SIZE			UL(0x00200000)
57*91f16700Schasinglulu 
58*91f16700Schasinglulu /*******************************************************************************
59*91f16700Schasinglulu  * GIC-400 and interrupt handling related constants
60*91f16700Schasinglulu  ******************************************************************************/
61*91f16700Schasinglulu #define AML_GICD_BASE				UL(0xC4301000)
62*91f16700Schasinglulu #define AML_GICC_BASE				UL(0xC4302000)
63*91f16700Schasinglulu 
64*91f16700Schasinglulu #define IRQ_SEC_PHY_TIMER			29
65*91f16700Schasinglulu 
66*91f16700Schasinglulu #define IRQ_SEC_SGI_0				8
67*91f16700Schasinglulu #define IRQ_SEC_SGI_1				9
68*91f16700Schasinglulu #define IRQ_SEC_SGI_2				10
69*91f16700Schasinglulu #define IRQ_SEC_SGI_3				11
70*91f16700Schasinglulu #define IRQ_SEC_SGI_4				12
71*91f16700Schasinglulu #define IRQ_SEC_SGI_5				13
72*91f16700Schasinglulu #define IRQ_SEC_SGI_6				14
73*91f16700Schasinglulu #define IRQ_SEC_SGI_7				15
74*91f16700Schasinglulu 
75*91f16700Schasinglulu /*******************************************************************************
76*91f16700Schasinglulu  * UART definitions
77*91f16700Schasinglulu  ******************************************************************************/
78*91f16700Schasinglulu #define AML_UART0_AO_BASE			UL(0xC81004C0)
79*91f16700Schasinglulu #define AML_UART0_AO_CLK_IN_HZ			AML_OSC24M_CLK_IN_HZ
80*91f16700Schasinglulu #define AML_UART_BAUDRATE			U(115200)
81*91f16700Schasinglulu 
82*91f16700Schasinglulu /*******************************************************************************
83*91f16700Schasinglulu  * Memory-mapped I/O Registers
84*91f16700Schasinglulu  ******************************************************************************/
85*91f16700Schasinglulu #define AML_AO_TIMESTAMP_CNTL			UL(0xC81000B4)
86*91f16700Schasinglulu 
87*91f16700Schasinglulu #define AML_SYS_CPU_CFG7			UL(0xC8834664)
88*91f16700Schasinglulu 
89*91f16700Schasinglulu #define AML_AO_RTI_STATUS_REG3			UL(0xDA10001C)
90*91f16700Schasinglulu 
91*91f16700Schasinglulu #define AML_HIU_MAILBOX_SET_0			UL(0xDA83C404)
92*91f16700Schasinglulu #define AML_HIU_MAILBOX_STAT_0			UL(0xDA83C408)
93*91f16700Schasinglulu #define AML_HIU_MAILBOX_CLR_0			UL(0xDA83C40C)
94*91f16700Schasinglulu #define AML_HIU_MAILBOX_SET_3			UL(0xDA83C428)
95*91f16700Schasinglulu #define AML_HIU_MAILBOX_STAT_3			UL(0xDA83C42C)
96*91f16700Schasinglulu #define AML_HIU_MAILBOX_CLR_3			UL(0xDA83C430)
97*91f16700Schasinglulu 
98*91f16700Schasinglulu #define AML_SHA_DMA_BASE			UL(0xC883E000)
99*91f16700Schasinglulu #define AML_SHA_DMA_DESC			(AML_SHA_DMA_BASE + 0x08)
100*91f16700Schasinglulu #define AML_SHA_DMA_STATUS			(AML_SHA_DMA_BASE + 0x18)
101*91f16700Schasinglulu 
102*91f16700Schasinglulu /*******************************************************************************
103*91f16700Schasinglulu  * System Monitor Call IDs and arguments
104*91f16700Schasinglulu  ******************************************************************************/
105*91f16700Schasinglulu #define AML_SM_GET_SHARE_MEM_INPUT_BASE		U(0x82000020)
106*91f16700Schasinglulu #define AML_SM_GET_SHARE_MEM_OUTPUT_BASE	U(0x82000021)
107*91f16700Schasinglulu 
108*91f16700Schasinglulu #define AML_SM_EFUSE_READ			U(0x82000030)
109*91f16700Schasinglulu #define AML_SM_EFUSE_USER_MAX			U(0x82000033)
110*91f16700Schasinglulu 
111*91f16700Schasinglulu #define AML_SM_JTAG_ON				U(0x82000040)
112*91f16700Schasinglulu #define AML_SM_JTAG_OFF				U(0x82000041)
113*91f16700Schasinglulu #define AML_SM_GET_CHIP_ID			U(0x82000044)
114*91f16700Schasinglulu 
115*91f16700Schasinglulu #define AML_JTAG_STATE_ON			U(0)
116*91f16700Schasinglulu #define AML_JTAG_STATE_OFF			U(1)
117*91f16700Schasinglulu 
118*91f16700Schasinglulu #define AML_JTAG_M3_AO				U(0)
119*91f16700Schasinglulu #define AML_JTAG_M3_EE				U(1)
120*91f16700Schasinglulu #define AML_JTAG_A53_AO				U(2)
121*91f16700Schasinglulu #define AML_JTAG_A53_EE				U(3)
122*91f16700Schasinglulu 
123*91f16700Schasinglulu #endif /* GXBB_DEF_H */
124