From 7c0f00df2c4d364635c57f2ed7c9b3a67d76ef1c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 7 Mar 2023 07:31:23 -0800 Subject: Start 2023.2 development Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 57a76049..19a5e1a1 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -41,33 +41,29 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ *->xserver-xorg \ " -XILINX_RELEASE_VERSION ??= "v2023.1" +XILINX_RELEASE_VERSION ??= "v2023.2" BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" -XILINX_QEMU_VERSION[v2022.1] = "v6.1.0-xilinx-v2022.1%" -XILINX_QEMU_VERSION[v2022.2] = "v6.1.0-xilinx-v2022.2%" XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" +XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" -XILINX_ATF_VERSION[v2022.1] = "2.6-xilinx-v2022.1%" -XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%" XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" +XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" -XILINX_UBOOT_VERSION[v2022.1] = "v2021.01-xilinx-v2022.1%" -XILINX_UBOOT_VERSION[v2022.2] = "v2021.01-xilinx-v2022.2%" XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" +XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" -XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%" -XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%" XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" +XILINX_LINUX_VERSION[v2023.2] = "6.1.5-xilinx-v2023.2%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists -- cgit v1.2.3-54-g00ecf From 800a7efd0aced9445b215451f6e2314cdd7025fc Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 16 Mar 2023 10:39:40 -0700 Subject: zynqmp-generic: Emulate FSBL hand-off for qemu boot Qemu boots by loading ATF and jumping to it directory. A recent change adds a verification that the data structure passed by the FSBL is correct in a 'mode 5' (SD card) boot. If it's not valid ATF will fail to continue to boot. (JTAG, 'mode 0' boot will proceed but other system behavior changes.) In order to emulate the FSBL handoff to ATF, we need to populate a data structure in fffc0000, and tell ATF to look at that address. See the comments for more information. This also ends up hard-coding the u-boot address. If it changes booting will fail. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/zynqmp-generic.conf | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index a2d20869..d24da3b4 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf @@ -101,9 +101,37 @@ QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) +# +# In an actual device the FSBL will run first, load ATF and setup the +# following data structure to tell ATF what to continue booting with. +# +# In QEMU emulation we start booting directly from ATF, so we need to +# setup the structure ourselves. +# +# Write to OCM (See UG1085 for more information), address 0xfffc0000 +# the address to boot from (where u-boot is): +# fffc0000 58 4c 4e 58 01 00 00 00 |XLNX....| +# fffc0008 00 00 00 08 00 00 00 00 |........| +# fffc0010 10 00 00 00 00 00 00 00 |........| +# +# Then write that address (fffc0000) to 0xffd80048 so ATF can find this block +# +# fffc0008 defines the u-boot load address as 0x8000000, if u-boot is +# expected to be elsewhere in memory, you must adjust the value. +# +# We write the structure as big endian to make it easier to match/read +# the table above. Remember the CPU is running in little endian mode, +# with the default resulting in: +# 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000 +# 00000000fffc0010: 0x00000010 0x00000000 +# QB_OPT_APPEND = " \ -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_zynqmp_unhalt(d, True)} \ + -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \ + -device loader,addr=0xfffc0008,data=0x0000000800000000,data-be=true,data-len=8 \ + -device loader,addr=0xfffc0010,data=0x1000000000000000,data-be=true,data-len=8 \ + -device loader,addr=0xffd80048,data=0xfffc0000,data-len=4,attrs-secure=on \ -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \ -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \ -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000,force-raw=on \ -- cgit v1.2.3-54-g00ecf From 7d8e39084a7db11c267a2ecd10d2deceba02b20c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 16 May 2023 13:23:00 -0700 Subject: *-generic.conf: Fix hardcoded dependencies in the generic machines Each of these dependencies need to be based on preferred_provider. A hard dependency on u-boot-xlnx-uenv is not required to use qemu. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/microblaze-generic.conf | 2 +- meta-xilinx-core/conf/machine/versal-generic.conf | 2 +- meta-xilinx-core/conf/machine/zynq-generic.conf | 2 +- meta-xilinx-core/conf/machine/zynqmp-generic.conf | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index 2589da04..db1476ed 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf @@ -70,7 +70,7 @@ MACHINE_FEATURES = "" KERNEL_IMAGETYPE ?= "linux.bin.ub" KERNEL_IMAGETYPES = "" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" IMAGE_BOOT_FILES += " \ ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index e44e99f2..3bf38b23 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf @@ -47,7 +47,7 @@ HDF_MACHINE = "vck190-versal" MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" # Default SD image build onfiguration, use qemu-sd to pad IMAGE_CLASSES += "image-types-xilinx-qemu" diff --git a/meta-xilinx-core/conf/machine/zynq-generic.conf b/meta-xilinx-core/conf/machine/zynq-generic.conf index df82a683..0409e4ba 100644 --- a/meta-xilinx-core/conf/machine/zynq-generic.conf +++ b/meta-xilinx-core/conf/machine/zynq-generic.conf @@ -46,7 +46,7 @@ HDF_MACHINE = "zc702-zynq7" MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" EXTRA_IMAGEDEPENDS += " \ libyaml-native \ diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index d24da3b4..5faa3095 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf @@ -65,7 +65,7 @@ IMAGE_CLASSES += "image-types-xilinx-qemu" # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot'}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" EXTRA_IMAGEDEPENDS += " \ libyaml-native \ @@ -150,8 +150,6 @@ QB_PMU_OPT = " \ QB_OPT_APPEND += " -pmu-args '${QB_PMU_OPT}'" -do_write_qemuboot_conf[depends] += "u-boot-xlnx-uenv:do_deploy" - #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_generic']['zynqmp-generic' != "${MACHINE}"]}" -- cgit v1.2.3-54-g00ecf From aa062f1134b1bb8def3da17e4191f01c895ffa30 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 22 Jun 2023 07:23:32 -0700 Subject: meta-xilinx-conf: Update kernel preferred version Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 19a5e1a1..c1f7bc1d 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -63,7 +63,7 @@ PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getV PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" -XILINX_LINUX_VERSION[v2023.2] = "6.1.5-xilinx-v2023.2%" +XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists -- cgit v1.2.3-54-g00ecf From f53e4a2eed4fe7581711c6feb59f8e8ab249cf29 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 11 Jul 2023 17:36:40 -0600 Subject: microblaze-generic: Add target fpu hard TUNE FEATURES Since microblaze-generic machine conf file uses kcu105 xsa, target fpu hard TUNE_FEATURES were missing hence add it. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/microblaze-generic.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index db1476ed..9b811aa5 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf @@ -12,7 +12,7 @@ MACHINEOVERRIDES =. "${@['', 'microblaze-generic:']['microblaze-generic' != '${M #### Regular settings follow # Set the default for a modern full feature microblaze... -TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high" +TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 pattern-compare barrel-shift divide-hard multiply-high fpu-hard reorder" DEFAULTTUNE ?= "microblaze" # Variables that changes based on hw design or board specific requirement must be -- cgit v1.2.3-54-g00ecf From 5f973d214a9a82b8532818b7dbc73097a064ba0b Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 18 Jul 2023 16:13:41 -0600 Subject: machine: Add SERIAL_CONSOLES_CHECK for sysvinit only SERIAL_CONSOLES_CHECK is supported only for sysvinit and default INIT Manager is systemd, hence move this variable from machine conf files to machine-xilinx-default inclusion and set only if DISTRO_FEATURES is sysvinit. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc | 3 +++ meta-xilinx-core/conf/machine/microblaze-generic.conf | 1 - meta-xilinx-core/conf/machine/versal-generic.conf | 1 - meta-xilinx-core/conf/machine/zynq-generic.conf | 1 - meta-xilinx-core/conf/machine/zynqmp-generic.conf | 1 - 5 files changed, 3 insertions(+), 4 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index 4a4384a1..16aa1316 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -128,3 +128,6 @@ def get_default_image_boot_files(d): XSERVER_EXT ?= "" FPGA_MNGR_RECONFIG_ENABLE ?= "1" + +# This variable is supported only with SysVinit. +SERIAL_CONSOLES_CHECK = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SERIAL_CONSOLES}', '', d)}" diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index 9b811aa5..ac785a17 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf @@ -45,7 +45,6 @@ KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" # Microblaze Serial Console settings SERIAL_CONSOLES ?= "115200;ttyUL0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" require conf/machine/include/soc-tune-include.inc diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index 3bf38b23..f87dc140 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf @@ -33,7 +33,6 @@ UBOOT_LOADADDRESS ?= "0x200000" # Versal Serial Console SERIAL_CONSOLES ?= "115200;ttyAMA0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" require conf/machine/include/soc-versal.inc diff --git a/meta-xilinx-core/conf/machine/zynq-generic.conf b/meta-xilinx-core/conf/machine/zynq-generic.conf index 0409e4ba..e97be2ff 100644 --- a/meta-xilinx-core/conf/machine/zynq-generic.conf +++ b/meta-xilinx-core/conf/machine/zynq-generic.conf @@ -32,7 +32,6 @@ KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" # Zynq-7000 Serial Console settings SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" require conf/machine/include/soc-zynq.inc diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index 5faa3095..b60014df 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf @@ -44,7 +44,6 @@ UBOOT_LOADADDRESS ?= "0x200000" # ZynqMP Serial Console SERIAL_CONSOLES ?= "115200;ttyPS0" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" require conf/machine/include/soc-zynqmp.inc -- cgit v1.2.3-54-g00ecf From ca01be9fda6e842753f9aab78bc4430cbdf665f5 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 18 Jul 2023 16:13:42 -0600 Subject: microblaze-generic: Update machine conf file using gen-machineconf tool 1. Update machine conf file using gen-machineconf tool by parsing latest kcu105 xsa and reorder the variables to match the gen-machineconf tool output. 2. Add axi-quad-spi as kcu105 reference xsa has this ip enabled. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../conf/machine/microblaze-generic.conf | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index ac785a17..5bf87344 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf @@ -19,10 +19,19 @@ DEFAULTTUNE ?= "microblaze" # defined before calling the required inclusion file else pre-expansion value # defined in local.conf without machine override will not be reflected. +# Yocto Microblaze device-tree variables +YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0" +YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0" +DT_PADDING_SIZE:pn-device-tree ?= "0x1000" +DTC_FLAGS:pn-device-tree ?= "" +XSCTH_PROC:pn-device-tree ?= "microblaze_0" +YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}" + # Yocto Microblaze FS-Boot variables YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0" YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0" YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0" +YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0" XSCTH_PROC:pn-fs-boot ?= "microblaze_0" # Yocto Microblaze u-boot-xlnx variables @@ -30,14 +39,6 @@ UBOOT_MACHINE ?= "microblaze-generic_defconfig" UBOOT_INITIAL_ENV = "" BOOTMODE ?= "generic.root" -# Yocto Microblaze device-tree variables -YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0" -YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0" -DT_PADDING_SIZE:pn-device-tree ?= "0x1000" -DTC_FLAGS:pn-device-tree ?= "" -XSCTH_PROC:pn-device-tree ?= "microblaze_0" -YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}" - # Yocto Microblaze KERNEL Variables UBOOT_ENTRYPOINT ?= "0x80000000" UBOOT_LOADADDRESS ?= "0x80000000" @@ -72,8 +73,8 @@ KERNEL_IMAGETYPES = "" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" IMAGE_BOOT_FILES += " \ - ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ - " + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + " EXTRA_IMAGEDEPENDS += " \ libyaml-native \ -- cgit v1.2.3-54-g00ecf From 39569406de065e6c9ff30555c8efb429149fa200 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 18 Jul 2023 16:13:46 -0600 Subject: README: Update the docs on variables Update READE docs on list of variables used in machine conf. Signed-off-by: Sandeep Gundlupet Raju Fixed a couple of typos Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/README | 75 +++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 6 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README index 5361dc81..0b018b61 100644 --- a/meta-xilinx-core/conf/machine/README +++ b/meta-xilinx-core/conf/machine/README @@ -142,20 +142,83 @@ you should not use : override values for the same reason. Note, not every machine file will have all of these variables, only the ones you need to override should be set. +Variables set before required inclusion file: +Variables that changes based on hw design or board specific requirement must be +set before required inclusion file else pre-expansion value defined in generic +machine conf will be set. This way user can also override these variables from +local.conf + System wide setting: TUNE_FEATURES:tune- - Specific tune features external-hdf recipe from meta-xilinx-tools: -HDF_MACHINE - Used by the recipe to find the correct XSA -HDF_EXT - only xsa is supported, legacy variable -HDF_BASE - protocol if not using the default external-hdf repository -HDF_PATH - path to the repository or XSA file +HDF_MACHINE - Machine to load from reference defign xsa using hdf-examples recipe +HDF_EXT - Only ".xsa" externsion is supported, legacy variable. +HDF_BASE - Download protocol (file://, git://, http:// or https://) protocol if + not using the default external-hdf repository. +HDF_PATH - Path to the repository or XSA file + +fs-boot recipe from meta-xilinx-tools: +YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot - YAML based uart stdin configuration for +MicroBlaze. Example: axi_uartlite_0 or axi_uart16550_0 etc,. +YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot - YAML based uart stdout configuration for +MicroBlaze. Example: axi_uartlite_0 or axi_uart16550_0 etc,. +YAML_MAIN_MEMORY_CONFIG:pn-fs-boot - YAML based DDR4 or MIG configuration for +MicroBlaze. Example: DDR4_0 or MIG_7SERIES_0 etc,. +YAML_FLASH_MEMORY_CONFIG:pn-fs-boot - YAML based flash configuration for +MicroBlaze. Example: axi_emc_0 or axi_quad_spi_0 etc,. +XSCTH_PROC:pn-fs-boot - Processor IP used while configuring embeddedsw compoments. +Example: microblaze_0 or microblaze_1 etc,. + +fsbl-firmware recipe from meta-xilinx-tools: +YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware - YAML based FSBL uart stdin configuration +for Zynq-7000 and ZynqMP devices. +YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware - YAML based FSBL uart stdout configuration +for Zynq-7000 and ZynqMP devices. + +pmu-firmware recipe from meta-xilinx-tools: +YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware - YAML based PMUFW uart stdin configuration +for ZynqMP devices. +YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware - YAML based PMUFW uart stdout configuration +for ZynqMP devices. + +plm-firmware recipe from meta-xilinx-tools: +YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware - YAML based PLM uart stdin configuration +for Versal devices. +YAML_SERIAL_CONSOLE_STDOUT:pn-fplmsbl-firmware - YAML based PLM uart stdout +configuration for Versal devices. device-tree recipe from meta-xilinx-tools: -YAML_DT_BOARD_FLAGS - flags used for dtgen +YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree - YAML based uart console configuration +for all device families. Example: axi_uartlite_0 or psu_uart_0 etc,. +YAML_MAIN_MEMORY_CONFIG:pn-device-tree - YAML based memory configuration for all +device families. Example: DDR4_0 or PS7_DDR_0 or PSU_DDR_0 etc,. +XSCTH_PROC:pn-device-tree - Processor IP used while configuring device-tree +compoments. Example: microblaze_0 or microblaze_1 etc,. +YAML_DT_BOARD_FLAGS:pn-device-tree - YAML based configuration for setting eval +board specific dtsi files available in DTG repo. + +arm-trusted-firmware recipe from meta-xilinx-core: +ATF_CONSOLE_DEFAULT - Uart console configuration for all aarch64 device families. +Example: pl011 or cadence or cadence1 etc,. +TFA_BL33_LOAD - BL33 preloadded base address to EXTRA_OEMAKE for aarch64. u-boot-xlnx recipe from meta-xilinx-core: UBOOT_MACHINE - Name of the defconfig to use -HAS_PLATFORM_INIT - List of defconfig files available for u-boot +HAS_PLATFORM_INIT - List of defconfig files available for u-boot only for SPL boot. + +u-boot-xlnx-scr recipe from meta-xilinx-core: +DDR_BASEADDR - Base address for DDR used for loading the images from u-boot env. +SKIP_APPEND_BASEADDR - Skip appending ${DDR_BASEADDR} for image offsets. + +Varibable set after required inclusion file: +Varibables that does not intend to change must be set before required inclusion +file. + +external-hdf recipe from meta-xilinx-tools: +HDF_MACHINE - Used by the recipe to find the correct XSA +HDF_EXT - only xsa is supported, legacy variable +HDF_BASE - protocol if not using the default external-hdf repository +HDF_PATH - path to the repository or XSA file ...and more... -- cgit v1.2.3-54-g00ecf From 6a73350a5047328b5ce8b281a3019ca21ddf2d81 Mon Sep 17 00:00:00 2001 From: Trevor Woerner Date: Thu, 17 Aug 2023 19:37:11 -0400 Subject: machine-xilinx-default.inc: use installed IMAGE_BOOT_FILES IMAGE_BOOT_FILES is a whitespace-separated list of entries specifying files to be installed into the boot partition. Entries can change the installed filename by specifying the destination name after a semicolon (e.g. u-boot.img;uboot). Make sure to use the installed filename when scanning IMAGE_BOOT_FILES if one is provided, otherwise use the specified file as-is. Signed-off-by: Trevor Woerner Signed-off-by: Mark Hatle --- .../machine/include/machine-xilinx-default.inc | 49 ++++++++++++---------- 1 file changed, 27 insertions(+), 22 deletions(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index 16aa1316..e99b1f0e 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -64,33 +64,38 @@ FIT_CONF_DEFAULT_DTB ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE')).replace( # Define to avoid parsse errors below if undefind elsewhere INITRAMFS_IMAGE ??= "" +# IMAGE_BOOT_FILES is a whitespace-separated list of entries specifying files to be installed into the boot partition +# entries can change the installed filename by specifying the destination name after a semicolon (e.g. u-boot.img;uboot) +# make sure to use the installed filename when scanning IMAGE_BOOT_FILES +IMAGE_BOOT_FILES_INSTALLED = "${@' '.join([x.split(';')[-1] for x in d.getVar('IMAGE_BOOT_FILES').split()])}" + # Automatically add WKS_FILE_DEPENDS based on the configuration # Initial value from oe-core/meta/classes-recipe/image_types_wic.bbclass WKS_FILE_DEPENDS ?= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.bin', ' virtual/boot-bin', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'system.dtb', ' virtual/dtb', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.scr', ' u-boot-xlnx-scr', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'uEnv.txt', ' u-boot-xlnx-uenv', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'atf-uboot.ub', ' arm-trusted-firmware', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'Image', ' virtual/kernel', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'uImage', ' virtual/kernel', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'zImage', ' virtual/kernel', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'u-boot.bin', ' virtual/bootloader', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'u-boot.elf', ' virtual/bootloader', '', d)}" -WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', '${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot', ' ${INITRAMFS_IMAGE}', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'boot.bin', ' virtual/boot-bin', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'system.dtb', ' virtual/dtb', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'boot.scr', ' u-boot-xlnx-scr', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'uEnv.txt', ' u-boot-xlnx-uenv', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'atf-uboot.ub', ' arm-trusted-firmware', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'Image', ' virtual/kernel', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'uImage', ' virtual/kernel', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'zImage', ' virtual/kernel', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'u-boot.bin', ' virtual/bootloader', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'u-boot.elf', ' virtual/bootloader', '', d)}" +WKS_FILE_DEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', '${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot', ' ${INITRAMFS_IMAGE}', '', d)}" # Automatically add IMAGE_BOOT_FILES to /boot via packages -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.bin', ' ${PREFERRED_PROVIDER_virtual/boot-bin}', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'system.dtb', ' ${PREFERRED_PROVIDER_virtual/dtb}', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.scr', ' u-boot-xlnx-scr', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'uEnv.txt', ' u-boot-xlnx-uenv', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'atf-uboot.ub', ' arm-trusted-firmware', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'u-boot.bin', ' ${PREFERRED_PROVIDER_virtual/bootloader}-bin', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'u-boot.elf', ' ${PREFERRED_PROVIDER_virtual/bootloader}-elf', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'Image', ' kernel-image-image', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'uImage', ' kernel-image-uimage', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', 'zImage', ' kernel-image-zimage', '', d)}" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES', '${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot', ' initramdisk-${INITRAMFS_IMAGE}', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'boot.bin', ' ${PREFERRED_PROVIDER_virtual/boot-bin}', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'system.dtb', ' ${PREFERRED_PROVIDER_virtual/dtb}', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'boot.scr', ' u-boot-xlnx-scr', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'uEnv.txt', ' u-boot-xlnx-uenv', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'atf-uboot.ub', ' arm-trusted-firmware', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'u-boot.bin', ' ${PREFERRED_PROVIDER_virtual/bootloader}-bin', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'u-boot.elf', ' ${PREFERRED_PROVIDER_virtual/bootloader}-elf', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'Image', ' kernel-image-image', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'uImage', ' kernel-image-uimage', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', 'zImage', ' kernel-image-zimage', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS .= "${@bb.utils.contains('IMAGE_BOOT_FILES_INSTALLED', '${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot', ' initramdisk-${INITRAMFS_IMAGE}', '', d)}" # Default SD card wks file, split /boot and / WKS_FILES ?= "xilinx-default-sd.wks" -- cgit v1.2.3-54-g00ecf From e06e900aa5044eeed2846af3c459905a6b581340 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 18 Aug 2023 11:04:11 -0600 Subject: meta-xilinx-core: conf/layer.conf: Skip xrt in dependency hashing xrt API is stable, but we provide different versions if there is an ai-engine or not. Skip the hash calculations to allow dependent packages to work with both versions. This resolves a problem where xrt w/ and w/o ai-engine support causes vart and thus vitis-ai to rebuild multiple times. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 1 + 1 file changed, 1 insertion(+) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index c1f7bc1d..0bcbf848 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -28,6 +28,7 @@ LAYERRECOMMENDS_xilinx = "openembedded-layer" LAYERSERIES_COMPAT_xilinx = "langdale" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + *->xrt \ *->zocl \ *->cairo \ *->libepoxy \ -- cgit v1.2.3-54-g00ecf From c4f4cbc48ee3acb770788bd0b38a84a72e6cd44f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Sat, 19 Aug 2023 17:49:11 +0000 Subject: meta-xilinx-core: conf/layer.conf: Skip PLNX_SCRIPTS_PATH in hash The PLNX_SCRIPTS_PATH is being embedded into various hashes, but this does not affect the output of the build in any way. Avoid including this various in the hash for recipes. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 0bcbf848..5441fd96 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -69,4 +69,6 @@ PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVa # Add support to eSDK for gen-machine-conf if it exists PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" +BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" + IMAGE_CLASSES += "gen-machine-conf" -- cgit v1.2.3-54-g00ecf From 056045a31f59472bdce0ff6357e457fa7c7c0038 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 30 Aug 2023 15:23:01 -0500 Subject: versal-net-generic: Make it clear versal-net is not supported in 2023.2 Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/versal-net-generic.conf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf index 4b368e83..e1f222e2 100644 --- a/meta-xilinx-core/conf/machine/versal-net-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf @@ -1,3 +1,5 @@ +XILINX_DEPRECATED[versal-net] = "Versal-net is not supported in 2023.2" + #@TYPE: Machine #@NAME: versal-net-generic #@DESCRIPTION: Machine configuration for the versal-net-generic devices -- cgit v1.2.3-54-g00ecf From 9240822918e8dabd8232ed4b3fa77f56252b6d6a Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 30 Aug 2023 16:14:29 -0600 Subject: README: Update README on using ATF_CONSOLE Update README on using ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-xilinx-core/conf') diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README index 0b018b61..de8cf58d 100644 --- a/meta-xilinx-core/conf/machine/README +++ b/meta-xilinx-core/conf/machine/README @@ -199,7 +199,7 @@ YAML_DT_BOARD_FLAGS:pn-device-tree - YAML based configuration for setting eval board specific dtsi files available in DTG repo. arm-trusted-firmware recipe from meta-xilinx-core: -ATF_CONSOLE_DEFAULT - Uart console configuration for all aarch64 device families. +ATF_CONSOLE - Uart console configuration for all aarch64 device families. Example: pl011 or cadence or cadence1 etc,. TFA_BL33_LOAD - BL33 preloadded base address to EXTRA_OEMAKE for aarch64. -- cgit v1.2.3-54-g00ecf