summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/conf/machine
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2022-12-13 11:45:15 -0800
committerMark Hatle <mark.hatle@amd.com>2022-12-16 10:18:32 -0800
commit0817f31320ffecbe159c97e091d3a3ea9fecb03a (patch)
treee4c2d6f868854d02a63417d90dcd16626efa4835 /meta-xilinx-core/conf/machine
parentccefd600c60f56d9e94b690a0729ea7a266aa5d8 (diff)
downloadmeta-xilinx-0817f31320ffecbe159c97e091d3a3ea9fecb03a.tar.gz
machine: Refactor mali400 support
Define a new MACHINE_FEATURE called mali400 that is used to determine if the hardware has a mali400. Define a new DISTRO_FEATURE called libmali, as well as one called lima to indicated which configuration to build. Both the MACHINE_FEATURE and DISTRO_FEATURE must be enabled to activate the new code. This means any recipe that gets libmali-xlnx is expected to be: PACKAGE_ARCH = "${MACHINE_ARCH}" Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-core/conf/machine')
-rw-r--r--meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc23
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-zynqmp.inc11
2 files changed, 22 insertions, 12 deletions
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 38996384..dc6ab05c 100644
--- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc
+++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc
@@ -25,12 +25,23 @@ UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
25UBOOT_ELF ?= "u-boot" 25UBOOT_ELF ?= "u-boot"
26UBOOT_ELF:aarch64 ?= "u-boot.elf" 26UBOOT_ELF:aarch64 ?= "u-boot.elf"
27 27
28#Hardware accelaration 28# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400
29PREFERRED_PROVIDER_virtual/libgles1:mali400 = "libmali-xlnx" 29# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400
30PREFERRED_PROVIDER_virtual/libgles2:mali400 = "libmali-xlnx" 30# default mesa because otherwise
31PREFERRED_PROVIDER_virtual/egl:mali400 = "libmali-xlnx" 31def xlnx_is_libmali_enabled(d):
32PREFERRED_PROVIDER_virtual/libgl:mali400 = "mesa-gl" 32 if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1':
33PREFERRED_PROVIDER_virtual/mesa:mali400 = "mesa-gl" 33 if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1':
34 return True
35 return False
36
37# libmali requires certain preferred providers to be selected
38PREFERRED_PROVIDER_virtual/egl ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
39PREFERRED_PROVIDER_virtual/libgl ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
40PREFERRED_PROVIDER_virtual/libgles1 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
41PREFERRED_PROVIDER_virtual/libgles2 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
42PREFERRED_PROVIDER_virtual/libgles3 ?= "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}"
43PREFERRED_PROVIDER_virtual/libgbm ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
44PREFERRED_PROVIDER_virtual/mesa ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
34 45
35XSERVER ?= " \ 46XSERVER ?= " \
36 xserver-xorg \ 47 xserver-xorg \
diff --git a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
index 5331c17a..95ac54e2 100644
--- a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
+++ b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
@@ -14,12 +14,11 @@ VCU_MACHINE_FEATURE = ""
14VCU_MACHINE_FEATURE:zynqmp-ev = " vcu" 14VCU_MACHINE_FEATURE:zynqmp-ev = " vcu"
15MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}" 15MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}"
16 16
17GRAPHICSOVERRIDES = "" 17# Add mali400 a.k.a Mali Utgard, "ev" and "eg" devices
18 18MALI_MACHINE_FEATURE = ""
19# Mali400: override is only used with the ARM mali driver, not the lima driver 19MALI_MACHINE_FEATURE:zynqmp-eg = " mali400"
20GRAPHICSOVERRIDES = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', 'mali400:', '', d)}" 20MALI_MACHINE_FEATURE:zynqmp-ev = " mali400"
21 21MACHINE_FEATURES .= "${MALI_MACHINE_FEATURE}"
22MACHINEOVERRIDES =. "${GRAPHICSOVERRIDES}"
23 22
24require xilinx-soc-family.inc 23require xilinx-soc-family.inc
25 24