aboutsummaryrefslogtreecommitdiffstats
path: root/sys-kernel/sifive-sources/sifive-sources-5.14.3.ebuild
blob: e749a0992c4f2ff51c52e47c370d61400de082b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="8"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="4"

inherit kernel-2
detect_version
detect_arch

KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
HOMEPAGE="https://github.com/sifive/meta-sifive"
IUSE="experimental"

META_SIFIVE="2021.08"

DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree and meta-sifive-${META_SIFIVE} patches"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} https://github.com/sifive/meta-sifive/archive/refs/heads/${META_SIFIVE}.zip -> meta-sifive-${META_SIFIVE}.zip"


src_prepare() {
	unpack meta-sifive-${META_SIFIVE}.zip
	local SIFIVE_PATCH
	local SIFIVE_PATCHES="
		0001-riscv-sifive-fu740-cpu-1-2-3-4-set-compatible-to-sif.patch
		0003-riscv-sifive-unmatched-add-D12-PWM-LED.patch
		0004-riscv-sifive-unmatched-add-gpio-poweroff-node.patch
		0005-riscv-sifive-unmatched-add-D2-RGB-LED.patch
		0006-riscv-sifive-unmatched-remove-A00-from-model.patch
		0007-riscv-sifive-unmatched-define-LEDs-color.patch
		0009-SiFive-HiFive-Unleashed-Add-PWM-LEDs-D1-D2-D3-D4.patch
		0010-riscv-sifive-unleashed-define-opp-table-cpufreq.patch
		"

	local SIFIVE_PATH="${WORKDIR}/linux-${KV_FULL}/meta-sifive-${META_SIFIVE}/recipes-kernel/linux/files"
	for SIFIVE_PATCH in $SIFIVE_PATCHES
	do
		eapply "${SIFIVE_PATH}/${SIFIVE_PATCH}"
	done

	cp "${WORKDIR}/linux-${KV_FULL}/meta-sifive-${META_SIFIVE}/recipes-kernel/linux/files/defconfig" "${WORKDIR}/linux-${KV_FULL}/arch/riscv/configs/unmatched_defconfig"
	rm -R "${WORKDIR}/linux-${KV_FULL}/meta-sifive-${META_SIFIVE}"
	eapply_user
}

pkg_postinst() {
	kernel-2_pkg_postinst
	einfo "For more info on this patchset, and how to report problems, see:"
	einfo "${HOMEPAGE}"
}

pkg_postrm() {
	kernel-2_pkg_postrm
}