diff options
Diffstat (limited to 'meta-xilinx-core/conf/machine')
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 | ||
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}"]}" | ||