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 | |
| 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')
| -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 | ||
