blob: 58881f971a72599c3108d8819d87ad8430dc3e46 [file] [log] [blame]
Jorge Ramirez-Ortizbf084dc2018-09-23 09:36:13 +02001/*
Takuya Sakatacb9efd82021-12-01 13:42:54 +09002 * Copyright (c) 2015-2023, Renesas Electronics Corporation. All rights reserved.
Jorge Ramirez-Ortizbf084dc2018-09-23 09:36:13 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <stdint.h>
8
9#define RCAR_SA6_TYPE_HYPERFLASH (0)
10#define RCAR_SA6_TYPE_EMMC (1)
11
12#if (RCAR_SA6_TYPE == RCAR_SA6_TYPE_HYPERFLASH)
13
14/* Number of content cert for Non-secure Target Program(BL33x) */
15#define RCAR_IMAGE_NUM (0x00000001U)
16/* Source address on flash for BL31 */
17#define RCAR_BL31SRC_ADDRESS (0x001C0000U)
18/* Reserved */
19#define RCAR_BL31_PARTITION (0x00000000U)
20/* Source address on flash for BL32 */
21#define RCAR_BL32SRC_ADDRESS (0x00200000U)
22/* Reserved */
23#define RCAR_BL32_PARTITION (0x00000000U)
24/* Source address on flash for BL33 */
25#define RCAR_BL33SRC_ADDRESS (0x00640000U)
26/* Reserved */
27#define RCAR_BL33_PARTITION (0x00000000U)
28#define RCAR_BL332SRC_ADDRESS (0x00000000U)
29/* Reserved */
30#define RCAR_BL332_PARTITION (0x00000000U)
31#define RCAR_BL333SRC_ADDRESS (0x00000000U)
32/* Reserved */
33#define RCAR_BL333_PARTITION (0x00000000U)
34#define RCAR_BL334SRC_ADDRESS (0x00000000U)
35/* Reserved */
36#define RCAR_BL334_PARTITION (0x00000000U)
37#define RCAR_BL335SRC_ADDRESS (0x00000000U)
38/* Reserved */
39#define RCAR_BL335_PARTITION (0x00000000U)
40#define RCAR_BL336SRC_ADDRESS (0x00000000U)
41/* Reserved */
42#define RCAR_BL336_PARTITION (0x00000000U)
43#define RCAR_BL337SRC_ADDRESS (0x00000000U)
44/* Reserved */
45#define RCAR_BL337_PARTITION (0x00000000U)
46#define RCAR_BL338SRC_ADDRESS (0x00000000U)
47/* Reserved */
48#define RCAR_BL338_PARTITION (0x00000000U)
49
50#else /* RCAR_SA6_TYPE == RCAR_SA6_TYPE_HYPERFLASH */
51
52/* Number of content cert for Non-secure Target Program(BL33x) */
53#define RCAR_IMAGE_NUM (0x00000001U)
54/* Source address on eMMC for BL31 */
55#define RCAR_BL31SRC_ADDRESS (0x00040000U)
56/* Source partition on eMMC for BL31 */
57#define RCAR_BL31_PARTITION (0x00000001U)
58/* Source address on eMMC for BL32 */
59#define RCAR_BL32SRC_ADDRESS (0x00200000U)
60/* Source partition on eMMC for BL32 */
61#define RCAR_BL32_PARTITION (0x00000001U)
62/* Source address on eMMC for BL33 */
63#define RCAR_BL33SRC_ADDRESS (0x00000000U)
64/* Source partition on eMMC for BL33 */
65#define RCAR_BL33_PARTITION (0x00000002U)
66/* Reserved */
67#define RCAR_BL332SRC_ADDRESS (0x00000000U)
68#define RCAR_BL332_PARTITION (0x00000000U)
69/* Reserved */
70#define RCAR_BL333SRC_ADDRESS (0x00000000U)
71#define RCAR_BL333_PARTITION (0x00000000U)
72/* Reserved */
73#define RCAR_BL334SRC_ADDRESS (0x00000000U)
74#define RCAR_BL334_PARTITION (0x00000000U)
75/* Reserved */
76#define RCAR_BL335SRC_ADDRESS (0x00000000U)
77#define RCAR_BL335_PARTITION (0x00000000U)
78/* Reserved */
79#define RCAR_BL336SRC_ADDRESS (0x00000000U)
80#define RCAR_BL336_PARTITION (0x00000000U)
81/* Reserved */
82#define RCAR_BL337SRC_ADDRESS (0x00000000U)
83#define RCAR_BL337_PARTITION (0x00000000U)
84/* Reserved */
85#define RCAR_BL338SRC_ADDRESS (0x00000000U)
86#define RCAR_BL338_PARTITION (0x00000000U)
87
88#endif /* RCAR_SA6_TYPE == RCAR_SA6_TYPE_HYPERFLASH */
89
90/* Destination address for BL31 */
91#define RCAR_BL31DST_ADDRESS (0x44000000U)
92#define RCAR_BL31DST_ADDRESSH (0x00000000U)
93/* Destination size for BL31 */
Takuya Sakatacb9efd82021-12-01 13:42:54 +090094#define RCAR_BL31DST_SIZE (0x0000F800U)
Jorge Ramirez-Ortizbf084dc2018-09-23 09:36:13 +020095/* Destination address for BL32 */
96#define RCAR_BL32DST_ADDRESS (0x44100000U)
97#define RCAR_BL32DST_ADDRESSH (0x00000000U)
98/* Destination size for BL32 */
Toshiyuki Ogasahara1885aa52021-07-12 18:43:26 +090099#define RCAR_BL32DST_SIZE (0x00080000U)
Jorge Ramirez-Ortizbf084dc2018-09-23 09:36:13 +0200100/* Destination address for BL33 */
101#define RCAR_BL33DST_ADDRESS (0x50000000U)
102#define RCAR_BL33DST_ADDRESSH (0x00000000U)
103/* Destination size for BL33 */
104#define RCAR_BL33DST_SIZE (0x00040000U)
105/* Reserved */
106#define RCAR_BL332DST_ADDRESS (0x00000000U)
107#define RCAR_BL332DST_ADDRESSH (0x00000000U)
108#define RCAR_BL332DST_SIZE (0x00000000U)
109/* Reserved */
110#define RCAR_BL333DST_ADDRESS (0x00000000U)
111#define RCAR_BL333DST_ADDRESSH (0x00000000U)
112#define RCAR_BL333DST_SIZE (0x00000000U)
113/* Reserved */
114#define RCAR_BL334DST_ADDRESS (0x00000000U)
115#define RCAR_BL334DST_ADDRESSH (0x00000000U)
116#define RCAR_BL334DST_SIZE (0x00000000U)
117/* Reserved */
118#define RCAR_BL335DST_ADDRESS (0x00000000U)
119#define RCAR_BL335DST_ADDRESSH (0x00000000U)
120#define RCAR_BL335DST_SIZE (0x00000000U)
121/* Reserved */
122#define RCAR_BL336DST_ADDRESS (0x00000000U)
123#define RCAR_BL336DST_ADDRESSH (0x00000000U)
124#define RCAR_BL336DST_SIZE (0x00000000U)
125/* Reserved */
126#define RCAR_BL337DST_ADDRESS (0x00000000U)
127#define RCAR_BL337DST_ADDRESSH (0x00000000U)
128#define RCAR_BL337DST_SIZE (0x00000000U)
129/* Reserved */
130#define RCAR_BL338DST_ADDRESS (0x00000000U)
131#define RCAR_BL338DST_ADDRESSH (0x00000000U)
132#define RCAR_BL338DST_SIZE (0x00000000U)
133
134/* SA6 */
135const uint64_t __attribute__ ((section (".sa6_image_num"))) image_num = RCAR_IMAGE_NUM;
136const uint64_t __attribute__ ((section (".sa6_bl31src_addr"))) bl31src_addr = RCAR_BL31SRC_ADDRESS;
137const uint64_t __attribute__ ((section (".sa6_bl31partition"))) bl31partition = RCAR_BL31_PARTITION;
138const uint64_t __attribute__ ((section (".sa6_bl32src_addr"))) bl32src_addr = RCAR_BL32SRC_ADDRESS;
139const uint64_t __attribute__ ((section (".sa6_bl32partition"))) bl32partition = RCAR_BL32_PARTITION;
140const uint64_t __attribute__ ((section (".sa6_bl33src_addr"))) bl33src_addr = RCAR_BL33SRC_ADDRESS;
141const uint64_t __attribute__ ((section (".sa6_bl33partition"))) bl33partition = RCAR_BL33_PARTITION;
142const uint64_t __attribute__ ((section (".sa6_bl332src_addr"))) bl332src_addr = RCAR_BL332SRC_ADDRESS;
143const uint64_t __attribute__ ((section (".sa6_bl332partition")))bl332partition = RCAR_BL332_PARTITION;
144const uint64_t __attribute__ ((section (".sa6_bl333src_addr"))) bl333src_addr = RCAR_BL333SRC_ADDRESS;
145const uint64_t __attribute__ ((section (".sa6_bl333partition")))bl333partition = RCAR_BL333_PARTITION;
146const uint64_t __attribute__ ((section (".sa6_bl334src_addr"))) bl334src_addr = RCAR_BL334SRC_ADDRESS;
147const uint64_t __attribute__ ((section (".sa6_bl334partition")))bl334partition = RCAR_BL334_PARTITION;
148const uint64_t __attribute__ ((section (".sa6_bl335src_addr"))) bl335src_addr = RCAR_BL335SRC_ADDRESS;
149const uint64_t __attribute__ ((section (".sa6_bl335partition")))bl335partition = RCAR_BL335_PARTITION;
150const uint64_t __attribute__ ((section (".sa6_bl336src_addr"))) bl336src_addr = RCAR_BL336SRC_ADDRESS;
151const uint64_t __attribute__ ((section (".sa6_bl336partition")))bl336partition = RCAR_BL336_PARTITION;
152const uint64_t __attribute__ ((section (".sa6_bl337src_addr"))) bl337src_addr = RCAR_BL337SRC_ADDRESS;
153const uint64_t __attribute__ ((section (".sa6_bl337partition")))bl337partition = RCAR_BL337_PARTITION;
154const uint64_t __attribute__ ((section (".sa6_bl338src_addr"))) bl338src_addr = RCAR_BL338SRC_ADDRESS;
155const uint64_t __attribute__ ((section (".sa6_bl338partition")))bl338partition = RCAR_BL338_PARTITION;
156const uint32_t __attribute__ ((section (".sa6_bl31dst_addr"))) bl31dst_addr = RCAR_BL31DST_ADDRESS;
157const uint32_t __attribute__ ((section (".sa6_bl31dst_addrh"))) bl31dst_addrh = RCAR_BL31DST_ADDRESSH;
158const uint32_t __attribute__ ((section (".sa6_bl31dst_size"))) bl31dst_size = RCAR_BL31DST_SIZE;
159const uint32_t __attribute__ ((section (".sa6_bl32dst_addr"))) bl32dst_addr = RCAR_BL32DST_ADDRESS;
160const uint32_t __attribute__ ((section (".sa6_bl32dst_addrh"))) bl32dst_addrh = RCAR_BL32DST_ADDRESSH;
161const uint32_t __attribute__ ((section (".sa6_bl32dst_size"))) bl32dst_size = RCAR_BL32DST_SIZE;
162const uint32_t __attribute__ ((section (".sa6_bl33dst_addr"))) bl33dst_addr = RCAR_BL33DST_ADDRESS;
163const uint32_t __attribute__ ((section (".sa6_bl33dst_addrh"))) bl33dst_addrh = RCAR_BL33DST_ADDRESSH;
164const uint32_t __attribute__ ((section (".sa6_bl33dst_size"))) bl33dst_size = RCAR_BL33DST_SIZE;
165const uint32_t __attribute__ ((section (".sa6_bl332dst_addr"))) bl332dst_addr = RCAR_BL332DST_ADDRESS;
166const uint32_t __attribute__ ((section (".sa6_bl332dst_addrh")))bl332dst_addrh = RCAR_BL332DST_ADDRESSH;
167const uint32_t __attribute__ ((section (".sa6_bl332dst_size"))) bl332dst_size = RCAR_BL332DST_SIZE;
168const uint32_t __attribute__ ((section (".sa6_bl333dst_addr"))) bl333dst_addr = RCAR_BL333DST_ADDRESS;
169const uint32_t __attribute__ ((section (".sa6_bl333dst_addrh")))bl333dst_addrh = RCAR_BL333DST_ADDRESSH;
170const uint32_t __attribute__ ((section (".sa6_bl333dst_size"))) bl333dst_size = RCAR_BL333DST_SIZE;
171const uint32_t __attribute__ ((section (".sa6_bl334dst_addr"))) bl334dst_addr = RCAR_BL334DST_ADDRESS;
172const uint32_t __attribute__ ((section (".sa6_bl334dst_addrh")))bl334dst_addrh = RCAR_BL334DST_ADDRESSH;
173const uint32_t __attribute__ ((section (".sa6_bl334dst_size"))) bl334dst_size = RCAR_BL334DST_SIZE;
174const uint32_t __attribute__ ((section (".sa6_bl335dst_addr"))) bl335dst_addr = RCAR_BL335DST_ADDRESS;
175const uint32_t __attribute__ ((section (".sa6_bl335dst_addrh")))bl335dst_addrh = RCAR_BL335DST_ADDRESSH;
176const uint32_t __attribute__ ((section (".sa6_bl335dst_size"))) bl335dst_size = RCAR_BL335DST_SIZE;
177const uint32_t __attribute__ ((section (".sa6_bl336dst_addr"))) bl336dst_addr = RCAR_BL336DST_ADDRESS;
178const uint32_t __attribute__ ((section (".sa6_bl336dst_addrh")))bl336dst_addrh = RCAR_BL336DST_ADDRESSH;
179const uint32_t __attribute__ ((section (".sa6_bl336dst_size"))) bl336dst_size = RCAR_BL336DST_SIZE;
180const uint32_t __attribute__ ((section (".sa6_bl337dst_addr"))) bl337dst_addr = RCAR_BL337DST_ADDRESS;
181const uint32_t __attribute__ ((section (".sa6_bl337dst_addrh")))bl337dst_addrh = RCAR_BL337DST_ADDRESSH;
182const uint32_t __attribute__ ((section (".sa6_bl337dst_size"))) bl337dst_size = RCAR_BL337DST_SIZE;
183const uint32_t __attribute__ ((section (".sa6_bl338dst_addr"))) bl338dst_addr = RCAR_BL338DST_ADDRESS;
184const uint32_t __attribute__ ((section (".sa6_bl338dst_addrh")))bl338dst_addrh = RCAR_BL338DST_ADDRESSH;
185const uint32_t __attribute__ ((section (".sa6_bl338dst_size"))) bl338dst_size = RCAR_BL338DST_SIZE;