2020-02-28 21:55:55 +01:00
|
|
|
SECTION = "kernel"
|
2022-04-21 21:23:20 +02:00
|
|
|
LICENSE = "GPL-2.0-only"
|
2021-08-23 18:39:23 +02:00
|
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
2024-12-08 01:08:31 +01:00
|
|
|
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
|
2020-02-28 21:55:55 +01:00
|
|
|
|
|
|
|
inherit kernel
|
|
|
|
|
|
|
|
require linux.inc
|
|
|
|
|
2024-04-25 08:49:45 +02:00
|
|
|
LINUX_VERSION = "${PV}"
|
|
|
|
|
2023-10-24 13:12:53 +02:00
|
|
|
KERNEL_DTB_PREFIX = "0"
|
|
|
|
|
|
|
|
python() {
|
|
|
|
# return version in int form
|
|
|
|
def kernel_version():
|
|
|
|
ver = d.getVar('PV', True).split('.')
|
|
|
|
return int("".join(ver[0])),int("".join(ver[1]))
|
|
|
|
|
|
|
|
# kernel 6.5 have updated dts path add 'allwinner' prefix automatically
|
|
|
|
major, minor = kernel_version()
|
|
|
|
if major >= 6 and minor >= 5:
|
|
|
|
dt = d.getVar('KERNEL_DEVICETREE', True)
|
2023-11-20 13:02:33 +01:00
|
|
|
if not "allwinner" in dt:
|
|
|
|
dt = "allwinner/{0}".format(dt)
|
|
|
|
d.setVar('KERNEL_DEVICETREE', dt)
|
2023-10-24 13:12:53 +02:00
|
|
|
d.setVar('KERNEL_DTB_PREFIX', "1")
|
|
|
|
}
|
|
|
|
|
2020-02-28 21:55:55 +01:00
|
|
|
# Since we're not using git, this doesn't make a difference, but we need to fill
|
|
|
|
# in something or kernel-yocto.bbclass will fail.
|
|
|
|
KBRANCH ?= "master"
|
|
|
|
|
|
|
|
DEPENDS += "rsync-native"
|
|
|
|
|
|
|
|
# Pull in the devicetree files into the rootfs
|
|
|
|
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
|
|
|
|
|
|
|
|
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
|
|
|
|
|
|
|
S = "${WORKDIR}/linux-${PV}"
|
|
|
|
|
2023-02-03 13:32:36 +01:00
|
|
|
# get release version 5.x or 6.x based on version
|
|
|
|
KRELEASE = "${@d.getVar('PV', True).split('.')[0]}"
|
|
|
|
|
|
|
|
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v${KRELEASE}.x/linux-${PV}.tar.xz \
|
2024-04-25 23:35:48 +02:00
|
|
|
file://defconfig \
|
|
|
|
file://sunxi-kmeta;type=kmeta;name=sunxi-kmeta;destsuffix=sunxi-kmeta \
|
2023-10-24 13:12:53 +02:00
|
|
|
"
|
|
|
|
|
|
|
|
# append patches for kernels before 6.5 and after based on version
|
|
|
|
SRC_URI += "${@oe.utils.ifelse(d.getVar('KERNEL_DTB_PREFIX') == '1', d.getVar('SOURCES_K65'), d.getVar('SOURCES'))}"
|
|
|
|
|
|
|
|
SOURCES_K65 = " \
|
|
|
|
file://6.5/0001-dts-orangepi-zero-Add-wifi-support.patch \
|
|
|
|
file://6.5/0002-dts-nanopi-neo-air-Add-camera-support.patch \
|
|
|
|
file://6.5/0003-dts-allwinner-bananapi-m2-zero-Enforce-consistent-MM.patch \
|
|
|
|
file://6.5/0004-dts-allwinner-bananapi-m64-Consistent-nodes-for-mmc-devices.patch \
|
|
|
|
"
|
|
|
|
|
|
|
|
SOURCES = " \
|
2020-02-28 21:55:55 +01:00
|
|
|
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
|
2022-10-10 19:29:12 +02:00
|
|
|
file://0002-dts-nanopi-neo-air-add-camera.patch \
|
2022-12-09 18:09:44 +01:00
|
|
|
file://0003-dts-allwinner-bananapi-m2-zreo-Enforce-consistent-MM.patch \
|
2023-05-11 11:58:37 +02:00
|
|
|
file://0004-dts-allwinner-bananapi-m64-Consistent-nodes-for-mmc-devices.patch \
|
2020-02-28 21:55:55 +01:00
|
|
|
"
|
|
|
|
|
2021-08-23 18:39:23 +02:00
|
|
|
SRC_URI:append:use-mailine-graphics = " file://drm.cfg"
|
|
|
|
SRC_URI:append:bananapi = " file://axp20x.cfg"
|
2022-12-08 17:09:33 +01:00
|
|
|
SRC_URI:append:bananapi-m2-zero = " file://axp20x.cfg"
|
2021-08-23 18:39:23 +02:00
|
|
|
SRC_URI:append:cubietruck = " file://axp20x.cfg"
|
2022-10-10 19:29:12 +02:00
|
|
|
SRC_URI:append:nanopi-neo-air = " file://cam500b.cfg"
|
2024-05-01 21:41:30 +02:00
|
|
|
SRC_URI:append:orange-pi-prime = " \
|
|
|
|
file://0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch \
|
|
|
|
file://0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch \
|
|
|
|
file://0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch \
|
|
|
|
"
|
2019-11-20 22:55:35 +01:00
|
|
|
|
2021-08-23 18:39:23 +02:00
|
|
|
FILES_${KERNEL_PACKAGE_NAME}-base:append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
|