diff options
Diffstat (limited to 'meta-xilinx-core/conf')
18 files changed, 185 insertions, 219 deletions
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index b9eabc8b..399011a7 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf | |||
| @@ -22,7 +22,7 @@ xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bb \ | |||
| 22 | xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend \ | 22 | xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend \ |
| 23 | " | 23 | " |
| 24 | 24 | ||
| 25 | LAYERDEPENDS_xilinx = "core" | 25 | LAYERDEPENDS_xilinx = "core meta-arm" |
| 26 | LAYERRECOMMENDS_xilinx = "openembedded-layer" | 26 | LAYERRECOMMENDS_xilinx = "openembedded-layer" |
| 27 | 27 | ||
| 28 | LAYERSERIES_COMPAT_xilinx = "scarthgap" | 28 | LAYERSERIES_COMPAT_xilinx = "scarthgap" |
| @@ -42,7 +42,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ | |||
| 42 | *->xserver-xorg \ | 42 | *->xserver-xorg \ |
| 43 | " | 43 | " |
| 44 | 44 | ||
| 45 | XILINX_RELEASE_VERSION ??= "v2024.1" | 45 | XILINX_RELEASE_VERSION ??= "v2024.2" |
| 46 | 46 | ||
| 47 | BUILDCFG_VARS:append = " XILINX_RELEASE_VERSION" | 47 | BUILDCFG_VARS:append = " XILINX_RELEASE_VERSION" |
| 48 | 48 | ||
| @@ -55,13 +55,20 @@ XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%" | |||
| 55 | XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" | 55 | XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" |
| 56 | XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" | 56 | XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" |
| 57 | XILINX_ATF_VERSION[v2024.1] = "2.10-xilinx-v2024.1%" | 57 | XILINX_ATF_VERSION[v2024.1] = "2.10-xilinx-v2024.1%" |
| 58 | PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 58 | XILINX_ATF_VERSION[v2024.2] = "2.10-xilinx-v2024.2%" |
| 59 | PREFERRED_VERSION_virtual/arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | ||
| 60 | |||
| 61 | # The name of the software has changed to match upstream ARM | ||
| 62 | XILINX_ATF_PROVIDERS[v2024.2] = "trusted-firmware-a" | ||
| 63 | PREFERRED_PROVIDER_virtual/arm-trusted-firmware = "${@d.getVarFlag('XILINX_ATF_PROVIDERS', d.getVar('XILINX_RELEASE_VERSION')) or 'arm-trusted-firmware'}" | ||
| 64 | |||
| 59 | 65 | ||
| 60 | XILINX_UBOOT_VERSION[v2022.1] = "1:2021.01-xilinx-v2022.1%" | 66 | XILINX_UBOOT_VERSION[v2022.1] = "1:2021.01-xilinx-v2022.1%" |
| 61 | XILINX_UBOOT_VERSION[v2022.2] = "1:2022.01-xilinx-v2022.2%" | 67 | XILINX_UBOOT_VERSION[v2022.2] = "1:2022.01-xilinx-v2022.2%" |
| 62 | XILINX_UBOOT_VERSION[v2023.1] = "1:2023.01-xilinx-v2023.1%" | 68 | XILINX_UBOOT_VERSION[v2023.1] = "1:2023.01-xilinx-v2023.1%" |
| 63 | XILINX_UBOOT_VERSION[v2023.2] = "1:2023.01-xilinx-v2023.2%" | 69 | XILINX_UBOOT_VERSION[v2023.2] = "1:2023.01-xilinx-v2023.2%" |
| 64 | XILINX_UBOOT_VERSION[v2024.1] = "1:2024.01-xilinx-v2024.1%" | 70 | XILINX_UBOOT_VERSION[v2024.1] = "1:2024.01-xilinx-v2024.1%" |
| 71 | XILINX_UBOOT_VERSION[v2024.2] = "1:2024.01-xilinx-v2024.2%" | ||
| 65 | 72 | ||
| 66 | PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 73 | PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 67 | PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 74 | PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| @@ -71,6 +78,7 @@ XILINX_LINUX_VERSION[v2022.2] = "5.15.36%" | |||
| 71 | XILINX_LINUX_VERSION[v2023.1] = "6.1.30%" | 78 | XILINX_LINUX_VERSION[v2023.1] = "6.1.30%" |
| 72 | XILINX_LINUX_VERSION[v2023.2] = "6.1.60%" | 79 | XILINX_LINUX_VERSION[v2023.2] = "6.1.60%" |
| 73 | XILINX_LINUX_VERSION[v2024.1] = "6.6.10%" | 80 | XILINX_LINUX_VERSION[v2024.1] = "6.6.10%" |
| 81 | XILINX_LINUX_VERSION[v2024.2] = "6.6.40%" | ||
| 74 | PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 82 | PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 75 | 83 | ||
| 76 | # XRT/ZOCL | 84 | # XRT/ZOCL |
| @@ -79,6 +87,7 @@ XRT_ZOCL_VERSION[v2022.2] = "202220.2.14.0" | |||
| 79 | XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0" | 87 | XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0" |
| 80 | XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0" | 88 | XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0" |
| 81 | XRT_ZOCL_VERSION[v2024.1] = "202410.2.17.319" | 89 | XRT_ZOCL_VERSION[v2024.1] = "202410.2.17.319" |
| 90 | XRT_ZOCL_VERSION[v2024.2] = "202420.2.18.0" | ||
| 82 | PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 91 | PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 83 | PREFERRED_VERSION_zocl ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 92 | PREFERRED_VERSION_zocl ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 84 | 93 | ||
| @@ -88,6 +97,7 @@ AIEFAL_VERSION[v2022.2] = "1.4" | |||
| 88 | AIEFAL_VERSION[v2023.1] = "1.5" | 97 | AIEFAL_VERSION[v2023.1] = "1.5" |
| 89 | AIEFAL_VERSION[v2023.2] = "1.5" | 98 | AIEFAL_VERSION[v2023.2] = "1.5" |
| 90 | AIEFAL_VERSION[v2024.1] = "1.6" | 99 | AIEFAL_VERSION[v2024.1] = "1.6" |
| 100 | AIEFAL_VERSION[v2024.2] = "1.7" | ||
| 91 | PREFERRED_VERSION_aiefal ?= "${@d.getVarFlag('AIEFAL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 101 | PREFERRED_VERSION_aiefal ?= "${@d.getVarFlag('AIEFAL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 92 | 102 | ||
| 93 | AI_ENGINE_DRIVER_VERSION[v2022.1] = "3.3" | 103 | AI_ENGINE_DRIVER_VERSION[v2022.1] = "3.3" |
| @@ -95,6 +105,7 @@ AI_ENGINE_DRIVER_VERSION[v2022.2] = "3.3" | |||
| 95 | AI_ENGINE_DRIVER_VERSION[v2023.1] = "3.4" | 105 | AI_ENGINE_DRIVER_VERSION[v2023.1] = "3.4" |
| 96 | AI_ENGINE_DRIVER_VERSION[v2023.2] = "3.4" | 106 | AI_ENGINE_DRIVER_VERSION[v2023.2] = "3.4" |
| 97 | AI_ENGINE_DRIVER_VERSION[v2024.1] = "3.5" | 107 | AI_ENGINE_DRIVER_VERSION[v2024.1] = "3.5" |
| 108 | AI_ENGINE_DRIVER_VERSION[v2024.2] = "3.6" | ||
| 98 | PREFERRED_VERSION_ai-engine-driver ?= "${@d.getVarFlag('AI_ENGINE_DRIVER_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 109 | PREFERRED_VERSION_ai-engine-driver ?= "${@d.getVarFlag('AI_ENGINE_DRIVER_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
| 99 | 110 | ||
| 100 | # Add support to eSDK for gen-machine-conf if it exists | 111 | # Add support to eSDK for gen-machine-conf if it exists |
diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README index f664a2f0..5db8fa8f 100644 --- a/meta-xilinx-core/conf/machine/README +++ b/meta-xilinx-core/conf/machine/README | |||
| @@ -44,7 +44,6 @@ MACHINEOVERRIDES =. "${@['', 'my-example:']['my-example' != '${MACHINE}']}" | |||
| 44 | 44 | ||
| 45 | require conf/machine/zynqmp-generic.conf | 45 | require conf/machine/zynqmp-generic.conf |
| 46 | 46 | ||
| 47 | HDF_MACHINE = "zcu102-zynqmp" | ||
| 48 | MACHINE_FEATURES += "pci" | 47 | MACHINE_FEATURES += "pci" |
| 49 | 48 | ||
| 50 | #### No additional settings should be after the Postamble | 49 | #### No additional settings should be after the Postamble |
| @@ -67,7 +66,6 @@ DEFAULTTUNE ?= "aarch64" | |||
| 67 | 66 | ||
| 68 | require conf/machine/zynqmp-generic.conf | 67 | require conf/machine/zynqmp-generic.conf |
| 69 | 68 | ||
| 70 | HDF_MACHINE = "zcu102-zynqmp" | ||
| 71 | MACHINE_FEATURES += "pci" | 69 | MACHINE_FEATURES += "pci" |
| 72 | 70 | ||
| 73 | #### No additional settings should be after the Postamble | 71 | #### No additional settings should be after the Postamble |
| @@ -88,7 +86,6 @@ TUNE_FEATURES:tune-microblaze ?= "microblaze v8.50 barrel-shift reorder pattern- | |||
| 88 | 86 | ||
| 89 | require conf/machine/microblaze-generic.conf | 87 | require conf/machine/microblaze-generic.conf |
| 90 | 88 | ||
| 91 | HDF_MACHINE = "ml605" | ||
| 92 | SERIAL_CONSOLE = "115200,ttyUL0" | 89 | SERIAL_CONSOLE = "115200,ttyUL0" |
| 93 | 90 | ||
| 94 | #### No additional settings should be after the Postamble | 91 | #### No additional settings should be after the Postamble |
| @@ -149,12 +146,17 @@ local.conf | |||
| 149 | System wide setting: | 146 | System wide setting: |
| 150 | TUNE_FEATURES:tune-<tune> - Specific tune features | 147 | TUNE_FEATURES:tune-<tune> - Specific tune features |
| 151 | 148 | ||
| 149 | XILINX_WITH_ESW = "xsct" or "sdt" - Specify xsct or sdt workflow | ||
| 150 | |||
| 152 | external-hdf recipe from meta-xilinx-tools: | 151 | external-hdf recipe from meta-xilinx-tools: |
| 153 | HDF_MACHINE - Machine to load from reference defign xsa using hdf-examples recipe | 152 | XILINX_XSCT_VERSION - Version of the XSCT tool and associated ESW software |
| 154 | HDF_EXT - Only ".xsa" externsion is supported, legacy variable. | 153 | HDF_URI - URL for the .xsa file |
| 155 | HDF_BASE - Download protocol (file://, git://, http:// or https://) protocol if | 154 | HDF_URI[sha256sum] - sha256sum of the .xsa |
| 156 | not using the default external-hdf repository. | 155 | |
| 157 | HDF_PATH - Path to the repository or XSA file | 156 | sdt-artifacts recipe from meta-xilinx-standalone-sdt: |
| 157 | SDT_URI - URI for the system device tree artifacts (usually a tarball) | ||
| 158 | SDT_URI[sha256sum] - sha256sum of the SDT artifacts file | ||
| 159 | SDT_URI[S] - the 'S' (source) directory where the artifacts are extracted | ||
| 158 | 160 | ||
| 159 | fs-boot recipe from meta-xilinx-tools: | 161 | fs-boot recipe from meta-xilinx-tools: |
| 160 | YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot - YAML based uart stdin configuration for | 162 | YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot - YAML based uart stdin configuration for |
| @@ -208,15 +210,3 @@ HAS_PLATFORM_INIT - List of defconfig files available for u-boot only for SPL bo | |||
| 208 | u-boot-xlnx-scr recipe from meta-xilinx-core: | 210 | u-boot-xlnx-scr recipe from meta-xilinx-core: |
| 209 | DDR_BASEADDR - Base address for DDR used for loading the images from u-boot env. | 211 | DDR_BASEADDR - Base address for DDR used for loading the images from u-boot env. |
| 210 | SKIP_APPEND_BASEADDR - Skip appending ${DDR_BASEADDR} for image offsets. | 212 | SKIP_APPEND_BASEADDR - Skip appending ${DDR_BASEADDR} for image offsets. |
| 211 | |||
| 212 | Varibable set after required inclusion file: | ||
| 213 | Varibables that does not intend to change must be set before required inclusion | ||
| 214 | file. | ||
| 215 | |||
| 216 | external-hdf recipe from meta-xilinx-tools: | ||
| 217 | HDF_MACHINE - Used by the recipe to find the correct XSA | ||
| 218 | HDF_EXT - only xsa is supported, legacy variable | ||
| 219 | HDF_BASE - protocol if not using the default external-hdf repository | ||
| 220 | HDF_PATH - path to the repository or XSA file | ||
| 221 | |||
| 222 | ...and more... | ||
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 9284aa1f..cf890a51 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | # HDF_MACHINE should be set _AFTER_ this has been loaded | ||
| 2 | HDF_MACHINE_PRIOR := "${HDF_MACHINE}" | ||
| 3 | INHERIT += "xilinx-vars" | 1 | INHERIT += "xilinx-vars" |
| 4 | INHERIT += "xilinx-deprecated" | 2 | INHERIT += "xilinx-deprecated" |
| 5 | 3 | ||
| @@ -14,7 +12,7 @@ IMAGE_FSTYPES ?= "tar.gz cpio cpio.gz cpio.gz.u-boot" | |||
| 14 | PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx" | 12 | PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx" |
| 15 | 13 | ||
| 16 | # Device tree Configuration | 14 | # Device tree Configuration |
| 17 | PREFERRED_PROVIDER_virtual/dtb ??= "device-tree" | 15 | PREFERRED_PROVIDER_virtual/dtb ??= "${@'device-tree' if d.getVar('XILINX_WITH_ESW') else ''}" |
| 18 | 16 | ||
| 19 | # U-Boot Configuration | 17 | # U-Boot Configuration |
| 20 | PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx" | 18 | PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx" |
| @@ -82,6 +80,17 @@ IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}" | |||
| 82 | def get_default_image_boot_files(d): | 80 | def get_default_image_boot_files(d): |
| 83 | files = [] | 81 | files = [] |
| 84 | 82 | ||
| 83 | esw_type = d.getVar('XILINX_WITH_ESW') or '' | ||
| 84 | if esw_type: | ||
| 85 | if 'zynq' in d.getVar('OVERRIDES').split(':'): | ||
| 86 | files.append('boot.bin') | ||
| 87 | if 'zynqmp' in d.getVar('OVERRIDES').split(':'): | ||
| 88 | files.append('boot.bin') | ||
| 89 | if 'versal' in d.getVar('OVERRIDES').split(':'): | ||
| 90 | files.append('boot.bin') | ||
| 91 | if 'versal-net' in d.getVar('OVERRIDES').split(':'): | ||
| 92 | files.append('boot.bin') | ||
| 93 | |||
| 85 | # kernel images | 94 | # kernel images |
| 86 | kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split()) | 95 | kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split()) |
| 87 | kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split()) | 96 | kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split()) |
| @@ -95,6 +104,7 @@ def get_default_image_boot_files(d): | |||
| 95 | 104 | ||
| 96 | # device trees (device-tree only), these are first as they are likely desired over the kernel ones | 105 | # device trees (device-tree only), these are first as they are likely desired over the kernel ones |
| 97 | if "device-tree" in (d.getVar("PREFERRED_PROVIDER_virtual/dtb") or ""): | 106 | if "device-tree" in (d.getVar("PREFERRED_PROVIDER_virtual/dtb") or ""): |
| 107 | files.append("system.dtb") | ||
| 98 | files.append("devicetree/*.dtb;devicetree/") | 108 | files.append("devicetree/*.dtb;devicetree/") |
| 99 | files.append("devicetree/*.dtbo;devicetree/") | 109 | files.append("devicetree/*.dtbo;devicetree/") |
| 100 | 110 | ||
| @@ -107,6 +117,34 @@ def get_default_image_boot_files(d): | |||
| 107 | 117 | ||
| 108 | return " ".join(files) | 118 | return " ".join(files) |
| 109 | 119 | ||
| 120 | EXTRA_IMAGEDEPENDS += "${@get_default_extra_imagedepends(d)}" | ||
| 121 | |||
| 122 | def get_default_extra_imagedepends(d): | ||
| 123 | depends = [] | ||
| 124 | |||
| 125 | # Add firmware dependencies | ||
| 126 | esw_type = d.getVar('XILINX_WITH_ESW') or '' | ||
| 127 | if esw_type: | ||
| 128 | depends.append('libyaml-native') | ||
| 129 | depends.append('python3-cython-native') | ||
| 130 | depends.append('python3-pyyaml-native') | ||
| 131 | if 'microblaze' in d.getVar('OVERRIDES').split(':'): | ||
| 132 | depends.append('virtual/bitstream') | ||
| 133 | if 'zynq' in d.getVar('OVERRIDES').split(':'): | ||
| 134 | depends.append('virtual/boot-bin') | ||
| 135 | if 'zynqmp' in d.getVar('OVERRIDES').split(':'): | ||
| 136 | depends.append('virtual/boot-bin') | ||
| 137 | if 'versal' in d.getVar('OVERRIDES').split(':'): | ||
| 138 | depends.append('virtual/boot-bin') | ||
| 139 | depends.append('virtual/cdo') | ||
| 140 | if 'versal-net' in d.getVar('OVERRIDES').split(':'): | ||
| 141 | depends.append('virtual/boot-bin') | ||
| 142 | depends.append('virtual/cdo') | ||
| 143 | |||
| 144 | return " ".join(depends) | ||
| 145 | |||
| 146 | |||
| 147 | |||
| 110 | XSERVER_EXT ?= "" | 148 | XSERVER_EXT ?= "" |
| 111 | 149 | ||
| 112 | FPGA_MNGR_RECONFIG_ENABLE ?= "1" | 150 | FPGA_MNGR_RECONFIG_ENABLE ?= "1" |
diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc index c450b542..e75f556b 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc | |||
| @@ -9,7 +9,7 @@ PREFERRED_PROVIDER_nativesdk-qemu = "nativesdk-qemu-xilinx" | |||
| 9 | MACHINEOVERRIDES =. "qemuboot-xilinx:" | 9 | MACHINEOVERRIDES =. "qemuboot-xilinx:" |
| 10 | 10 | ||
| 11 | # depend on qemu-helper-native, which will depend on QEMU | 11 | # depend on qemu-helper-native, which will depend on QEMU |
| 12 | EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot" | 12 | EXTRA_IMAGEDEPENDS += "qemu-devicetrees-native qemu-system-native qemu-helper-native:do_addto_recipe_sysroot" |
| 13 | 13 | ||
| 14 | # Use the xilinx specific version for these users | 14 | # Use the xilinx specific version for these users |
| 15 | IMAGE_CLASSES += "qemuboot-xilinx" | 15 | IMAGE_CLASSES += "qemuboot-xilinx" |
| @@ -21,5 +21,5 @@ IMAGE_CLASSES += "qemuboot-xilinx" | |||
| 21 | # QB_XILINX_SERIAL that will allow us to define serial ports for qemu | 21 | # QB_XILINX_SERIAL that will allow us to define serial ports for qemu |
| 22 | # emulated boards that may not match the standard Linux behavior. | 22 | # emulated boards that may not match the standard Linux behavior. |
| 23 | # | 23 | # |
| 24 | QB_XILINX_SERIAL ?= "" | 24 | QB_XILINX_SERIAL ??= "" |
| 25 | QB_OPT_APPEND += "${QB_XILINX_SERIAL}" | 25 | QB_OPT_APPEND += "${QB_XILINX_SERIAL} -nodefaults" |
diff --git a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc index b3216426..197a998d 100644 --- a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc +++ b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc | |||
| @@ -7,6 +7,7 @@ TUNEFILE[cortexr5hf] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" | |||
| 7 | TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" | 7 | TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" |
| 8 | TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" | 8 | TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" |
| 9 | TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" | 9 | TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" |
| 10 | TUNEFILE[cortexa9] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" | ||
| 10 | TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" | 11 | TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" |
| 11 | TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" | 12 | TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" |
| 12 | TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" | 13 | TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" |
diff --git a/meta-xilinx-core/conf/machine/include/soc-zynq.inc b/meta-xilinx-core/conf/machine/include/soc-zynq.inc index 02220e8a..587a0d5a 100644 --- a/meta-xilinx-core/conf/machine/include/soc-zynq.inc +++ b/meta-xilinx-core/conf/machine/include/soc-zynq.inc | |||
| @@ -9,11 +9,3 @@ KERNEL_IMAGETYPE ?= "uImage" | |||
| 9 | KERNEL_IMAGETYPES += "zImage" | 9 | KERNEL_IMAGETYPES += "zImage" |
| 10 | 10 | ||
| 11 | UBOOT_ELF ?= "u-boot.elf" | 11 | UBOOT_ELF ?= "u-boot.elf" |
| 12 | |||
| 13 | # Default, if multiconfig is off, the fsbl is in the regular deploydir, otherwise | ||
| 14 | # it is located under a multiconfig specific deploydir | ||
| 15 | FSBL_DEPENDS ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', '', 'fsbl-firmware:do_deploy', d)}" | ||
| 16 | FSBL_MCDEPENDS ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', 'mc::fsbl-fw:fsbl-firmware:do_deploy', '', d)}" | ||
| 17 | FSBL_DEPLOY_DIR ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', '${TOPDIR}/tmp-fsbl-fw/deploy/images/${MACHINE}', '${DEPLOY_DIR_IMAGE}', d)}" | ||
| 18 | FSBL_DEPLOY_DIR[vardepsexclude] += "TOPDIR" | ||
| 19 | FSBL_IMAGE_NAME ?= "fsbl-${MACHINE}" | ||
diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index 8fb40070..39059511 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf | |||
| @@ -2,11 +2,6 @@ | |||
| 2 | #@NAME: microblaze-generic | 2 | #@NAME: microblaze-generic |
| 3 | #@DESCRIPTION: Machine configuration for the microblaze-generic devices | 3 | #@DESCRIPTION: Machine configuration for the microblaze-generic devices |
| 4 | 4 | ||
| 5 | # Deprecated board config | ||
| 6 | USE_BOARD = "${@"conf/machine/include/xilinx-board-pre.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" | ||
| 7 | require ${USE_BOARD} | ||
| 8 | unset USE_BOARD | ||
| 9 | |||
| 10 | #### Preamble | 5 | #### Preamble |
| 11 | MACHINEOVERRIDES =. "${@['', 'microblaze-generic:']['microblaze-generic' != '${MACHINE}']}" | 6 | MACHINEOVERRIDES =. "${@['', 'microblaze-generic:']['microblaze-generic' != '${MACHINE}']}" |
| 12 | #### Regular settings follow | 7 | #### Regular settings follow |
| @@ -19,21 +14,6 @@ DEFAULTTUNE ?= "microblaze" | |||
| 19 | # defined before calling the required inclusion file else pre-expansion value | 14 | # defined before calling the required inclusion file else pre-expansion value |
| 20 | # defined in local.conf without machine override will not be reflected. | 15 | # defined in local.conf without machine override will not be reflected. |
| 21 | 16 | ||
| 22 | # Yocto Microblaze device-tree variables | ||
| 23 | YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0" | ||
| 24 | YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0" | ||
| 25 | DT_PADDING_SIZE:pn-device-tree ?= "0x1000" | ||
| 26 | DTC_FLAGS:pn-device-tree ?= "" | ||
| 27 | XSCTH_PROC:pn-device-tree ?= "microblaze_0" | ||
| 28 | YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}" | ||
| 29 | |||
| 30 | # Yocto Microblaze FS-Boot variables | ||
| 31 | YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0" | ||
| 32 | YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0" | ||
| 33 | YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0" | ||
| 34 | YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0" | ||
| 35 | XSCTH_PROC:pn-fs-boot ?= "microblaze_0" | ||
| 36 | |||
| 37 | # Yocto Microblaze u-boot-xlnx variables | 17 | # Yocto Microblaze u-boot-xlnx variables |
| 38 | UBOOT_MACHINE ?= "microblaze-generic_defconfig" | 18 | UBOOT_MACHINE ?= "microblaze-generic_defconfig" |
| 39 | UBOOT_INITIAL_ENV = "" | 19 | UBOOT_INITIAL_ENV = "" |
| @@ -46,7 +26,6 @@ KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" | |||
| 46 | 26 | ||
| 47 | # Microblaze Serial Console settings | 27 | # Microblaze Serial Console settings |
| 48 | SERIAL_CONSOLES ?= "115200;ttyUL0" | 28 | SERIAL_CONSOLES ?= "115200;ttyUL0" |
| 49 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
| 50 | 29 | ||
| 51 | require conf/machine/include/soc-tune-include.inc | 30 | require conf/machine/include/soc-tune-include.inc |
| 52 | require conf/machine/include/machine-xilinx-default.inc | 31 | require conf/machine/include/machine-xilinx-default.inc |
| @@ -60,27 +39,12 @@ MB_MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('TUNE_PKGARCH') + '-ge | |||
| 60 | 39 | ||
| 61 | MACHINE_ARCH = "${@['${MB_MACHINE_ARCH}', '${DEF_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" | 40 | MACHINE_ARCH = "${@['${MB_MACHINE_ARCH}', '${DEF_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" |
| 62 | 41 | ||
| 63 | # microblaze-generic.conf uses kcu105-microblazeel xsa as reference input. | ||
| 64 | # User can override with custom xsa using HDF_BASE and HDF_PATH variables from | ||
| 65 | # local.conf. | ||
| 66 | HDF_MACHINE = "kcu105-microblazeel" | ||
| 67 | |||
| 68 | MACHINE_FEATURES = "" | 42 | MACHINE_FEATURES = "" |
| 69 | 43 | ||
| 70 | KERNEL_IMAGETYPE ?= "linux.bin.ub" | 44 | KERNEL_IMAGETYPE ?= "linux.bin.ub" |
| 71 | KERNEL_IMAGETYPES = "" | 45 | KERNEL_IMAGETYPES = "" |
| 72 | 46 | ||
| 73 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" | ||
| 74 | |||
| 75 | IMAGE_BOOT_FILES += " \ | ||
| 76 | ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ | ||
| 77 | " | ||
| 78 | |||
| 79 | EXTRA_IMAGEDEPENDS += " \ | 47 | EXTRA_IMAGEDEPENDS += " \ |
| 80 | libyaml-native \ | ||
| 81 | python3-cython-native \ | ||
| 82 | python3-pyyaml-native \ | ||
| 83 | virtual/bitstream \ | ||
| 84 | virtual/bootloader \ | 48 | virtual/bootloader \ |
| 85 | virtual/elfrealloc \ | 49 | virtual/elfrealloc \ |
| 86 | u-boot-xlnx-scr \ | 50 | u-boot-xlnx-scr \ |
| @@ -89,9 +53,9 @@ EXTRA_IMAGEDEPENDS += " \ | |||
| 89 | IMAGE_FSTYPES += "cpio.gz" | 53 | IMAGE_FSTYPES += "cpio.gz" |
| 90 | 54 | ||
| 91 | # Microblaze QEMU Configurations | 55 | # Microblaze QEMU Configurations |
| 92 | QB_MEM = "-m 2G" | 56 | QB_MEM ?= "-m 2G" |
| 93 | QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" | 57 | QB_KERNEL_CMDLINE_APPEND ?= "console=ttyUL0,115200 root=/dev/ram0 rw" |
| 94 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" | 58 | QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@" |
| 95 | 59 | ||
| 96 | # This will work with the default runqemu, as the first serial port is the | 60 | # This will work with the default runqemu, as the first serial port is the |
| 97 | # correct console | 61 | # correct console |
| @@ -99,13 +63,8 @@ QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" | |||
| 99 | # One total serial port defined in this model (according to the generated dts) | 63 | # One total serial port defined in this model (according to the generated dts) |
| 100 | # | 64 | # |
| 101 | # hw serial0 axi_uartlite_0 (40600000) - linux serial0 (ttyUL0) | 65 | # hw serial0 axi_uartlite_0 (40600000) - linux serial0 (ttyUL0) |
| 102 | QB_XILINX_SERIAL = "" | 66 | QB_XILINX_SERIAL ?= "" |
| 103 | 67 | ||
| 104 | #### No additional settings should be after the Postamble | 68 | #### No additional settings should be after the Postamble |
| 105 | #### Postamble | 69 | #### Postamble |
| 106 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" | 70 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" |
| 107 | |||
| 108 | # Deprecated board config | ||
| 109 | USE_BOARD = "${@"conf/machine/include/xilinx-board-post.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" | ||
| 110 | require ${USE_BOARD} | ||
| 111 | unset USE_BOARD | ||
diff --git a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf index 2b4f94d2..0d7f3223 100644 --- a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf | |||
| @@ -8,9 +8,9 @@ MACHINE_FEATURES += "aie vdu" | |||
| 8 | 8 | ||
| 9 | # VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to | 9 | # VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to |
| 10 | # 8G, Hence we need set 12G in QB_MEM. | 10 | # 8G, Hence we need set 12G in QB_MEM. |
| 11 | QB_MEM = "-m 12G" | 11 | QB_MEM ?= "-m 12G" |
| 12 | 12 | ||
| 13 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb" | 13 | QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb" |
| 14 | 14 | ||
| 15 | #### No additional settings should be after the Postamble | 15 | #### No additional settings should be after the Postamble |
| 16 | #### Postamble | 16 | #### Postamble |
diff --git a/meta-xilinx-core/conf/machine/versal-common.conf b/meta-xilinx-core/conf/machine/versal-common.conf new file mode 100644 index 00000000..bc530d63 --- /dev/null +++ b/meta-xilinx-core/conf/machine/versal-common.conf | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #@TYPE: Machine | ||
| 2 | #@NAME: versal-common | ||
| 3 | #@DESCRIPTION: Machine configuration for a common Versal filesystem devices | ||
| 4 | |||
| 5 | #### Preamble | ||
| 6 | MACHINEOVERRIDES =. "${@['', 'versal-common:']['versal-common' != '${MACHINE}']}" | ||
| 7 | #### Regular settings follow | ||
| 8 | |||
| 9 | DEFAULTTUNE = "cortexa72" | ||
| 10 | |||
| 11 | require conf/machine/versal-generic.conf | ||
| 12 | |||
| 13 | MACHINE_FEATURES += "aie vdu" | ||
| 14 | |||
| 15 | #### No additional settings should be after the Postamble | ||
| 16 | #### Postamble | ||
| 17 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_common']['versal-common' != "${MACHINE}"]}" | ||
diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index aea77598..9aa47892 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf | |||
| @@ -10,12 +10,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-generic:']['versal-generic' != '${MACHINE}' | |||
| 10 | # defined before calling the required inclusion file else pre-expansion value | 10 | # defined before calling the required inclusion file else pre-expansion value |
| 11 | # defined in local.conf without machine override will not be reflected. | 11 | # defined in local.conf without machine override will not be reflected. |
| 12 | 12 | ||
| 13 | # Yocto Versal device-tree variables | ||
| 14 | YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0" | ||
| 15 | DT_PADDING_SIZE:pn-device-tree ?= "0x1000" | ||
| 16 | DTC_FLAGS:pn-device-tree = "-@" | ||
| 17 | YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vck190-reva-x-ebm-01-reva}" | ||
| 18 | |||
| 19 | # Yocto Versal u-boot-xlnx variables | 13 | # Yocto Versal u-boot-xlnx variables |
| 20 | UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" | 14 | UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" |
| 21 | BOOTMODE ?= "generic.root" | 15 | BOOTMODE ?= "generic.root" |
| @@ -23,64 +17,44 @@ BOOTMODE ?= "generic.root" | |||
| 23 | # Yocto Versal arm-trusted-firmware(TF-A) variables | 17 | # Yocto Versal arm-trusted-firmware(TF-A) variables |
| 24 | TFA_BL33_LOAD ?= "0x8000000" | 18 | TFA_BL33_LOAD ?= "0x8000000" |
| 25 | 19 | ||
| 26 | # Yocto Versal PLM variables | ||
| 27 | YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0" | ||
| 28 | YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0" | ||
| 29 | |||
| 30 | # Yocto Versal KERNEL Variables | 20 | # Yocto Versal KERNEL Variables |
| 31 | UBOOT_ENTRYPOINT ?= "0x200000" | 21 | UBOOT_ENTRYPOINT ?= "0x200000" |
| 32 | UBOOT_LOADADDRESS ?= "0x200000" | 22 | UBOOT_LOADADDRESS ?= "0x200000" |
| 33 | 23 | ||
| 34 | # Versal Serial Console | 24 | # Versal Serial Console |
| 35 | SERIAL_CONSOLES ?= "115200;ttyAMA0" | 25 | SERIAL_CONSOLES ?= "115200;ttyAMA0" |
| 36 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
| 37 | 26 | ||
| 38 | require conf/machine/include/soc-versal.inc | 27 | require conf/machine/include/soc-versal.inc |
| 39 | require conf/machine/include/machine-xilinx-default.inc | 28 | require conf/machine/include/machine-xilinx-default.inc |
| 40 | require conf/machine/include/machine-xilinx-qemu.inc | 29 | require conf/machine/include/machine-xilinx-qemu.inc |
| 41 | 30 | ||
| 42 | # versal-generic.conf uses vck190-versal xsa as reference input. | ||
| 43 | # User can override with custom xsa using HDF_BASE and HDF_PATH variables from | ||
| 44 | # local.conf. | ||
| 45 | HDF_MACHINE = "vck190-versal" | ||
| 46 | |||
| 47 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" | 31 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" |
| 48 | 32 | ||
| 49 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" | ||
| 50 | |||
| 51 | # Default SD image build onfiguration, use qemu-sd to pad | 33 | # Default SD image build onfiguration, use qemu-sd to pad |
| 52 | IMAGE_CLASSES += "image-types-xilinx-qemu" | 34 | IMAGE_CLASSES += "image-types-xilinx-qemu" |
| 53 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies | 35 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies |
| 54 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" | 36 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" |
| 55 | 37 | ||
| 56 | EXTRA_IMAGEDEPENDS += " \ | 38 | EXTRA_IMAGEDEPENDS += " \ |
| 57 | libyaml-native \ | ||
| 58 | python3-cython-native \ | ||
| 59 | python3-pyyaml-native \ | ||
| 60 | virtual/boot-bin \ | ||
| 61 | u-boot-xlnx-scr \ | 39 | u-boot-xlnx-scr \ |
| 62 | qemu-devicetrees:do_deploy \ | ||
| 63 | virtual/cdo:do_deploy \ | ||
| 64 | " | 40 | " |
| 65 | 41 | ||
| 66 | IMAGE_BOOT_FILES += " \ | 42 | IMAGE_BOOT_FILES += " \ |
| 67 | boot.bin \ | ||
| 68 | ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ | ||
| 69 | Image \ | 43 | Image \ |
| 70 | boot.scr \ | 44 | boot.scr \ |
| 71 | " | 45 | " |
| 72 | 46 | ||
| 73 | # Versal QEMU Configurations | 47 | # Versal QEMU Configurations |
| 74 | # This machine has a QEMU model, runqemu setup: | 48 | # This machine has a QEMU model, runqemu setup: |
| 75 | QB_MEM = "-m 8G" | 49 | QB_MEM ?= "-m 8G" |
| 76 | QB_DEFAULT_KERNEL = "none" | 50 | QB_DEFAULT_KERNEL ?= "none" |
| 77 | # Iteration appears to be eth0 then eth1 | 51 | # Iteration appears to be eth0 then eth1 |
| 78 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic" | 52 | QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@ -net nic" |
| 79 | QB_KERNEL_CMDLINE_APPEND ?= "" | 53 | QB_KERNEL_CMDLINE_APPEND ?= "" |
| 80 | 54 | ||
| 81 | QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" | 55 | QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" |
| 82 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" | 56 | QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" |
| 83 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" | 57 | QEMU_HW_DTB_PMC ?= "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" |
| 84 | 58 | ||
| 85 | # Four total serial ports defined in this model (according to the dts) | 59 | # Four total serial ports defined in this model (according to the dts) |
| 86 | # | 60 | # |
| @@ -89,7 +63,7 @@ QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" | |||
| 89 | # hw serial2 pl011 (ff000000) - linux serial0 (ttyAMA0) | 63 | # hw serial2 pl011 (ff000000) - linux serial0 (ttyAMA0) |
| 90 | # hw serial3 pl011 (ff010000) - linux serial1 (ttyAMA1) (disabled) | 64 | # hw serial3 pl011 (ff010000) - linux serial1 (ttyAMA1) (disabled) |
| 91 | # ? dcc ? - linux serial2 (????) | 65 | # ? dcc ? - linux serial2 (????) |
| 92 | QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" | 66 | QB_XILINX_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null" |
| 93 | 67 | ||
| 94 | QB_OSPI_FILE ??= "" | 68 | QB_OSPI_FILE ??= "" |
| 95 | 69 | ||
| @@ -115,7 +89,7 @@ QB_FW_FILES = " \ | |||
| 115 | -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ | 89 | -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ |
| 116 | -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ | 90 | -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ |
| 117 | " | 91 | " |
| 118 | QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" | 92 | QB_PLM_OPT += "${@d.getVar('QB_FW_FILES') if d.getVar('QB_OSPI_FILE') == '' else ''}" |
| 119 | 93 | ||
| 120 | QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" | 94 | QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" |
| 121 | 95 | ||
diff --git a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf index 9fef78f3..805df7fc 100644 --- a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf | |||
| @@ -6,9 +6,9 @@ require conf/machine/versal-generic.conf | |||
| 6 | 6 | ||
| 7 | # VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G, | 7 | # VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G, |
| 8 | # Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM | 8 | # Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM |
| 9 | QB_MEM = "-m 32G" | 9 | QB_MEM ?= "-m 32G" |
| 10 | 10 | ||
| 11 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vhk158.dtb" | 11 | QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-ps-vhk158.dtb" |
| 12 | 12 | ||
| 13 | #### No additional settings should be after the Postamble | 13 | #### No additional settings should be after the Postamble |
| 14 | #### Postamble | 14 | #### Postamble |
diff --git a/meta-xilinx-core/conf/machine/versal-net-common.conf b/meta-xilinx-core/conf/machine/versal-net-common.conf new file mode 100644 index 00000000..efde0bbb --- /dev/null +++ b/meta-xilinx-core/conf/machine/versal-net-common.conf | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #@TYPE: Machine | ||
| 2 | #@NAME: versal-net-common | ||
| 3 | #@DESCRIPTION: Machine configuration for a common versal-net filesystem devices | ||
| 4 | |||
| 5 | #### Preamble | ||
| 6 | MACHINEOVERRIDES =. "${@['', 'versal-net-common:']['versal-net-common' != '${MACHINE}']}" | ||
| 7 | #### Regular settings follow | ||
| 8 | |||
| 9 | DEFAULTTUNE = "cortexa78" | ||
| 10 | |||
| 11 | require conf/machine/versal-net-generic.conf | ||
| 12 | |||
| 13 | #### No additional settings should be after the Postamble | ||
| 14 | #### Postamble | ||
| 15 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_common']['versal-net-common' != "${MACHINE}"]}" | ||
diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf index 4895c5d0..b26fb5e1 100644 --- a/meta-xilinx-core/conf/machine/versal-net-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf | |||
| @@ -10,12 +10,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-net-generic:']['versal-net-generic' != '${M | |||
| 10 | # defined before calling the required inclusion file else pre-expansion value | 10 | # defined before calling the required inclusion file else pre-expansion value |
| 11 | # defined in local.conf without machine override will not be reflected. | 11 | # defined in local.conf without machine override will not be reflected. |
| 12 | 12 | ||
| 13 | # Yocto Versal device-tree variables | ||
| 14 | YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" | ||
| 15 | DT_PADDING_SIZE:pn-device-tree ?= "0x1000" | ||
| 16 | DTC_FLAGS:pn-device-tree = "-@" | ||
| 17 | YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}" | ||
| 18 | |||
| 19 | # Yocto Versal u-boot-xlnx variables | 13 | # Yocto Versal u-boot-xlnx variables |
| 20 | UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" | 14 | UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" |
| 21 | BOOTMODE ?= "generic.root" | 15 | BOOTMODE ?= "generic.root" |
| @@ -23,64 +17,44 @@ BOOTMODE ?= "generic.root" | |||
| 23 | # Yocto Versal arm-trusted-firmware(TF-A) variables | 17 | # Yocto Versal arm-trusted-firmware(TF-A) variables |
| 24 | TFA_BL33_LOAD ?= "0x8000000" | 18 | TFA_BL33_LOAD ?= "0x8000000" |
| 25 | 19 | ||
| 26 | # Yocto Versal PLM variables | ||
| 27 | YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" | ||
| 28 | YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" | ||
| 29 | |||
| 30 | # Yocto Versal KERNEL Variables | 20 | # Yocto Versal KERNEL Variables |
| 31 | UBOOT_ENTRYPOINT ?= "0x200000" | 21 | UBOOT_ENTRYPOINT ?= "0x200000" |
| 32 | UBOOT_LOADADDRESS ?= "0x200000" | 22 | UBOOT_LOADADDRESS ?= "0x200000" |
| 33 | 23 | ||
| 34 | # Versal Serial Console | 24 | # Versal Serial Console |
| 35 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" | 25 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" |
| 36 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
| 37 | 26 | ||
| 38 | require conf/machine/include/soc-versal-net.inc | 27 | require conf/machine/include/soc-versal-net.inc |
| 39 | require conf/machine/include/machine-xilinx-default.inc | 28 | require conf/machine/include/machine-xilinx-default.inc |
| 40 | require conf/machine/include/machine-xilinx-qemu.inc | 29 | require conf/machine/include/machine-xilinx-qemu.inc |
| 41 | 30 | ||
| 42 | # versal-net-generic.conf uses a qemu only xsa as reference input. | ||
| 43 | # User can override with custom xsa using HDF_BASE and HDF_PATH variables from | ||
| 44 | # local.conf. | ||
| 45 | HDF_MACHINE = "versal-net-generic" | ||
| 46 | |||
| 47 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" | 31 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" |
| 48 | 32 | ||
| 49 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" | ||
| 50 | |||
| 51 | # Default SD image build onfiguration, use qemu-sd to pad | 33 | # Default SD image build onfiguration, use qemu-sd to pad |
| 52 | IMAGE_CLASSES += "image-types-xilinx-qemu" | 34 | IMAGE_CLASSES += "image-types-xilinx-qemu" |
| 53 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies | 35 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies |
| 54 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" | 36 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" |
| 55 | 37 | ||
| 56 | EXTRA_IMAGEDEPENDS += " \ | 38 | EXTRA_IMAGEDEPENDS += " \ |
| 57 | libyaml-native \ | ||
| 58 | python3-cython-native \ | ||
| 59 | python3-pyyaml-native \ | ||
| 60 | virtual/boot-bin \ | ||
| 61 | u-boot-xlnx-scr \ | 39 | u-boot-xlnx-scr \ |
| 62 | qemu-devicetrees:do_deploy \ | ||
| 63 | virtual/cdo:do_deploy \ | ||
| 64 | " | 40 | " |
| 65 | 41 | ||
| 66 | IMAGE_BOOT_FILES += " \ | 42 | IMAGE_BOOT_FILES += " \ |
| 67 | boot.bin \ | ||
| 68 | ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ | ||
| 69 | Image \ | 43 | Image \ |
| 70 | boot.scr \ | 44 | boot.scr \ |
| 71 | " | 45 | " |
| 72 | 46 | ||
| 73 | # Versal QEMU Configurations | 47 | # Versal QEMU Configurations |
| 74 | # This machine has a QEMU model, runqemu setup: | 48 | # This machine has a QEMU model, runqemu setup: |
| 75 | QB_MEM = "-m 8G" | 49 | QB_MEM ?= "-m 8G" |
| 76 | QB_DEFAULT_KERNEL = "none" | 50 | QB_DEFAULT_KERNEL ?= "none" |
| 77 | # Iteration appears to be eth0 then eth1 | 51 | # Iteration appears to be eth0 then eth1 |
| 78 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic" | 52 | QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@ -net nic" |
| 79 | QB_KERNEL_CMDLINE_APPEND ?= "" | 53 | QB_KERNEL_CMDLINE_APPEND ?= "" |
| 80 | 54 | ||
| 81 | QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" | 55 | QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" |
| 82 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" | 56 | QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" |
| 83 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" | 57 | QEMU_HW_DTB_PMC ?= "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" |
| 84 | 58 | ||
| 85 | # Four total serial ports defined in this model (according to the dts) | 59 | # Four total serial ports defined in this model (according to the dts) |
| 86 | # | 60 | # |
| @@ -88,7 +62,7 @@ QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" | |||
| 88 | # hw serial1 xps-uartlite (0xf0310000) - | 62 | # hw serial1 xps-uartlite (0xf0310000) - |
| 89 | # hw serial2 pl011 (0xf1920000) - linux serial0 (ttyAMA0) | 63 | # hw serial2 pl011 (0xf1920000) - linux serial0 (ttyAMA0) |
| 90 | # hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) | 64 | # hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) |
| 91 | QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" | 65 | QB_XILINX_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null" |
| 92 | 66 | ||
| 93 | QB_OSPI_FILE ??= "" | 67 | QB_OSPI_FILE ??= "" |
| 94 | 68 | ||
| @@ -110,11 +84,11 @@ QB_PLM_OPT = " \ | |||
| 110 | " | 84 | " |
| 111 | 85 | ||
| 112 | QB_FW_FILES = " \ | 86 | QB_FW_FILES = " \ |
| 113 | -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ | 87 | -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw=on \ |
| 114 | -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ | 88 | -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw=on \ |
| 115 | -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ | 89 | -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ |
| 116 | " | 90 | " |
| 117 | QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" | 91 | QB_PLM_OPT += "${@d.getVar('QB_FW_FILES') if d.getVar('QB_OSPI_FILE') == '' else ''}" |
| 118 | 92 | ||
| 119 | QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" | 93 | QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" |
| 120 | 94 | ||
diff --git a/meta-xilinx-core/conf/machine/zynq-common.conf b/meta-xilinx-core/conf/machine/zynq-common.conf new file mode 100644 index 00000000..f54b6e5b --- /dev/null +++ b/meta-xilinx-core/conf/machine/zynq-common.conf | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #@TYPE: Machine | ||
| 2 | #@NAME: zynq-common | ||
| 3 | #@DESCRIPTION: Machine configuration for a common Zynq7 filesystem devices | ||
| 4 | |||
| 5 | #### Preamble | ||
| 6 | MACHINEOVERRIDES =. "${@['', 'zynq-common:']['zynq-common' != '${MACHINE}']}" | ||
| 7 | #### Regular settings follow | ||
| 8 | |||
| 9 | DEFAULTTUNE = "cortexa9thf-neon" | ||
| 10 | |||
| 11 | require conf/machine/zynq-generic.conf | ||
| 12 | |||
| 13 | #### No additional settings should be after the Postamble | ||
| 14 | #### Postamble | ||
| 15 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynq_common']['zynq-common' != "${MACHINE}"]}" | ||
diff --git a/meta-xilinx-core/conf/machine/zynq-generic.conf b/meta-xilinx-core/conf/machine/zynq-generic.conf index 27b10833..8442e4e3 100644 --- a/meta-xilinx-core/conf/machine/zynq-generic.conf +++ b/meta-xilinx-core/conf/machine/zynq-generic.conf | |||
| @@ -10,21 +10,10 @@ MACHINEOVERRIDES =. "${@['', 'zynq-generic:']['zynq-generic' != '${MACHINE}']}" | |||
| 10 | # defined before calling the required inclusion file else pre-expansion value | 10 | # defined before calling the required inclusion file else pre-expansion value |
| 11 | # defined in local.conf without machine override will not be reflected. | 11 | # defined in local.conf without machine override will not be reflected. |
| 12 | 12 | ||
| 13 | # Yocto Zynq-7000 device-tree variables | ||
| 14 | YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "ps7_uart_1" | ||
| 15 | YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PS7_DDR_0" | ||
| 16 | DT_PADDING_SIZE:pn-device-tree ?= "0x1000" | ||
| 17 | DTC_FLAGS:pn-device-tree = "-@" | ||
| 18 | YAML_DT_BOARD_FLAGS ?= "{BOARD zc702}" | ||
| 19 | |||
| 20 | # Yocto Zynq-7000 u-boot-xlnx variables | 13 | # Yocto Zynq-7000 u-boot-xlnx variables |
| 21 | UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" | 14 | UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" |
| 22 | BOOTMODE ?= "generic.root" | 15 | BOOTMODE ?= "generic.root" |
| 23 | 16 | ||
| 24 | # Yocto Zynq-7000 FSBL variables | ||
| 25 | YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "ps7_uart_1" | ||
| 26 | YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "ps7_uart_1" | ||
| 27 | |||
| 28 | # Yocto KERNEL Variables | 17 | # Yocto KERNEL Variables |
| 29 | UBOOT_ENTRYPOINT ?= "0x200000" | 18 | UBOOT_ENTRYPOINT ?= "0x200000" |
| 30 | UBOOT_LOADADDRESS ?= "0x200000" | 19 | UBOOT_LOADADDRESS ?= "0x200000" |
| @@ -32,31 +21,18 @@ KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" | |||
| 32 | 21 | ||
| 33 | # Zynq-7000 Serial Console settings | 22 | # Zynq-7000 Serial Console settings |
| 34 | SERIAL_CONSOLES ?= "115200;ttyPS0" | 23 | SERIAL_CONSOLES ?= "115200;ttyPS0" |
| 35 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
| 36 | 24 | ||
| 37 | require conf/machine/include/soc-zynq.inc | 25 | require conf/machine/include/soc-zynq.inc |
| 38 | require conf/machine/include/machine-xilinx-default.inc | 26 | require conf/machine/include/machine-xilinx-default.inc |
| 39 | require conf/machine/include/machine-xilinx-qemu.inc | 27 | require conf/machine/include/machine-xilinx-qemu.inc |
| 40 | 28 | ||
| 41 | # zynq-generic.conf uses zc702-zynq7 xsa as reference input. | ||
| 42 | # User can override with custom xsa using HDF_BASE and HDF_PATH variables from | ||
| 43 | # local.conf. | ||
| 44 | HDF_MACHINE = "zc702-zynq7" | ||
| 45 | |||
| 46 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget" | 29 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget" |
| 47 | 30 | ||
| 48 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" | ||
| 49 | |||
| 50 | EXTRA_IMAGEDEPENDS += " \ | 31 | EXTRA_IMAGEDEPENDS += " \ |
| 51 | libyaml-native \ | ||
| 52 | python3-cython-native \ | ||
| 53 | python3-pyyaml-native \ | ||
| 54 | u-boot-xlnx-scr \ | 32 | u-boot-xlnx-scr \ |
| 55 | " | 33 | " |
| 56 | 34 | ||
| 57 | IMAGE_BOOT_FILES += " \ | 35 | IMAGE_BOOT_FILES += " \ |
| 58 | boot.bin \ | ||
| 59 | ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ | ||
| 60 | boot.scr \ | 36 | boot.scr \ |
| 61 | uImage \ | 37 | uImage \ |
| 62 | " | 38 | " |
| @@ -67,10 +43,10 @@ IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' | |||
| 67 | 43 | ||
| 68 | # Zynq-7000 QEMU Configurations | 44 | # Zynq-7000 QEMU Configurations |
| 69 | # This machine has a QEMU model, runqemu setup: | 45 | # This machine has a QEMU model, runqemu setup: |
| 70 | QB_MEM = "-m 1024" | 46 | QB_MEM ?= "-m 1024" |
| 71 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" | 47 | QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@" |
| 72 | 48 | ||
| 73 | QB_KERNEL_ROOT = "/dev/mmcblk0p2" | 49 | QB_KERNEL_ROOT ?= "/dev/mmcblk0p2" |
| 74 | 50 | ||
| 75 | # Side effect of not-enabled serial port is we have to lock | 51 | # Side effect of not-enabled serial port is we have to lock |
| 76 | # the second (console) to mon:stdio. | 52 | # the second (console) to mon:stdio. |
| @@ -79,7 +55,7 @@ QB_KERNEL_ROOT = "/dev/mmcblk0p2" | |||
| 79 | # | 55 | # |
| 80 | # hw uart0 xuartps (e0000000) - | 56 | # hw uart0 xuartps (e0000000) - |
| 81 | # hw uart1 xuartps (e0001000) - linux serial0 (ttyPS0) | 57 | # hw uart1 xuartps (e0001000) - linux serial0 (ttyPS0) |
| 82 | QB_XILINX_SERIAL = "-serial null -serial mon:stdio" | 58 | QB_XILINX_SERIAL ?= "-serial null -serial mon:stdio" |
| 83 | 59 | ||
| 84 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) | 60 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) |
| 85 | QB_OPT_APPEND += " \ | 61 | QB_OPT_APPEND += " \ |
diff --git a/meta-xilinx-core/conf/machine/zynqmp-common.conf b/meta-xilinx-core/conf/machine/zynqmp-common.conf new file mode 100644 index 00000000..e2e112f9 --- /dev/null +++ b/meta-xilinx-core/conf/machine/zynqmp-common.conf | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #@TYPE: Machine | ||
| 2 | #@NAME: zynqmp-common | ||
| 3 | #@DESCRIPTION: Machine configuration for a common ZynqMP (MPSOC) filesystem devices w/o mali400 | ||
| 4 | |||
| 5 | #### Preamble | ||
| 6 | MACHINEOVERRIDES =. "${@['', 'zynqmp-common:']['zynqmp-common' != '${MACHINE}']}" | ||
| 7 | #### Regular settings follow | ||
| 8 | |||
| 9 | DEFAULTTUNE = "cortexa53" | ||
| 10 | |||
| 11 | require conf/machine/zynqmp-generic.conf | ||
| 12 | |||
| 13 | MACHINE_FEATURES += "vcu rfsoc" | ||
| 14 | |||
| 15 | #### No additional settings should be after the Postamble | ||
| 16 | #### Postamble | ||
| 17 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_common']['zynqmp-common' != "${MACHINE}"]}" | ||
diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index c69fcd1d..15a48102 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf | |||
| @@ -10,13 +10,6 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-generic:']['zynqmp-generic' != '${MACHINE}' | |||
| 10 | # defined before calling the required inclusion file else pre-expansion value | 10 | # defined before calling the required inclusion file else pre-expansion value |
| 11 | # defined in local.conf without machine override will not be reflected. | 11 | # defined in local.conf without machine override will not be reflected. |
| 12 | 12 | ||
| 13 | # Yocto device-tree variables | ||
| 14 | YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0" | ||
| 15 | YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" | ||
| 16 | DT_PADDING_SIZE:pn-device-tree ?= "0x1000" | ||
| 17 | DTC_FLAGS:pn-device-tree = "-@" | ||
| 18 | YAML_DT_BOARD_FLAGS ?= "{BOARD zcu102-rev1.0}" | ||
| 19 | |||
| 20 | # Yocto ZynqMP u-boot-xlnx variables | 13 | # Yocto ZynqMP u-boot-xlnx variables |
| 21 | UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig" | 14 | UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig" |
| 22 | BOOTMODE ?= "generic.root" | 15 | BOOTMODE ?= "generic.root" |
| @@ -30,31 +23,17 @@ SPL_BINARY ?= "" | |||
| 30 | # Yocto ZynqMP arm-trusted-firmware(TF-A) variables | 23 | # Yocto ZynqMP arm-trusted-firmware(TF-A) variables |
| 31 | TFA_BL33_LOAD ?= "0x8000000" | 24 | TFA_BL33_LOAD ?= "0x8000000" |
| 32 | 25 | ||
| 33 | # Yocto ZynqMP PMUFW variables | ||
| 34 | YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0" | ||
| 35 | YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0" | ||
| 36 | |||
| 37 | # Yocto ZynqMP FSBL variables | ||
| 38 | YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0" | ||
| 39 | YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0" | ||
| 40 | |||
| 41 | # Yocto ZynqMP KERNEL Variables | 26 | # Yocto ZynqMP KERNEL Variables |
| 42 | UBOOT_ENTRYPOINT ?= "0x200000" | 27 | UBOOT_ENTRYPOINT ?= "0x200000" |
| 43 | UBOOT_LOADADDRESS ?= "0x200000" | 28 | UBOOT_LOADADDRESS ?= "0x200000" |
| 44 | 29 | ||
| 45 | # ZynqMP Serial Console | 30 | # ZynqMP Serial Console |
| 46 | SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1" | 31 | SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1" |
| 47 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
| 48 | 32 | ||
| 49 | require conf/machine/include/soc-zynqmp.inc | 33 | require conf/machine/include/soc-zynqmp.inc |
| 50 | require conf/machine/include/machine-xilinx-default.inc | 34 | require conf/machine/include/machine-xilinx-default.inc |
| 51 | require conf/machine/include/machine-xilinx-qemu.inc | 35 | require conf/machine/include/machine-xilinx-qemu.inc |
| 52 | 36 | ||
| 53 | # zynqmp-generic.conf uses zcu102-zynqmp xsa as reference input. | ||
| 54 | # User can override with custom xsa using HDF_BASE and HDF_PATH variables from | ||
| 55 | # local.conf. | ||
| 56 | HDF_MACHINE = "zcu102-zynqmp" | ||
| 57 | |||
| 58 | # Machine features must result in a superset | 37 | # Machine features must result in a superset |
| 59 | # Basic features: | 38 | # Basic features: |
| 60 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth" | 39 | MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth" |
| @@ -64,37 +43,28 @@ IMAGE_CLASSES += "image-types-xilinx-qemu" | |||
| 64 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies | 43 | # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies |
| 65 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot'}" | 44 | IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot'}" |
| 66 | 45 | ||
| 67 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" | ||
| 68 | |||
| 69 | EXTRA_IMAGEDEPENDS += " \ | 46 | EXTRA_IMAGEDEPENDS += " \ |
| 70 | libyaml-native \ | ||
| 71 | python3-cython-native \ | ||
| 72 | python3-pyyaml-native \ | ||
| 73 | virtual/boot-bin \ | ||
| 74 | virtual/bootloader \ | 47 | virtual/bootloader \ |
| 75 | qemu-devicetrees:do_deploy \ | ||
| 76 | u-boot-xlnx-uenv \ | 48 | u-boot-xlnx-uenv \ |
| 77 | u-boot-xlnx-scr \ | 49 | u-boot-xlnx-scr \ |
| 78 | " | 50 | " |
| 79 | 51 | ||
| 80 | IMAGE_BOOT_FILES += " \ | 52 | IMAGE_BOOT_FILES += " \ |
| 81 | boot.bin \ | ||
| 82 | ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ | ||
| 83 | boot.scr \ | 53 | boot.scr \ |
| 84 | Image \ | 54 | Image \ |
| 85 | " | 55 | " |
| 86 | 56 | ||
| 87 | # ZynqMP QEMU Configurations | 57 | # ZynqMP QEMU Configurations |
| 88 | # This machine has a QEMU model, runqemu setup: | 58 | # This machine has a QEMU model, runqemu setup: |
| 89 | QB_MEM = "-m 4096" | 59 | QB_MEM ?= "-m 4096" |
| 90 | # Iteration appears to be eth3, eth2, eth1, eth0 | 60 | # Iteration appears to be eth3, eth2, eth1, eth0 |
| 91 | QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@" | 61 | QB_NETWORK_DEVICE ?= "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@" |
| 92 | 62 | ||
| 93 | # Set variables for QEMU DTB PATH, PS DTB and PMU DTB for zynqmp_generic, this | 63 | # Set variables for QEMU DTB PATH, PS DTB and PMU DTB for zynqmp_generic, this |
| 94 | # allows user to use different QEMU HW DTB to match their board. | 64 | # allows user to use different QEMU HW DTB to match their board. |
| 95 | QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" | 65 | QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" |
| 96 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" | 66 | QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" |
| 97 | QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" | 67 | QEMU_HW_DTB_PMU ?= "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" |
| 98 | 68 | ||
| 99 | # Two total serial ports defined in this model (according to the dts) | 69 | # Two total serial ports defined in this model (according to the dts) |
| 100 | # | 70 | # |
diff --git a/meta-xilinx-core/conf/machine/zynqmp-mali-common.conf b/meta-xilinx-core/conf/machine/zynqmp-mali-common.conf new file mode 100644 index 00000000..7b5dc68c --- /dev/null +++ b/meta-xilinx-core/conf/machine/zynqmp-mali-common.conf | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #@TYPE: Machine | ||
| 2 | #@NAME: zynqmp-mali-common | ||
| 3 | #@DESCRIPTION: Machine configuration for a common ZynqMP (MPSOC) filesystem devices w/ mali400 | ||
| 4 | |||
| 5 | #### Preamble | ||
| 6 | MACHINEOVERRIDES =. "${@['', 'zynqmp-mali-common:']['zynqmp-mali-common' != '${MACHINE}']}" | ||
| 7 | #### Regular settings follow | ||
| 8 | |||
| 9 | DEFAULTTUNE = "cortexa53" | ||
| 10 | |||
| 11 | require conf/machine/zynqmp-generic.conf | ||
| 12 | |||
| 13 | MACHINE_FEATURES += "mali400 vcu" | ||
| 14 | |||
| 15 | #### No additional settings should be after the Postamble | ||
| 16 | #### Postamble | ||
| 17 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_mali_common']['zynqmp-mali-common' != "${MACHINE}"]}" | ||
