summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp/recipes-kernel
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2021-12-15 13:52:16 -0800
committerMark Hatle <mark.hatle@xilinx.com>2022-01-14 15:37:02 -0800
commitf900c6a0c8908e370689235230094308ec419cf9 (patch)
treebd9ca83e452c263c7a421b826086048cf8130f34 /meta-xilinx-bsp/recipes-kernel
parentaaddcc3f785404da04af9ea3d005f2f520b4ec9e (diff)
downloadmeta-xilinx-f900c6a0c8908e370689235230094308ec419cf9.tar.gz
Initial restructure/split of meta-xilinx-bsp
Create a new meta-xilinx-core, move core functionality to the core, keeping board specific files in the bsp layer. zynqmp-generic changed from require <board> to include, so if meta-xilinx-bsp is not available it will not fail. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-bsp/recipes-kernel')
-rwxr-xr-xmeta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb24
-rw-r--r--meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb27
-rw-r--r--meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb24
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb65
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc7
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb18
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc65
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch51
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch47
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb9
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend1
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend1
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc23
-rw-r--r--meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend1
-rw-r--r--meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend54
-rw-r--r--meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb27
-rw-r--r--meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts244
-rw-r--r--meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts127
18 files changed, 0 insertions, 815 deletions
diff --git a/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb b/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb
deleted file mode 100755
index 4d8bd265..00000000
--- a/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "5.10.0"
8PV = "${XLNX_DP_VERSION}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2021.2"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "46d4790c3d37ad4b878c5a1704df26edb56314f5"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb b/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb
deleted file mode 100644
index f57b2b19..00000000
--- a/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "Device Tree Compiler"
2HOMEPAGE = "https://devicetree.org/"
3DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
4SECTION = "bootloader"
5LICENSE = "GPLv2 | BSD"
6DEPENDS = "flex-native bison-native swig-native"
7
8SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
9
10UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
11
12LIC_FILES_CHKSUM = "file://libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
13
14SRCREV = "2525da3dba9beceb96651dc2986581871dbeca30"
15
16S = "${WORKDIR}/git/pylibfdt"
17
18DEPENDS += "libyaml dtc"
19
20inherit distutils3
21
22do_configure:prepend() {
23 (cd ${S}/../ ; make version_gen.h )
24}
25
26BBCLASSEXTEND = "native nativesdk"
27
diff --git a/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb b/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb
deleted file mode 100644
index 65484fca..00000000
--- a/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx HDMI Linux Kernel module"
2DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe"
6
7XLNX_HDMI_VERSION = "5.10.0"
8PV = "${XLNX_HDMI_VERSION}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2021.2"
13REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https"
14SRCREV = "aeb9f2c9a50c5e8dd4245454116c47f841f78825"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb b/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb
deleted file mode 100644
index 1ad8ae2e..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb
+++ /dev/null
@@ -1,65 +0,0 @@
1# TIInit_11.8.32.bts is required for bluetooth support but this particular
2# version is not available in the linux-firmware repository.
3#
4SUMMARY = "TI Bluetooth firmware files for use with Linux kernel"
5SECTION = "kernel"
6
7LICENSE = "Firmware-ti-bt"
8
9LIC_FILES_CHKSUM = "file://LICENSE.ti-bt;md5=f39eac9f4573be5b012e8313831e72a9"
10
11# No common license for this, so be sure to include it
12NO_GENERIC_LICENSE[Firmware-ti-bt] = "LICENSE.ti-bt"
13
14SRC_URI = "git://git.ti.com/ti-bt/service-packs.git;protocol=https"
15SRCREV = "c290f8af9e388f37e509ecb111a1b64572b7c225"
16
17S = "${WORKDIR}/git"
18
19inherit allarch
20
21CLEANBROKEN = "1"
22
23do_unpack[postfuncs] += "rename_license"
24
25rename_license() {
26 mv ${S}/LICENSE ${S}/LICENSE.ti-bt
27}
28
29do_compile() {
30 :
31}
32
33do_install() {
34 oe_runmake 'DEST_DIR=${D}' 'BASE_LIB_DIR=${nonarch_base_libdir}'
35
36 # Remove files we're not packaging...
37 rm -f ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_7.6.15.bts \
38 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_10.6.15.bts \
39 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_bt_spec_4.1.bts \
40 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_12.8.32.bts \
41 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_12.10.28.bts \
42 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_avpr_add-on.bts \
43 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_bt_spec_4.0.bts \
44 ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_ble_add-on.bts
45
46 for each in ${D}${nonarch_base_libdir}/firmware/ti-connectivity/* ; do
47 ln -s ti-connectivity/`basename $each` ${D}${nonarch_base_libdir}/firmware/`basename $each`
48 done
49
50 cp LICENSE.ti-bt ${D}${nonarch_base_libdir}/firmware/License.ti-bt
51}
52
53# 11.8.32 = WL180x, WL183x, WL185x PG2.1 or PG2.2, 8.32 ROM Version
54PACKAGES =+ "${PN}-wl180x ${PN}-license"
55
56FILES:${PN}-license = "${nonarch_base_libdir}/firmware/License.ti-bt"
57
58FILES:${PN}-wl180x = "${nonarch_base_libdir}/firmware/TIInit_11.8.32.bts \
59 ${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_11.8.32.bts"
60
61RDEPENDS:${PN}-wl180x = "${PN}-license linux-firmware-wl18xx"
62
63LICENSE:${PN}-wl180x = "Firmware-ti-bt"
64
65INSANE_SKIP = "arch"
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc
deleted file mode 100644
index 4555bc28..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc
+++ /dev/null
@@ -1,7 +0,0 @@
1SRC_URI += "file://mb-no-tree-loop-distribute-patterns.patch"
2
3# MicroBlaze is a uImage target, but its not called 'uImage' instead it is called 'linux.bin.ub'
4python () {
5 if d.getVar('KERNEL_IMAGETYPE', True).endswith('.ub'):
6 d.setVar('DEPENDS', "%s u-boot-mkimage-native" % d.getVar('DEPENDS', True))
7}
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb
deleted file mode 100644
index acb9938f..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1# This recipe tracks the 'bleeding edge' linux-xlnx repository.
2# Since this tree is frequently updated, AUTOREV is used to track its contents.
3#
4# To enable this recipe, set PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev"
5
6KBRANCH ?= "master"
7
8# Use the SRCREV for the last tagged revision of linux-xlnx.
9SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-xlnx-dev", "${AUTOREV}", "84fb0cc65aae5970471cbc54b0c89009b9b904af", d)}'
10
11# skip version sanity, because the version moves with AUTOREV
12KERNEL_VERSION_SANITY_SKIP = "1"
13
14LINUX_VERSION ?= "4.9+"
15LINUX_VERSION_EXTENSION ?= "-xilinx-dev"
16
17include linux-xlnx.inc
18
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
deleted file mode 100644
index 53fe83b0..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
+++ /dev/null
@@ -1,65 +0,0 @@
1# This version extension should match CONFIG_LOCALVERSION in defconfig
2XILINX_RELEASE_VERSION ?= ""
3LINUX_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
4PV = "${LINUX_VERSION}+git${SRCPV}"
5
6# Sources, by default allow for the use of SRCREV pointing to orphaned tags/commits
7KBRANCH ?= "xlnx_rebase_v5.10"
8SRCBRANCHARG = "${@['nobranch=1', 'branch=${KBRANCH}'][d.getVar('KBRANCH', True) != '']}"
9
10FILESOVERRIDES:append = ":${XILINX_RELEASE_VERSION}"
11KERNELURI ?= "git://github.com/Xilinx/linux-xlnx.git;protocol=https;name=machine"
12YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=yocto-kmeta"
13SRC_URI = "${KERNELURI};${SRCBRANCHARG} ${YOCTO_META}"
14
15SRCREV_machine ?= "${SRCREV}"
16SRCREV_meta ?= "20b185f6b5afbad309747a7901786e0231dc8195"
17SRCREV_FORMAT = "machine"
18
19require recipes-kernel/linux/linux-yocto.inc
20require linux-microblaze.inc
21
22DESCRIPTION = "Xilinx Kernel"
23LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
24
25EXTKERNELSRC = "${@'1' if d.getVar('EXTERNALSRC') else ''}"
26
27# Force the use of the KBUILD_DEFCONFIG even if some other defconfig was generated in the ${WORKDIR}
28do_kernel_metadata:prepend () {
29 [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm ${WORKDIR}/defconfig
30}
31
32do_configure:prepend () {
33 if [ -n "${KBUILD_DEFCONFIG}" ] && [ -n "${EXTKERNELSRC}" ]; then
34 cp ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
35 fi
36}
37
38inherit kernel-simpleimage
39
40# Default to be only compatible with specific machines or soc families
41COMPATIBLE_MACHINE ?= "^$"
42COMPATIBLE_MACHINE:zynq = ".*"
43COMPATIBLE_MACHINE:zynqmp = ".*"
44COMPATIBLE_MACHINE:microblaze = ".*"
45COMPATIBLE_MACHINE:versal = ".*"
46
47# Use DEFCONFIGs for configuring linux-xlnx kernels
48KCONFIG_MODE ?= "alldefconfig"
49KBUILD_DEFCONFIG:zynqmp ?= "xilinx_defconfig"
50KBUILD_DEFCONFIG:zynq ?= "xilinx_zynq_defconfig"
51KBUILD_DEFCONFIG:microblaze ?= "mmu_defconfig"
52KBUILD_DEFCONFIG:versal ?= "xilinx_defconfig"
53
54KERNEL_MODULE_AUTOLOAD:k26 += "usb5744"
55
56# MicroBlaze BSP fragments
57KERNEL_FEATURES:append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc"
58
59KERNEL_FEATURES:append:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}"
60
61KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}"
62
63KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc"
64
65KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}"
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
deleted file mode 100644
index d5b96c2d..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
2From: Dirk Mueller <dmueller@suse.com>
3Date: Tue, 14 Jan 2020 18:53:41 +0100
4Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
5
6gcc 10 will default to -fno-common, which causes this error at link
7time:
8
9 (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
10
11This is because both dtc-lexer as well as dtc-parser define the same
12global symbol yyloc. Before with -fcommon those were merged into one
13defintion. The proper solution would be to to mark this as "extern",
14however that leads to:
15
16 dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
17 26 | extern YYLTYPE yylloc;
18 | ^~~~~~
19In file included from dtc-lexer.l:24:
20dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
21 127 | extern YYLTYPE yylloc;
22 | ^~~~~~
23cc1: all warnings being treated as errors
24
25which means the declaration is completely redundant and can just be
26dropped.
27
28Signed-off-by: Dirk Mueller <dmueller@suse.com>
29Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
30[robh: cherry-pick from upstream]
31Cc: stable@vger.kernel.org
32Signed-off-by: Rob Herring <robh@kernel.org>
33---
34 scripts/dtc/dtc-lexer.l | 1 -
35 1 file changed, 1 deletion(-)
36
37diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
38index 5c6c3fd557d7..b3b7270300de 100644
39--- a/scripts/dtc/dtc-lexer.l
40+++ b/scripts/dtc/dtc-lexer.l
41@@ -23,7 +23,6 @@ LINECOMMENT "//".*\n
42 #include "srcpos.h"
43 #include "dtc-parser.tab.h"
44
45-YYLTYPE yylloc;
46 extern bool treesource_error;
47
48 /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
49--
502.29.2
51
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
deleted file mode 100644
index 5a4d203d..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1Disable tree-loop-distribute-patterns CFLAG
2
3Issue: CR-1086247
4
5GCC 10.2.0 added -ftree-loop-distribute-patterns by default with -O2. This
6is causing a condition where the kernel will no longer boot.
7
8This is a temporary workaround until we can identify the true cause of
9the boot failure.
10
11Symtoms:
12
13earlycon: uartlite_a0 at MMIO 0x40600000 (options '115200n8')
14printk: bootconsole [uartlite_a0] enabled
15cma: Reserved 16 MiB at 0xaec00000
16Linux version 5.10.0-xilinx-v2020.2 (oe-user@oe-host) (microblazeel-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1 Mon Mar 1 12:58:36 UTC 2021
17setup_memory: max_mapnr: 0x40000
18setup_memory: min_low_pfn: 0x80000
19setup_memory: max_low_pfn: 0xb0000
20setup_memory: max_pfn: 0xc0000
21Zone ranges:
22 DMA [mem 0x0000000080000000-0x00000000afffffff]
23 Normal empty
24 HighMem [mem 0x00000000b0000000-0x00000000bfffffff]
25Movable zone start for each node
26Early memory node ranges
27 node 0: [mem 0x0000000080000000-0x00000000bfffffff]
28Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
29<hang>
30
31Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
32
33diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile
34index bb980891816d..e368c35ad21c 100644
35--- a/arch/microblaze/Makefile
36+++ b/arch/microblaze/Makefile
37@@ -48,6 +48,10 @@ CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
38 # r31 holds current when in kernel mode
39 KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2)
40
41+# GCC 10.x now has -ftree-loop-distribute-patterns by default in -O2
42+# This causes a boot failure, so disable it
43+KBUILD_CFLAGS += -fno-tree-loop-distribute-patterns
44+
45 head-y := arch/microblaze/kernel/head.o
46 libs-y += arch/microblaze/lib/
47 core-y += arch/microblaze/kernel/
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb
deleted file mode 100644
index 660f6037..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1LINUX_VERSION = "5.10"
2KBRANCH="xlnx_rebase_v5.10"
3SRCREV = "568989d44176ae0a38ea78c16d0590c726d3b60a"
4
5KCONF_AUDIT_LEVEL="0"
6
7include linux-xlnx.inc
8
9FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
deleted file mode 100644
index 05c39951..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1require linux-yocto-xilinx.inc
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend
deleted file mode 100644
index 05c39951..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1require linux-yocto-xilinx.inc
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc
deleted file mode 100644
index 51eab948..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc
+++ /dev/null
@@ -1,23 +0,0 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/linux-xlnx:"
2
3require linux-microblaze.inc
4
5# Zynq default generic KMACHINE
6COMPATIBLE_MACHINE:zynq = "zynq"
7KMACHINE:zynq = "zynq"
8
9# ZynqMP default generic KMACHINE
10COMPATIBLE_MACHINE:zynqmp = "zynqmp"
11KMACHINE:zynqmp = "zynqmp"
12
13# MicroBlaze KMACHINEs
14KMACHINE_ml605-qemu-microblazeel = "qemumicroblazeel"
15KMACHINE_s3adsp1800-qemu-microblazeeb = "qemumicroblazeeb"
16
17# MicroBlaze default generic KMACHINE
18KMACHINE:microblaze = "microblaze"
19COMPATIBLE_MACHINE:microblaze = "microblaze"
20
21# Default kernel config fragements for specific machines
22KERNEL_FEATURES:append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc"
23
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index 05c39951..00000000
--- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1require linux-yocto-xilinx.inc
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend b/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend
deleted file mode 100644
index aa552fe5..00000000
--- a/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend
+++ /dev/null
@@ -1,54 +0,0 @@
1DEPENDS = " \
2 dtc \
3 python3-dtc \
4 python3-flask \
5 python3-flask-restful \
6 python3-six \
7 python3-pandas \
8 python3-ruamel-yaml \
9 python3-anytree \
10 python3-pyyaml \
11 python3-humanfriendly \
12"
13
14RDEPENDS:${PN} += " \
15 python3-flask \
16 python3-flask-restful \
17 python3-six \
18 python3-pandas \
19 python3-ruamel-yaml \
20 python3-anytree \
21 python3-pyyaml \
22"
23
24SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master"
25SRCREV = "4fc085c4be031996e7f48dcaf03d0782989c8d58"
26
27do_install() {
28 install -d "${D}/${bindir}"
29 install -d "${D}/${datadir}/${BPN}"
30
31 install -m 0644 "${S}/README" "${D}/${datadir}/${BPN}"
32 install -m 0644 "${S}/README-architecture.txt" "${D}/${datadir}/${BPN}"
33 install -m 0644 "${S}/README.pydoc" "${D}/${datadir}/${BPN}"
34 install -m 0644 "${S}/LICENSE.md" "${D}/${datadir}/${BPN}"
35
36 install -d "${D}/${datadir}/${BPN}/assists"
37 #install -m 0644 "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/"
38 cp -r "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/"
39
40 install -d "${D}/${datadir}/${BPN}/lops"
41 install -m 0644 "${S}/lops/"* "${D}/${datadir}/${BPN}/lops/"
42
43 install -d "${D}/${datadir}/${BPN}/device-trees"
44 install -m 0644 "${S}/device-trees/"* "${D}/${datadir}/${BPN}/device-trees/"
45
46 install -m 0644 "${S}/"lopper.ini "${D}/${datadir}/${BPN}/"
47
48 install -m 0755 "${S}/"lopper*.py "${D}/${datadir}/${BPN}/"
49 sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' ${D}/${datadir}/${BPN}/lopper.py
50 sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' ${D}/${datadir}/${BPN}/lopper_sanity.py
51
52 datadir_relpath=${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}
53 ln -s "${datadir_relpath}/${BPN}/lopper.py" "${D}/${bindir}/"
54}
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb
deleted file mode 100644
index 77456376..00000000
--- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "Device tree lopper - lops"
2DESCRIPTION = "Xilinx specific lop files"
3SECTION = "bootloader"
4LICENSE = "BSD-3-Clause"
5
6RDEPENDS:${PN} += "lopper"
7
8SRC_URI = " \
9 file://lop-microblaze-yocto.dts \
10 file://lop-xilinx-id-cpus.dts \
11 "
12
13LIC_FILES_CHKSUM = "file://lop-microblaze-yocto.dts;endline=8;md5=a0e89d39fa397ec5d5320409ff701280"
14
15S = "${WORKDIR}"
16
17do_configure[noexec] = '1'
18do_compile[noexec] = '1'
19
20do_install() {
21 mkdir -p ${D}/${datadir}/lopper/lops
22 cp ${S}/lop-microblaze-yocto.dts ${D}/${datadir}/lopper/lops/.
23 cp ${S}/lop-xilinx-id-cpus.dts ${D}/${datadir}/lopper/lops/.
24}
25
26FILES:${PN} += "${datadir}/lopper/lops"
27BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts
deleted file mode 100644
index 72eb4665..00000000
--- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts
+++ /dev/null
@@ -1,244 +0,0 @@
1/*
2 * Copyright (c) 2020 Xilinx Inc. All rights reserved.
3 *
4 * Author:
5 * Bruce Ashfield <bruce.ashfield@xilinx.com>
6 *
7 * SPDX-License-Identifier: BSD-3-Clause
8 */
9
10/dts-v1/;
11
12/ {
13 compatible = "system-device-tree-v1,lop";
14 lops {
15 compatible = "system-device-tree-v1,lop";
16 track_feature: track_feature {
17 compatible = "system-device-tree-v1,lop,code-v1";
18 noexec;
19 code = "
20 # print( 'track: lopper library routine: %s' % node )
21 try:
22 node.tunes[prop] = prop
23 except:
24 pass
25 ";
26 };
27 lop_0_1 {
28 compatible = "system-device-tree-v1,lop,select-v1";
29 select_1;
30 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
31 lop_0_2 {
32 compatible = "system-device-tree-v1,lop,code-v1";
33 inherit = "subsystem";
34 code = "
35 for n in tree.__selected__:
36 val = n['compatible'].value[0]
37 if val == 'pmu-microblaze':
38 n.tunes = OrderedDict()
39 n.tunes['microblaze'] = 'microblaze'
40 n.tunes['version'] = 'v9.2'
41
42 if val == 'pmc-microblaze' or val == 'psm-microblaze':
43 n.tunes = OrderedDict()
44 n.tunes['microblaze'] = 'microblaze'
45 n.tunes['version'] = 'v10.0'
46
47 n.tune_type = val
48 ";
49 };
50 };
51 lop_1_1 {
52 compatible = "system-device-tree-v1,lop,select-v1";
53 select_1;
54 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
55 select_3 = ":xlnx,use-barrel:1";
56 lop_1_1_1 {
57 compatible = "system-device-tree-v1,lop,code-v1";
58 code = "
59 if __selected__:
60 for n in __selected__:
61 n.tunes['barrel-shift'] = 'barrel-shift'
62 ";
63 };
64 };
65 lop_2_1 {
66 compatible = "system-device-tree-v1,lop,select-v1";
67 select_1;
68 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
69 select_3 = ":xlnx,endianness:!1";
70 lop_2_1_1 {
71 compatible = "system-device-tree-v1,lop,code-v1";
72 code = "
73 if __selected__:
74 for n in __selected__:
75 n.tunes['bigendian'] = 'bigendian'
76 ";
77 };
78 };
79 lop_3_1 {
80 compatible = "system-device-tree-v1,lop,select-v1";
81 select_1;
82 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
83 select_3 = ":xlnx,data-size:0x40";
84 lop_3_1_1 {
85 compatible = "system-device-tree-v1,lop,code-v1";
86 code = "
87 if __selected__:
88 for n in __selected__:
89 n.tunes['64-bit'] = '64-bit'
90 ";
91 };
92 };
93 lop_4_1 {
94 compatible = "system-device-tree-v1,lop,select-v1";
95 select_1;
96 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
97 select_3 = ":xlnx,use-pcmp-instr:1";
98 lop_4_1_1 {
99 compatible = "system-device-tree-v1,lop,code-v1";
100 code = "
101 if __selected__:
102 for n in __selected__:
103 n.tunes['pattern-compare'] = 'pattern-compare'
104 ";
105 };
106 };
107 lop_5_1 {
108 compatible = "system-device-tree-v1,lop,select-v1";
109 select_1;
110 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
111 select_3 = ":xlnx,use-reorder-instr:!0";
112 lop_5_1_1 {
113 compatible = "system-device-tree-v1,lop,code-v1";
114 code = "
115 if __selected__:
116 for n in __selected__:
117 n.tunes['reorder'] = 'reorder'
118 ";
119 };
120 };
121 lop_6_1 {
122 compatible = "system-device-tree-v1,lop,select-v1";
123 select_1;
124 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
125 select_3 = ":xlnx,area-optimized:2";
126 lop_6_1_1 {
127 compatible = "system-device-tree-v1,lop,code-v1";
128 code = "
129 if __selected__:
130 for n in __selected__:
131 n.tunes['frequency-optimized'] = 'frequency-optimized'
132 ";
133 };
134 };
135 lop_7_1 {
136 compatible = "system-device-tree-v1,lop,select-v1";
137 select_1;
138 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
139 select_3 = ":xlnx,use-hw-mul:1";
140 lop_7_1_1 {
141 compatible = "system-device-tree-v1,lop,code-v1";
142 code = "
143 if __selected__:
144 for n in __selected__:
145 n.tunes['multiply-low'] = 'multiply-low'
146 ";
147 };
148 };
149 lop_8_1 {
150 compatible = "system-device-tree-v1,lop,select-v1";
151 select_1;
152 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
153 select_3 = ":xlnx,use-hw-mul:2";
154 lop_8_1_1 {
155 compatible = "system-device-tree-v1,lop,code-v1";
156 code = "
157 if __selected__:
158 for n in __selected__:
159 n.tunes['multiply-high'] = 'multiply-high'
160 ";
161 };
162 };
163 lop_9_1 {
164 compatible = "system-device-tree-v1,lop,select-v1";
165 select_1;
166 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
167 select_3 = ":xlnx,use-div:1";
168 lop_9_1_1 {
169 compatible = "system-device-tree-v1,lop,code-v1";
170 code = "
171 if __selected__:
172 for n in __selected__:
173 n.tunes['divide-hard'] = 'divide-hard'
174 ";
175 };
176 };
177 lop_10_1 {
178 compatible = "system-device-tree-v1,lop,select-v1";
179 select_1;
180 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
181 select_3 = ":xlnx,use-fpu:!1";
182 select_4 = ":xlnx,use-fpu:!2";
183 lop_10_1_1 {
184 compatible = "system-device-tree-v1,lop,code-v1";
185 code = "
186 if __selected__:
187 for n in __selected__:
188 n.tunes['fpu-soft'] = 'fpu-soft'
189 ";
190 };
191 };
192 lop_11_1 {
193 compatible = "system-device-tree-v1,lop,select-v1";
194 select_1;
195 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
196 select_3 = ":xlnx,use-fpu:1";
197 lop_11_1_1 {
198 compatible = "system-device-tree-v1,lop,code-v1";
199 code = "
200 if __selected__:
201 for n in __selected__:
202 n.tunes['fpu-hard'] = 'fpu-hard'
203 ";
204 };
205 };
206 lop_12_1 {
207 compatible = "system-device-tree-v1,lop,select-v1";
208 select_1;
209 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
210 select_3 = ":xlnx,use-fpu:2";
211 lop_12_1_1 {
212 compatible = "system-device-tree-v1,lop,code-v1";
213 code = "
214 if __selected__:
215 for n in __selected__:
216 n.tunes['fpu-hard-extended'] = 'fpu-hard-extended'
217 ";
218 };
219 };
220 lop_output_tunes {
221 compatible = "system-device-tree-v1,lop,select-v1";
222 select_1;
223 select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze";
224 lop_output_code {
225 compatible = "system-device-tree-v1,lop,code-v1";
226 code = "
227 cpu_addr = 0
228 for n in __selected__:
229 tname = re.split('@', n.name)
230 tname = tname[0]+str(cpu_addr)
231 cpu_addr += 1
232 print( 'AVAILTUNES += \"microblaze-%s\"' % tname )
233 print( 'TUNE_FEATURES:tune-microblaze-%s = \"' % tname, end='' )
234 for t in n.tunes.values():
235 print( ' %s' % t, end='' )
236 print( '\"' )
237 print( 'PACKAGE_EXTRA_ARCHS:tune-microblaze-%s = \"${TUNE_PKGARCH}\"' % tname )
238 print( 'TUNE_FEATURES:tune-%s = \"${TUNE_FEATURES:tune-microblaze-%s}\"\\n' % (n.tune_type,tname) )
239
240 ";
241 };
242 };
243 };
244};
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts
deleted file mode 100644
index 67d68bba..00000000
--- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts
+++ /dev/null
@@ -1,127 +0,0 @@
1/*
2 * Copyright (c) 2019,2020 Xilinx Inc. All rights reserved.
3 *
4 * Author:
5 * Bruce Ashfield <bruce.ashfield@xilinx.com>
6 *
7 * SPDX-License-Identifier: BSD-3-Clause
8 */
9
10/dts-v1/;
11
12/ {
13 compatible = "system-device-tree-v1,lop";
14 lops {
15 compatible = "system-device-tree-v1,lop";
16 lop_0_1 {
17 compatible = "system-device-tree-v1,lop,select-v1";
18 select_1;
19 select_2 = "/.*:os,type:.*";
20 lop_0_2 {
21 compatible = "system-device-tree-v1,lop,code-v1";
22 inherit = "lopper_lib";
23 code = "
24 for s in __selected__:
25 os_type = s['os,type'].value[0]
26 try:
27 domain_name = s.label
28 except:
29 domain_name = s.name
30 if not domain_name:
31 domain_name = s.name
32 try:
33 cpu = s['cpus']
34 except:
35 print( '[ERROR]: os,type node, has no cpu reference' )
36 try:
37 cpu_node = tree.pnode( cpu.value[0] )
38 cpu_mask = cpu[1]
39 except:
40 print( '[ERROR]: os,type node, has invalid cpu reference' )
41
42 cpu_output = {}
43 cpus_refd, cpus_unrefd = lopper_lib.cpu_refs( tree, cpu )
44 for c in cpus_refd:
45 cpu_type = c['compatible'].value[0]
46 cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,domain_name,os_type)
47
48 # print the summary lines
49 for o in cpu_output.values():
50 print( '%s' % o )
51 ";
52 };
53 };
54 lop_0_3 {
55 compatible = "system-device-tree-v1,lop,select-v1";
56 select_1;
57 select_2 = "/.*:compatible:openamp,domain-v1";
58 select_3 = ":!os,type:";
59 select_4 = ":compatible:!xilinx,subsystem-v1";
60 lop_0_3_1 {
61 compatible = "system-device-tree-v1,lop,code-v1";
62 inherit = "lopper_lib";
63 code = "
64 if __selected__:
65 print( '# global \\'all\\' domains' )
66 # __selected__ are domains with no os,type specificiation
67 # we'll dump them to a global 'all' domain
68 for s in __selected__:
69 os_type = 'linux'
70 try:
71 domain_name = s.label
72 except:
73 domain_name = s.name
74 if not domain_name:
75 domain_name = s.name
76 try:
77 cpu = s['cpus']
78 except:
79 print( '[ERROR]: os,type node, has no cpu reference' )
80 try:
81 cpu_node = tree.pnode( cpu.value[0] )
82 cpu_mask = cpu[1]
83 except:
84 print( '[ERROR]: os,type node, has invalid cpu reference' )
85
86 cpu_output = {}
87 cpus_refd, cpus_unrefd = lopper_lib.cpu_refs( tree, cpu )
88 for c in cpus_refd:
89 cpu_type = c['compatible'].value[0]
90 cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,domain_name,os_type)
91
92 # print the summary lines
93 for o in cpu_output.values():
94 print( '%s' % o )
95 ";
96 };
97 };
98 lop_0_4 {
99 compatible = "system-device-tree-v1,lop,select-v1";
100 select_1;
101 select_2 = "/.*:compatible:cpus,cluster";
102 lop_0_3_1 {
103 compatible = "system-device-tree-v1,lop,code-v1";
104 inherit = "lopper_lib";
105 code = "
106 cpu_output = {}
107 for c in __selected__:
108 for c_node in c.subnodes( children_only = True ):
109 try:
110 cpu_node = c_node['device_type'].value[0]
111 except:
112 cpu_node = None
113 if cpu_node:
114 if c_node.ref == 0:
115 cpu_type = c_node['compatible'].value[0]
116 cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,'None','None')
117
118 if cpu_output:
119 print( '# global no-domain cpus' )
120
121 for o in cpu_output.values():
122 print( '%s' % o )
123 ";
124 };
125 };
126 };
127};