1 /* 2 * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef TEGRA_DEF_H 8 #define TEGRA_DEF_H 9 10 #include <lib/utils_def.h> 11 12 /******************************************************************************* 13 * Power down state IDs 14 ******************************************************************************/ 15 #define PSTATE_ID_CORE_POWERDN U(7) 16 #define PSTATE_ID_CLUSTER_IDLE U(16) 17 #define PSTATE_ID_CLUSTER_POWERDN U(17) 18 #define PSTATE_ID_SOC_POWERDN U(27) 19 20 /******************************************************************************* 21 * This value is used by the PSCI implementation during the `SYSTEM_SUSPEND` 22 * call as the `state-id` field in the 'power state' parameter. 23 ******************************************************************************/ 24 #define PLAT_SYS_SUSPEND_STATE_ID PSTATE_ID_SOC_POWERDN 25 26 /******************************************************************************* 27 * Platform power states (used by PSCI framework) 28 * 29 * - PLAT_MAX_RET_STATE should be less than lowest PSTATE_ID 30 * - PLAT_MAX_OFF_STATE should be greater than the highest PSTATE_ID 31 ******************************************************************************/ 32 #define PLAT_MAX_RET_STATE U(1) 33 #define PLAT_MAX_OFF_STATE (PSTATE_ID_SOC_POWERDN + U(1)) 34 35 /******************************************************************************* 36 * GIC memory map 37 ******************************************************************************/ 38 #define TEGRA_GICD_BASE U(0x50041000) 39 #define TEGRA_GICC_BASE U(0x50042000) 40 41 /******************************************************************************* 42 * Tegra Memory Select Switch Controller constants 43 ******************************************************************************/ 44 #define TEGRA_MSELECT_BASE U(0x50060000) 45 46 #define MSELECT_CONFIG U(0x0) 47 #define ENABLE_WRAP_INCR_MASTER2_BIT (U(1) << U(29)) 48 #define ENABLE_WRAP_INCR_MASTER1_BIT (U(1) << U(28)) 49 #define ENABLE_WRAP_INCR_MASTER0_BIT (U(1) << U(27)) 50 #define UNSUPPORTED_TX_ERR_MASTER2_BIT (U(1) << U(25)) 51 #define UNSUPPORTED_TX_ERR_MASTER1_BIT (U(1) << U(24)) 52 #define ENABLE_UNSUP_TX_ERRORS (UNSUPPORTED_TX_ERR_MASTER2_BIT | \ 53 UNSUPPORTED_TX_ERR_MASTER1_BIT) 54 #define ENABLE_WRAP_TO_INCR_BURSTS (ENABLE_WRAP_INCR_MASTER2_BIT | \ 55 ENABLE_WRAP_INCR_MASTER1_BIT | \ 56 ENABLE_WRAP_INCR_MASTER0_BIT) 57 58 /******************************************************************************* 59 * Tegra micro-seconds timer constants 60 ******************************************************************************/ 61 #define TEGRA_TMRUS_BASE U(0x60005010) 62 #define TEGRA_TMRUS_SIZE U(0x1000) 63 64 /******************************************************************************* 65 * Tegra Clock and Reset Controller constants 66 ******************************************************************************/ 67 #define TEGRA_CAR_RESET_BASE U(0x60006000) 68 #define TEGRA_GPU_RESET_REG_OFFSET U(0x28C) 69 #define GPU_RESET_BIT (U(1) << 24) 70 71 /******************************************************************************* 72 * Tegra Flow Controller constants 73 ******************************************************************************/ 74 #define TEGRA_FLOWCTRL_BASE U(0x60007000) 75 76 /******************************************************************************* 77 * Tegra AHB arbitration controller 78 ******************************************************************************/ 79 #define TEGRA_AHB_ARB_BASE 0x6000C000UL 80 81 /******************************************************************************* 82 * Tegra Secure Boot Controller constants 83 ******************************************************************************/ 84 #define TEGRA_SB_BASE U(0x6000C200) 85 86 /******************************************************************************* 87 * Tegra Exception Vectors constants 88 ******************************************************************************/ 89 #define TEGRA_EVP_BASE U(0x6000F000) 90 91 /******************************************************************************* 92 * Tegra Miscellaneous register constants 93 ******************************************************************************/ 94 #define TEGRA_MISC_BASE U(0x70000000) 95 #define HARDWARE_REVISION_OFFSET U(0x804) 96 97 /******************************************************************************* 98 * Tegra UART controller base addresses 99 ******************************************************************************/ 100 #define TEGRA_UARTA_BASE U(0x70006000) 101 #define TEGRA_UARTB_BASE U(0x70006040) 102 #define TEGRA_UARTC_BASE U(0x70006200) 103 #define TEGRA_UARTD_BASE U(0x70006300) 104 #define TEGRA_UARTE_BASE U(0x70006400) 105 106 /******************************************************************************* 107 * Tegra Power Mgmt Controller constants 108 ******************************************************************************/ 109 #define TEGRA_PMC_BASE U(0x7000E400) 110 111 /******************************************************************************* 112 * Tegra Memory Controller constants 113 ******************************************************************************/ 114 #define TEGRA_MC_BASE U(0x70019000) 115 116 /* TZDRAM carveout configuration registers */ 117 #define MC_SECURITY_CFG0_0 U(0x70) 118 #define MC_SECURITY_CFG1_0 U(0x74) 119 #define MC_SECURITY_CFG3_0 U(0x9BC) 120 121 /* Video Memory carveout configuration registers */ 122 #define MC_VIDEO_PROTECT_BASE_HI U(0x978) 123 #define MC_VIDEO_PROTECT_BASE_LO U(0x648) 124 #define MC_VIDEO_PROTECT_SIZE_MB U(0x64c) 125 126 /******************************************************************************* 127 * Tegra SE constants 128 ******************************************************************************/ 129 #define TEGRA_SE1_BASE U(0x70012000) 130 #define TEGRA_SE2_BASE U(0x70412000) 131 #define TEGRA_PKA1_BASE U(0x70420000) 132 #define TEGRA_SE2_RANGE_SIZE U(0x2000) 133 #define SE_TZRAM_SECURITY U(0x4) 134 135 /******************************************************************************* 136 * Tegra TZRAM constants 137 ******************************************************************************/ 138 #define TEGRA_TZRAM_BASE U(0x7C010000) 139 #define TEGRA_TZRAM_SIZE U(0x10000) 140 141 #endif /* TEGRA_DEF_H */ 142