diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 47d4e73b42..35a07f2aad 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/feeds.mk PKG_NAME:=base-files -PKG_RELEASE:=242 +PKG_RELEASE:=243 PKG_FLAGS:=nonshared PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 3300d8e1ea..7977b06ef1 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -131,12 +131,19 @@ list_changed_conffiles() { done } +list_static_conffiles() { + local filter=$1 + + find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \ + /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \ + \( -type f -o -type l \) $filter 2>/dev/null +} + add_conffiles() { local file="$1" - ( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \ - /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \ - \( -type f -o -type l \) $find_filter 2>/dev/null; - list_changed_conffiles ) | sort -u > "$file" + + ( list_static_conffiles "$find_filter"; list_changed_conffiles ) | + sort -u > "$file" return 0 } @@ -154,9 +161,7 @@ add_overlayfiles() { # backup files from /etc/sysupgrade.conf and /lib/upgrade/keep.d, but # ignore those aready controlled by opkg conffiles - find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \ - /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \ - \( -type f -o -type l \) 2>/dev/null | sort -u | + list_static_conffiles | sort -u | grep -h -v -x -F -f $conffiles > "$keepfiles" # backup conffiles, but only those changed if '-u' diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile index 590e38d883..8bc2c00ba5 100644 --- a/package/boot/uboot-envtools/Makefile +++ b/package/boot/uboot-envtools/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uboot-envtools PKG_DISTNAME:=u-boot PKG_VERSION:=2020.04 -PKG_RELEASE:=9 +PKG_RELEASE:=17 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 1eaaa06f0e..dedf7160f0 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -48,6 +48,7 @@ netgear,wnr2200-16m|\ netgear,wnr612-v2|\ ocedo,koala|\ ocedo,raccoon|\ +openmesh,om5p|\ openmesh,om5p-ac-v2|\ samsung,wam250|\ ubnt,nanostation-m|\ @@ -85,6 +86,13 @@ netgear,wndr4300tn|\ netgear,wndr4300sw) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000" ;; +openmesh,om2p-v2|\ +openmesh,om2p-v4|\ +openmesh,om2p-hs-v1|\ +openmesh,om2p-hs-v2|\ +openmesh,om2p-hs-v3|\ +openmesh,om2p-hs-v4|\ +openmesh,om2p-lc|\ plasmacloud,pa300|\ plasmacloud,pa300e) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000" diff --git a/package/firmware/ath10k-ct-firmware/Makefile b/package/firmware/ath10k-ct-firmware/Makefile index 83e5563e64..4fd7266f22 100644 --- a/package/firmware/ath10k-ct-firmware/Makefile +++ b/package/firmware/ath10k-ct-firmware/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct-firmware -PKG_VERSION:=2020-07-02 -PKG_RELEASE:=3 +PKG_VERSION:=2020-11-08 +PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk @@ -28,120 +28,120 @@ define Download/ct-firmware-htt URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT) endef -QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.019 +QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.022 define Download/ath10k-firmware-qca988x-ct $(call Download/ct-firmware,QCA988X,) - HASH:=8b4c99253aa309d35f2e060c190091b8db1b84dbda06a6a15c83ac0f9a938126 + HASH:=398e4380e7e55105f3da0f78af29d1e437404ed3a82597aa4b6daaa7dce1a38e endef $(eval $(call Download,ath10k-firmware-qca988x-ct)) -QCA988X_FIRMWARE_FILE_CT_FULL_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.019 +QCA988X_FIRMWARE_FILE_CT_FULL_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.022 define Download/ath10k-firmware-qca988x-ct-full-htt $(call Download/ct-firmware-full-htt,QCA988X,) - HASH:=a7168916d6aa5e4d7858f8b620c0c980c76d03f390929db6f4077685ce2051e7 + HASH:=990d9cbf79dd81f141257a289f89808bd7726406c9ed845a7e49e5167002ffde endef $(eval $(call Download,ath10k-firmware-qca988x-ct-full-htt)) -QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.019 +QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.022 define Download/ath10k-firmware-qca9887-ct $(call Download/ct-firmware,QCA9887,ath10k-9887) - HASH:=459692deb186a63ab8eeddb7ad5d54779266e68ca686e7c46062554db6dca12b + HASH:=a526cb44560da569781e10bf608194b1eff29b250e9887dba6d4d9a15c921c1e endef $(eval $(call Download,ath10k-firmware-qca9887-ct)) -QCA9887_FIRMWARE_FILE_CT_FULL_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.019 +QCA9887_FIRMWARE_FILE_CT_FULL_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.022 define Download/ath10k-firmware-qca9887-ct-full-htt $(call Download/ct-firmware-full-htt,QCA9887,ath10k-9887) - HASH:=fd126a457d0927d0c8ea10d66ef5b67d5e1e0741f8692bb3016bb602d0af3098 + HASH:=0b60fc558b773e9cbd5c2df903c894a030872fdb96390b0cca4b23b7fc7b881f endef $(eval $(call Download,ath10k-firmware-qca9887-ct-full-htt)) -QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019 +QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.022 define Download/ath10k-firmware-qca99x0-ct $(call Download/ct-firmware,QCA99X0,ath10k-10-4b) - HASH:=7dc934f934bc4973c9273a4f22cfead8e26ec6f579647af31b718a860eca0a4b + HASH:=578ad67976b61a393eb820a05e8eae70ec95f6b803bedbe952b8ff573eb09abe endef $(eval $(call Download,ath10k-firmware-qca99x0-ct)) -QCA99X0_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019 +QCA99X0_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca99x0-ct-full-htt $(call Download/ct-firmware-full-htt,QCA99X0,ath10k-10-4b) - HASH:=71a27b245a382fe009938d2826d5c97a90dceb10ddf638325268df91837ea302 + HASH:=8ea5c9f27c048796d406706a9c8471cd070f5aeb768622bb334a04853d557a4d endef $(eval $(call Download,ath10k-firmware-qca99x0-ct-full-htt)) -QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.019 +QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca99x0-ct-htt $(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b) - HASH:=9ed4fe41e5b0f30172f71ae0fe382dc0aab8aa4f8a898417af4f7ee936575ef6 + HASH:=7b0b7545114e8dc0f2c70dc8a43a5a48d84d37f2a4673977a692c5f3361445c6 endef $(eval $(call Download,ath10k-firmware-qca99x0-ct-htt)) -QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019 +QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.022 define Download/ath10k-firmware-qca9984-ct $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4b) - HASH:=32d13f432691fe759ded7d027052e925233adb436cd8f729f85ec3d19ccd1dfd + HASH:=7bfe5bf7c38532fa57db62ebc56ec625583928d5d4736475d5dec4d4ae031154 endef $(eval $(call Download,ath10k-firmware-qca9984-ct)) -QCA9984_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019 +QCA9984_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca9984-ct-full-htt $(call Download/ct-firmware-full-htt,QCA9984,ath10k-9984-10-4b) - HASH:=e8ab69777bd00b5fc6b1b7acccb55b903553a99932a5b0351602b5f690106588 + HASH:=672be40c4d987d7e8e309341262a37cda7baf925416d1dc651284b6d2bd30969 endef $(eval $(call Download,ath10k-firmware-qca9984-ct-full-htt)) -QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.019 +QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca9984-ct-htt $(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b) - HASH:=74449b303b626e0713b3fd4f2d6103d65859403b2dd7bdd8882aa772b69b59c7 + HASH:=a24e887f13aca4358ab2b6a42a7212d066e4d19e29b00bb26f9681b1dc8d0eb0 endef $(eval $(call Download,ath10k-firmware-qca9984-ct-htt)) -QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019 +QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.022 define Download/ath10k-firmware-qca4019-ct $(call Download/ct-firmware,QCA4019,ath10k-4019-10-4b) - HASH:=4b89763087c7ed9b56046c4e621b7f045e452436d8d9b430a5d171179e313592 + HASH:=503956d9bf09d603e4cf36ac080fa5b5a22032166204e3c15ae898647bc50df3 endef $(eval $(call Download,ath10k-firmware-qca4019-ct)) -QCA4019_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019 +QCA4019_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca4019-ct-full-htt $(call Download/ct-firmware-full-htt,QCA4019,ath10k-4019-10-4b) - HASH:=fba591e5777c53b82542ba16cae69d9bb4684837f2fa4cee1b9b26f648096748 + HASH:=591bf9ed00fb540d7ba034453f17696e8dd91a4b7d81f7cc1ec41f447fa74831 endef $(eval $(call Download,ath10k-firmware-qca4019-ct-full-htt)) -QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.019 +QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca4019-ct-htt $(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b) - HASH:=0d534c3c424184b8ec2773f15c8933bdab0d39b6f664d2578c6602b0eb7035d1 + HASH:=06e58a283ff90d021ff7cb58684cbf39750bd71cf91c56b32add64253133929c endef $(eval $(call Download,ath10k-firmware-qca4019-ct-htt)) -QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019 +QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.022 define Download/ath10k-firmware-qca9888-ct $(call Download/ct-firmware,QCA9888,ath10k-9888-10-4b) - HASH:=048f4300725e6ebbf94a6bf4f3f4e4592c446fcdbe1d801aaac024b15e89e0c9 + HASH:=82ff5afcf0c9dcdb03b0b40c6eddc81e11b18e4f522f681935b5ec42537972ee endef $(eval $(call Download,ath10k-firmware-qca9888-ct)) -QCA9888_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019 +QCA9888_FIRMWARE_FILE_CT_FULL_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca9888-ct-full-htt $(call Download/ct-firmware-full-htt,QCA9888,ath10k-9888-10-4b) - HASH:=d2a7e9fea6bd854721b3fc03a3a00d379d303b2bce339377ee87a1c14a60312d + HASH:=1a741f2cf43fbea24ed831b4e76cbb114b525d1ee9b917ce0000916cbcc42f92 endef $(eval $(call Download,ath10k-firmware-qca9888-ct-full-htt)) -QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.019 +QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-htt-mgt-community-12.bin-lede.022 define Download/ath10k-firmware-qca9888-ct-htt $(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b) - HASH:=e52a6db33347c641ee791fd9a3a57a2503cdda1adc6b8d943e336431528b9d2a + HASH:=34bf07912a2f3fce4a5887c690848bb06d339bd1c86541b0b57b9c45eccc88e4 endef $(eval $(call Download,ath10k-firmware-qca9888-ct-htt)) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index b02c6389e7..d5b51e91d6 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -1,16 +1,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct -PKG_RELEASE=3 +PKG_RELEASE=1 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-10-08 -PKG_SOURCE_VERSION:=1d28d176e5b6e63a6583f497adf68e1d9c1dc962 -PKG_MIRROR_HASH:=f611762647822742f7c8f9da242e33d9bf6da0a14976b87408af28f280802ae0 +PKG_SOURCE_DATE:=2020-12-24 +PKG_SOURCE_VERSION:=b753e8bf22b94297acbaa370b4cb0be87e3da4b8 +PKG_MIRROR_HASH:=e026296208e0c20fd0775704c2167da5a447aef4080cedc5fba0797f0e180d8d # Build the 5.8 ath10k-ct driver version. # Probably this should match as closely as diff --git a/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch b/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch index 51cca227d5..1fe52b96b9 100644 --- a/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch +++ b/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch @@ -11,7 +11,7 @@ Signed-off-by: Sven Eckelmann --- a/ath10k-5.8/mac.c +++ b/ath10k-5.8/mac.c -@@ -6653,6 +6653,7 @@ static void ath10k_recalculate_mgmt_rate +@@ -6691,6 +6691,7 @@ static void ath10k_recalculate_mgmt_rate return; } @@ -19,7 +19,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->mgmt_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, hw_rate_code); -@@ -6879,6 +6880,7 @@ static void ath10k_bss_info_changed(stru +@@ -6917,6 +6918,7 @@ static void ath10k_bss_info_changed(stru "mac vdev %d mcast_rate %x\n", arvif->vdev_id, rate); @@ -27,7 +27,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->mcast_data_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, rate); -@@ -6887,6 +6889,7 @@ static void ath10k_bss_info_changed(stru +@@ -6925,6 +6927,7 @@ static void ath10k_bss_info_changed(stru "failed to set mcast rate on vdev %i: %d\n", arvif->vdev_id, ret); diff --git a/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index 92f20cb4c0..e5a83ccb97 100644 --- a/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -161,7 +161,7 @@ v13: .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR, .uart_pin = 7, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH, -@@ -3675,6 +3681,10 @@ int ath10k_core_start(struct ath10k *ar, +@@ -3688,6 +3694,10 @@ int ath10k_core_start(struct ath10k *ar, ath10k_wmi_check_apply_board_power_ctl_table(ar); } @@ -172,7 +172,7 @@ v13: return 0; err_hif_stop: -@@ -3933,9 +3943,18 @@ static void ath10k_core_register_work(st +@@ -3946,9 +3956,18 @@ static void ath10k_core_register_work(st goto err_spectral_destroy; } @@ -191,7 +191,7 @@ v13: err_spectral_destroy: ath10k_spectral_destroy(ar); err_debug_destroy: -@@ -3995,6 +4014,8 @@ void ath10k_core_unregister(struct ath10 +@@ -4008,6 +4027,8 @@ void ath10k_core_unregister(struct ath10 if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) return; @@ -210,7 +210,7 @@ v13: #include "htt.h" #include "htc.h" -@@ -1523,6 +1524,13 @@ struct ath10k { +@@ -1530,6 +1531,13 @@ struct ath10k { } testmode; struct { diff --git a/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch index cd3b7c5e6e..3f7c405efb 100644 --- a/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch +++ b/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch @@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin --- a/ath10k-5.8/core.h +++ b/ath10k-5.8/core.h -@@ -1631,6 +1631,10 @@ struct ath10k { +@@ -1638,6 +1638,10 @@ struct ath10k { u8 csi_data[4096]; u16 csi_data_len; @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/ath10k-5.8/mac.c +++ b/ath10k-5.8/mac.c -@@ -10680,7 +10680,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -10718,7 +10718,7 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; #ifdef CPTCFG_MAC80211_LEDS diff --git a/package/kernel/bcm63xx-cfe/Makefile b/package/kernel/bcm63xx-cfe/Makefile index 33616cc0d5..bdc8b2cc76 100644 --- a/package/kernel/bcm63xx-cfe/Makefile +++ b/package/kernel/bcm63xx-cfe/Makefile @@ -2,13 +2,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=bcm63xx-cfe -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://github.com/openwrt/bcm63xx-cfe.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-05-18 -PKG_SOURCE_VERSION:=efe3b81121a84c0b8ba6a7d0d47cd5eeeb23808d -PKG_MIRROR_HASH:=299dcf6ef1ad034df26daee6446b574abcd7526a2fe90fb8115890e71bc0d58b +PKG_SOURCE_DATE:=2020-12-27 +PKG_SOURCE_VERSION:=c0b36917ea565c4ffac2e723f77c9d27d0691c33 +PKG_MIRROR_HASH:=75262534b1fbeba2299621ec3112d9d22b3e3de4cb73e8d7cac1e0b7e5eece77 PKG_FLAGS:=nonshared diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile index b1528ee2d1..a52d3a3504 100644 --- a/package/network/ipv6/odhcp6c/Makefile +++ b/package/network/ipv6/odhcp6c/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=16 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git -PKG_SOURCE_DATE:=2020-12-08 -PKG_SOURCE_VERSION:=0ffa3a31f7146d320214f431291c1196070a010f -PKG_MIRROR_HASH:=16eab81663ad7bd7f650c62019b65ded21f08e797874041787543e2e8ed665e8 +PKG_SOURCE_DATE:=2020-12-26 +PKG_SOURCE_VERSION:=eac1961983b8e7a74c494feedcb878170b135072 +PKG_MIRROR_HASH:=3d026e66a57082d15a848357fdd94b8332d4916aa5a3251f72c3f83da3d6513e PKG_MAINTAINER:=Hans Dedecker PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/ethtool/Makefile b/package/network/utils/ethtool/Makefile index df8d7ce119..3efc90490b 100644 --- a/package/network/utils/ethtool/Makefile +++ b/package/network/utils/ethtool/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ethtool -PKG_VERSION:=5.9 +PKG_VERSION:=5.10 PKG_RELEASE:=1 PKG_MAINTAINER:=Felix Fietkau PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/ethtool -PKG_HASH:=512932010af87bc3e09773c89baea44bca96c1da1151bbcf109fa0e055a88a6f +PKG_HASH:=817d5396a9307b4c637b435d4c558b8f5f964a1464a035ca3c0180f4cc93cfcf PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 38ef4d33bd..e62cef0713 100644 --- a/package/utils/busybox/Makefile +++ b/package/utils/busybox/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=busybox PKG_VERSION:=1.31.1 -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 @@ -28,6 +28,9 @@ PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE PKG_CPE_ID:=cpe:/a:busybox:busybox +BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT) +BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2)) + ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SUID),) PKG_FILE_MODES:=/bin/busybox:root:root:4755 endif @@ -38,9 +41,6 @@ ifeq ($(DUMP),) STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | mkhash md5) endif -BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT) -BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2)) - # All files provided by busybox will serve as fallback alternatives by opkg. # There should be no need to enumerate ALTERNATIVES entries here define Package/busybox/Default diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index e7954e96a4..f9c08776a8 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -19,6 +19,9 @@ IB_LDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR)) IB_DTSDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR))/arch/$(LINUX_KARCH)/boot/dts/ IB_IDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(STAGING_DIR_IMAGE)) +BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$(PATH)))) +BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host + all: compile $(BIN_DIR)/$(IB_NAME).tar.xz: clean @@ -98,7 +101,7 @@ endif $(INSTALL_DIR) $(PKG_BUILD_DIR)/staging_dir/host/bin $(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/ (cd $(PKG_BUILD_DIR); find staging_dir/host/bin/ $(IB_LDIR)/scripts/dtc/ -type f | \ - $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host) + $(BUNDLER_COMMAND)) $(CP) $(TOPDIR)/staging_dir/host/lib/libfakeroot* $(PKG_BUILD_DIR)/staging_dir/host/lib STRIP=$(STAGING_DIR_HOST)/bin/sstrip $(SCRIPT_DIR)/rstrip.sh $(PKG_BUILD_DIR)/staging_dir/host/bin/ (cd $(BUILD_DIR); \ diff --git a/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts index aeb1e9e424..77b2f3fa1a 100644 --- a/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts +++ b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts @@ -72,7 +72,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -128,8 +128,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0xb0000 0xf0000>; }; @@ -138,8 +138,8 @@ reg = <0x1a0000 0x10000>; }; - firmware1: partition@1b0000 { - label = "firmware1"; + fwconcat0: partition@1b0000 { + label = "fwconcat0"; reg = <0x1b0000 0x4c0000>; }; diff --git a/target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts b/target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts index b530f6aa8a..4001897adf 100644 --- a/target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts +++ b/target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts @@ -51,7 +51,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -107,8 +107,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0xb0000 0xf0000>; }; @@ -118,8 +118,8 @@ read-only; }; - firmware1: partition@1b0000 { - label = "firmware1"; + fwconcat0: partition@1b0000 { + label = "fwconcat0"; reg = <0x1b0000 0x4c0000>; }; diff --git a/target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts b/target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts index 8931a206ba..e73082267c 100644 --- a/target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts +++ b/target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts @@ -51,7 +51,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -107,8 +107,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0xb0000 0xf0000>; }; @@ -118,8 +118,8 @@ read-only; }; - firmware1: partition@1b0000 { - label = "firmware1"; + fwconcat0: partition@1b0000 { + label = "fwconcat0"; reg = <0x1b0000 0x4c0000>; }; diff --git a/target/linux/ath79/dts/ar9330_openmesh_om2p-lc.dts b/target/linux/ath79/dts/ar9330_openmesh_om2p-lc.dts new file mode 100644 index 0000000000..7383df50ab --- /dev/null +++ b/target/linux/ath79/dts/ar9330_openmesh_om2p-lc.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9330_openmesh_om2p.dtsi" + +/ { + compatible = "openmesh,om2p-lc", "qca,ar9330"; + model = "OpenMesh OM2P-LC"; +}; diff --git a/target/linux/ath79/dts/ar9330_openmesh_om2p-v2.dts b/target/linux/ath79/dts/ar9330_openmesh_om2p-v2.dts new file mode 100644 index 0000000000..659a1c71d9 --- /dev/null +++ b/target/linux/ath79/dts/ar9330_openmesh_om2p-v2.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9330_openmesh_om2p.dtsi" + +/ { + compatible = "openmesh,om2p-v2", "qca,ar9330"; + model = "OpenMesh OM2P v2"; +}; diff --git a/target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi b/target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi new file mode 100644 index 0000000000..d9ca2c0f72 --- /dev/null +++ b/target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi @@ -0,0 +1,151 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9330.dtsi" + +#include +#include + +/ { + chosen { + /delete-property/ bootargs; + }; + + aliases { + serial0 = &uart; + led-boot = &led_power_blue; + led-failsafe = &led_power_blue; + led-running = &led_power_blue; + led-upgrade = &led_power_blue; + label-mac-device = ð1; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&switch_led_disable_pins>; + + wifi_yellow { + label = "yellow:wifi"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + + led_power_blue: power_blue { + label = "blue:power"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + lan_blue { + label = "blue:lan"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + wifi_green { + label = "green:wifi"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_red { + label = "red:wifi"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + wan_blue { + label = "blue:wan"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + /* hw_margin_ms is actually 300s but driver limits it to 60s */ + hw_margin_ms = <60000>; + always-running; + }; +}; + +&uart { + status = "okay"; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + /* partitions are passed via bootloader */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x040000>; + }; + + partition@80000 { + label = "custom"; + reg = <0x080000 0x140000>; + read-only; + }; + + partition@1c0000 { + label = "inactive"; + reg = <0x1c0000 0x700000>; + }; + + partition@8c0000 { + label = "inactive2"; + reg = <0x8c0000 0x700000>; + }; + + art: partition@fc0000 { + label = "ART"; + reg = <0xfc0000 0x040000>; + read-only; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&art 0x6>; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts b/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts index e299c8529d..3121ec0e01 100644 --- a/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts +++ b/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts @@ -52,7 +52,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -112,8 +112,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0x0b0000 0x170000>; }; @@ -123,8 +123,8 @@ read-only; }; - firmware1: partition@230000 { - label = "firmware1"; + fwconcat0: partition@230000 { + label = "fwconcat0"; reg = <0x230000 0xbc0000>; }; diff --git a/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts b/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts index 94b079f94d..8b28d581b1 100644 --- a/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts +++ b/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts @@ -62,7 +62,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -122,8 +122,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0x0b0000 0x170000>; }; @@ -132,8 +132,8 @@ reg = <0x220000 0x010000>; }; - firmware1: partition@230000 { - label = "firmware1"; + fwconcat0: partition@230000 { + label = "fwconcat0"; reg = <0x230000 0xbc0000>; }; diff --git a/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v1.dts b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v1.dts new file mode 100644 index 0000000000..e1f14cd5c2 --- /dev/null +++ b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v1.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9341_openmesh_om2p-hs.dtsi" + +/ { + compatible = "openmesh,om2p-hs-v1", "qca,ar9341"; + model = "OpenMesh OM2P-HS v1"; +}; diff --git a/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v2.dts b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v2.dts new file mode 100644 index 0000000000..819a6be97f --- /dev/null +++ b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v2.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9341_openmesh_om2p-hs.dtsi" + +/ { + compatible = "openmesh,om2p-hs-v2", "qca,ar9341"; + model = "OpenMesh OM2P-HS v2"; +}; diff --git a/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v3.dts b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v3.dts new file mode 100644 index 0000000000..e3b15b17f6 --- /dev/null +++ b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v3.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9341_openmesh_om2p-hs.dtsi" + +/ { + compatible = "openmesh,om2p-hs-v3", "qca,ar9341"; + model = "OpenMesh OM2P-HS v3"; +}; diff --git a/target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi new file mode 100644 index 0000000000..403ee940c1 --- /dev/null +++ b/target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi @@ -0,0 +1,161 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9341.dtsi" + +#include +#include + +/ { + chosen { + /delete-property/ bootargs; + }; + + aliases { + serial0 = &uart; + led-boot = &led_power_blue; + led-failsafe = &led_power_blue; + led-running = &led_power_blue; + led-upgrade = &led_power_blue; + label-mac-device = ð1; + }; + + keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins &led_lan_wan_blue_pin>; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power_blue: power_blue { + label = "blue:power"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + wifi_green { + label = "green:wifi"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_red { + label = "red:wifi"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + wifi_yellow { + label = "yellow:wifi"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + lan_blue { + label = "blue:lan"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + wan_blue { + label = "blue:wan"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + /* hw_margin_ms is actually 300s but driver limits it to 60s */ + hw_margin_ms = <60000>; + always-running; + }; +}; + +&ref { + clock-frequency = <40000000>; +}; + +&uart { + status = "okay"; +}; + +&pinmux { + led_lan_wan_blue_pin: pinmux_lan_wan_blue_pin { + pinctrl-single,bits = <0x10 0x0 0x0000ffff>; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + + /* partitions are passed via bootloader */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x040000>; + }; + + partition@80000 { + label = "custom"; + reg = <0x080000 0x140000>; + read-only; + }; + + partition@1c0000 { + label = "inactive"; + reg = <0x1c0000 0x700000>; + }; + + partition@8c0000 { + label = "inactive2"; + reg = <0x8c0000 0x700000>; + }; + + art: partition@fc0000 { + label = "ART"; + reg = <0xfc0000 0x040000>; + read-only; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&art 0x6>; +}; + +ð1 { + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts b/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts index 3d9c6cb781..aaa4d1576b 100644 --- a/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts +++ b/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts @@ -96,7 +96,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&fwpart1 &fwpart2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -158,8 +158,8 @@ read-only; }; - fwpart1: partition@20000 { - label = "fwpart1"; + fwconcat0: partition@20000 { + label = "fwconcat0"; reg = <0x20000 0xdc0000>; }; @@ -168,8 +168,8 @@ reg = <0xde0000 0x10000>; }; - fwpart2: partition@df0000 { - label = "fwpart2"; + fwconcat1: partition@df0000 { + label = "fwconcat1"; reg = <0xdf0000 0x1f0000>; }; diff --git a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts index 7fb794f21c..a387cebefc 100644 --- a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts +++ b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts @@ -23,7 +23,7 @@ mtd-concat { compatible = "mtd-concat"; - devices = <&concat0 &concat1>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -166,8 +166,8 @@ read-only; }; - concat0: partition@230000 { - label = "concat0"; + fwconcat0: partition@230000 { + label = "fwconcat0"; reg = <0x230000 0xdd0000>; }; }; @@ -183,8 +183,8 @@ #address-cells = <1>; #size-cells = <1>; - concat1: partition@0 { - label = "concat1"; + fwconcat1: partition@0 { + label = "fwconcat1"; reg = <0x0 0x1000000>; }; }; diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi index 92b0beccd7..26f9db5924 100644 --- a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi @@ -82,7 +82,7 @@ ubi-concat { compatible = "mtd-concat"; - devices = <&ubipart0 &ubipart1>; + devices = <&ubiconcat0 &ubiconcat1>; partitions { compatible = "fixed-partitions"; @@ -153,8 +153,8 @@ reg = <0x6c0000 0x400000>; }; - ubipart0: partition@ac0000 { - label = "ubipart0"; + ubiconcat0: partition@ac0000 { + label = "ubiconcat0"; reg = <0xac0000 0x1500000>; }; @@ -170,8 +170,8 @@ read-only; }; - ubipart1: partition@2000000 { - label = "ubipart1"; + ubiconcat1: partition@2000000 { + label = "ubiconcat1"; reg = <0x2000000 0x6000000>; }; }; diff --git a/target/linux/ath79/dts/ar9344_openmesh_om5p.dts b/target/linux/ath79/dts/ar9344_openmesh_om5p.dts new file mode 100644 index 0000000000..a733a922e4 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_openmesh_om5p.dts @@ -0,0 +1,166 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9344.dtsi" + +#include +#include + +/ { + compatible = "openmesh,om5p", "qca,ar9344"; + model = "OpenMesh OM5P"; + + chosen { + /delete-property/ bootargs; + }; + + aliases { + serial0 = &uart; + led-boot = &led_power_blue; + led-failsafe = &led_power_blue; + led-running = &led_power_blue; + led-upgrade = &led_power_blue; + label-mac-device = ð1; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&led_lan_wan_blue_pin>; + + led_power_blue: power_blue { + label = "blue:power"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + wan_blue { + label = "blue:wan"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + lan_blue { + label = "blue:lan"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + wifi_green { + label = "green:wifi"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_yellow { + label = "yellow:wifi"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + + wifi_red { + label = "red:wifi"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + /* hw_margin_ms is actually 300s but driver limits it to 60s */ + hw_margin_ms = <60000>; + always-running; + }; +}; + +&ref { + clock-frequency = <40000000>; +}; + +&uart { + status = "okay"; +}; + +&pinmux { + led_lan_wan_blue_pin: pinmux_lan_wan_blue_pin { + pinctrl-single,bits = <0xc 0x0 0xffff0000>; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + + /* partitions are passed via bootloader */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x010000>; + }; + + partition@50000 { + label = "custom"; + reg = <0x050000 0x060000>; + read-only; + }; + + partition@b0000 { + label = "inactive"; + reg = <0x0b0000 0x7a0000>; + }; + + partition@850000 { + label = "inactive2"; + reg = <0x850000 0x7a0000>; + }; + + art: partition@ff0000 { + label = "ART"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&art 0x6>; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/dts/qca9533_openmesh_om2p-hs-v4.dts b/target/linux/ath79/dts/qca9533_openmesh_om2p-hs-v4.dts new file mode 100644 index 0000000000..218117fd86 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_openmesh_om2p-hs-v4.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9533_openmesh_om2p-v4.dtsi" + +/ { + compatible = "openmesh,om2p-hs-v4", "qca,qca9533"; + model = "OpenMesh OM2P-HS v4"; +}; diff --git a/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dts b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dts new file mode 100644 index 0000000000..b738afad33 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9533_openmesh_om2p-v4.dtsi" + +/ { + compatible = "openmesh,om2p-v4", "qca,qca9533"; + model = "OpenMesh OM2P v4"; +}; diff --git a/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi new file mode 100644 index 0000000000..74daba3f93 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi @@ -0,0 +1,157 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca953x.dtsi" + +#include +#include + +/ { + chosen { + /delete-property/ bootargs; + }; + + aliases { + led-boot = &led_power_blue; + led-failsafe = &led_power_blue; + led-running = &led_power_blue; + led-upgrade = &led_power_blue; + label-mac-device = ð0; + }; + + keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power_blue: power_blue { + label = "blue:power"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + wifi_green { + label = "green:wifi"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi_yellow { + label = "yellow:wifi"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + wifi_red { + label = "red:wifi"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wan_blue { + label = "blue:wan"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + lan_blue { + label = "blue:lan"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + /* hw_margin_ms is actually 300s but driver limits it to 60s */ + hw_margin_ms = <60000>; + always-running; + }; +}; + +&uart { + status = "okay"; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + /* partitions are passed via bootloader */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x040000>; + }; + + partition@80000 { + label = "custom"; + reg = <0x080000 0x140000>; + read-only; + }; + + partition@1c0000 { + label = "inactive"; + reg = <0x1c0000 0x700000>; + }; + + partition@8c0000 { + label = "inactive2"; + reg = <0x8c0000 0x700000>; + }; + + art: partition@fc0000 { + label = "ART"; + reg = <0xfc0000 0x040000>; + read-only; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&art 0x0>; +}; + +ð1 { + /* Workaround: keep the Ethernet interfaces order/mapping correct + * (GMAC0 -> eth0, GMAC1 -> eth1, same as in old ar71xx target) + */ + compatible = "qca,qca9530-eth", "syscon", "simple-mfd"; + + mtd-mac-address = <&art 0x6>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <2>; +}; diff --git a/target/linux/ath79/dts/qca9550_airtight_c-75.dts b/target/linux/ath79/dts/qca9550_airtight_c-75.dts index 1bdbc86156..a766398971 100644 --- a/target/linux/ath79/dts/qca9550_airtight_c-75.dts +++ b/target/linux/ath79/dts/qca9550_airtight_c-75.dts @@ -44,7 +44,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&concat0 &concat1>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -135,8 +135,8 @@ read-only; }; - concat0: partition@60000 { - label = "reserved1"; + fwconcat0: partition@60000 { + label = "fwconcat0"; reg = <0x060000 0xf90000>; }; @@ -158,8 +158,8 @@ #address-cells = <1>; #size-cells = <1>; - concat1: partition@0 { - label = "reserved2"; + fwconcat1: partition@0 { + label = "fwconcat1"; reg = <0x0 0x1000000>; }; }; diff --git a/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts b/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts index 952747ade0..f9801693c5 100644 --- a/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts +++ b/target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts @@ -62,7 +62,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -118,8 +118,8 @@ read-only; }; - firmware2: partition@b0000 { - label = "firmware2"; + fwconcat1: partition@b0000 { + label = "fwconcat1"; reg = <0x0b0000 0x170000>; }; @@ -129,8 +129,8 @@ read-only; }; - firmware1: partition@230000 { - label = "firmware1"; + fwconcat0: partition@230000 { + label = "fwconcat0"; reg = <0x230000 0xb40000>; }; diff --git a/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi index c88e2b0ba6..af22f6681a 100644 --- a/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi +++ b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi @@ -77,7 +77,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&fwpart1 &fwpart2>; + devices = <&fwconcat0 &fwconcat1>; partitions { compatible = "fixed-partitions"; @@ -141,8 +141,8 @@ reg = <0x040000 0x010000>; }; - fwpart1: partition@50000 { - label = "fwpart1"; + fwconcat0: partition@50000 { + label = "fwconcat0"; reg = <0x050000 0xe20000>; }; @@ -152,8 +152,8 @@ read-only; }; - fwpart2: partition@e80000 { - label = "fwpart2"; + fwconcat1: partition@e80000 { + label = "fwconcat1"; reg = <0xe80000 0x170000>; }; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 86213cf496..402c1b905f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -145,6 +145,12 @@ comfast,cf-e560ac) ucidef_set_led_switch "lan4" "LAN4" "blue:lan4" "switch0" "0x10" ;; comfast,cf-ew72|\ +openmesh,om2p-v2|\ +openmesh,om2p-hs-v1|\ +openmesh,om2p-hs-v2|\ +openmesh,om2p-hs-v3|\ +openmesh,om2p-lc|\ +openmesh,om5p|\ telco,t1) ucidef_set_led_switch "lan" "LAN" "blue:lan" "switch0" "0x02" ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" @@ -230,6 +236,11 @@ netgear,wnr2200-16m) ucidef_set_led_switch "lan3amber" "LAN3 (amber)" "amber:lan3" "switch0" "0x08" "0x02" ucidef_set_led_switch "lan4amber" "LAN4 (amber)" "amber:lan4" "switch0" "0x10" "0x02" ;; +openmesh,om2p-v4|\ +openmesh,om2p-hs-v4) + ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth0" + ucidef_set_led_switch "lan" "LAN" "blue:lan" "switch0" "0x02" + ;; pcs,cr3000) ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" ucidef_set_led_switch "lan1" "LAN1" "blue:lan1" "switch0" "0x04" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index e920b356cc..41eab0d862 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -152,6 +152,8 @@ ath79_setup_interfaces() comfast,cf-e120a-v3|\ comfast,cf-e314n-v2|\ compex,wpj531-16m|\ + openmesh,om2p-v4|\ + openmesh,om2p-hs-v4|\ plasmacloud,pa300|\ plasmacloud,pa300e|\ tplink,cpe210-v1|\ diff --git a/target/linux/ath79/generic/base-files/lib/upgrade/openmesh.sh b/target/linux/ath79/generic/base-files/lib/upgrade/openmesh.sh new file mode 100644 index 0000000000..fdb57dbed9 --- /dev/null +++ b/target/linux/ath79/generic/base-files/lib/upgrade/openmesh.sh @@ -0,0 +1,114 @@ +# The U-Boot loader of the OpenMesh devices requires image sizes and +# checksums to be provided in the U-Boot environment. +# The OpenMesh devices come with 2 main partitions - while one is active +# sysupgrade will flash the other. The boot order is changed to boot the +# newly flashed partition. If the new partition can't be booted due to +# upgrade failures the previously used partition is loaded. + +cfg_value_get() +{ + local cfg=$1 cfg_opt + local section=$2 our_section=0 + local param=$3 our_param= + + for cfg_opt in $cfg; do + [ "$cfg_opt" = "[$section]" ] && our_section=1 && continue + [ "$our_section" = "1" ] || continue + + our_param=${cfg_opt%%=*} + [ "$param" = "$our_param" ] && echo ${cfg_opt##*=} && break + done +} + +platform_do_upgrade_openmesh() +{ + local img_path="$1" + local restore_backup + + local setenv_script="/tmp/fw_env_upgrade" + + local inactive_mtd="$(find_mtd_index $PART_NAME)" + local inactive_offset="$(cat /sys/class/mtd/mtd${inactive_mtd}/offset)" + local total_size="$(cat /sys/class/mtd/mtd${inactive_mtd}/size)" + local total_kbs=$((total_size / 1024)) + local flash_start_mem=0x9f000000 + local data_offset=$((64 * 1024)) + + # detect to which flash region the new image is written to. + # + # 1. check what is the mtd index for the first flash region on this + # device + # 2. check if the target partition ("inactive") has the mtd index of + # the first flash region + # + # - when it is: the new bootseq will be 1,2 and the first region is + # modified + # - when it isn't: bootseq will be 2,1 and the second region is + # modified + # + # The detection has to be done via the hardcoded mtd partition because + # the current boot might be done with the fallback region. Let us + # assume that the current bootseq is 1,2. The bootloader detected that + # the image in flash region 1 is corrupt and thus switches to flash + # region 2. The bootseq in the u-boot-env is now still the same and + # the sysupgrade code can now only rely on the actual mtd indexes and + # not the bootseq variable to detect the currently booted flash + # region/image. + # + # In the above example, an implementation which uses bootseq ("1,2") to + # detect the currently booted image would assume that region 1 is booted + # and then overwrite the variables for the wrong flash region (aka the + # one which isn't modified). This could result in a device which doesn't + # boot anymore to Linux until it was reflashed with ap51-flash. + local next_boot_part="1" + local primary_kernel_mtd="3" + [ "$inactive_mtd" = "$primary_kernel_mtd" ] || next_boot_part="2" + + local cfg_size=$(dd if="$img_path" bs=8 skip=70 count=1 iflag=skip_bytes 2>/dev/null) + local cfg_length=$((0x$cfg_size)) + local cfg_content=$(dd if="$img_path" bs=$cfg_length skip=$data_offset count=1 iflag=skip_bytes 2>/dev/null) + + local kernel_size=$(dd if="$img_path" bs=8 skip=142 count=1 iflag=skip_bytes 2>/dev/null) + local kernel_length=$((0x$kernel_size)) + local kernel_kbs=$((kernel_length / 1024)) + local kernel_md5=$(cfg_value_get "$cfg_content" "vmlinux" "md5sum") + + local rootfs_size=$(dd if="$img_path" bs=8 skip=214 count=1 iflag=skip_bytes 2>/dev/null) + local rootfs_length=$((0x$rootfs_size)) + local rootfs_md5=$(cfg_value_get "$cfg_content" "rootfs" "md5sum") + local rootfs_checksize=$(cfg_value_get "$cfg_content" "rootfs" "checksize") + + # take care of restoring a saved config + [ -n "$UPGRADE_BACKUP" ] && restore_backup="${MTD_CONFIG_ARGS} -j ${UPGRADE_BACKUP}" + + # write image parts + mtd -q erase inactive + dd if="$img_path" bs=1 skip=$((data_offset + cfg_length + kernel_length)) count=$rootfs_length 2>&- | \ + mtd -n -p $kernel_length $restore_backup write - $PART_NAME + dd if="$img_path" bs=1024 skip=$((data_offset + cfg_length)) count=$kernel_kbs iflag=skip_bytes 2>&- | \ + mtd -n write - $PART_NAME + + # prepare new u-boot env + if [ "$next_boot_part" = "1" ]; then + echo "bootseq 1,2" > $setenv_script + else + echo "bootseq 2,1" > $setenv_script + fi + + printf "kernel_size_%i %i\n" $next_boot_part $kernel_kbs >> $setenv_script + printf "vmlinux_start_addr 0x%08x\n" $((flash_start_mem + inactive_offset)) >> $setenv_script + printf "vmlinux_size 0x%08x\n" ${kernel_length} >> $setenv_script + printf "vmlinux_checksum %s\n" ${kernel_md5} >> $setenv_script + + printf "rootfs_size_%i %i\n" $next_boot_part $((total_kbs - kernel_kbs)) >> $setenv_script + printf "rootfs_start_addr 0x%08x\n" $((flash_start_mem+inactive_offset+kernel_length)) >> $setenv_script + printf "rootfs_size %s\n" $rootfs_checksize >> $setenv_script + printf "rootfs_checksum %s\n" ${rootfs_md5} >> $setenv_script + + # store u-boot env changes + mkdir -p /var/lock + fw_setenv -s $setenv_script || { + echo "failed to update U-Boot environment" + return 1 + } +} diff --git a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh index 98861685dc..79e023482b 100644 --- a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh @@ -50,6 +50,17 @@ platform_do_upgrade() { jjplus,ja76pf2) redboot_fis_do_upgrade "$1" linux ;; + openmesh,om2p-v2|\ + openmesh,om2p-v4|\ + openmesh,om2p-hs-v1|\ + openmesh,om2p-hs-v2|\ + openmesh,om2p-hs-v3|\ + openmesh,om2p-hs-v4|\ + openmesh,om2p-lc|\ + openmesh,om5p) + PART_NAME="inactive" + platform_do_upgrade_openmesh "$1" + ;; plasmacloud,pa300|\ plasmacloud,pa300e) PART_NAME="inactive" diff --git a/target/linux/ath79/image/common-mikrotik.mk b/target/linux/ath79/image/common-mikrotik.mk index b0c3feda20..6e739f2d85 100644 --- a/target/linux/ath79/image/common-mikrotik.mk +++ b/target/linux/ath79/image/common-mikrotik.mk @@ -17,4 +17,5 @@ define Device/mikrotik_nand IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \ sysupgrade-tar kernel=$$$$@ | append-metadata DEVICE_PACKAGES := nand-utils + DEFAULT := n endef diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index c798c420f9..6534fca5b5 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -767,7 +767,7 @@ endef TARGET_DEVICES += dlink_dap-1365-a1 define Device/dlink_dap-2xxx - IMAGES += factory.img sysupgrade.bin + IMAGES += factory.img IMAGE/factory.img := append-kernel | pad-offset 6144k 160 | \ append-rootfs | wrgg-pad-rootfs | mkwrggimg | check-size IMAGE/sysupgrade.bin := append-kernel | mkwrggimg | \ @@ -1584,6 +1584,98 @@ define Device/ocedo_ursus endef TARGET_DEVICES += ocedo_ursus +define Device/openmesh_om2p-common + DEVICE_VENDOR := OpenMesh + DEVICE_PACKAGES := uboot-envtools + IMAGE_SIZE := 7168k + BLOCKSIZE := 256k + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \ + pad-to $$(BLOCKSIZE) + IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \ + openmesh-image ce_type=OM2P | append-metadata +endef + +define Device/openmesh_om2p-v2 + $(Device/openmesh_om2p-common) + SOC := ar9330 + DEVICE_MODEL := OM2P + DEVICE_VARIANT := v2 + SUPPORTED_DEVICES += om2pv2 +endef +TARGET_DEVICES += openmesh_om2p-v2 + +define Device/openmesh_om2p-v4 + $(Device/openmesh_om2p-common) + SOC := qca9533 + DEVICE_MODEL := OM2P + DEVICE_VARIANT := v4 + SUPPORTED_DEVICES += om2pv4 +endef +TARGET_DEVICES += openmesh_om2p-v4 + +define Device/openmesh_om2p-hs-v1 + $(Device/openmesh_om2p-common) + SOC := ar9341 + DEVICE_MODEL := OM2P-HS + DEVICE_VARIANT := v1 + SUPPORTED_DEVICES += om2p-hs +endef +TARGET_DEVICES += openmesh_om2p-hs-v1 + +define Device/openmesh_om2p-hs-v2 + $(Device/openmesh_om2p-common) + SOC := ar9341 + DEVICE_MODEL := OM2P-HS + DEVICE_VARIANT := v2 + SUPPORTED_DEVICES += om2p-hsv2 +endef +TARGET_DEVICES += openmesh_om2p-hs-v2 + +define Device/openmesh_om2p-hs-v3 + $(Device/openmesh_om2p-common) + SOC := ar9341 + DEVICE_MODEL := OM2P-HS + DEVICE_VARIANT := v3 + SUPPORTED_DEVICES += om2p-hsv3 +endef +TARGET_DEVICES += openmesh_om2p-hs-v3 + +define Device/openmesh_om2p-hs-v4 + $(Device/openmesh_om2p-common) + SOC := qca9533 + DEVICE_MODEL := OM2P-HS + DEVICE_VARIANT := v4 + SUPPORTED_DEVICES += om2p-hsv4 +endef +TARGET_DEVICES += openmesh_om2p-hs-v4 + +define Device/openmesh_om2p-lc + $(Device/openmesh_om2p-common) + SOC := ar9330 + DEVICE_MODEL := OM2P-LC + SUPPORTED_DEVICES += om2p-lc +endef +TARGET_DEVICES += openmesh_om2p-lc + +define Device/openmesh_om5p-common + SOC := ar9344 + DEVICE_VENDOR := OpenMesh + DEVICE_PACKAGES := uboot-envtools + IMAGE_SIZE := 7808k + BLOCKSIZE := 64k + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \ + pad-to $$(BLOCKSIZE) + IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \ + openmesh-image ce_type=OM5P | append-metadata +endef + +define Device/openmesh_om5p + $(Device/openmesh_om5p-common) + DEVICE_MODEL := OM5P + SUPPORTED_DEVICES += om5p +endef +TARGET_DEVICES += openmesh_om5p + define Device/openmesh_om5p-ac-v2 SOC := qca9558 DEVICE_VENDOR := OpenMesh diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index c6e673276e..d51155b77c 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -4124,6 +4124,7 @@ CONFIG_PRINT_STACK_DEPTH=64 CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set # CONFIG_PROC_PAGE_MONITOR is not set +# CONFIG_PROC_STRIPPED is not set CONFIG_PROC_SYSCTL=y # CONFIG_PROC_VMCORE_DEVICE_DUMP is not set # CONFIG_PROFILE_ALL_BRANCHES is not set diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts index 3d90fdc286..fd6c5d9aa0 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts @@ -26,6 +26,12 @@ status = "okay"; pinctrl-0 = <&mdio_pins>; pinctrl-names = "default"; + + /delete-node/ ethernet-phy@1; + /delete-node/ ethernet-phy@2; + /delete-node/ ethernet-phy@3; + /delete-node/ ethernet-phy@4; + /delete-node/ psgmii-phy@5; }; tcsr@1949000 { diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi index 54ebb0b4b0..9d0823f3ef 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi @@ -22,9 +22,11 @@ pinctrl-names = "default"; /delete-node/ ethernet-phy@0; + /delete-node/ ethernet-phy@1; /delete-node/ ethernet-phy@2; /delete-node/ ethernet-phy@3; /delete-node/ ethernet-phy@4; + /delete-node/ psgmii-phy@5; ethernet-phy@5 { reg = <0x5>; diff --git a/target/linux/ipq806x/config-5.4 b/target/linux/ipq806x/config-5.4 index e6160bd455..43d2356316 100644 --- a/target/linux/ipq806x/config-5.4 +++ b/target/linux/ipq806x/config-5.4 @@ -78,7 +78,7 @@ CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_QCOM=y CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE_OVERRIDE=y +# CONFIG_CMDLINE_OVERRIDE is not set CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_QCOM=y CONFIG_COMPAT_32BIT_TIME=y diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile index 80bfec5ad9..e1a50e752c 100644 --- a/target/linux/ipq806x/image/Makefile +++ b/target/linux/ipq806x/image/Makefile @@ -103,6 +103,7 @@ define Device/asrock_g10 KERNEL_SIZE := 5332k DEVICE_PACKAGES := kmod-i2c-gpio ath10k-firmware-qca99x0-ct IMAGE/nand-factory.bin := append-ubi | edimax-header RN67 + BROKEN := y endef TARGET_DEVICES += asrock_g10 diff --git a/target/linux/ipq807x/config-default b/target/linux/ipq807x/config-default index 337e660cdf..9ee84791a1 100644 --- a/target/linux/ipq807x/config-default +++ b/target/linux/ipq807x/config-default @@ -502,7 +502,6 @@ CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPT_RCU=y CONFIG_PRINTK_TIME=y CONFIG_PROC_PAGE_MONITOR=y -# CONFIG_PROC_STRIPPED is not set CONFIG_PTP_1588_CLOCK=y CONFIG_PWM=y CONFIG_PWM_SYSFS=y diff --git a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi index d94379a41f..beca2954dc 100644 --- a/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi +++ b/target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi @@ -23,7 +23,7 @@ virtual_flash { compatible = "mtd-concat"; - devices = <&firmware1 &firmware2 &firmware3>; + devices = <&fwconcat0 &fwconcat1 &fwconcat2>; partitions { compatible = "fixed-partitions"; @@ -89,8 +89,8 @@ read-only; }; - firmware2: partition@60000 { - label = "firmware2"; + fwconcat1: partition@60000 { + label = "fwconcat1"; reg = <0x60000 0x170000>; }; @@ -99,13 +99,13 @@ reg = <0x1d0000 0x10000>; }; - firmware3: partition@1e0000 { - label = "firmware3"; + fwconcat2: partition@1e0000 { + label = "fwconcat2"; reg = <0x1e0000 0x20000>; }; - firmware1: partition@200000 { - label = "firmware1"; + fwconcat0: partition@200000 { + label = "fwconcat0"; reg = <0x200000 0x600000>; }; }; diff --git a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts index 87b103f539..774fb93d9c 100644 --- a/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts +++ b/target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts @@ -45,14 +45,14 @@ ubi-concat { compatible = "mtd-concat"; - devices = <&ubipart0 &ubipart1>; + devices = <&ubiconcat0 &ubiconcat1>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; - ubi@0 { + partition@0 { label = "ubi"; reg = <0x0 0x79c0000>; }; @@ -91,8 +91,8 @@ reg = <0x140000 0x400000>; }; - ubipart0: partition@540000 { - label = "ubipart0"; + ubiconcat0: partition@540000 { + label = "ubiconcat0"; reg = <0x540000 0x1c80000>; }; @@ -102,8 +102,8 @@ read-only; }; - ubipart1: partition@2240000 { - label = "ubipart1"; + ubiconcat1: partition@2240000 { + label = "ubiconcat1"; reg = <0x2240000 0x5d40000>; }; }; diff --git a/target/linux/rockchip/armv8/config-5.4 b/target/linux/rockchip/armv8/config-5.4 index a31875ce72..0afa26625c 100644 --- a/target/linux/rockchip/armv8/config-5.4 +++ b/target/linux/rockchip/armv8/config-5.4 @@ -355,7 +355,6 @@ CONFIG_PREEMPT_RCU=y CONFIG_PRINTK_TIME=y # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_PROC_PAGE_MONITOR=y -# CONFIG_PROC_STRIPPED is not set CONFIG_PROC_VMCORE=y CONFIG_PWM=y CONFIG_PWM_ROCKCHIP=y diff --git a/target/linux/zynq/config-5.4 b/target/linux/zynq/config-5.4 index 04fde2add2..8d702a83b9 100644 --- a/target/linux/zynq/config-5.4 +++ b/target/linux/zynq/config-5.4 @@ -514,7 +514,6 @@ CONFIG_POWER_RESET_VEXPRESS=y CONFIG_POWER_SUPPLY=y CONFIG_PPS=y CONFIG_PROC_EVENTS=y -# CONFIG_PROC_STRIPPED is not set CONFIG_PTP_1588_CLOCK=y CONFIG_R8169=y CONFIG_RAS=y diff --git a/target/sdk/Makefile b/target/sdk/Makefile index caec7178e9..d7e10a9bd8 100644 --- a/target/sdk/Makefile +++ b/target/sdk/Makefile @@ -20,6 +20,9 @@ STAGING_SUBDIR_HOST := staging_dir/host STAGING_SUBDIR_TARGET := staging_dir/$(TARGET_DIR_NAME) STAGING_SUBDIR_TOOLCHAIN := staging_dir/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)_$(LIBC)$(if $(CONFIG_arm),_eabi) +BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$(PATH)))) +BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST) + EXCLUDE_DIRS:= \ */stamp \ */stampfiles \ @@ -104,7 +107,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean (cd $(SDK_BUILD_DIR); find $(STAGING_SUBDIR_HOST)/bin $(STAGING_SUBDIR_HOST)/usr/bin \ $(STAGING_SUBDIR_TOOLCHAIN)/bin $(STAGING_SUBDIR_TOOLCHAIN)/*/bin $(STAGING_SUBDIR_TOOLCHAIN)/libexec \ $(KDIR_BASE) \ - -type f | $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)) + -type f | $(BUNDLER_COMMAND)) @-( \ find \ diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index faf749eea3..2977b9b58d 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -12,8 +12,8 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=050022910be1d1f5c11cd5168f1685ad4f9580d2 -PKG_MIRROR_HASH:=b0a8c79acbb371badcc8477e840ab32bf796d5e7a0eab224bc8fd5aca6b1e631 +PKG_SOURCE_VERSION:=1d49bede4d8a5448067e8579b14fedf437e75aee +PKG_MIRROR_HASH:=1f8b04585eaf36b06783f36550fc24689224ffd35f8f650f3954797a7002481a PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz diff --git a/tools/Makefile b/tools/Makefile index fd7a73fee7..13e19c0f62 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -83,8 +83,9 @@ ifneq ($(HOST_OS),Linux) endif ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),) -$(foreach tool, $(filter-out xz patch,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile)) +$(foreach tool, $(filter-out xz zstd patch pkgconf libressl cmake,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile)) tools-y += ccache +$(curdir)/ccache/compile := $(curdir)/cmake/compile $(curdir)/zstd/compile endif # in case there is no patch tool on the host we need to make patch tool a diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile index 6e55001fd5..e016e0beb3 100644 --- a/tools/ccache/Makefile +++ b/tools/ccache/Makefile @@ -1,4 +1,4 @@ -# +# # Copyright (C) 2006-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. @@ -8,25 +8,26 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk PKG_NAME:=ccache -PKG_VERSION:=3.7.11 +PKG_VERSION:=4.1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/ccache/ccache/releases/download/v$(PKG_VERSION) -PKG_HASH:=8d450208099a4d202bd7df87caaec81baee20ce9dd62da91e9ea7b95a9072f68 +PKG_HASH:=5fdc804056632d722a1182e15386696f0ea6c59cb4ab4d65a54f0b269ae86f99 + +HOST_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/cmake.mk -HOST_CONFIGURE_VARS += CC="$(HOSTCC_NOCACHE)" +CMAKE_HOST_OPTIONS += \ + -DCMAKE_C_COMPILER_LAUNCHER="" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="" define Host/Install/ccache $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/ $(CP) ./files/* $(STAGING_DIR_HOST)/bin/ endef -define Host/Clean - -$(MAKE) -C $(HOST_BUILD_DIR) uninstall - $(call Host/Clean/Default) -endef define Host/Install $(call Host/Install/Default) $(call Host/Install/ccache) diff --git a/tools/ccache/patches/100-honour-copts.patch b/tools/ccache/patches/100-honour-copts.patch index ccfa1c0247..e4045ef9be 100644 --- a/tools/ccache/patches/100-honour-copts.patch +++ b/tools/ccache/patches/100-honour-copts.patch @@ -1,10 +1,10 @@ ---- a/src/ccache.c -+++ b/src/ccache.c -@@ -2277,6 +2277,7 @@ calculate_object_hash(struct args *args, - "CPLUS_INCLUDE_PATH", - "OBJC_INCLUDE_PATH", - "OBJCPLUS_INCLUDE_PATH", // clang -+ "GCC_HONOUR_COPTS", - NULL - }; - for (const char **p = envvars; *p; ++p) { +--- a/src/ccache.cpp ++++ b/src/ccache.cpp +@@ -1654,6 +1654,7 @@ calculate_result_name(Context& ctx, + "CPLUS_INCLUDE_PATH", + "OBJC_INCLUDE_PATH", + "OBJCPLUS_INCLUDE_PATH", // clang ++ "GCC_HONOUR_COPTS", + nullptr}; + for (const char** p = envvars; *p; ++p) { + const char* v = getenv(*p); diff --git a/tools/libressl/Makefile b/tools/libressl/Makefile index dbd8ca4d1a..2b5a33450c 100644 --- a/tools/libressl/Makefile +++ b/tools/libressl/Makefile @@ -23,6 +23,7 @@ HOST_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk +HOSTCC := $(HOSTCC_NOCACHE) HOST_CONFIGURE_ARGS += --enable-static --disable-shared --disable-tests HOST_CFLAGS += $(FPIC) diff --git a/tools/pkgconf/Makefile b/tools/pkgconf/Makefile index 7d785aae39..0f56de0e29 100644 --- a/tools/pkgconf/Makefile +++ b/tools/pkgconf/Makefile @@ -19,6 +19,8 @@ include $(INCLUDE_DIR)/host-build.mk unexport PKG_CONFIG +HOSTCC := $(HOSTCC_NOCACHE) + define Host/Install $(MAKE) -C $(HOST_BUILD_DIR) install mv $(STAGING_DIR_HOST)/bin/pkgconf $(STAGING_DIR_HOST)/bin/pkg-config.real diff --git a/tools/zstd/Makefile b/tools/zstd/Makefile index 7459725e8e..ec85362544 100644 --- a/tools/zstd/Makefile +++ b/tools/zstd/Makefile @@ -15,6 +15,7 @@ HOST_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk +HOSTCC := $(HOSTCC_NOCACHE) HOST_MAKE_FLAGS = PREFIX=$(HOST_BUILD_PREFIX) HAVE_ZLIB=0 HAVE_LZMA=0 HAVE_LZ4=0 $(eval $(call HostBuild))