diff options
author | Mark Hatle <mark.hatle@amd.com> | 2022-12-13 11:45:15 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2022-12-16 10:18:32 -0800 |
commit | 0817f31320ffecbe159c97e091d3a3ea9fecb03a (patch) | |
tree | e4c2d6f868854d02a63417d90dcd16626efa4835 /meta-xilinx-core/conf/machine | |
parent | ccefd600c60f56d9e94b690a0729ea7a266aa5d8 (diff) | |
download | meta-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.inc | 23 | ||||
-rw-r--r-- | meta-xilinx-core/conf/machine/include/soc-zynqmp.inc | 11 |
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}" | |||
25 | UBOOT_ELF ?= "u-boot" | 25 | UBOOT_ELF ?= "u-boot" |
26 | UBOOT_ELF:aarch64 ?= "u-boot.elf" | 26 | UBOOT_ELF:aarch64 ?= "u-boot.elf" |
27 | 27 | ||
28 | #Hardware accelaration | 28 | # libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 |
29 | PREFERRED_PROVIDER_virtual/libgles1:mali400 = "libmali-xlnx" | 29 | # lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 |
30 | PREFERRED_PROVIDER_virtual/libgles2:mali400 = "libmali-xlnx" | 30 | # default mesa because otherwise |
31 | PREFERRED_PROVIDER_virtual/egl:mali400 = "libmali-xlnx" | 31 | def xlnx_is_libmali_enabled(d): |
32 | PREFERRED_PROVIDER_virtual/libgl:mali400 = "mesa-gl" | 32 | if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1': |
33 | PREFERRED_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 | ||
38 | PREFERRED_PROVIDER_virtual/egl ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
39 | PREFERRED_PROVIDER_virtual/libgl ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
40 | PREFERRED_PROVIDER_virtual/libgles1 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
41 | PREFERRED_PROVIDER_virtual/libgles2 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
42 | PREFERRED_PROVIDER_virtual/libgles3 ?= "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
43 | PREFERRED_PROVIDER_virtual/libgbm ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
44 | PREFERRED_PROVIDER_virtual/mesa ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" | ||
34 | 45 | ||
35 | XSERVER ?= " \ | 46 | XSERVER ?= " \ |
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 = "" | |||
14 | VCU_MACHINE_FEATURE:zynqmp-ev = " vcu" | 14 | VCU_MACHINE_FEATURE:zynqmp-ev = " vcu" |
15 | MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}" | 15 | MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}" |
16 | 16 | ||
17 | GRAPHICSOVERRIDES = "" | 17 | # Add mali400 a.k.a Mali Utgard, "ev" and "eg" devices |
18 | 18 | MALI_MACHINE_FEATURE = "" | |
19 | # Mali400: override is only used with the ARM mali driver, not the lima driver | 19 | MALI_MACHINE_FEATURE:zynqmp-eg = " mali400" |
20 | GRAPHICSOVERRIDES = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', 'mali400:', '', d)}" | 20 | MALI_MACHINE_FEATURE:zynqmp-ev = " mali400" |
21 | 21 | MACHINE_FEATURES .= "${MALI_MACHINE_FEATURE}" | |
22 | MACHINEOVERRIDES =. "${GRAPHICSOVERRIDES}" | ||
23 | 22 | ||
24 | require xilinx-soc-family.inc | 23 | require xilinx-soc-family.inc |
25 | 24 | ||