blob: d7e2ac6b90f81802738af6c777c31ab56e565cff [file] [log] [blame]
Sandrine Bailleux798140d2014-07-17 16:06:39 +01001/*
dp-arm8f59e152017-02-27 12:21:43 +00002 * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved.
Sandrine Bailleux798140d2014-07-17 16:06:39 +01003 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 *
7 * Redistributions of source code must retain the above copyright notice, this
8 * list of conditions and the following disclaimer.
9 *
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 *
14 * Neither the name of ARM nor the names of its contributors may be used
15 * to endorse or promote products derived from this software without specific
16 * prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef __JUNO_DEF_H__
32#define __JUNO_DEF_H__
33
Sandrine Bailleux798140d2014-07-17 16:06:39 +010034
Sandrine Bailleux798140d2014-07-17 16:06:39 +010035/*******************************************************************************
36 * Juno memory map related constants
37 ******************************************************************************/
Sandrine Bailleuxfd8f8982015-02-04 14:06:10 +000038
39/* Board revisions */
Dan Handley7bef8002015-03-19 19:22:44 +000040#define REV_JUNO_R0 0x1 /* Rev B */
41#define REV_JUNO_R1 0x2 /* Rev C */
Sandrine Bailleux9d548a22015-11-18 11:10:30 +000042#define REV_JUNO_R2 0x3 /* Rev D */
Sandrine Bailleux798140d2014-07-17 16:06:39 +010043
Dan Handley7bef8002015-03-19 19:22:44 +000044/* Bypass offset from start of NOR flash */
45#define BL1_ROM_BYPASS_OFFSET 0x03EC0000
Sandrine Bailleux798140d2014-07-17 16:06:39 +010046
Dan Handley7bef8002015-03-19 19:22:44 +000047#define EMMC_BASE 0x0c000000
48#define EMMC_SIZE 0x04000000
Sandrine Bailleux798140d2014-07-17 16:06:39 +010049
Dan Handley7bef8002015-03-19 19:22:44 +000050#define PSRAM_BASE 0x14000000
51#define PSRAM_SIZE 0x02000000
Sandrine Bailleux798140d2014-07-17 16:06:39 +010052
Vikram Kanigirif79d1502015-11-12 17:22:16 +000053#define JUNO_SSC_VER_PART_NUM 0x030
Sandrine Bailleux798140d2014-07-17 16:06:39 +010054
55/*******************************************************************************
Soby Mathew47e43f22016-02-01 14:04:34 +000056 * Juno topology related constants
57 ******************************************************************************/
58#define JUNO_CLUSTER_COUNT 2
59#define JUNO_CLUSTER0_CORE_COUNT 2
60#define JUNO_CLUSTER1_CORE_COUNT 4
61
62/*******************************************************************************
Sandrine Bailleux798140d2014-07-17 16:06:39 +010063 * TZC-400 related constants
64 ******************************************************************************/
Dan Handley7bef8002015-03-19 19:22:44 +000065#define TZC400_NSAID_CCI400 0 /* Note: Same as default NSAID!! */
66#define TZC400_NSAID_PCIE 1
67#define TZC400_NSAID_HDLCD0 2
68#define TZC400_NSAID_HDLCD1 3
69#define TZC400_NSAID_USB 4
70#define TZC400_NSAID_DMA330 5
71#define TZC400_NSAID_THINLINKS 6
72#define TZC400_NSAID_AP 9
73#define TZC400_NSAID_GPU 10
74#define TZC400_NSAID_SCP 11
75#define TZC400_NSAID_CORESIGHT 12
Sandrine Bailleux798140d2014-07-17 16:06:39 +010076
Juan Castillo21b04192014-08-12 17:24:30 +010077/*******************************************************************************
dp-arm8f59e152017-02-27 12:21:43 +000078 * TRNG related constants
79 ******************************************************************************/
80#define TRNG_BASE 0x7FE60000ULL
81#define TRNG_NOUTPUTS 4
82#define TRNG_STATUS 0x10
83#define TRNG_INTMASK 0x14
84#define TRNG_CONFIG 0x18
85#define TRNG_CONTROL 0x1C
86
87/*******************************************************************************
Robin Murphy0f1d6662015-01-09 14:30:58 +000088 * MMU-401 related constants
89 ******************************************************************************/
Dan Handley7bef8002015-03-19 19:22:44 +000090#define MMU401_SSD_OFFSET 0x4000
91#define MMU401_DMA330_BASE 0x7fb00000
92
Vikram Kanigirif3bcea22015-06-24 17:51:09 +010093/*******************************************************************************
94 * Interrupt handling constants
95 ******************************************************************************/
96#define JUNO_IRQ_DMA_SMMU 126
97#define JUNO_IRQ_HDLCD0_SMMU 128
98#define JUNO_IRQ_HDLCD1_SMMU 130
99#define JUNO_IRQ_USB_SMMU 132
100#define JUNO_IRQ_THIN_LINKS_SMMU 134
101#define JUNO_IRQ_SEC_I2C 137
102#define JUNO_IRQ_GPU_SMMU_1 73
103#define JUNO_IRQ_ETR_SMMU 75
Robin Murphy0f1d6662015-01-09 14:30:58 +0000104
Sandrine Bailleux798140d2014-07-17 16:06:39 +0100105#endif /* __JUNO_DEF_H__ */