diff options
Diffstat (limited to 'meta-xilinx-core/recipes-bsp/u-boot')
8 files changed, 86 insertions, 30 deletions
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.2.bb new file mode 100644 index 00000000..43fec635 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.2.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require u-boot-tools-xlnx.inc | ||
2 | require u-boot-xlnx-2023.2.inc | ||
3 | |||
4 | # MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct | ||
5 | # bmp_logo.h | ||
6 | SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"' | ||
7 | |||
8 | # Default do_compile fails with: | ||
9 | # | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates. | ||
10 | # The regular workaround of calling 'git diff' seems to be problematic. | ||
11 | do_compile () { | ||
12 | oe_runmake -C ${S} tools-only_defconfig O=${B} | ||
13 | |||
14 | # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and | ||
15 | # generating it requires bin2header tool, which for target build | ||
16 | # is built with target tools and thus cannot be executed on host. | ||
17 | sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config | ||
18 | |||
19 | oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} | ||
20 | } | ||
21 | |||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc new file mode 100644 index 00000000..0cfbd846 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | UBOOT_VERSION = "v2023.01" | ||
2 | |||
3 | UBRANCH = "xlnx_rebase_v2023.01" | ||
4 | |||
5 | SRCREV = "0fc19cad5a07a09958443e7a5b6f11e420ef195c" | ||
6 | |||
7 | LICENSE = "GPL-2.0-or-later" | ||
8 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" | ||
9 | |||
10 | # u-boot-xlnx has support for these | ||
11 | HAS_PLATFORM_INIT ?= " \ | ||
12 | xilinx_zynqmp_virt_config \ | ||
13 | xilinx_zynq_virt_defconfig \ | ||
14 | xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \ | ||
15 | " | ||
16 | |||
17 | DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-blob.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-blob.inc index 86ba4fc6..bbf4125f 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-blob.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-blob.inc | |||
@@ -101,7 +101,7 @@ do_blob_generate () { | |||
101 | BASE_DTB=$(echo $CC_DTB | cut -d: -f2) | 101 | BASE_DTB=$(echo $CC_DTB | cut -d: -f2) |
102 | OUTPUT_DTB=$(echo $CC_DTB | cut -d: -f3) | 102 | OUTPUT_DTB=$(echo $CC_DTB | cut -d: -f3) |
103 | if [ "${SYSTEM_DTB_BLOB}" = "1" ]; then | 103 | if [ "${SYSTEM_DTB_BLOB}" = "1" ]; then |
104 | BASE_SYS_DTB="${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_NAME}" | 104 | BASE_SYS_DTB="${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_FILE_NAME}" |
105 | else | 105 | else |
106 | BASE_SYS_DTB="${B}/arch/arm/dts/${BASE_DTB}" | 106 | BASE_SYS_DTB="${B}/arch/arm/dts/${BASE_DTB}" |
107 | fi | 107 | fi |
@@ -125,13 +125,13 @@ do_blob_generate () { | |||
125 | its_filename="dtblob.its" | 125 | its_filename="dtblob.its" |
126 | dtblob_emit_its_section "${its_filename}" "header" | 126 | dtblob_emit_its_section "${its_filename}" "header" |
127 | dtblob_emit_its_section "${its_filename}" "imagestart" | 127 | dtblob_emit_its_section "${its_filename}" "imagestart" |
128 | for dtb in ${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_NAME} $(find ${DT_BLOB_DIR} -name '*.dtb' | sort); do | 128 | for dtb in ${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_FILE_NAME} $(find ${DT_BLOB_DIR} -name '*.dtb' | sort); do |
129 | dtblob_emit_dtb "${its_filename}" "$(basename $dtb .dtb)" "$dtb" | 129 | dtblob_emit_dtb "${its_filename}" "$(basename $dtb .dtb)" "$dtb" |
130 | done | 130 | done |
131 | dtblob_emit_its_section "${its_filename}" "sectend" | 131 | dtblob_emit_its_section "${its_filename}" "sectend" |
132 | dtblob_emit_its_section "${its_filename}" "confstart" | 132 | dtblob_emit_its_section "${its_filename}" "confstart" |
133 | dtbcount=1 | 133 | dtbcount=1 |
134 | for dtb in ${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_NAME} $(find ${DT_BLOB_DIR} -name '*.dtb' | sort); do | 134 | for dtb in ${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_FILE_NAME} $(find ${DT_BLOB_DIR} -name '*.dtb' | sort); do |
135 | dtblob_emit_config "${its_filename}" "$(basename $dtb .dtb)" "$(basename $dtb .dtb)" "$dtbcount" | 135 | dtblob_emit_config "${its_filename}" "$(basename $dtb .dtb)" "$(basename $dtb .dtb)" "$dtbcount" |
136 | dtbcount=`expr $dtbcount + 1` | 136 | dtbcount=`expr $dtbcount + 1` |
137 | done | 137 | done |
@@ -143,6 +143,8 @@ do_blob_generate () { | |||
143 | bbnote "Node ${DT_BLOB_DIR}/${DTB} with ${DT_BLOB_DIR}/${DUP_DTB}" | 143 | bbnote "Node ${DT_BLOB_DIR}/${DTB} with ${DT_BLOB_DIR}/${DUP_DTB}" |
144 | dtblob_emit_config "${its_filename}" "$DTB" "$DUP_DTB" "$dtbcount" | 144 | dtblob_emit_config "${its_filename}" "$DTB" "$DUP_DTB" "$dtbcount" |
145 | dtbcount=`expr $dtbcount + 1` | 145 | dtbcount=`expr $dtbcount + 1` |
146 | else | ||
147 | bberror "CC_DTBS_DUP file not found ${DT_BLOB_DIR}/${DTB}.dtb" | ||
146 | fi | 148 | fi |
147 | done | 149 | done |
148 | 150 | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb index afa4de23..6410fc25 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb | |||
@@ -71,7 +71,14 @@ DEVICETREE_OFFSET:zynqmp ??= "0x100000" | |||
71 | DEVICETREE_OFFSET:zynq ??= "0x100000" | 71 | DEVICETREE_OFFSET:zynq ??= "0x100000" |
72 | DEVICETREE_OFFSET:versal ??= "0x1000" | 72 | DEVICETREE_OFFSET:versal ??= "0x1000" |
73 | 73 | ||
74 | DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(d.getVar("DEVICETREE_ADDRESS"),16) + 0xf00000)}" | 74 | DEVICETREE_OVERLAY_OFFSET:microblaze ??= "0x1e00000" |
75 | DEVICETREE_OVERLAY_OFFSET:zynqmp ??= "0x100000" | ||
76 | DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000" | ||
77 | DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000" | ||
78 | DEVICETREE_OVERLAY_PADSIZE ??= "0xf00000" | ||
79 | |||
80 | DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \ | ||
81 | + int(d.getVar('DEVICETREE_OVERLAY_PADSIZE'),16))}" | ||
75 | 82 | ||
76 | KERNEL_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('KERNEL_OFFSET'))}" | 83 | KERNEL_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('KERNEL_OFFSET'))}" |
77 | 84 | ||
@@ -162,14 +169,8 @@ NAND_FIT_IMAGE_OFFSET ??= "0x4180000" | |||
162 | NAND_FIT_IMAGE_OFFSET:zynq ??= "0x1080000" | 169 | NAND_FIT_IMAGE_OFFSET:zynq ??= "0x1080000" |
163 | NAND_FIT_IMAGE_SIZE ??= "0x6400000" | 170 | NAND_FIT_IMAGE_SIZE ??= "0x6400000" |
164 | 171 | ||
165 | # Xen boot script variables. Define here and set it from meta-virtualization | 172 | # Add variables as addendum. |
166 | XEN_OFFSET ??= "0xBA00000" | 173 | SCRIPT_SED_ADDENDUM = "" |
167 | XEN_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('XEN_OFFSET'))}" | ||
168 | XEN_IMAGE_NAME ??= "xen" | ||
169 | DOM0_MEM ??= "1500M" | ||
170 | XEN_SERIAL_CONSOLES ??= "serial0" | ||
171 | XEN_CMDLINE_APPEND ??= "" | ||
172 | DOM0_MAX_VCPUS ??= "1" | ||
173 | 174 | ||
174 | # Default to booting with the rootfs device being partition 2 for SD/eMMC | 175 | # Default to booting with the rootfs device being partition 2 for SD/eMMC |
175 | PARTNUM ?= "2" | 176 | PARTNUM ?= "2" |
@@ -181,6 +182,9 @@ KERNEL_ROOT_SD ?= "root=/dev/\${bootdev}${PARTNUM} ro rootwait" | |||
181 | # Set Kernel root filesystem parameter for JTAG/QSPI/OSPI/NAND(using RAMDISK) boot | 182 | # Set Kernel root filesystem parameter for JTAG/QSPI/OSPI/NAND(using RAMDISK) boot |
182 | KERNEL_ROOT_RAMDISK ?= "root=/dev/ram0 rw" | 183 | KERNEL_ROOT_RAMDISK ?= "root=/dev/ram0 rw" |
183 | 184 | ||
185 | # Append the kernel command line | ||
186 | KERNEL_COMMAND_APPEND ?= "" | ||
187 | |||
184 | BITSTREAM_LOAD_ADDRESS ?= "0x100000" | 188 | BITSTREAM_LOAD_ADDRESS ?= "0x100000" |
185 | 189 | ||
186 | do_configure[noexec] = "1" | 190 | do_configure[noexec] = "1" |
@@ -189,6 +193,9 @@ def append_baseaddr(d,offset): | |||
189 | skip_append = d.getVar('SKIP_APPEND_BASEADDR') or "" | 193 | skip_append = d.getVar('SKIP_APPEND_BASEADDR') or "" |
190 | if skip_append == "1": | 194 | if skip_append == "1": |
191 | return offset | 195 | return offset |
196 | if offset.startswith('$'): | ||
197 | # If offset startswith '$' Assuming as uboot env variable. | ||
198 | return offset | ||
192 | import subprocess | 199 | import subprocess |
193 | baseaddr = d.getVar('DDR_BASEADDR') or "0x0" | 200 | baseaddr = d.getVar('DDR_BASEADDR') or "0x0" |
194 | subcmd = "$((%s+%s));" % (baseaddr,offset) | 201 | subcmd = "$((%s+%s));" % (baseaddr,offset) |
@@ -240,13 +247,8 @@ do_compile() { | |||
240 | -e 's/@@PARTNUM@@/${PARTNUM}/' \ | 247 | -e 's/@@PARTNUM@@/${PARTNUM}/' \ |
241 | -e 's:@@KERNEL_ROOT_SD@@:${KERNEL_ROOT_SD}:' \ | 248 | -e 's:@@KERNEL_ROOT_SD@@:${KERNEL_ROOT_SD}:' \ |
242 | -e 's:@@KERNEL_ROOT_RAMDISK@@:${KERNEL_ROOT_RAMDISK}:' \ | 249 | -e 's:@@KERNEL_ROOT_RAMDISK@@:${KERNEL_ROOT_RAMDISK}:' \ |
243 | -e 's/@@XEN_IMAGE_NAME@@/${XEN_IMAGE_NAME}/' \ | 250 | -e 's:@@KERNEL_COMMAND_APPEND@@:${KERNEL_COMMAND_APPEND}:' \ |
244 | -e 's/@@XEN_OFFSET@@/${XEN_OFFSET}/' \ | 251 | ${SCRIPT_SED_ADDENDUM} \ |
245 | -e 's/@@XEN_LOAD_ADDRESS@@/${XEN_LOAD_ADDRESS}/' \ | ||
246 | -e 's/@@DOM0_MEM@@/${DOM0_MEM}/' \ | ||
247 | -e 's/@@DOM0_MAX_VCPUS@@/${DOM0_MAX_VCPUS}/' \ | ||
248 | -e 's:@@XEN_SERIAL_CONSOLES@@:${XEN_SERIAL_CONSOLES}:' \ | ||
249 | -e 's:@@XEN_CMDLINE_APPEND@@:${XEN_CMDLINE_APPEND}:' \ | ||
250 | "${WORKDIR}/boot.cmd.${BOOTMODE}${BOOTFILE_EXT}" > "${WORKDIR}/boot.cmd" | 252 | "${WORKDIR}/boot.cmd.${BOOTMODE}${BOOTFILE_EXT}" > "${WORKDIR}/boot.cmd" |
251 | 253 | ||
252 | mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr | 254 | mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr |
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic index ff2a5688..d99932ed 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic | |||
@@ -9,10 +9,16 @@ ramdisk_name=@@RAMDISK_IMAGE1@@ | |||
9 | rootfs_name=@@RAMDISK_IMAGE@@ | 9 | rootfs_name=@@RAMDISK_IMAGE@@ |
10 | @@PRE_BOOTENV@@ | 10 | @@PRE_BOOTENV@@ |
11 | 11 | ||
12 | |||
13 | setenv get_bootargs 'fdt addr $fdtcontroladdr;fdt get value bootargs /chosen bootargs;' | ||
14 | setenv update_bootargs 'if test -n ${launch_ramdisk_init} && test ${bootargs} = "";then if run get_bootargs;then setenv bootargs "\$bootargs launch_ramdisk_init=${launch_ramdisk_init} $extrabootargs";fi;fi' | ||
15 | |||
16 | |||
12 | for boot_target in ${boot_targets}; | 17 | for boot_target in ${boot_targets}; |
13 | do | 18 | do |
14 | echo "Trying to load boot images from ${boot_target}" | 19 | echo "Trying to load boot images from ${boot_target}" |
15 | if test "${boot_target}" = "jtag" ; then | 20 | if test "${boot_target}" = "jtag" ; then |
21 | run update_bootargs | ||
16 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ | 22 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ |
17 | fi | 23 | fi |
18 | if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then | 24 | if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then |
@@ -34,6 +40,7 @@ do | |||
34 | fi | 40 | fi |
35 | if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then | 41 | if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then |
36 | fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_ADDRESS@@ system.dtb; | 42 | fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_ADDRESS@@ system.dtb; |
43 | setenv fdtcontroladdr @@DEVICETREE_ADDRESS@@ | ||
37 | fi | 44 | fi |
38 | if test -e ${devtype} ${devnum}:${distro_bootpart} /devicetree/openamp.dtbo; then | 45 | if test -e ${devtype} ${devnum}:${distro_bootpart} /devicetree/openamp.dtbo; then |
39 | fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_OVERLAY_ADDRESS@@ devicetree/openamp.dtbo; | 46 | fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_OVERLAY_ADDRESS@@ devicetree/openamp.dtbo; |
@@ -41,6 +48,7 @@ do | |||
41 | fdt resize 8192 | 48 | fdt resize 8192 |
42 | fdt apply @@DEVICETREE_OVERLAY_ADDRESS@@ | 49 | fdt apply @@DEVICETREE_OVERLAY_ADDRESS@@ |
43 | fi | 50 | fi |
51 | run update_bootargs | ||
44 | if test -e ${devtype} ${devnum}:${distro_bootpart} /${ramdisk_name} && test "${skip_tinyramdisk}" != "yes"; then | 52 | if test -e ${devtype} ${devnum}:${distro_bootpart} /${ramdisk_name} && test "${skip_tinyramdisk}" != "yes"; then |
45 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; | 53 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; |
46 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ | 54 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ |
@@ -51,7 +59,7 @@ do | |||
51 | fi | 59 | fi |
52 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ | 60 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ |
53 | fi | 61 | fi |
54 | if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then | 62 | if test "${boot_target}" = "xspi0" || test "${boot_target}" = "xspi1" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then |
55 | sf probe 0 0 0; | 63 | sf probe 0 0 0; |
56 | sf read @@FIT_IMAGE_LOAD_ADDRESS@@ @@QSPI_FIT_IMAGE_OFFSET@@ @@QSPI_FIT_IMAGE_SIZE@@ | 64 | sf read @@FIT_IMAGE_LOAD_ADDRESS@@ @@QSPI_FIT_IMAGE_OFFSET@@ @@QSPI_FIT_IMAGE_SIZE@@ |
57 | bootm @@FIT_IMAGE_LOAD_ADDRESS@@; | 65 | bootm @@FIT_IMAGE_LOAD_ADDRESS@@; |
@@ -59,6 +67,7 @@ do | |||
59 | 67 | ||
60 | sf read @@KERNEL_LOAD_ADDRESS@@ @@QSPI_KERNEL_OFFSET@@ @@QSPI_KERNEL_SIZE@@ | 68 | sf read @@KERNEL_LOAD_ADDRESS@@ @@QSPI_KERNEL_OFFSET@@ @@QSPI_KERNEL_SIZE@@ |
61 | sf read @@RAMDISK_IMAGE_ADDRESS@@ @@QSPI_RAMDISK_OFFSET@@ @@QSPI_RAMDISK_SIZE@@ | 69 | sf read @@RAMDISK_IMAGE_ADDRESS@@ @@QSPI_RAMDISK_OFFSET@@ @@QSPI_RAMDISK_SIZE@@ |
70 | run update_bootargs | ||
62 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; | 71 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; |
63 | echo "Booting using Separate images failed" | 72 | echo "Booting using Separate images failed" |
64 | fi | 73 | fi |
@@ -70,6 +79,7 @@ do | |||
70 | 79 | ||
71 | nand read @@KERNEL_LOAD_ADDRESS@@ @@NAND_KERNEL_OFFSET@@ @@NAND_KERNEL_SIZE@@ | 80 | nand read @@KERNEL_LOAD_ADDRESS@@ @@NAND_KERNEL_OFFSET@@ @@NAND_KERNEL_SIZE@@ |
72 | nand read @@RAMDISK_IMAGE_ADDRESS@@ @@NAND_RAMDISK_OFFSET@@ @@NAND_RAMDISK_SIZE@@ | 81 | nand read @@RAMDISK_IMAGE_ADDRESS@@ @@NAND_RAMDISK_OFFSET@@ @@NAND_RAMDISK_SIZE@@ |
82 | run update_bootargs | ||
73 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; | 83 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; |
74 | echo "Booting using Separate images failed" | 84 | echo "Booting using Separate images failed" |
75 | fi | 85 | fi |
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root index 816707cb..ed12f941 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root | |||
@@ -15,7 +15,7 @@ do | |||
15 | if test "${boot_target}" = "jtag" ; then | 15 | if test "${boot_target}" = "jtag" ; then |
16 | fdt addr @@DEVICETREE_ADDRESS@@ | 16 | fdt addr @@DEVICETREE_ADDRESS@@ |
17 | fdt get value bootargs /chosen bootargs | 17 | fdt get value bootargs /chosen bootargs |
18 | setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ | 18 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ |
19 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ | 19 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ |
20 | fi | 20 | fi |
21 | if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then | 21 | if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then |
@@ -65,7 +65,7 @@ do | |||
65 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; | 65 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; |
66 | fdt addr @@DEVICETREE_ADDRESS@@ | 66 | fdt addr @@DEVICETREE_ADDRESS@@ |
67 | fdt get value bootargs /chosen bootargs | 67 | fdt get value bootargs /chosen bootargs |
68 | setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ | 68 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ |
69 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ | 69 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ |
70 | fi | 70 | fi |
71 | echo "Checking for /${rootfs_name}" | 71 | echo "Checking for /${rootfs_name}" |
@@ -74,12 +74,12 @@ do | |||
74 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name}; | 74 | fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name}; |
75 | fdt addr @@DEVICETREE_ADDRESS@@ | 75 | fdt addr @@DEVICETREE_ADDRESS@@ |
76 | fdt get value bootargs /chosen bootargs | 76 | fdt get value bootargs /chosen bootargs |
77 | setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ | 77 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ |
78 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ | 78 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ |
79 | fi | 79 | fi |
80 | fdt addr @@DEVICETREE_ADDRESS@@ | 80 | fdt addr @@DEVICETREE_ADDRESS@@ |
81 | fdt get value bootargs /chosen bootargs | 81 | fdt get value bootargs /chosen bootargs |
82 | setenv bootargs $bootargs @@KERNEL_ROOT_SD@@ | 82 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_SD@@ |
83 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ | 83 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ |
84 | fi | 84 | fi |
85 | if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then | 85 | if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then |
@@ -93,7 +93,7 @@ do | |||
93 | sf read @@RAMDISK_IMAGE_ADDRESS@@ @@QSPI_RAMDISK_OFFSET@@ @@QSPI_RAMDISK_SIZE@@ | 93 | sf read @@RAMDISK_IMAGE_ADDRESS@@ @@QSPI_RAMDISK_OFFSET@@ @@QSPI_RAMDISK_SIZE@@ |
94 | fdt addr @@DEVICETREE_ADDRESS@@ | 94 | fdt addr @@DEVICETREE_ADDRESS@@ |
95 | fdt get value bootargs /chosen bootargs | 95 | fdt get value bootargs /chosen bootargs |
96 | setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ | 96 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ |
97 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; | 97 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; |
98 | echo "Booting using Separate images failed" | 98 | echo "Booting using Separate images failed" |
99 | fi | 99 | fi |
@@ -108,7 +108,7 @@ do | |||
108 | nand read @@RAMDISK_IMAGE_ADDRESS@@ @@NAND_RAMDISK_OFFSET@@ @@NAND_RAMDISK_SIZE@@ | 108 | nand read @@RAMDISK_IMAGE_ADDRESS@@ @@NAND_RAMDISK_OFFSET@@ @@NAND_RAMDISK_SIZE@@ |
109 | fdt addr @@DEVICETREE_ADDRESS@@ | 109 | fdt addr @@DEVICETREE_ADDRESS@@ |
110 | fdt get value bootargs /chosen bootargs | 110 | fdt get value bootargs /chosen bootargs |
111 | setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ | 111 | setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ |
112 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; | 112 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; |
113 | echo "Booting using Separate images failed" | 113 | echo "Booting using Separate images failed" |
114 | fi | 114 | fi |
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc index 10dfbb60..4c7ea934 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc | |||
@@ -9,7 +9,7 @@ SYSROOT_DIRS += "/boot" | |||
9 | 9 | ||
10 | BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" | 10 | BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" |
11 | DTB_PATH ?= "boot/devicetree/" | 11 | DTB_PATH ?= "boot/devicetree/" |
12 | DTB_NAME ?= "" | 12 | DTB_FILE_NAME ?= "" |
13 | 13 | ||
14 | # This vairable is used for U-boot user specified dts from u-boot repo path | 14 | # This vairable is used for U-boot user specified dts from u-boot repo path |
15 | # u-boot-xlnx/arch/arm/dts/versal-vck190-revA-x-ebm-01-revA.dts. | 15 | # u-boot-xlnx/arch/arm/dts/versal-vck190-revA-x-ebm-01-revA.dts. |
@@ -17,7 +17,7 @@ DTB_NAME ?= "" | |||
17 | # Example: UBOOT_USER_SPECIFIED_DTS = "versal-vck190-revA-x-ebm-01-revA" | 17 | # Example: UBOOT_USER_SPECIFIED_DTS = "versal-vck190-revA-x-ebm-01-revA" |
18 | UBOOT_USER_SPECIFIED_DTS ?= "" | 18 | UBOOT_USER_SPECIFIED_DTS ?= "" |
19 | 19 | ||
20 | EXTRA_OEMAKE += "${@'EXT_DTB=${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_NAME}' if (d.getVar('DTB_NAME') != '' and d.getVar('UBOOT_USER_SPECIFIED_DTS') == '') else '' }" | 20 | EXTRA_OEMAKE += "${@'EXT_DTB=${RECIPE_SYSROOT}/${DTB_PATH}/${DTB_FILE_NAME}' if (d.getVar('DTB_FILE_NAME') != '' and d.getVar('UBOOT_USER_SPECIFIED_DTS') == '') else '' }" |
21 | EXTRA_OEMAKE += "${@'DEVICE_TREE=${UBOOT_USER_SPECIFIED_DTS}' if (d.getVar('UBOOT_USER_SPECIFIED_DTS') != '') else '' }" | 21 | EXTRA_OEMAKE += "${@'DEVICE_TREE=${UBOOT_USER_SPECIFIED_DTS}' if (d.getVar('UBOOT_USER_SPECIFIED_DTS') != '') else '' }" |
22 | 22 | ||
23 | python __anonymous () { | 23 | python __anonymous () { |
@@ -25,8 +25,8 @@ python __anonymous () { | |||
25 | providerdtb = d.getVar("PREFERRED_PROVIDER_virtual/dtb") | 25 | providerdtb = d.getVar("PREFERRED_PROVIDER_virtual/dtb") |
26 | if providerdtb: | 26 | if providerdtb: |
27 | d.appendVarFlag('do_configure', 'depends', ' virtual/dtb:do_populate_sysroot') | 27 | d.appendVarFlag('do_configure', 'depends', ' virtual/dtb:do_populate_sysroot') |
28 | if d.getVar("DTB_NAME") is not None: | 28 | if d.getVar("DTB_FILE_NAME") is not None: |
29 | d.setVar('DTB_NAME', d.getVar('BASE_DTS')+ '.dtb') | 29 | d.setVar('DTB_FILE_NAME', d.getVar('BASE_DTS')+ '.dtb') |
30 | } | 30 | } |
31 | 31 | ||
32 | do_configure:prepend () { | 32 | do_configure:prepend () { |
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.2.bb new file mode 100644 index 00000000..22075424 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.2.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | |||
2 | require u-boot-xlnx.inc | ||
3 | require u-boot-spl-zynq-init.inc | ||
4 | require u-boot-xlnx-2023.2.inc | ||