diff options
Diffstat (limited to 'recipes-bsp')
10 files changed, 443 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-extra.inc b/recipes-bsp/u-boot/u-boot-extra.inc new file mode 100644 index 00000000..e476b22e --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-extra.inc | |||
@@ -0,0 +1,56 @@ | |||
1 | |||
2 | inherit xilinx-utils | ||
3 | |||
4 | S = "${WORKDIR}/git" | ||
5 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
6 | |||
7 | # Also deploy u-boot elf file with same file format as bin file | ||
8 | UBOOTXTENSION ?= "${XILINX_EXTENSION}-${MACHINE}" | ||
9 | SRC_ELF ?= "u-boot" | ||
10 | DEST_ELF ?= "u-boot${UBOOTXTENSION}-${PV}-${PR}.elf" | ||
11 | ELF_SYMLINK ?= "u-boot${UBOOTXTENSION}.elf" | ||
12 | do_deploy_append() { | ||
13 | install ${S}/${SRC_ELF} ${DEPLOYDIR}/${DEST_ELF} | ||
14 | |||
15 | cd ${DEPLOYDIR} | ||
16 | rm -f ${SRC_ELF} ${ELF_SYMLINK} | ||
17 | ln -sf ${DEST_ELF} ${ELF_SYMLINK} | ||
18 | ln -sf ${DEST_ELF} ${SRC_ELF}.elf | ||
19 | } | ||
20 | |||
21 | # Appends the '<layer>/conf/machine/boards' path to FILESEXTRAPATHS for all | ||
22 | # layers (using the ${BBPATH}) | ||
23 | FILESEXTRAPATHS_append := "${@get_additional_bbpath_filespath('conf/machine/boards', d)}" | ||
24 | |||
25 | # Append the xparameters file to the SRC_URI if set | ||
26 | SRC_URI_append += " ${@paths_affix(d.getVar("MACHINE_XPARAMETERS", True) or '', prefix = 'file://')}" | ||
27 | |||
28 | # Full path to the xparameters.h file | ||
29 | UBOOT_XPARAMETERS ?= "${@expand_workdir_paths("MACHINE_XPARAMETERS", d)}" | ||
30 | |||
31 | # Install the MicroBlaze System configuration into the board configuration, | ||
32 | # and generate a u-boot specific config.mk | ||
33 | do_configure_prepend () { | ||
34 | if [ "${SOC_FAMILY}" = "microblaze" -a -e "${UBOOT_XPARAMETERS}" ]; then | ||
35 | CONFIG_MK=${S}/board/xilinx/microblaze-generic/config.mk | ||
36 | cp ${UBOOT_XPARAMETERS} ${S}/board/xilinx/microblaze-generic/xparameters.h | ||
37 | |||
38 | # Generate the config.mk from CFLAGS and XPARAMETERS file | ||
39 | echo "# This file is generated by the meta-xilinx layer." > ${CONFIG_MK} | ||
40 | echo "" >> ${CONFIG_MK} | ||
41 | |||
42 | # Export CCARGS | ||
43 | for i in ${TUNE_CCARGS}; do | ||
44 | echo "PLATFORM_CPPFLAGS += $i" >> ${CONFIG_MK} | ||
45 | done | ||
46 | echo "" >> ${CONFIG_MK} | ||
47 | |||
48 | # Calculate the TEXT_BASE address at RAM_END - 4MB | ||
49 | RAM_START=$(grep "XILINX_RAM_START" ${UBOOT_XPARAMETERS} | grep -o "0x.*$") | ||
50 | RAM_SIZE=$(grep "XILINX_RAM_SIZE" ${UBOOT_XPARAMETERS} | grep -o "0x.*$") | ||
51 | BASE_OFFSET=$(printf "0x%08x" "$[$RAM_START + $RAM_SIZE - 0x400000]") | ||
52 | |||
53 | echo "TEXT_BASE = $BASE_OFFSET" >> ${CONFIG_MK} | ||
54 | echo "CONFIG_SYS_TEXT_BASE = $BASE_OFFSET" >> ${CONFIG_MK} | ||
55 | fi | ||
56 | } | ||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx.inc b/recipes-bsp/u-boot/u-boot-xlnx.inc new file mode 100644 index 00000000..03052ddf --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx.inc | |||
@@ -0,0 +1,12 @@ | |||
1 | require recipes-bsp/u-boot/u-boot.inc | ||
2 | |||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" | ||
5 | |||
6 | XILINX_EXTENSION = "-xilinx" | ||
7 | |||
8 | FILESEXTRAPATHS += "${THISDIR}/u-boot-xlnx:" | ||
9 | SRC_URI = "git://github.com/Xilinx/u-boot-xlnx.git;protocol=https" | ||
10 | |||
11 | include u-boot-extra.inc | ||
12 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/microblaze_Fix_coding_style_for_bootb.patch b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_Fix_coding_style_for_bootb.patch new file mode 100644 index 00000000..09648c10 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_Fix_coding_style_for_bootb.patch | |||
@@ -0,0 +1,114 @@ | |||
1 | From: Michal Simek <michal.simek@xilinx.com> | ||
2 | Subject: [U-BOOT PATCH 1/3] microblaze: Fix coding style for bootb | ||
3 | |||
4 | Fix this weird untested code to be able to other changes. | ||
5 | |||
6 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
7 | --- | ||
8 | arch/microblaze/lib/bootm.c | 81 ++++++++++++++++++++++++--------------------- | ||
9 | 1 file changed, 43 insertions(+), 38 deletions(-) | ||
10 | |||
11 | diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c | ||
12 | index 7da683d..6c4fa60 100644 | ||
13 | --- a/arch/microblaze/lib/bootm.c | ||
14 | +++ b/arch/microblaze/lib/bootm.c | ||
15 | @@ -91,52 +91,57 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||
16 | #if defined(CONFIG_CMD_BOOTB) | ||
17 | int do_bootb_kintex7(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) | ||
18 | { | ||
19 | - u32 FrameBuffer[8]; | ||
20 | - u32 BootAddress = simple_strtoul(argv[1], NULL, 16); | ||
21 | - u32 Index = 0; | ||
22 | - u32 Count; | ||
23 | - | ||
24 | - if (argc < 2) | ||
25 | + u32 framebuffer[8]; | ||
26 | + u32 bootaddress = simple_strtoul(argv[1], NULL, 16); | ||
27 | + u32 index = 0; | ||
28 | + u32 count; | ||
29 | + | ||
30 | + if (argc < 2) | ||
31 | + return -1; | ||
32 | + | ||
33 | + if ((bootaddress < CONFIG_SYS_FLASH_BASE) || | ||
34 | + (bootaddress > (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE))) | ||
35 | return -1; | ||
36 | - | ||
37 | - if ((BootAddress < CONFIG_SYS_FLASH_BASE) || (BootAddress > (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE))) | ||
38 | - { | ||
39 | - return -1; | ||
40 | - } | ||
41 | |||
42 | - /* | ||
43 | + /* | ||
44 | * Create the data to be written to the ICAP. | ||
45 | */ | ||
46 | - FrameBuffer[Index++] = XHI_DUMMY_PACKET; | ||
47 | - FrameBuffer[Index++] = XHI_SYNC_PACKET; | ||
48 | - FrameBuffer[Index++] = XHI_NOOP_PACKET; | ||
49 | - FrameBuffer[Index++] = 0x30020001; /* Type 1 write to WBSTAR */ | ||
50 | - FrameBuffer[Index++] = BootAddress; | ||
51 | - FrameBuffer[Index++] = 0x30008001; /* Type 1 Write to CMD */ | ||
52 | - FrameBuffer[Index++] = XHI_CMD_IPROG; | ||
53 | - FrameBuffer[Index++] = XHI_NOOP_PACKET; | ||
54 | - | ||
55 | - /* | ||
56 | - * Fill the FIFO with as many words as it will take (or as many as we have to send). | ||
57 | - */ | ||
58 | - while(Index > XHwIcap_GetWrFifoVacancy(HWICAP_BASEADDR)); | ||
59 | - for (Count = 0; Count < Index; Count++) | ||
60 | - { | ||
61 | - XHwIcap_FifoWrite(HWICAP_BASEADDR, FrameBuffer[Count]); | ||
62 | - } | ||
63 | - | ||
64 | - /* | ||
65 | + framebuffer[index++] = XHI_DUMMY_PACKET; | ||
66 | + framebuffer[index++] = XHI_SYNC_PACKET; | ||
67 | + framebuffer[index++] = XHI_NOOP_PACKET; | ||
68 | + framebuffer[index++] = 0x30020001; /* Type 1 write to WBSTAR */ | ||
69 | + framebuffer[index++] = bootaddress; | ||
70 | + framebuffer[index++] = 0x30008001; /* Type 1 Write to CMD */ | ||
71 | + framebuffer[index++] = XHI_CMD_IPROG; | ||
72 | + framebuffer[index++] = XHI_NOOP_PACKET; | ||
73 | + | ||
74 | + /* | ||
75 | + * Fill the FIFO with as many words as it will take | ||
76 | + * (or as many as we have to send). | ||
77 | + */ | ||
78 | + while (index > XHwIcap_GetWrFifoVacancy(HWICAP_BASEADDR)) | ||
79 | + ; | ||
80 | + for (count = 0; count < index; count++) | ||
81 | + XHwIcap_FifoWrite(HWICAP_BASEADDR, framebuffer[count]); | ||
82 | + | ||
83 | + | ||
84 | + /* | ||
85 | * Start the transfer of the data from the FIFO to the ICAP device. | ||
86 | */ | ||
87 | XHwIcap_StartConfig(HWICAP_BASEADDR); | ||
88 | |||
89 | - while ((XHwIcap_ReadReg(HWICAP_BASEADDR,XHI_CR_OFFSET)) & XHI_CR_WRITE_MASK); | ||
90 | - | ||
91 | - while (XHwIcap_IsDeviceBusy(HWICAP_BASEADDR) != 0); | ||
92 | - while (XHwIcap_ReadReg(HWICAP_BASEADDR, XHI_CR_OFFSET) & XHI_CR_WRITE_MASK); | ||
93 | - | ||
94 | - /* The code should never get here sice the FPGA should reset */ | ||
95 | - return -1; | ||
96 | + while ((XHwIcap_ReadReg(HWICAP_BASEADDR, XHI_CR_OFFSET)) & | ||
97 | + XHI_CR_WRITE_MASK) | ||
98 | + ; | ||
99 | + | ||
100 | + while (XHwIcap_IsDeviceBusy(HWICAP_BASEADDR) != 0) | ||
101 | + ; | ||
102 | + while (XHwIcap_ReadReg(HWICAP_BASEADDR, XHI_CR_OFFSET) & | ||
103 | + XHI_CR_WRITE_MASK) | ||
104 | + ; | ||
105 | + | ||
106 | + /* The code should never get here sice the FPGA should reset */ | ||
107 | + return -1; | ||
108 | } | ||
109 | |||
110 | U_BOOT_CMD( | ||
111 | -- | ||
112 | 1.8.2.1 | ||
113 | |||
114 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Add_support_for_loading_initrd.patch b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Add_support_for_loading_initrd.patch new file mode 100644 index 00000000..88c44687 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Add_support_for_loading_initrd.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From: Michal Simek <michal.simek@xilinx.com> | ||
2 | Subject: [U-BOOT PATCH 3/3] microblaze: bootm: Add support for loading | ||
3 | initrd | ||
4 | |||
5 | fdt_initrd add additional information to DTB about initrd | ||
6 | addresses which are later used by kernel. | ||
7 | |||
8 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
9 | --- | ||
10 | arch/microblaze/lib/bootm.c | 5 +++++ | ||
11 | 1 file changed, 5 insertions(+) | ||
12 | |||
13 | diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c | ||
14 | index 56a1568..fbb43b8 100644 | ||
15 | --- a/arch/microblaze/lib/bootm.c | ||
16 | +++ b/arch/microblaze/lib/bootm.c | ||
17 | @@ -68,6 +68,11 @@ int do_bootm_linux(int flag, int argc, char * const argv[], | ||
18 | |||
19 | if (!of_flat_tree && argc > 3) | ||
20 | of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16); | ||
21 | + | ||
22 | + /* fixup the initrd now that we know where it should be */ | ||
23 | + if (images->rd_start && images->rd_end && of_flat_tree) | ||
24 | + fdt_initrd(of_flat_tree, images->rd_start, images->rd_end, 1); | ||
25 | + | ||
26 | #ifdef DEBUG | ||
27 | printf("## Transferring control to Linux (at address 0x%08lx) ", | ||
28 | (ulong)thekernel); | ||
29 | -- | ||
30 | 1.8.2.1 | ||
31 | |||
32 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Fix_coding_style_issues.patch b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Fix_coding_style_issues.patch new file mode 100644 index 00000000..1352d828 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze_bootm_Fix_coding_style_issues.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | From: Michal Simek <michal.simek@xilinx.com> | ||
2 | Subject: [U-BOOT PATCH 2/3] microblaze: bootm: Fix coding style issues | ||
3 | |||
4 | Prepare place for new patch. | ||
5 | |||
6 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
7 | --- | ||
8 | arch/microblaze/lib/bootm.c | 20 +++++++++++--------- | ||
9 | 1 file changed, 11 insertions(+), 9 deletions(-) | ||
10 | |||
11 | diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c | ||
12 | index 6c4fa60..56a1568 100644 | ||
13 | --- a/arch/microblaze/lib/bootm.c | ||
14 | +++ b/arch/microblaze/lib/bootm.c | ||
15 | @@ -36,11 +36,12 @@ | ||
16 | |||
17 | DECLARE_GLOBAL_DATA_PTR; | ||
18 | |||
19 | -int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images) | ||
20 | +int do_bootm_linux(int flag, int argc, char * const argv[], | ||
21 | + bootm_headers_t *images) | ||
22 | { | ||
23 | /* First parameter is mapped to $r5 for kernel boot args */ | ||
24 | - void (*theKernel) (char *, ulong, ulong); | ||
25 | - char *commandline = getenv ("bootargs"); | ||
26 | + void (*thekernel) (char *, ulong, ulong); | ||
27 | + char *commandline = getenv("bootargs"); | ||
28 | ulong rd_data_start, rd_data_end; | ||
29 | |||
30 | if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) | ||
31 | @@ -55,10 +56,10 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||
32 | of_flat_tree = images->ft_addr; | ||
33 | #endif | ||
34 | |||
35 | - theKernel = (void (*)(char *, ulong, ulong))images->ep; | ||
36 | + thekernel = (void (*)(char *, ulong, ulong))images->ep; | ||
37 | |||
38 | /* find ramdisk */ | ||
39 | - ret = boot_get_ramdisk (argc, argv, images, IH_ARCH_MICROBLAZE, | ||
40 | + ret = boot_get_ramdisk(argc, argv, images, IH_ARCH_MICROBLAZE, | ||
41 | &rd_data_start, &rd_data_end); | ||
42 | if (ret) | ||
43 | return 1; | ||
44 | @@ -68,9 +69,10 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||
45 | if (!of_flat_tree && argc > 3) | ||
46 | of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16); | ||
47 | #ifdef DEBUG | ||
48 | - printf ("## Transferring control to Linux (at address 0x%08lx) " \ | ||
49 | - "ramdisk 0x%08lx, FDT 0x%08lx...\n", | ||
50 | - (ulong) theKernel, rd_data_start, (ulong) of_flat_tree); | ||
51 | + printf("## Transferring control to Linux (at address 0x%08lx) ", | ||
52 | + (ulong)thekernel); | ||
53 | + printf("ramdisk 0x%08lx, FDT 0x%08lx...\n", | ||
54 | + rd_data_start, (ulong) of_flat_tree); | ||
55 | #endif | ||
56 | |||
57 | #ifdef XILINX_USE_DCACHE | ||
58 | @@ -82,7 +84,7 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||
59 | * r6: pointer to ramdisk | ||
60 | * r7: pointer to the fdt, followed by the board info data | ||
61 | */ | ||
62 | - theKernel (commandline, rd_data_start, (ulong) of_flat_tree); | ||
63 | + thekernel(commandline, rd_data_start, (ulong)of_flat_tree); | ||
64 | /* does not return */ | ||
65 | |||
66 | return 1; | ||
67 | -- | ||
68 | 1.8.2.1 | ||
69 | |||
70 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/zynq-Increase-number-of-arguments.patch b/recipes-bsp/u-boot/u-boot-xlnx/zynq-Increase-number-of-arguments.patch new file mode 100644 index 00000000..22c9fb67 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/zynq-Increase-number-of-arguments.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From: Michal Simek <michal.simek@xilinx.com> | ||
2 | Date: Wed, 4 Sep 2013 08:59:37 +0200 | ||
3 | Subject: [PATCH] zynq: Increase number of arguments | ||
4 | |||
5 | The main reason is that with adding option to load | ||
6 | variables from SD user can create longer user commands. | ||
7 | |||
8 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
9 | Upstream-Status: Backport | ||
10 | --- | ||
11 | include/configs/zynq_common.h | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/include/configs/zynq_common.h b/include/configs/zynq_common.h | ||
15 | index a7cadc4..e83c6de 100644 | ||
16 | --- a/include/configs/zynq_common.h | ||
17 | +++ b/include/configs/zynq_common.h | ||
18 | @@ -105,7 +105,7 @@ | ||
19 | #define CONFIG_AUTO_COMPLETE | ||
20 | #define CONFIG_SYS_LONGHELP | ||
21 | #define CONFIG_BOARD_LATE_INIT | ||
22 | -#define CONFIG_SYS_MAXARGS 16 | ||
23 | +#define CONFIG_SYS_MAXARGS 32 | ||
24 | #define CONFIG_SYS_CBSIZE 2048 | ||
25 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ | ||
26 | sizeof(CONFIG_SYS_PROMPT) + 16) | ||
27 | -- | ||
28 | 1.7.9.5 | ||
29 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/zynq_common-Add-uEnv.txt-boot-environment-load-suppo.patch b/recipes-bsp/u-boot/u-boot-xlnx/zynq_common-Add-uEnv.txt-boot-environment-load-suppo.patch new file mode 100644 index 00000000..d0c3d3e6 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/zynq_common-Add-uEnv.txt-boot-environment-load-suppo.patch | |||
@@ -0,0 +1,72 @@ | |||
1 | From: Nathan Rossi <nathan.rossi@xilinx.com> | ||
2 | Date: Fri, 30 Aug 2013 16:13:15 +1000 | ||
3 | Subject: [PATCH] zynq_common: Add uEnv.txt boot environment load support | ||
4 | |||
5 | Add support for using a uEnv.txt file for loading and or modifying the | ||
6 | existing boot environment during a Zynq "sdboot". If the environment | ||
7 | fails to load during the "sdboot" continue booting from SD normally. | ||
8 | |||
9 | This uEnv.txt and bootenv/uenv default environment variables are based | ||
10 | on the implementation used in omap3_beagle.h. | ||
11 | |||
12 | Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> | ||
13 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
14 | Upstream-Status: Backport | ||
15 | --- | ||
16 | include/configs/zynq_common.h | 28 ++++++++++++++++++++++------ | ||
17 | 1 file changed, 22 insertions(+), 6 deletions(-) | ||
18 | |||
19 | diff --git a/include/configs/zynq_common.h b/include/configs/zynq_common.h | ||
20 | index 762aaca..a7cadc4 100644 | ||
21 | --- a/include/configs/zynq_common.h | ||
22 | +++ b/include/configs/zynq_common.h | ||
23 | @@ -237,11 +237,16 @@ | ||
24 | "devicetree_image=devicetree.dtb\0" \ | ||
25 | "bitstream_image=system.bit.bin\0" \ | ||
26 | "loadbit_addr=0x100000\0" \ | ||
27 | + "loadbootenv_addr=0x2000000\0" \ | ||
28 | "kernel_size=0x500000\0" \ | ||
29 | "devicetree_size=0x20000\0" \ | ||
30 | "ramdisk_size=0x5E0000\0" \ | ||
31 | "fdt_high=0x20000000\0" \ | ||
32 | "initrd_high=0x20000000\0" \ | ||
33 | + "bootenv=uEnv.txt\0" \ | ||
34 | + "loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}\0" \ | ||
35 | + "importbootenv=echo Importing environment from SD ...; " \ | ||
36 | + "env import -t ${loadbootenv_addr} $filesize\0" \ | ||
37 | "mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM.. && " \ | ||
38 | "mmcinfo && " \ | ||
39 | "fatload mmc 0 ${loadbit_addr} ${bitstream_image} && " \ | ||
40 | @@ -259,12 +264,23 @@ | ||
41 | "echo Copying ramdisk... && " \ | ||
42 | "sf read 0x2000000 0x620000 ${ramdisk_size} && " \ | ||
43 | "bootm 0x3000000 0x2000000 0x2A00000\0" \ | ||
44 | - "sdboot=echo Copying Linux from SD to RAM... && " \ | ||
45 | - "mmcinfo && " \ | ||
46 | - "fatload mmc 0 0x3000000 ${kernel_image} && " \ | ||
47 | - "fatload mmc 0 0x2A00000 ${devicetree_image} && " \ | ||
48 | - "fatload mmc 0 0x2000000 ${ramdisk_image} && " \ | ||
49 | - "bootm 0x3000000 0x2000000 0x2A00000\0" \ | ||
50 | + "uenvboot=" \ | ||
51 | + "if run loadbootenv; then " \ | ||
52 | + "echo Loaded environment from ${bootenv}; " \ | ||
53 | + "run importbootenv; " \ | ||
54 | + "fi; " \ | ||
55 | + "if test -n $uenvcmd; then " \ | ||
56 | + "echo Running uenvcmd ...; " \ | ||
57 | + "run uenvcmd; " \ | ||
58 | + "fi\0" \ | ||
59 | + "sdboot=if mmcinfo; then " \ | ||
60 | + "run uenvboot; " \ | ||
61 | + "echo Copying Linux from SD to RAM... && " \ | ||
62 | + "fatload mmc 0 0x3000000 ${kernel_image} && " \ | ||
63 | + "fatload mmc 0 0x2A00000 ${devicetree_image} && " \ | ||
64 | + "fatload mmc 0 0x2000000 ${ramdisk_image} && " \ | ||
65 | + "bootm 0x3000000 0x2000000 0x2A00000; " \ | ||
66 | + "fi\0" \ | ||
67 | "nandboot=echo Copying Linux from NAND flash to RAM... && " \ | ||
68 | "nand read 0x3000000 0x100000 ${kernel_size} && " \ | ||
69 | "nand read 0x2A00000 0x600000 ${devicetree_size} && " \ | ||
70 | -- | ||
71 | 1.7.9.5 | ||
72 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx_2013.01.bb b/recipes-bsp/u-boot/u-boot-xlnx_2013.01.bb new file mode 100644 index 00000000..2d302e33 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx_2013.01.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | |||
2 | # We use the revision in order to avoid having to fetch it from the | ||
3 | # repo during parse | ||
4 | # Corresponds to xilinx-v14.5 tag | ||
5 | SRCREV = "20a6cdd301941b97961c9c5425b5fbb771321aac" | ||
6 | PV = "v2013.01${XILINX_EXTENSION}+git${SRCPV}" | ||
7 | PR = "r1" | ||
8 | |||
9 | include u-boot-xlnx.inc | ||
10 | |||
11 | SRC_URI_append += " \ | ||
12 | file://microblaze_bootm_Add_support_for_loading_initrd.patch \ | ||
13 | file://microblaze_bootm_Fix_coding_style_issues.patch \ | ||
14 | file://microblaze_Fix_coding_style_for_bootb.patch \ | ||
15 | file://zynq_common-Add-uEnv.txt-boot-environment-load-suppo.patch \ | ||
16 | file://zynq-Increase-number-of-arguments.patch \ | ||
17 | " | ||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx_2013.07.bb b/recipes-bsp/u-boot/u-boot-xlnx_2013.07.bb new file mode 100644 index 00000000..8ec99eb0 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx_2013.07.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | # Revision corresponds to commit after 2013.07 merge | ||
2 | # in u-boot-xlnx.git | ||
3 | SRCREV = "f40924452f947fbd6886eaa677c1b0bd47edfcf5" | ||
4 | PV = "v2013.07${XILINX_EXTENSION}+git${SRCPV}" | ||
5 | PR = "r1" | ||
6 | |||
7 | include u-boot-xlnx.inc | ||
8 | |||
9 | SRC_URI_append += " \ | ||
10 | file://zynq_common-Add-uEnv.txt-boot-environment-load-suppo.patch \ | ||
11 | file://zynq-Increase-number-of-arguments.patch \ | ||
12 | " | ||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx_git.bb b/recipes-bsp/u-boot/u-boot-xlnx_git.bb new file mode 100644 index 00000000..1ba3e694 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx_git.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | # This recipe allows for a 'bleeding edge' u-boot-xlnx build. | ||
2 | # Since this tree is frequently updated, AUTOREV is used to track its contents. | ||
3 | # | ||
4 | # To enable this recipe, set | ||
5 | # PREFERRED_VERSION_u-boot-xlnx ?= "${UBOOT_XLNX_DEV_BRANCH}" | ||
6 | # Alternatively to track and build master branch instead, set | ||
7 | # UBOOT_XLNX_DEV_BRANCH ?= "master" | ||
8 | # PREFERRED_VERSION_u-boot-xlnx ?= "${UBOOT_XLNX_DEV_BRANCH}" | ||
9 | |||
10 | UBOOT_XLNX_DEV_BRANCH ?= "master-next" | ||
11 | |||
12 | include u-boot-xlnx.inc | ||
13 | |||
14 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c" | ||
15 | |||
16 | SRC_URI = "git://github.com/Xilinx/u-boot-xlnx.git;protocol=https;branch=${UBOOT_XLNX_DEV_BRANCH}" | ||
17 | |||
18 | # Set default SRCREVs. SRCREVs statically set to prevent network access during | ||
19 | # parsing. | ||
20 | # AUTOREV is set in the anonymous python routine and resolved when the variables | ||
21 | # are finalized. | ||
22 | SRCREV="f40924452f947fbd6886eaa677c1b0bd47edfcf5" | ||
23 | |||
24 | python () { | ||
25 | d.setVar("SRCREV", "${AUTOREV}") | ||
26 | } | ||
27 | |||
28 | PR = "r0" | ||
29 | PV = "${UBOOT_XLNX_DEV_BRANCH}${XILINX_EXTENSION}+git" | ||