xref: /rk3399_ARM-atf/plat/rockchip/rk3368/rk3368_def.h (revision b3c8ac135447ddb4eb0d4dcd224ffa961f349e33)
16fba6e04STony Xie /*
2d31dcdc5SAntonio Nino Diaz  * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
36fba6e04STony Xie  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
56fba6e04STony Xie  */
66fba6e04STony Xie 
7c3cf06f1SAntonio Nino Diaz #ifndef RK3368_DEF_H
8c3cf06f1SAntonio Nino Diaz #define RK3368_DEF_H
96fba6e04STony Xie 
106fba6e04STony Xie /* Special value used to verify platform parameters from BL2 to BL3-1 */
116fba6e04STony Xie #define RK_BL31_PLAT_PARAM_VAL	0x0f1e2d3c4b5a6978ULL
126fba6e04STony Xie 
136fba6e04STony Xie #define CCI400_BASE		0xffb90000
146fba6e04STony Xie #define CCI400_SIZE		0x10000
156fba6e04STony Xie 
166fba6e04STony Xie #define GIC400_BASE		0xffb70000
176fba6e04STony Xie #define GIC400_SIZE		0x10000
186fba6e04STony Xie 
196fba6e04STony Xie #define STIME_BASE		0xff830000
206fba6e04STony Xie #define STIME_SIZE		0x10000
216fba6e04STony Xie 
226fba6e04STony Xie #define CRU_BASE		0xff760000
236fba6e04STony Xie #define CRU_SIZE		0x10000
246fba6e04STony Xie 
256fba6e04STony Xie #define GRF_BASE		0xff770000
266fba6e04STony Xie #define GRF_SIZE		0x10000
276fba6e04STony Xie 
286fba6e04STony Xie #define SGRF_BASE		0xff740000
296fba6e04STony Xie #define SGRF_SIZE		0x10000
306fba6e04STony Xie 
316fba6e04STony Xie #define PMU_BASE		0xff730000
326fba6e04STony Xie #define PMU_GRF_BASE		0xff738000
336fba6e04STony Xie #define PMU_SIZE		0x10000
346fba6e04STony Xie 
356fba6e04STony Xie #define RK_INTMEM_BASE		0xff8c0000
366fba6e04STony Xie #define RK_INTMEM_SIZE		0x10000
376fba6e04STony Xie 
38*0957b9b2SChristoph Müllner #define UART0_BASE		0xff180000
39*0957b9b2SChristoph Müllner #define UART0_SIZE		0x10000
40*0957b9b2SChristoph Müllner 
41*0957b9b2SChristoph Müllner #define UART1_BASE		0xff190000
42*0957b9b2SChristoph Müllner #define UART1_SIZE		0x10000
43*0957b9b2SChristoph Müllner 
44*0957b9b2SChristoph Müllner #define UART2_BASE		0xff690000
45*0957b9b2SChristoph Müllner #define UART2_SIZE		0x10000
46*0957b9b2SChristoph Müllner 
47*0957b9b2SChristoph Müllner #define UART3_BASE		0xff1b0000
48*0957b9b2SChristoph Müllner #define UART3_SIZE		0x10000
49*0957b9b2SChristoph Müllner 
50*0957b9b2SChristoph Müllner #define UART4_BASE		0xff1c0000
51*0957b9b2SChristoph Müllner #define UART4_SIZE		0x10000
526fba6e04STony Xie 
536fba6e04STony Xie #define CRU_BASE		0xff760000
546fba6e04STony Xie 
556fba6e04STony Xie #define PMUSRAM_BASE            0xff720000
566fba6e04STony Xie #define PMUSRAM_SIZE            0x10000
576fba6e04STony Xie #define PMUSRAM_RSIZE           0x1000
586fba6e04STony Xie 
596fba6e04STony Xie #define DDR_PCTL_BASE		0xff610000
606fba6e04STony Xie #define DDR_PCTL_SIZE		0x10000
616fba6e04STony Xie 
626fba6e04STony Xie #define DDR_PHY_BASE		0xff620000
636fba6e04STony Xie #define DDR_PHY_SIZE		0x10000
646fba6e04STony Xie 
656fba6e04STony Xie #define SERVICE_BUS_BASE	0xffac0000
666fba6e04STony Xie #define SERVICE_BUS_SISE	0x50000
676fba6e04STony Xie 
686fba6e04STony Xie #define COLD_BOOT_BASE		0xffff0000
696fba6e04STony Xie /**************************************************************************
706fba6e04STony Xie  * UART related constants
716fba6e04STony Xie  **************************************************************************/
726fba6e04STony Xie #define RK3368_BAUDRATE		115200
736fba6e04STony Xie #define RK3368_UART_CLOCK	24000000
746fba6e04STony Xie 
756fba6e04STony Xie /******************************************************************************
766fba6e04STony Xie  * System counter frequency related constants
776fba6e04STony Xie  ******************************************************************************/
786fba6e04STony Xie #define SYS_COUNTER_FREQ_IN_TICKS	24000000
796fba6e04STony Xie 
806fba6e04STony Xie /******************************************************************************
816fba6e04STony Xie  * GIC-400 & interrupt handling related constants
826fba6e04STony Xie  ******************************************************************************/
836fba6e04STony Xie 
846fba6e04STony Xie /* Base rk_platform compatible GIC memory map */
856fba6e04STony Xie #define RK3368_GICD_BASE		(GIC400_BASE + 0x1000)
866fba6e04STony Xie #define RK3368_GICC_BASE		(GIC400_BASE + 0x2000)
876fba6e04STony Xie #define RK3368_GICR_BASE		0	/* no GICR in GIC-400 */
886fba6e04STony Xie 
896fba6e04STony Xie /*****************************************************************************
906fba6e04STony Xie  * CCI-400 related constants
916fba6e04STony Xie  ******************************************************************************/
926fba6e04STony Xie #define PLAT_RK_CCI_CLUSTER0_SL_IFACE_IX	3
936fba6e04STony Xie #define PLAT_RK_CCI_CLUSTER1_SL_IFACE_IX	4
946fba6e04STony Xie 
956fba6e04STony Xie /******************************************************************************
966fba6e04STony Xie  * sgi, ppi
976fba6e04STony Xie  ******************************************************************************/
986fba6e04STony Xie #define RK_IRQ_SEC_PHY_TIMER	29
996fba6e04STony Xie 
1006fba6e04STony Xie #define RK_IRQ_SEC_SGI_0	8
1016fba6e04STony Xie #define RK_IRQ_SEC_SGI_1	9
1026fba6e04STony Xie #define RK_IRQ_SEC_SGI_2	10
1036fba6e04STony Xie #define RK_IRQ_SEC_SGI_3	11
1046fba6e04STony Xie #define RK_IRQ_SEC_SGI_4	12
1056fba6e04STony Xie #define RK_IRQ_SEC_SGI_5	13
1066fba6e04STony Xie #define RK_IRQ_SEC_SGI_6	14
1076fba6e04STony Xie #define RK_IRQ_SEC_SGI_7	15
1086fba6e04STony Xie 
1096fba6e04STony Xie /*
110d31dcdc5SAntonio Nino Diaz  * Define a list of Group 0 interrupts.
1116fba6e04STony Xie  */
112d31dcdc5SAntonio Nino Diaz #define PLAT_RK_GICV2_G0_IRQS						\
1132d6f1f01SAntonio Nino Diaz 	INTR_PROP_DESC(RK_IRQ_SEC_PHY_TIMER, GIC_HIGHEST_SEC_PRIORITY,	\
114d31dcdc5SAntonio Nino Diaz 		       GICV2_INTR_GROUP0, GIC_INTR_CFG_LEVEL)
1156fba6e04STony Xie 
116c3cf06f1SAntonio Nino Diaz #endif /* RK3368_DEF_H */
117