summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/conf/machine
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/conf/machine')
-rw-r--r--meta-xilinx-core/conf/machine/README30
-rw-r--r--meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc44
-rw-r--r--meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc6
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-tune-include.inc1
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-zynq.inc8
-rw-r--r--meta-xilinx-core/conf/machine/microblaze-generic.conf49
-rw-r--r--meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf4
-rw-r--r--meta-xilinx-core/conf/machine/versal-common.conf17
-rw-r--r--meta-xilinx-core/conf/machine/versal-generic.conf42
-rw-r--r--meta-xilinx-core/conf/machine/versal-hbm-generic.conf4
-rw-r--r--meta-xilinx-core/conf/machine/versal-net-common.conf15
-rw-r--r--meta-xilinx-core/conf/machine/versal-net-generic.conf46
-rw-r--r--meta-xilinx-core/conf/machine/zynq-common.conf15
-rw-r--r--meta-xilinx-core/conf/machine/zynq-generic.conf32
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-common.conf17
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-generic.conf40
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-mali-common.conf17
17 files changed, 171 insertions, 216 deletions
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
45require conf/machine/zynqmp-generic.conf 45require conf/machine/zynqmp-generic.conf
46 46
47HDF_MACHINE = "zcu102-zynqmp"
48MACHINE_FEATURES += "pci" 47MACHINE_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
68require conf/machine/zynqmp-generic.conf 67require conf/machine/zynqmp-generic.conf
69 68
70HDF_MACHINE = "zcu102-zynqmp"
71MACHINE_FEATURES += "pci" 69MACHINE_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
89require conf/machine/microblaze-generic.conf 87require conf/machine/microblaze-generic.conf
90 88
91HDF_MACHINE = "ml605"
92SERIAL_CONSOLE = "115200,ttyUL0" 89SERIAL_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
149System wide setting: 146System wide setting:
150TUNE_FEATURES:tune-<tune> - Specific tune features 147TUNE_FEATURES:tune-<tune> - Specific tune features
151 148
149XILINX_WITH_ESW = "xsct" or "sdt" - Specify xsct or sdt workflow
150
152external-hdf recipe from meta-xilinx-tools: 151external-hdf recipe from meta-xilinx-tools:
153HDF_MACHINE - Machine to load from reference defign xsa using hdf-examples recipe 152XILINX_XSCT_VERSION - Version of the XSCT tool and associated ESW software
154HDF_EXT - Only ".xsa" externsion is supported, legacy variable. 153HDF_URI - URL for the .xsa file
155HDF_BASE - Download protocol (file://, git://, http:// or https://) protocol if 154HDF_URI[sha256sum] - sha256sum of the .xsa
156 not using the default external-hdf repository. 155
157HDF_PATH - Path to the repository or XSA file 156sdt-artifacts recipe from meta-xilinx-standalone-sdt:
157SDT_URI - URI for the system device tree artifacts (usually a tarball)
158SDT_URI[sha256sum] - sha256sum of the SDT artifacts file
159SDT_URI[S] - the 'S' (source) directory where the artifacts are extracted
158 160
159fs-boot recipe from meta-xilinx-tools: 161fs-boot recipe from meta-xilinx-tools:
160YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot - YAML based uart stdin configuration for 162YAML_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
208u-boot-xlnx-scr recipe from meta-xilinx-core: 210u-boot-xlnx-scr recipe from meta-xilinx-core:
209DDR_BASEADDR - Base address for DDR used for loading the images from u-boot env. 211DDR_BASEADDR - Base address for DDR used for loading the images from u-boot env.
210SKIP_APPEND_BASEADDR - Skip appending ${DDR_BASEADDR} for image offsets. 212SKIP_APPEND_BASEADDR - Skip appending ${DDR_BASEADDR} for image offsets.
211
212Varibable set after required inclusion file:
213Varibables that does not intend to change must be set before required inclusion
214file.
215
216external-hdf recipe from meta-xilinx-tools:
217HDF_MACHINE - Used by the recipe to find the correct XSA
218HDF_EXT - only xsa is supported, legacy variable
219HDF_BASE - protocol if not using the default external-hdf repository
220HDF_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
2HDF_MACHINE_PRIOR := "${HDF_MACHINE}"
3INHERIT += "xilinx-vars" 1INHERIT += "xilinx-vars"
4INHERIT += "xilinx-deprecated" 2INHERIT += "xilinx-deprecated"
5 3
@@ -14,7 +12,7 @@ IMAGE_FSTYPES ?= "tar.gz cpio cpio.gz cpio.gz.u-boot"
14PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx" 12PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx"
15 13
16# Device tree Configuration 14# Device tree Configuration
17PREFERRED_PROVIDER_virtual/dtb ??= "device-tree" 15PREFERRED_PROVIDER_virtual/dtb ??= "${@'device-tree' if d.getVar('XILINX_WITH_ESW') else ''}"
18 16
19# U-Boot Configuration 17# U-Boot Configuration
20PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx" 18PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx"
@@ -82,6 +80,17 @@ IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}"
82def get_default_image_boot_files(d): 80def 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
120EXTRA_IMAGEDEPENDS += "${@get_default_extra_imagedepends(d)}"
121
122def 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
110XSERVER_EXT ?= "" 148XSERVER_EXT ?= ""
111 149
112FPGA_MNGR_RECONFIG_ENABLE ?= "1" 150FPGA_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"
9MACHINEOVERRIDES =. "qemuboot-xilinx:" 9MACHINEOVERRIDES =. "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
12EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot" 12EXTRA_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
15IMAGE_CLASSES += "qemuboot-xilinx" 15IMAGE_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#
24QB_XILINX_SERIAL ?= "" 24QB_XILINX_SERIAL ??= ""
25QB_OPT_APPEND += "${QB_XILINX_SERIAL}" 25QB_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"
7TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" 7TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc"
8TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" 8TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc"
9TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" 9TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc"
10TUNEFILE[cortexa9] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc"
10TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" 11TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc"
11TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" 12TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc"
12TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" 13TUNEFILE[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"
9KERNEL_IMAGETYPES += "zImage" 9KERNEL_IMAGETYPES += "zImage"
10 10
11UBOOT_ELF ?= "u-boot.elf" 11UBOOT_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
15FSBL_DEPENDS ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', '', 'fsbl-firmware:do_deploy', d)}"
16FSBL_MCDEPENDS ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', 'mc::fsbl-fw:fsbl-firmware:do_deploy', '', d)}"
17FSBL_DEPLOY_DIR ?= "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', '${TOPDIR}/tmp-fsbl-fw/deploy/images/${MACHINE}', '${DEPLOY_DIR_IMAGE}', d)}"
18FSBL_DEPLOY_DIR[vardepsexclude] += "TOPDIR"
19FSBL_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
6USE_BOARD = "${@"conf/machine/include/xilinx-board-pre.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}"
7require ${USE_BOARD}
8unset USE_BOARD
9
10#### Preamble 5#### Preamble
11MACHINEOVERRIDES =. "${@['', 'microblaze-generic:']['microblaze-generic' != '${MACHINE}']}" 6MACHINEOVERRIDES =. "${@['', '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
23YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
24YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0"
25DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
26DTC_FLAGS:pn-device-tree ?= ""
27XSCTH_PROC:pn-device-tree ?= "microblaze_0"
28YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}"
29
30# Yocto Microblaze FS-Boot variables
31YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
32YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
33YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0"
34YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
35XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
36
37# Yocto Microblaze u-boot-xlnx variables 17# Yocto Microblaze u-boot-xlnx variables
38UBOOT_MACHINE ?= "microblaze-generic_defconfig" 18UBOOT_MACHINE ?= "microblaze-generic_defconfig"
39UBOOT_INITIAL_ENV = "" 19UBOOT_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
48SERIAL_CONSOLES ?= "115200;ttyUL0" 28SERIAL_CONSOLES ?= "115200;ttyUL0"
49YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
50 29
51require conf/machine/include/soc-tune-include.inc 30require conf/machine/include/soc-tune-include.inc
52require conf/machine/include/machine-xilinx-default.inc 31require 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
61MACHINE_ARCH = "${@['${MB_MACHINE_ARCH}', '${DEF_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" 40MACHINE_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.
66HDF_MACHINE = "kcu105-microblazeel"
67
68MACHINE_FEATURES = "" 42MACHINE_FEATURES = ""
69 43
70KERNEL_IMAGETYPE ?= "linux.bin.ub" 44KERNEL_IMAGETYPE ?= "linux.bin.ub"
71KERNEL_IMAGETYPES = "" 45KERNEL_IMAGETYPES = ""
72 46
73MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}"
74
75IMAGE_BOOT_FILES += " \
76 ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
77 "
78
79EXTRA_IMAGEDEPENDS += " \ 47EXTRA_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 += " \
89IMAGE_FSTYPES += "cpio.gz" 53IMAGE_FSTYPES += "cpio.gz"
90 54
91# Microblaze QEMU Configurations 55# Microblaze QEMU Configurations
92QB_MEM = "-m 2G" 56QB_MEM ?= "-m 2G"
93QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" 57QB_KERNEL_CMDLINE_APPEND ?= "console=ttyUL0,115200 root=/dev/ram0 rw"
94QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" 58QB_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)
102QB_XILINX_SERIAL = "" 66QB_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
106PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" 70PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}"
107
108# Deprecated board config
109USE_BOARD = "${@"conf/machine/include/xilinx-board-post.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}"
110require ${USE_BOARD}
111unset 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.
11QB_MEM = "-m 12G" 11QB_MEM ?= "-m 12G"
12 12
13QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb" 13QEMU_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
6MACHINEOVERRIDES =. "${@['', 'versal-common:']['versal-common' != '${MACHINE}']}"
7#### Regular settings follow
8
9DEFAULTTUNE = "cortexa72"
10
11require conf/machine/versal-generic.conf
12
13MACHINE_FEATURES += "aie vdu"
14
15#### No additional settings should be after the Postamble
16#### Postamble
17PACKAGE_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
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
15DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
16DTC_FLAGS:pn-device-tree = "-@"
17YAML_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
20UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig" 14UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
21BOOTMODE ?= "generic.root" 15BOOTMODE ?= "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
24TFA_BL33_LOAD ?= "0x8000000" 18TFA_BL33_LOAD ?= "0x8000000"
25 19
26# Yocto Versal PLM variables
27YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
28YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
29
30# Yocto Versal KERNEL Variables 20# Yocto Versal KERNEL Variables
31UBOOT_ENTRYPOINT ?= "0x200000" 21UBOOT_ENTRYPOINT ?= "0x200000"
32UBOOT_LOADADDRESS ?= "0x200000" 22UBOOT_LOADADDRESS ?= "0x200000"
33 23
34# Versal Serial Console 24# Versal Serial Console
35SERIAL_CONSOLES ?= "115200;ttyAMA0" 25SERIAL_CONSOLES ?= "115200;ttyAMA0"
36YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
37 26
38require conf/machine/include/soc-versal.inc 27require conf/machine/include/soc-versal.inc
39require conf/machine/include/machine-xilinx-default.inc 28require conf/machine/include/machine-xilinx-default.inc
40require conf/machine/include/machine-xilinx-qemu.inc 29require 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.
45HDF_MACHINE = "vck190-versal"
46
47MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" 31MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost"
48 32
49MACHINE_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
52IMAGE_CLASSES += "image-types-xilinx-qemu" 34IMAGE_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
54IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" 36IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}"
55 37
56EXTRA_IMAGEDEPENDS += " \ 38EXTRA_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
66IMAGE_BOOT_FILES += " \ 42IMAGE_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:
75QB_MEM = "-m 8G" 49QB_MEM ?= "-m 8G"
76QB_DEFAULT_KERNEL = "none" 50QB_DEFAULT_KERNEL ?= "none"
77# Iteration appears to be eth0 then eth1 51# Iteration appears to be eth0 then eth1
78QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic" 52QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@ -net nic"
79QB_KERNEL_CMDLINE_APPEND ?= "" 53QB_KERNEL_CMDLINE_APPEND ?= ""
80 54
81QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" 55QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
82QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" 56QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb"
83QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" 57QEMU_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 (????)
92QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" 66QB_XILINX_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null"
93 67
94QB_OSPI_FILE ??= "" 68QB_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"
118QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" 92QB_PLM_OPT += "${@d.getVar('QB_FW_FILES') if d.getVar('QB_OSPI_FILE') == '' else ''}"
119 93
120QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" 94QB_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
9QB_MEM = "-m 32G" 9QB_MEM ?= "-m 32G"
10 10
11QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vhk158.dtb" 11QEMU_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
6MACHINEOVERRIDES =. "${@['', 'versal-net-common:']['versal-net-common' != '${MACHINE}']}"
7#### Regular settings follow
8
9DEFAULTTUNE = "cortexa78"
10
11require conf/machine/versal-net-generic.conf
12
13#### No additional settings should be after the Postamble
14#### Postamble
15PACKAGE_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
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
15DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
16DTC_FLAGS:pn-device-tree = "-@"
17YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}"
18
19# Yocto Versal u-boot-xlnx variables 13# Yocto Versal u-boot-xlnx variables
20UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" 14UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig"
21BOOTMODE ?= "generic.root" 15BOOTMODE ?= "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
24TFA_BL33_LOAD ?= "0x8000000" 18TFA_BL33_LOAD ?= "0x8000000"
25 19
26# Yocto Versal PLM variables
27YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
28YAML_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
31UBOOT_ENTRYPOINT ?= "0x200000" 21UBOOT_ENTRYPOINT ?= "0x200000"
32UBOOT_LOADADDRESS ?= "0x200000" 22UBOOT_LOADADDRESS ?= "0x200000"
33 23
34# Versal Serial Console 24# Versal Serial Console
35SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" 25SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
36YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
37 26
38require conf/machine/include/soc-versal-net.inc 27require conf/machine/include/soc-versal-net.inc
39require conf/machine/include/machine-xilinx-default.inc 28require conf/machine/include/machine-xilinx-default.inc
40require conf/machine/include/machine-xilinx-qemu.inc 29require 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.
45HDF_MACHINE = "versal-net-generic"
46
47MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" 31MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost"
48 32
49MACHINE_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
52IMAGE_CLASSES += "image-types-xilinx-qemu" 34IMAGE_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
54IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" 36IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}"
55 37
56EXTRA_IMAGEDEPENDS += " \ 38EXTRA_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
66IMAGE_BOOT_FILES += " \ 42IMAGE_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:
75QB_MEM = "-m 8G" 49QB_MEM ?= "-m 8G"
76QB_DEFAULT_KERNEL = "none" 50QB_DEFAULT_KERNEL ?= "none"
77# Iteration appears to be eth0 then eth1 51# Iteration appears to be eth0 then eth1
78QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic" 52QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@ -net nic"
79QB_KERNEL_CMDLINE_APPEND ?= "" 53QB_KERNEL_CMDLINE_APPEND ?= ""
80 54
81QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" 55QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
82QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" 56QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb"
83QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" 57QEMU_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)
91QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" 65QB_XILINX_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null"
92 66
93QB_OSPI_FILE ??= "" 67QB_OSPI_FILE ??= ""
94 68
@@ -110,11 +84,11 @@ QB_PLM_OPT = " \
110 " 84 "
111 85
112QB_FW_FILES = " \ 86QB_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"
117QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" 91QB_PLM_OPT += "${@d.getVar('QB_FW_FILES') if d.getVar('QB_OSPI_FILE') == '' else ''}"
118 92
119QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" 93QB_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
6MACHINEOVERRIDES =. "${@['', 'zynq-common:']['zynq-common' != '${MACHINE}']}"
7#### Regular settings follow
8
9DEFAULTTUNE = "cortexa9thf-neon"
10
11require conf/machine/zynq-generic.conf
12
13#### No additional settings should be after the Postamble
14#### Postamble
15PACKAGE_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
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "ps7_uart_1"
15YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PS7_DDR_0"
16DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
17DTC_FLAGS:pn-device-tree = "-@"
18YAML_DT_BOARD_FLAGS ?= "{BOARD zc702}"
19
20# Yocto Zynq-7000 u-boot-xlnx variables 13# Yocto Zynq-7000 u-boot-xlnx variables
21UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" 14UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig"
22BOOTMODE ?= "generic.root" 15BOOTMODE ?= "generic.root"
23 16
24# Yocto Zynq-7000 FSBL variables
25YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "ps7_uart_1"
26YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "ps7_uart_1"
27
28# Yocto KERNEL Variables 17# Yocto KERNEL Variables
29UBOOT_ENTRYPOINT ?= "0x200000" 18UBOOT_ENTRYPOINT ?= "0x200000"
30UBOOT_LOADADDRESS ?= "0x200000" 19UBOOT_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
34SERIAL_CONSOLES ?= "115200;ttyPS0" 23SERIAL_CONSOLES ?= "115200;ttyPS0"
35YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
36 24
37require conf/machine/include/soc-zynq.inc 25require conf/machine/include/soc-zynq.inc
38require conf/machine/include/machine-xilinx-default.inc 26require conf/machine/include/machine-xilinx-default.inc
39require conf/machine/include/machine-xilinx-qemu.inc 27require 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.
44HDF_MACHINE = "zc702-zynq7"
45
46MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget" 29MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget"
47 30
48MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}"
49
50EXTRA_IMAGEDEPENDS += " \ 31EXTRA_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
57IMAGE_BOOT_FILES += " \ 35IMAGE_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:
70QB_MEM = "-m 1024" 46QB_MEM ?= "-m 1024"
71QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" 47QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@"
72 48
73QB_KERNEL_ROOT = "/dev/mmcblk0p2" 49QB_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)
82QB_XILINX_SERIAL = "-serial null -serial mon:stdio" 58QB_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)
85QB_OPT_APPEND += " \ 61QB_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
6MACHINEOVERRIDES =. "${@['', 'zynqmp-common:']['zynqmp-common' != '${MACHINE}']}"
7#### Regular settings follow
8
9DEFAULTTUNE = "cortexa53"
10
11require conf/machine/zynqmp-generic.conf
12
13MACHINE_FEATURES += "vcu rfsoc"
14
15#### No additional settings should be after the Postamble
16#### Postamble
17PACKAGE_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
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
15YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
16DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
17DTC_FLAGS:pn-device-tree = "-@"
18YAML_DT_BOARD_FLAGS ?= "{BOARD zcu102-rev1.0}"
19
20# Yocto ZynqMP u-boot-xlnx variables 13# Yocto ZynqMP u-boot-xlnx variables
21UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig" 14UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig"
22BOOTMODE ?= "generic.root" 15BOOTMODE ?= "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
31TFA_BL33_LOAD ?= "0x8000000" 24TFA_BL33_LOAD ?= "0x8000000"
32 25
33# Yocto ZynqMP PMUFW variables
34YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
35YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
36
37# Yocto ZynqMP FSBL variables
38YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
39YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
40
41# Yocto ZynqMP KERNEL Variables 26# Yocto ZynqMP KERNEL Variables
42UBOOT_ENTRYPOINT ?= "0x200000" 27UBOOT_ENTRYPOINT ?= "0x200000"
43UBOOT_LOADADDRESS ?= "0x200000" 28UBOOT_LOADADDRESS ?= "0x200000"
44 29
45# ZynqMP Serial Console 30# ZynqMP Serial Console
46SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1" 31SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1"
47YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
48 32
49require conf/machine/include/soc-zynqmp.inc 33require conf/machine/include/soc-zynqmp.inc
50require conf/machine/include/machine-xilinx-default.inc 34require conf/machine/include/machine-xilinx-default.inc
51require conf/machine/include/machine-xilinx-qemu.inc 35require 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.
56HDF_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:
60MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth" 39MACHINE_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
65IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot'}" 44IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot'}"
66 45
67MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}"
68
69EXTRA_IMAGEDEPENDS += " \ 46EXTRA_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
80IMAGE_BOOT_FILES += " \ 52IMAGE_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:
89QB_MEM = "-m 4096" 59QB_MEM ?= "-m 4096"
90# Iteration appears to be eth3, eth2, eth1, eth0 60# Iteration appears to be eth3, eth2, eth1, eth0
91QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@" 61QB_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.
95QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" 65QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
96QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" 66QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb"
97QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" 67QEMU_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
6MACHINEOVERRIDES =. "${@['', 'zynqmp-mali-common:']['zynqmp-mali-common' != '${MACHINE}']}"
7#### Regular settings follow
8
9DEFAULTTUNE = "cortexa53"
10
11require conf/machine/zynqmp-generic.conf
12
13MACHINE_FEATURES += "mali400 vcu"
14
15#### No additional settings should be after the Postamble
16#### Postamble
17PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_mali_common']['zynqmp-mali-common' != "${MACHINE}"]}"