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