diff options
author | Nathan Rossi <nathan.rossi@xilinx.com> | 2015-04-20 16:38:00 +1000 |
---|---|---|
committer | Nathan Rossi <nathan.rossi@xilinx.com> | 2015-04-20 16:38:00 +1000 |
commit | 50ed79670d32372d86e3d904fa0c0d0f8262684c (patch) | |
tree | f7e8d64c91bb1dab0f6d9b372d434d7e4a6eca6a | |
parent | bc07a46a710120f749fdb2529be5e885d7c1d5bb (diff) | |
download | meta-xilinx-50ed79670d32372d86e3d904fa0c0d0f8262684c.tar.gz |
u-boot-zynqmp-mainline_2015.04: Update to final tag
* Remove ZynqMP patch as it was accepted and part of the v2015.04
release
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
-rw-r--r-- | recipes-bsp/u-boot/u-boot-zynqmp-mainline/0001-arm64-Add-Xilinx-ZynqMP-support.patch | 597 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-zynqmp-mainline_2015.04.bb | 11 |
2 files changed, 3 insertions, 605 deletions
diff --git a/recipes-bsp/u-boot/u-boot-zynqmp-mainline/0001-arm64-Add-Xilinx-ZynqMP-support.patch b/recipes-bsp/u-boot/u-boot-zynqmp-mainline/0001-arm64-Add-Xilinx-ZynqMP-support.patch deleted file mode 100644 index 7aa42664..00000000 --- a/recipes-bsp/u-boot/u-boot-zynqmp-mainline/0001-arm64-Add-Xilinx-ZynqMP-support.patch +++ /dev/null | |||
@@ -1,597 +0,0 @@ | |||
1 | From 87adcf00f0718fe99578f58e9bba9aa5785803a8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michal Simek <michal.simek@xilinx.com> | ||
3 | Date: Thu, 15 Jan 2015 10:01:51 +0100 | ||
4 | Subject: [PATCH] arm64: Add Xilinx ZynqMP support | ||
5 | |||
6 | Add basic Xilinx ZynqMP arm64 support. | ||
7 | Serial and SD is supported. | ||
8 | It supports emulation platfrom ep108 and QEMU. | ||
9 | |||
10 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
11 | --- | ||
12 | MAINTAINERS | 6 ++ | ||
13 | arch/arm/Kconfig | 5 + | ||
14 | arch/arm/cpu/armv8/Makefile | 1 + | ||
15 | arch/arm/cpu/armv8/zynqmp/Makefile | 9 ++ | ||
16 | arch/arm/cpu/armv8/zynqmp/clk.c | 49 ++++++++++ | ||
17 | arch/arm/cpu/armv8/zynqmp/cpu.c | 28 ++++++ | ||
18 | arch/arm/include/asm/arch-zynqmp/clk.h | 13 +++ | ||
19 | arch/arm/include/asm/arch-zynqmp/hardware.h | 52 +++++++++++ | ||
20 | arch/arm/include/asm/arch-zynqmp/sys_proto.h | 15 +++ | ||
21 | board/xilinx/zynqmp/Kconfig | 15 +++ | ||
22 | board/xilinx/zynqmp/MAINTAINERS | 6 ++ | ||
23 | board/xilinx/zynqmp/Makefile | 8 ++ | ||
24 | board/xilinx/zynqmp/zynqmp.c | 90 ++++++++++++++++++ | ||
25 | configs/xilinx_zynqmp_defconfig | 14 +++ | ||
26 | include/configs/xilinx_zynqmp.h | 134 +++++++++++++++++++++++++++ | ||
27 | 15 files changed, 445 insertions(+) | ||
28 | create mode 100644 arch/arm/cpu/armv8/zynqmp/Makefile | ||
29 | create mode 100644 arch/arm/cpu/armv8/zynqmp/clk.c | ||
30 | create mode 100644 arch/arm/cpu/armv8/zynqmp/cpu.c | ||
31 | create mode 100644 arch/arm/include/asm/arch-zynqmp/clk.h | ||
32 | create mode 100644 arch/arm/include/asm/arch-zynqmp/hardware.h | ||
33 | create mode 100644 arch/arm/include/asm/arch-zynqmp/sys_proto.h | ||
34 | create mode 100644 board/xilinx/zynqmp/Kconfig | ||
35 | create mode 100644 board/xilinx/zynqmp/MAINTAINERS | ||
36 | create mode 100644 board/xilinx/zynqmp/Makefile | ||
37 | create mode 100644 board/xilinx/zynqmp/zynqmp.c | ||
38 | create mode 100644 configs/xilinx_zynqmp_defconfig | ||
39 | create mode 100644 include/configs/xilinx_zynqmp.h | ||
40 | |||
41 | diff --git a/MAINTAINERS b/MAINTAINERS | ||
42 | index 1f77359..d2becd2 100644 | ||
43 | --- a/MAINTAINERS | ||
44 | +++ b/MAINTAINERS | ||
45 | @@ -178,6 +178,12 @@ S: Maintained | ||
46 | F: arch/arm/cpu/armv7/zynq/ | ||
47 | F: arch/arm/include/asm/arch-zynq/ | ||
48 | |||
49 | +ARM ZYNQMP | ||
50 | +M: Michal Simek <michal.simek@xilinx.com> | ||
51 | +S: Maintained | ||
52 | +F: arch/arm/cpu/armv8/zynqmp/ | ||
53 | +F: arch/arm/include/asm/arch-zynqmp/ | ||
54 | + | ||
55 | AVR32 | ||
56 | M: Andreas Bießmann <andreas.devel@googlemail.com> | ||
57 | S: Maintained | ||
58 | diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig | ||
59 | index 986b4c5..3d01775 100644 | ||
60 | --- a/arch/arm/Kconfig | ||
61 | +++ b/arch/arm/Kconfig | ||
62 | @@ -719,6 +719,10 @@ config ZYNQ | ||
63 | select CPU_V7 | ||
64 | select SUPPORT_SPL | ||
65 | |||
66 | +config TARGET_XILINX_ZYNQMP | ||
67 | + bool "Support Xilinx ZynqMP Platform" | ||
68 | + select ARM64 | ||
69 | + | ||
70 | config TEGRA | ||
71 | bool "NVIDIA Tegra" | ||
72 | select SUPPORT_SPL | ||
73 | @@ -998,6 +1002,7 @@ source "board/vpac270/Kconfig" | ||
74 | source "board/wandboard/Kconfig" | ||
75 | source "board/woodburn/Kconfig" | ||
76 | source "board/xaeniax/Kconfig" | ||
77 | +source "board/xilinx/zynqmp/Kconfig" | ||
78 | source "board/zipitz2/Kconfig" | ||
79 | |||
80 | source "arch/arm/Kconfig.debug" | ||
81 | diff --git a/arch/arm/cpu/armv8/Makefile b/arch/arm/cpu/armv8/Makefile | ||
82 | index 0c10223..dee5e25 100644 | ||
83 | --- a/arch/arm/cpu/armv8/Makefile | ||
84 | +++ b/arch/arm/cpu/armv8/Makefile | ||
85 | @@ -16,3 +16,4 @@ obj-y += tlb.o | ||
86 | obj-y += transition.o | ||
87 | |||
88 | obj-$(CONFIG_FSL_LSCH3) += fsl-lsch3/ | ||
89 | +obj-$(CONFIG_TARGET_XILINX_ZYNQMP) += zynqmp/ | ||
90 | diff --git a/arch/arm/cpu/armv8/zynqmp/Makefile b/arch/arm/cpu/armv8/zynqmp/Makefile | ||
91 | new file mode 100644 | ||
92 | index 0000000..a997e04 | ||
93 | --- /dev/null | ||
94 | +++ b/arch/arm/cpu/armv8/zynqmp/Makefile | ||
95 | @@ -0,0 +1,9 @@ | ||
96 | +# | ||
97 | +# (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
98 | +# Michal Simek <michal.simek@xilinx.com> | ||
99 | +# | ||
100 | +# SPDX-License-Identifier: GPL-2.0+ | ||
101 | +# | ||
102 | + | ||
103 | +obj-y += clk.o | ||
104 | +obj-y += cpu.o | ||
105 | diff --git a/arch/arm/cpu/armv8/zynqmp/clk.c b/arch/arm/cpu/armv8/zynqmp/clk.c | ||
106 | new file mode 100644 | ||
107 | index 0000000..0af619d | ||
108 | --- /dev/null | ||
109 | +++ b/arch/arm/cpu/armv8/zynqmp/clk.c | ||
110 | @@ -0,0 +1,49 @@ | ||
111 | +/* | ||
112 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
113 | + * Michal Simek <michal.simek@xilinx.com> | ||
114 | + * | ||
115 | + * SPDX-License-Identifier: GPL-2.0+ | ||
116 | + */ | ||
117 | + | ||
118 | +#include <common.h> | ||
119 | +#include <asm/arch/hardware.h> | ||
120 | +#include <asm/arch/sys_proto.h> | ||
121 | + | ||
122 | +DECLARE_GLOBAL_DATA_PTR; | ||
123 | + | ||
124 | +unsigned long get_uart_clk(int dev_id) | ||
125 | +{ | ||
126 | + u32 ver = zynqmp_get_silicon_version(); | ||
127 | + | ||
128 | + switch (ver) { | ||
129 | + case ZYNQMP_CSU_VERSION_EP108: | ||
130 | + return 25000000; | ||
131 | + } | ||
132 | + | ||
133 | + return 133000000; | ||
134 | +} | ||
135 | + | ||
136 | +#ifdef CONFIG_CLOCKS | ||
137 | +/** | ||
138 | + * set_cpu_clk_info() - Initialize clock framework | ||
139 | + * Always returns zero. | ||
140 | + * | ||
141 | + * This function is called from common code after relocation and sets up the | ||
142 | + * clock framework. The framework must not be used before this function had been | ||
143 | + * called. | ||
144 | + */ | ||
145 | +int set_cpu_clk_info(void) | ||
146 | +{ | ||
147 | + gd->cpu_clk = get_tbclk(); | ||
148 | + | ||
149 | + /* Support Veloce to show at least 1MHz via bdi */ | ||
150 | + if (gd->cpu_clk > 1000000) | ||
151 | + gd->bd->bi_arm_freq = gd->cpu_clk / 1000000; | ||
152 | + else | ||
153 | + gd->bd->bi_arm_freq = 1; | ||
154 | + | ||
155 | + gd->bd->bi_dsp_freq = 0; | ||
156 | + | ||
157 | + return 0; | ||
158 | +} | ||
159 | +#endif | ||
160 | diff --git a/arch/arm/cpu/armv8/zynqmp/cpu.c b/arch/arm/cpu/armv8/zynqmp/cpu.c | ||
161 | new file mode 100644 | ||
162 | index 0000000..6fae03c | ||
163 | --- /dev/null | ||
164 | +++ b/arch/arm/cpu/armv8/zynqmp/cpu.c | ||
165 | @@ -0,0 +1,28 @@ | ||
166 | +/* | ||
167 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
168 | + * Michal Simek <michal.simek@xilinx.com> | ||
169 | + * | ||
170 | + * SPDX-License-Identifier: GPL-2.0+ | ||
171 | + */ | ||
172 | + | ||
173 | +#include <common.h> | ||
174 | +#include <asm/arch/hardware.h> | ||
175 | +#include <asm/arch/sys_proto.h> | ||
176 | +#include <asm/io.h> | ||
177 | + | ||
178 | +#define ZYNQ_SILICON_VER_MASK 0xF000 | ||
179 | +#define ZYNQ_SILICON_VER_SHIFT 12 | ||
180 | + | ||
181 | +DECLARE_GLOBAL_DATA_PTR; | ||
182 | + | ||
183 | +unsigned int zynqmp_get_silicon_version(void) | ||
184 | +{ | ||
185 | + gd->cpu_clk = get_tbclk(); | ||
186 | + | ||
187 | + switch (gd->cpu_clk) { | ||
188 | + case 50000000: | ||
189 | + return ZYNQMP_CSU_VERSION_QEMU; | ||
190 | + } | ||
191 | + | ||
192 | + return ZYNQMP_CSU_VERSION_EP108; | ||
193 | +} | ||
194 | diff --git a/arch/arm/include/asm/arch-zynqmp/clk.h b/arch/arm/include/asm/arch-zynqmp/clk.h | ||
195 | new file mode 100644 | ||
196 | index 0000000..d55bc31 | ||
197 | --- /dev/null | ||
198 | +++ b/arch/arm/include/asm/arch-zynqmp/clk.h | ||
199 | @@ -0,0 +1,13 @@ | ||
200 | +/* | ||
201 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
202 | + * Michal Simek <michal.simek@xilinx.com> | ||
203 | + * | ||
204 | + * SPDX-License-Identifier: GPL-2.0+ | ||
205 | + */ | ||
206 | + | ||
207 | +#ifndef _ASM_ARCH_CLK_H_ | ||
208 | +#define _ASM_ARCH_CLK_H_ | ||
209 | + | ||
210 | +unsigned long get_uart_clk(int dev_id); | ||
211 | + | ||
212 | +#endif /* _ASM_ARCH_CLK_H_ */ | ||
213 | diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h | ||
214 | new file mode 100644 | ||
215 | index 0000000..97fb49a | ||
216 | --- /dev/null | ||
217 | +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h | ||
218 | @@ -0,0 +1,52 @@ | ||
219 | +/* | ||
220 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
221 | + * Michal Simek <michal.simek@xilinx.com> | ||
222 | + * | ||
223 | + * SPDX-License-Identifier: GPL-2.0+ | ||
224 | + */ | ||
225 | + | ||
226 | +#ifndef _ASM_ARCH_HARDWARE_H | ||
227 | +#define _ASM_ARCH_HARDWARE_H | ||
228 | + | ||
229 | +#define ZYNQ_SERIAL_BASEADDR0 0xFF000000 | ||
230 | +#define ZYNQ_SERIAL_BASEADDR1 0xFF001000 | ||
231 | + | ||
232 | +#define ZYNQ_SDHCI_BASEADDR0 0xFF160000 | ||
233 | +#define ZYNQ_SDHCI_BASEADDR1 0xFF170000 | ||
234 | + | ||
235 | +#define ZYNQMP_CRL_APB_BASEADDR 0xFF5E0000 | ||
236 | +#define ZYNQMP_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT 0x1000000 | ||
237 | + | ||
238 | +struct crlapb_regs { | ||
239 | + u32 reserved0[74]; | ||
240 | + u32 timestamp_ref_ctrl; /* 0x128 */ | ||
241 | + u32 reserved0_1[53]; | ||
242 | + u32 boot_mode; /* 0x200 */ | ||
243 | + u32 reserved1[26]; | ||
244 | +}; | ||
245 | + | ||
246 | +#define crlapb_base ((struct crlapb_regs *)ZYNQMP_CRL_APB_BASEADDR) | ||
247 | + | ||
248 | +#define ZYNQMP_IOU_SCNTR 0xFF250000 | ||
249 | +#define ZYNQMP_IOU_SCNTR_COUNTER_CONTROL_REGISTER_EN 0x1 | ||
250 | +#define ZYNQMP_IOU_SCNTR_COUNTER_CONTROL_REGISTER_HDBG 0x2 | ||
251 | + | ||
252 | +struct iou_scntr { | ||
253 | + u32 counter_control_register; | ||
254 | + u32 reserved0[7]; | ||
255 | + u32 base_frequency_id_register; | ||
256 | +}; | ||
257 | + | ||
258 | +#define iou_scntr ((struct iou_scntr *)ZYNQMP_IOU_SCNTR) | ||
259 | + | ||
260 | +/* Bootmode setting values */ | ||
261 | +#define BOOT_MODES_MASK 0x0000000F | ||
262 | +#define SD_MODE 0x00000005 | ||
263 | +#define JTAG_MODE 0x00000000 | ||
264 | + | ||
265 | +/* Board version value */ | ||
266 | +#define ZYNQMP_CSU_VERSION_SILICON 0x0 | ||
267 | +#define ZYNQMP_CSU_VERSION_EP108 0x1 | ||
268 | +#define ZYNQMP_CSU_VERSION_QEMU 0x3 | ||
269 | + | ||
270 | +#endif /* _ASM_ARCH_HARDWARE_H */ | ||
271 | diff --git a/arch/arm/include/asm/arch-zynqmp/sys_proto.h b/arch/arm/include/asm/arch-zynqmp/sys_proto.h | ||
272 | new file mode 100644 | ||
273 | index 0000000..d8e0ba1 | ||
274 | --- /dev/null | ||
275 | +++ b/arch/arm/include/asm/arch-zynqmp/sys_proto.h | ||
276 | @@ -0,0 +1,15 @@ | ||
277 | +/* | ||
278 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
279 | + * Michal Simek <michal.simek@xilinx.com> | ||
280 | + * | ||
281 | + * SPDX-License-Identifier: GPL-2.0+ | ||
282 | + */ | ||
283 | + | ||
284 | +#ifndef _ASM_ARCH_SYS_PROTO_H | ||
285 | +#define _ASM_ARCH_SYS_PROTO_H | ||
286 | + | ||
287 | +int zynq_sdhci_init(unsigned long regbase); | ||
288 | + | ||
289 | +unsigned int zynqmp_get_silicon_version(void); | ||
290 | + | ||
291 | +#endif /* _ASM_ARCH_SYS_PROTO_H */ | ||
292 | diff --git a/board/xilinx/zynqmp/Kconfig b/board/xilinx/zynqmp/Kconfig | ||
293 | new file mode 100644 | ||
294 | index 0000000..b07932e | ||
295 | --- /dev/null | ||
296 | +++ b/board/xilinx/zynqmp/Kconfig | ||
297 | @@ -0,0 +1,15 @@ | ||
298 | +if TARGET_XILINX_ZYNQMP | ||
299 | + | ||
300 | +config SYS_BOARD | ||
301 | + default "zynqmp" | ||
302 | + | ||
303 | +config SYS_VENDOR | ||
304 | + default "xilinx" | ||
305 | + | ||
306 | +config SYS_SOC | ||
307 | + default "zynqmp" | ||
308 | + | ||
309 | +config SYS_CONFIG_NAME | ||
310 | + default "xilinx_zynqmp" | ||
311 | + | ||
312 | +endif | ||
313 | diff --git a/board/xilinx/zynqmp/MAINTAINERS b/board/xilinx/zynqmp/MAINTAINERS | ||
314 | new file mode 100644 | ||
315 | index 0000000..da33340 | ||
316 | --- /dev/null | ||
317 | +++ b/board/xilinx/zynqmp/MAINTAINERS | ||
318 | @@ -0,0 +1,6 @@ | ||
319 | +XILINX_ZYNQMP BOARD | ||
320 | +M: Michal Simek <michal.simek@xilinx.com> | ||
321 | +S: Maintained | ||
322 | +F: board/xilinx/zynqmp/ | ||
323 | +F: include/configs/xilinx_zynqmp.h | ||
324 | +F: configs/xilinx_zynqmp_defconfig | ||
325 | diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile | ||
326 | new file mode 100644 | ||
327 | index 0000000..2ab3f19 | ||
328 | --- /dev/null | ||
329 | +++ b/board/xilinx/zynqmp/Makefile | ||
330 | @@ -0,0 +1,8 @@ | ||
331 | +# | ||
332 | +# (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
333 | +# Michal Simek <michal.simek@xilinx.com> | ||
334 | +# | ||
335 | +# SPDX-License-Identifier: GPL-2.0+ | ||
336 | +# | ||
337 | + | ||
338 | +obj-y := zynqmp.o | ||
339 | diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c | ||
340 | new file mode 100644 | ||
341 | index 0000000..1325bca | ||
342 | --- /dev/null | ||
343 | +++ b/board/xilinx/zynqmp/zynqmp.c | ||
344 | @@ -0,0 +1,90 @@ | ||
345 | +/* | ||
346 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
347 | + * Michal Simek <michal.simek@xilinx.com> | ||
348 | + * | ||
349 | + * SPDX-License-Identifier: GPL-2.0+ | ||
350 | + */ | ||
351 | + | ||
352 | +#include <common.h> | ||
353 | +#include <netdev.h> | ||
354 | +#include <asm/arch/hardware.h> | ||
355 | +#include <asm/arch/sys_proto.h> | ||
356 | +#include <asm/io.h> | ||
357 | + | ||
358 | +DECLARE_GLOBAL_DATA_PTR; | ||
359 | + | ||
360 | +int board_init(void) | ||
361 | +{ | ||
362 | + return 0; | ||
363 | +} | ||
364 | + | ||
365 | +int board_early_init_r(void) | ||
366 | +{ | ||
367 | + u32 val; | ||
368 | + | ||
369 | + val = readl(&crlapb_base->timestamp_ref_ctrl); | ||
370 | + val |= ZYNQMP_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT; | ||
371 | + writel(val, &crlapb_base->timestamp_ref_ctrl); | ||
372 | + | ||
373 | + /* Program freq register in System counter and enable system counter */ | ||
374 | + writel(gd->cpu_clk, &iou_scntr->base_frequency_id_register); | ||
375 | + writel(ZYNQMP_IOU_SCNTR_COUNTER_CONTROL_REGISTER_HDBG | | ||
376 | + ZYNQMP_IOU_SCNTR_COUNTER_CONTROL_REGISTER_EN, | ||
377 | + &iou_scntr->counter_control_register); | ||
378 | + | ||
379 | + return 0; | ||
380 | +} | ||
381 | + | ||
382 | +int dram_init(void) | ||
383 | +{ | ||
384 | + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; | ||
385 | + | ||
386 | + return 0; | ||
387 | +} | ||
388 | + | ||
389 | +int timer_init(void) | ||
390 | +{ | ||
391 | + return 0; | ||
392 | +} | ||
393 | + | ||
394 | +void reset_cpu(ulong addr) | ||
395 | +{ | ||
396 | +} | ||
397 | + | ||
398 | +#ifdef CONFIG_CMD_MMC | ||
399 | +int board_mmc_init(bd_t *bd) | ||
400 | +{ | ||
401 | + int ret = 0; | ||
402 | + | ||
403 | +#if defined(CONFIG_ZYNQ_SDHCI) | ||
404 | +# if defined(CONFIG_ZYNQ_SDHCI0) | ||
405 | + ret = zynq_sdhci_init(ZYNQ_SDHCI_BASEADDR0); | ||
406 | +# endif | ||
407 | +# if defined(CONFIG_ZYNQ_SDHCI1) | ||
408 | + ret |= zynq_sdhci_init(ZYNQ_SDHCI_BASEADDR1); | ||
409 | +# endif | ||
410 | +#endif | ||
411 | + | ||
412 | + return ret; | ||
413 | +} | ||
414 | +#endif | ||
415 | + | ||
416 | +int board_late_init(void) | ||
417 | +{ | ||
418 | + u32 reg = 0; | ||
419 | + u8 bootmode; | ||
420 | + | ||
421 | + reg = readl(&crlapb_base->boot_mode); | ||
422 | + bootmode = reg & BOOT_MODES_MASK; | ||
423 | + | ||
424 | + switch (bootmode) { | ||
425 | + case SD_MODE: | ||
426 | + setenv("modeboot", "sdboot"); | ||
427 | + break; | ||
428 | + default: | ||
429 | + printf("Invalid Boot Mode:0x%x\n", bootmode); | ||
430 | + break; | ||
431 | + } | ||
432 | + | ||
433 | + return 0; | ||
434 | +} | ||
435 | diff --git a/configs/xilinx_zynqmp_defconfig b/configs/xilinx_zynqmp_defconfig | ||
436 | new file mode 100644 | ||
437 | index 0000000..8b6aa70 | ||
438 | --- /dev/null | ||
439 | +++ b/configs/xilinx_zynqmp_defconfig | ||
440 | @@ -0,0 +1,14 @@ | ||
441 | +CONFIG_ARM=y | ||
442 | +CONFIG_TARGET_XILINX_ZYNQMP=y | ||
443 | +CONFIG_CMD_BDI=y | ||
444 | +CONFIG_CMD_BOOTD=y | ||
445 | +CONFIG_CMD_RUN=y | ||
446 | +CONFIG_CMD_IMI=y | ||
447 | +CONFIG_CMD_SAVEENV=y | ||
448 | +CONFIG_CMD_FLASH=y | ||
449 | +CONFIG_CMD_ECHO=y | ||
450 | +CONFIG_CMD_SOURCE=y | ||
451 | +CONFIG_CMD_TIME=y | ||
452 | +CONFIG_CMD_MISC=y | ||
453 | +CONFIG_CMD_TIMER=y | ||
454 | +CONFIG_DEFAULT_DEVICE_TREE="zynqmp" | ||
455 | diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h | ||
456 | new file mode 100644 | ||
457 | index 0000000..d503b89 | ||
458 | --- /dev/null | ||
459 | +++ b/include/configs/xilinx_zynqmp.h | ||
460 | @@ -0,0 +1,134 @@ | ||
461 | +/* | ||
462 | + * Configuration for Xilinx ZynqMP | ||
463 | + * (C) Copyright 2014 - 2015 Xilinx, Inc. | ||
464 | + * Michal Simek <michal.simek@xilinx.com> | ||
465 | + * | ||
466 | + * Based on Configuration for Versatile Express | ||
467 | + * | ||
468 | + * SPDX-License-Identifier: GPL-2.0+ | ||
469 | + */ | ||
470 | + | ||
471 | +#ifndef __XILINX_ZYNQMP_H | ||
472 | +#define __XILINX_ZYNQMP_H | ||
473 | + | ||
474 | +#define CONFIG_REMAKE_ELF | ||
475 | + | ||
476 | +/* #define CONFIG_ARMV8_SWITCH_TO_EL1 */ | ||
477 | + | ||
478 | +#define CONFIG_SYS_NO_FLASH | ||
479 | + | ||
480 | +#define CONFIG_SYS_GENERIC_BOARD | ||
481 | + | ||
482 | +/* Generic Interrupt Controller Definitions */ | ||
483 | +#define CONFIG_GICV2 | ||
484 | +#define GICD_BASE 0xF9010000 | ||
485 | +#define GICC_BASE 0xF9020000 | ||
486 | + | ||
487 | +/* Physical Memory Map */ | ||
488 | +#define CONFIG_NR_DRAM_BANKS 1 | ||
489 | +#define CONFIG_SYS_SDRAM_BASE 0 | ||
490 | +#define CONFIG_SYS_SDRAM_SIZE 0x40000000 | ||
491 | + | ||
492 | +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE | ||
493 | +#define CONFIG_SYS_MEMTEST_END CONFIG_SYS_SDRAM_SIZE | ||
494 | + | ||
495 | +/* Have release address at the end of 256MB for now */ | ||
496 | +#define CPU_RELEASE_ADDR 0xFFFFFF0 | ||
497 | + | ||
498 | +/* Cache Definitions */ | ||
499 | +#define CONFIG_SYS_DCACHE_OFF | ||
500 | + | ||
501 | +#define CONFIG_IDENT_STRING " Xilinx ZynqMP" | ||
502 | + | ||
503 | +#define CONFIG_SYS_TEXT_BASE 0x8000000 | ||
504 | +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7fff0) | ||
505 | + | ||
506 | +/* Flat Device Tree Definitions */ | ||
507 | +#define CONFIG_OF_LIBFDT | ||
508 | + | ||
509 | +/* Generic Timer Definitions - setup in EL3. Setup by ATF for other cases */ | ||
510 | +#define COUNTER_FREQUENCY 4000000 | ||
511 | + | ||
512 | +/* Size of malloc() pool */ | ||
513 | +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 0x400000) | ||
514 | + | ||
515 | +/* Serial setup */ | ||
516 | +#define CONFIG_ZYNQ_SERIAL_UART0 | ||
517 | +#define CONFIG_ZYNQ_SERIAL | ||
518 | + | ||
519 | +#define CONFIG_CONS_INDEX 0 | ||
520 | +#define CONFIG_BAUDRATE 115200 | ||
521 | +#define CONFIG_SYS_BAUDRATE_TABLE \ | ||
522 | + { 4800, 9600, 19200, 38400, 57600, 115200 } | ||
523 | + | ||
524 | +/* Command line configuration */ | ||
525 | +#define CONFIG_CMD_ENV | ||
526 | +#define CONFIG_CMD_EXT2 | ||
527 | +#define CONFIG_CMD_EXT4 | ||
528 | +#define CONFIG_CMD_FAT | ||
529 | +#define CONFIG_CMD_MEMORY | ||
530 | +#define CONFIG_DOS_PARTITION | ||
531 | + | ||
532 | +#if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1) | ||
533 | +# define CONFIG_MMC | ||
534 | +# define CONFIG_GENERIC_MMC | ||
535 | +# define CONFIG_SDHCI | ||
536 | +# define CONFIG_ZYNQ_SDHCI | ||
537 | +# define CONFIG_CMD_MMC | ||
538 | +#endif | ||
539 | + | ||
540 | +#if defined(CONFIG_ZYNQ_SDHCI) | ||
541 | +# define CONFIG_FAT_WRITE | ||
542 | +# define CONFIG_CMD_EXT4_WRITE | ||
543 | +#endif | ||
544 | + | ||
545 | +/* Miscellaneous configurable options */ | ||
546 | +#define CONFIG_SYS_LOAD_ADDR 0x8000000 | ||
547 | + | ||
548 | +/* Initial environment variables */ | ||
549 | +#define CONFIG_EXTRA_ENV_SETTINGS \ | ||
550 | + "ethaddr=00:0a:35:00:01:22\0" \ | ||
551 | + "kernel_addr=0x200000\0" \ | ||
552 | + "initrd_addr=0xa00000\0" \ | ||
553 | + "initrd_size=0x2000000\0" \ | ||
554 | + "fdt_addr=0x100000\0" \ | ||
555 | + "fdt_high=0x10000000\0" \ | ||
556 | + "sdboot=mmcinfo && fatload mmc 0:0 f000000 system.dtb && " \ | ||
557 | + "fatload mmc 0:0 f000000 Image && booti 80000 - f000000\0" | ||
558 | + | ||
559 | +#define CONFIG_BOOTARGS "setenv bootargs console=ttyPS0,${baudrate} " \ | ||
560 | + "earlycon=cdns,mmio,0xff000000,${baudrate}n8" | ||
561 | +#define CONFIG_PREBOOT "run bootargs" | ||
562 | +#define CONFIG_BOOTCOMMAND "run $modeboot" | ||
563 | +#define CONFIG_BOOTDELAY 5 | ||
564 | + | ||
565 | +#define CONFIG_BOARD_LATE_INIT | ||
566 | + | ||
567 | +/* Do not preserve environment */ | ||
568 | +#define CONFIG_ENV_IS_NOWHERE 1 | ||
569 | +#define CONFIG_ENV_SIZE 0x1000 | ||
570 | + | ||
571 | +/* Monitor Command Prompt */ | ||
572 | +/* Console I/O Buffer Size */ | ||
573 | +#define CONFIG_SYS_CBSIZE 2048 | ||
574 | +#define CONFIG_SYS_PROMPT "ZynqMP> " | ||
575 | +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ | ||
576 | + sizeof(CONFIG_SYS_PROMPT) + 16) | ||
577 | +#define CONFIG_SYS_HUSH_PARSER | ||
578 | +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE | ||
579 | +#define CONFIG_SYS_LONGHELP | ||
580 | +#define CONFIG_CMDLINE_EDITING | ||
581 | +#define CONFIG_SYS_MAXARGS 64 | ||
582 | + | ||
583 | +#define CONFIG_FIT | ||
584 | +#define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ | ||
585 | + | ||
586 | +#define CONFIG_SYS_BOOTM_LEN (60 * 1024 * 1024) | ||
587 | + | ||
588 | +#define CONFIG_CMD_BOOTI | ||
589 | +#define CONFIG_CMD_UNZIP | ||
590 | + | ||
591 | +#define CONFIG_BOARD_EARLY_INIT_R | ||
592 | +#define CONFIG_CLOCKS | ||
593 | + | ||
594 | +#endif /* __XILINX_ZYNQMP_H */ | ||
595 | -- | ||
596 | 2.1.1 | ||
597 | |||
diff --git a/recipes-bsp/u-boot/u-boot-zynqmp-mainline_2015.04.bb b/recipes-bsp/u-boot/u-boot-zynqmp-mainline_2015.04.bb index 5c3bcfce..43f6b03f 100644 --- a/recipes-bsp/u-boot/u-boot-zynqmp-mainline_2015.04.bb +++ b/recipes-bsp/u-boot/u-boot-zynqmp-mainline_2015.04.bb | |||
@@ -3,13 +3,8 @@ require u-boot-elf.inc | |||
3 | 3 | ||
4 | DEPENDS += "dtc-native" | 4 | DEPENDS += "dtc-native" |
5 | 5 | ||
6 | # This revision corresponds to the tag "v2015.04-rc1" | 6 | # This revision corresponds to the tag "v2015.04" |
7 | SRCREV = "112db9407dd338f71200beb0fc99dffa8dcb57a8" | 7 | SRCREV = "f33cdaa4c3da4a8fd35aa2f9a3172f31cc887b35" |
8 | 8 | ||
9 | PV = "v2015.04-rc1+git${SRCPV}" | 9 | PV = "v2015.04+git${SRCPV}" |
10 | |||
11 | FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-zynqmp-mainline:" | ||
12 | SRC_URI_append += " \ | ||
13 | file://0001-arm64-Add-Xilinx-ZynqMP-support.patch \ | ||
14 | " | ||
15 | 10 | ||