blob: ef926bc1385a71f03a2bd6e4f3dcffc3c8098547 [file] [log] [blame]
developerf11ee162022-04-12 11:17:45 +08001FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/generic/backport-5.4:"
3FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/generic/pending-5.4:"
4FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/generic/hack-5.4:"
5FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/mediatek/patches-5.4:"
developerf79ad452022-07-12 11:37:54 +08006FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/mediatek/flow_patch:"
developer3d4e4572023-01-04 17:20:43 +08007FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/mediatek/nf_hnat:"
developer96dea742023-06-19 11:13:22 +08008FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}/mediatek/wed3:"
developerf11ee162022-04-12 11:17:45 +08009
developer5dd0a6b2022-07-06 15:03:09 +080010KBRANCH ?= "linux-5.4.y"
developerf11ee162022-04-12 11:17:45 +080011
developercc8110b2024-08-19 13:53:34 +080012LINUX_VERSION ?= "5.4.281"
13SRCREV_machine ?= "84d75fd864979b0228cfe7170a359c0a60f04a98"
developerf11ee162022-04-12 11:17:45 +080014KMETA = "kernel-meta"
15SRCREV_meta ?= "feeb59687bc0f054af837a5061f8d413ec7c93e9"
16
17DEPENDS_append = " kern-tools-native xz-native bc-native"
18
19SRC_URI = " \
developer5dd0a6b2022-07-06 15:03:09 +080020 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;protocol=https;branch=${KBRANCH};name=machine \
developerf11ee162022-04-12 11:17:45 +080021 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \
22 file://generic \
23 file://mediatek \
24 file://generic/defconfig \
25 file://001-rdkb-eth-mtk-change-ifname-for.patch;apply=no \
developerd13f09a2022-06-01 19:25:09 +080026 file://003-rdkb-mtd-kernel-ubi-relayout.patch;apply=no \
developer4d6b46b2023-01-30 17:05:27 +080027 file://004-rdkb-hnat-bind-ifname.patch;apply=no \
developer550c7bf2024-06-28 19:15:12 +080028 file://002-bpi_r4-lan0_as_wan.patch;apply=no \
developerf11ee162022-04-12 11:17:45 +080029 "
developer266c5292022-10-18 16:32:50 +080030SRC_URI_append_mt7988 += " \
31 file://mediatek/mt7988.cfg \
32"
developerf11ee162022-04-12 11:17:45 +080033SRC_URI_append_mt7986 += " \
34 file://mediatek/mt7986.cfg \
35"
36SRC_URI_append_mt7986-32bit += " \
developer49e63962022-04-19 10:14:08 +080037 file://mediatek/patches-32bit-5.4/mt7986-32bit.cfg \
38 file://mediatek/patches-32bit-5.4/401-pinctrl-add-mt7986-driver-32bit.patch \
39 file://mediatek/patches-32bit-5.4/999-add_armv7_support_for_panther.patch \
developerf11ee162022-04-12 11:17:45 +080040"
developer21164f32022-04-22 16:48:46 +080041SRC_URI_append += " \
42 file://rdkb_cfg/iptables.cfg \
43 file://rdkb_cfg/turris_rdkb.cfg \
44 file://rdkb_cfg/openvswitch.cfg \
developer3d4e4572023-01-04 17:20:43 +080045 ${@bb.utils.contains('DISTRO_FEATURES', 'mt76', 'file://rdkb_cfg/mac80211.cfg', 'file://rdkb_cfg/nf_hnat.cfg', d)} \
developer21164f32022-04-22 16:48:46 +080046 file://rdkb_cfg/prplmesh.cfg \
developer2a130182022-05-30 16:13:51 +080047 file://rdkb_cfg/filogic_rdkb.cfg \
developera84877f2023-01-18 09:21:27 +080048 ${@bb.utils.contains('DISTRO_FEATURES','emmc','file://rdkb_cfg/emmc.cfg','',d)} \
developere67feac2023-08-11 17:38:58 +080049 ${@bb.utils.contains('DISTRO_FEATURES','ccn34','file://rdkb_cfg/tops.cfg','',d)} \
developerd5b75962024-02-20 15:57:35 +080050 ${@bb.utils.contains('DISTRO_FEATURES','ccn34','file://rdkb_cfg/eip-197.cfg','',d)} \
developer21164f32022-04-22 16:48:46 +080051"
developer8c5c4b82023-04-14 13:35:33 +080052
developer96dea742023-06-19 11:13:22 +080053SRC_URI_append += " \
developer8c5c4b82023-04-14 13:35:33 +080054 ${@bb.utils.contains('DISTRO_FEATURES','flow_offload','file://rdkb_cfg/bridge_netfilter.cfg','',d)} \
55"
56
developerf11ee162022-04-12 11:17:45 +080057require ${PN}-${PV}/generic/backport-5.4/backport-5.4.inc
58
59require ${PN}-${PV}/generic/pending-5.4/pending-5.4.inc
60SRC_URI_remove = " \
61 file://530-jffs2_make_lzma_available.patch \
62 "
63require ${PN}-${PV}/generic/hack-5.4/hack-5.4.inc
64SRC_URI_remove = " \
65 file://531-debloat_lzma.patch \
66 "
67require ${PN}-${PV}/mediatek/patches-5.4/patches-5.4.inc
developer41913262022-12-19 19:45:32 +080068
developer49e63962022-04-19 10:14:08 +080069SRC_URI_remove_mt7986-32bit = " \
developer77beb692023-06-08 11:08:46 +080070 file://999-2020-pinctrl-add-mt7986-driver.patch \
developerf11ee162022-04-12 11:17:45 +080071 "
developer100f47c2023-02-15 13:25:01 +080072SRC_URI_append_secureboot += " \
73 file://0404-mtdsplit-dm-verity.patch;apply=no \
74 file://0800-dm-verity-redo-hash-for-safexel-sha256.patch;apply=no \
75 file://0801-dm-support-get-device-by-part-uuid-and-label.patch;apply=no \
76 file://0802-dm-expose-create-parameter-to-sysfs.patch;apply=no \
77"
developerf11ee162022-04-12 11:17:45 +080078require linux-mediatek.inc
79
80do_patch_prepend () {
81 cp -Rfp ${WORKDIR}/generic/files/* ${S}/
82 cp -Rfp ${WORKDIR}/generic/files-5.4/* ${S}/
83 cp -Rfp ${WORKDIR}/mediatek/files-5.4/* ${S}/
84}
85
86do_filogic_patches() {
87 cd ${S}
developere6cee7d2022-11-16 18:00:20 +080088 DISTRO_FlowBlock_ENABLED="${@bb.utils.contains('DISTRO_FEATURES','flow_offload','true','false',d)}"
developer3d4e4572023-01-04 17:20:43 +080089 DISTRO_logan_ENABLED="${@bb.utils.contains('DISTRO_FEATURES','logan','true','false',d)}"
developer100f47c2023-02-15 13:25:01 +080090 DISTRO_secure_boot_ENABLED="${@bb.utils.contains('DISTRO_FEATURES','secure_boot','true','false',d)}"
developeraf13aa72023-08-21 19:44:20 +080091 DISTRO_ccn34_build_ENABLED="${@bb.utils.contains('DISTRO_FEATURES','ccn34','true','false',d)}"
developer550c7bf2024-06-28 19:15:12 +080092 DISTRO_LAN_AS_WAN_ENABLED="${@bb.utils.contains('DISTRO_FEATURES','lan0_as_wan','true','false',d)}"
developeraf13aa72023-08-21 19:44:20 +080093 if [ $DISTRO_ccn34_build_ENABLED = 'true' ]; then
94 rm -rf ${WORKDIR}/mediatek/nf_hnat/999-40*.patch
95 rm -rf ${WORKDIR}/mediatek/nf_hnat/999-41*.patch
96 rm -rf ${WORKDIR}/mediatek/nf_hnat/999-45*.patch
97 fi
developerf11ee162022-04-12 11:17:45 +080098 if [ ! -e patch_applied ]; then
99 patch -p1 < ${WORKDIR}/001-rdkb-eth-mtk-change-ifname-for.patch
developerd13f09a2022-06-01 19:25:09 +0800100 patch -p1 < ${WORKDIR}/003-rdkb-mtd-kernel-ubi-relayout.patch
developer550c7bf2024-06-28 19:15:12 +0800101 if [ $DISTRO_LAN_AS_WAN_ENABLED = 'true' ]; then
102 patch -p1 < ${WORKDIR}/002-bpi_r4-lan0_as_wan.patch
103 fi
developer49e63962022-04-19 10:14:08 +0800104 patch -p1 < ${WORKDIR}/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
developer655d8f02024-01-11 13:37:13 +0800105 patch -p1 < ${WORKDIR}/999-1050-v6.4-backport-jitterrng-2.2.0.patch
developer77beb692023-06-08 11:08:46 +0800106 patch -p1 < ${WORKDIR}/999-2713-mt7531-gsw-internal_phy_calibration.patch
107 patch -p1 < ${WORKDIR}/999-2714-mt7531-gsw-port5_external_phy_init.patch
developer655d8f02024-01-11 13:37:13 +0800108 patch -p1 < ${WORKDIR}/999-2737-net-mt753x-phy-coverity-scan.patch
109 patch -p1 < ${WORKDIR}/999-1710-v6.2-net-phy-add-phylink-pcs-support.patch
110 patch -p1 < ${WORKDIR}/999-1712-v6.2-net-phy-add-phylink-rate-matching-support.patch
developer0caf1462024-05-31 18:09:32 +0800111 patch -p1 < ${WORKDIR}/999-1716-v6.6-net-phy-add-phylink-pcs_enable-and-pcs_disable.patch
developer77beb692023-06-08 11:08:46 +0800112 patch -p1 < ${WORKDIR}/999-2725-iwconfig-wireless-rate-fix.patch
developere78dab52024-03-25 14:26:39 +0800113 patch -p1 < ${WORKDIR}/999-2739-drivers_net_ethernet_mediatek_hnat.patch
developer33759cf2024-10-11 15:19:50 +0800114 patch -p1 < ${WORKDIR}/999-2743-drivers-net-dsa-mxl862xx-kernel-compatible.patch
developer100f47c2023-02-15 13:25:01 +0800115 if [ $DISTRO_secure_boot_ENABLED = 'true' ]; then
116 patch -p1 < ${WORKDIR}/0404-mtdsplit-dm-verity.patch
117 patch -p1 < ${WORKDIR}/0800-dm-verity-redo-hash-for-safexel-sha256.patch
118 patch -p1 < ${WORKDIR}/0801-dm-support-get-device-by-part-uuid-and-label.patch
119 patch -p1 < ${WORKDIR}/0802-dm-expose-create-parameter-to-sysfs.patch
120 fi
developere6cee7d2022-11-16 18:00:20 +0800121 if [ $DISTRO_FlowBlock_ENABLED = 'true' ]; then
122 for i in ${WORKDIR}/mediatek/flow_patch/*.patch; do patch -p1 < $i; done
123 fi
developer3d4e4572023-01-04 17:20:43 +0800124 if [ $DISTRO_logan_ENABLED = 'true' ]; then
developercc326e22023-01-04 18:51:23 +0800125 for i in ${WORKDIR}/mediatek/nf_hnat/6*.patch; do patch -p1 < $i; done
developercabd7bd2023-06-08 14:49:44 +0800126 for i in ${WORKDIR}/mediatek/nf_hnat/9*.patch; do patch -p1 < $i; done
developer4d6b46b2023-01-30 17:05:27 +0800127 patch -p1 < ${WORKDIR}/004-rdkb-hnat-bind-ifname.patch
developer3d4e4572023-01-04 17:20:43 +0800128 fi
developerf11ee162022-04-12 11:17:45 +0800129 touch patch_applied
130 fi
131}
132
133addtask filogic_patches after do_patch before do_compile
developer3d4e4572023-01-04 17:20:43 +0800134
developere67feac2023-08-11 17:38:58 +0800135KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES','logan','mtkhnat nf_flow_table_hw','',d)}"