kiddin9 2 anni fa
parent
commit
2553ecb464
35 ha cambiato i file con 853 aggiunte e 340 eliminazioni
  1. 3 2
      .github/workflows/Openwrt-AutoBuild.yml
  2. 2 2
      .github/workflows/repo-dispatcher.yml
  3. 1 1
      devices/common/diy.sh
  4. 0 10
      devices/ipq60xx_generic.x/.config
  5. 0 19
      devices/ipq60xx_generic.x/diy.sh
  6. 0 44
      devices/ipq60xx_generic.x/patches/fix.patch
  7. 1 6
      devices/ipq806x_generic/diy.sh
  8. 37 12
      devices/mediatek_mt7981/.config
  9. 4 5
      devices/mediatek_mt7981/diy.sh
  10. 2 2
      devices/mediatek_mt7981/feeds.conf
  11. 0 11
      devices/mediatek_mt7981/patches/depends.patch
  12. 10 0
      devices/mediatek_mt7981/patches/kernel-defaults.patch
  13. 14 1
      devices/mediatek_mt7981/patches/targets.patch
  14. 1 4
      devices/meson_meson8b/diy.sh
  15. 0 0
      devices/meson_meson8b/patches/kernel_5.10.revert.patch.b
  16. 0 12
      devices/meson_meson8b/patches/onecloud.patch
  17. 3 0
      devices/qualcommax_ipq60xx/.config
  18. 0 6
      devices/qualcommax_ipq60xx/diy.sh
  19. BIN
      devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-2.bin.IPQ6018
  20. BIN
      devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-cmiot_ax18.ipq6018
  21. BIN
      devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-qihoo_v6.ipq6018
  22. 71 0
      devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ax18.dts
  23. 204 0
      devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi
  24. 82 0
      devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-m2.dts
  25. 253 0
      devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-v6.dts
  26. 3 3
      devices/qualcommax_ipq60xx/feeds.conf
  27. 145 0
      devices/qualcommax_ipq60xx/patches/v6m2.patch
  28. 0 175
      devices/rockchip_rk3588_armv8/patches/fan.patch
  29. 7 7
      devices/rockchip_rk3588_bsp/.config
  30. 1 0
      devices/rockchip_rk3588_bsp/README.md
  31. 6 3
      devices/rockchip_rk3588_bsp/diy.sh
  32. 0 0
      devices/rockchip_rk3588_bsp/feeds.conf
  33. 1 1
      devices/rockchip_rk3588_bsp/patches/add_extra_CPU_FLAGS.patch
  34. 2 14
      devices/rockchip_rk3588_bsp/patches/fix.patch
  35. 0 0
      devices/rockchip_rk3588_bsp/settings.ini

+ 3 - 2
.github/workflows/Openwrt-AutoBuild.yml

@@ -69,7 +69,7 @@ jobs:
         elif [ ${{matrix.target}} == "x86_generic" ]; then
             echo "ARCH=linux/amd32" >> $GITHUB_ENV
             echo "MTARGET=x86_generic" >> $GITHUB_ENV
-        elif [[ ${{matrix.target}} =~ (armvirt_64|ipq807x_generic|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|ipq60xx_generic|bcm4908_generic|sunxi_cortexa53) ]]; then
+        elif [[ ${{matrix.target}} =~ (armsr_armv8|ipq807x_generic|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|qualcommax_ipq60xx|bcm4908_generic|sunxi_cortexa53) ]]; then
             echo "MTARGET=aarch64_cortex-a53" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} =~ (ramips_mt7621|ramips_mt7620|ramips_mt76x8) ]]; then
             echo "MTARGET=mipsel_24kc" >> $GITHUB_ENV
@@ -95,7 +95,7 @@ jobs:
           echo "ARCH=linux/arm64" >> $GITHUB_ENV
           if [[ ${{matrix.target}} == "bcm27xx_bcm2711" ]]; then
             echo "MTARGET=aarch64_cortex-a72" >> $GITHUB_ENV
-          elif [[ ${{matrix.target}} == "rockchip_armv8" || ${{matrix.target}} == "rockchip_rk3588_armv8" ]]; then
+          elif [[ ${{matrix.target}} == rockchip* ]]; then
             echo "MTARGET=aarch64_generic" >> $GITHUB_ENV
           fi
         fi
@@ -207,6 +207,7 @@ jobs:
         make defconfig
         if [[ ! "${{matrix.target}}" =~ (armsr_armv8|bcm27xx_*|rockchip_*|sunxi_*|x86_*) ]]; then
         sed -n '/# Wireless Drivers/,/# end of Wireless Drivers/p' .config | sed -e 's/=m/=n/' >>.config
+        sed -i "s/\(kmod-qca.*\)=m/\1=n/" .config
         make defconfig
         fi
         cat .config

+ 2 - 2
.github/workflows/repo-dispatcher.yml

@@ -82,7 +82,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
-          -d '{"event_type": "rockchip_rk3588_armv8 ${{ github.event.inputs.param }}", "client_payload": {"target": "rockchip_rk3588_armv8"}}'
+          -d '{"event_type": "rockchip_rk3588_bsp ${{ github.event.inputs.param }}", "client_payload": {"target": "rockchip_rk3588_bsp"}}'
           curl \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
@@ -177,7 +177,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
-          -d '{"event_type": "ipq60xx_generic ${{ github.event.inputs.param }}", "client_payload": {"target": "ipq60xx_generic"}}'
+          -d '{"event_type": "qualcommax_ipq60xx ${{ github.event.inputs.param }}", "client_payload": {"target": "qualcommax_ipq60xx"}}'
           curl \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \

+ 1 - 1
devices/common/diy.sh

@@ -60,7 +60,7 @@ grep -q 'PKG_RELEASE:=9' package/libs/openssl/Makefile && {
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/a48d0bdb77eb93f7fba6e055dace125c72755b6a.patch | patch -d './' -p1 --forward"
 }
 
-sed -i "/wireless.${name}.disabled/d" package/kernel/mac80211/files/lib/wifi/mac80211.sh
+sed -i "/wireless.\${name}.disabled/d" package/kernel/mac80211/files/lib/wifi/mac80211.sh
 
 sed -i "/BuildPackage,miniupnpd-iptables/d" feeds/packages/net/miniupnpd/Makefile
 sed -i 's/Os/O2/g' include/target.mk

+ 0 - 10
devices/ipq60xx_generic.x/.config

@@ -1,10 +0,0 @@
-
-CONFIG_TARGET_ipq60xx=y
-CONFIG_TARGET_ipq60xx_generic=y
-CONFIG_TARGET_MULTI_PROFILE=y
-CONFIG_TARGET_ALL_PROFILES=y
-CONFIG_TARGET_DEVICE_ipq60xx_generic_DEVICE_360_v6=n
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-

+ 0 - 19
devices/ipq60xx_generic.x/diy.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-shopt -s extglob
-
-svn co https://github.com/coolsnowwolf/lede/trunk/target/linux/ipq60xx target/linux/ipq60xx
-rm -rf target/linux/ipq60xx/patches-5.15/{0133-clk-ipq-support-for-resetting-multiple-bits.patch,0168-clk-qcom-ipq6018-fix-networking-resets.patch}
-make defconfig
-
-svn co https://github.com/coolsnowwolf/lede/trunk/package/qca package/qca
-
-sed -i "s/+kmod-pppoe/+kmod-pppoe +kmod-bonding/" package/qca/nss/qca-nss-clients-64/Makefile
-
-rm -rf package/kernel/{qca-nss-dp,qca-ssdk}
-
-sed -i "s/CONFIG_ALL_NONSHARED=y/CONFIG_ALL_NONSHARED=n/" .config
-sed -i "s/CONFIG_ALL_KMODS=y/CONFIG_ALL_KMODS=n/" .config
-make defconfig
-sed -i "s/# CONFIG_ALL_NONSHARED is not set/CONFIG_ALL_NONSHARED=y/" .config
-
-

+ 0 - 44
devices/ipq60xx_generic.x/patches/fix.patch

@@ -1,44 +0,0 @@
---- a/package/qca/nss/qca-nss-clients-64/Makefile
-+++ b/package/qca/nss/qca-nss-clients-64/Makefile
-@@ -17,7 +17,7 @@ define KernelPackage/qca-nss-drv-pppoe-64
-   CATEGORY:=Kernel modules
-   SUBMENU:=Network Devices
-   TITLE:=Kernel driver for NSS (connection manager) - PPPoE
--  DEPENDS:=@(TARGET_ipq60xx||TARGET_ipq807x) +kmod-qca-nss-drv-64 +kmod-ppp +kmod-pppoe
-+  DEPENDS:=@(TARGET_ipq60xx||TARGET_ipq807x) +kmod-qca-nss-drv-64 +kmod-ppp +kmod-pppoe +kmod-bonding
-   FILES:=$(PKG_BUILD_DIR)/pppoe/qca-nss-pppoe.ko
-   AUTOLOAD:=$(call AutoLoad,51,qca-nss-pppoe)
- endef
-@@ -45,7 +45,7 @@ define KernelPackage/qca-nss-drv-vlan-mgr-64
-   CATEGORY:=Kernel modules
-   SUBMENU:=Network Devices
-   TITLE:=Kernel driver for NSS vlan manager
--  DEPENDS:=@(LINUX_5_10||LINUX_5_15) @(TARGET_ipq60xx||TARGET_ipq807x) +kmod-qca-nss-drv-64
-+  DEPENDS:=@(LINUX_5_10||LINUX_5_15) @(TARGET_ipq60xx||TARGET_ipq807x) +kmod-qca-nss-drv-64 +kmod-bonding
-   FILES:=$(PKG_BUILD_DIR)/vlan/qca-nss-vlan.ko
-   AUTOLOAD:=$(call AutoLoad,51,qca-nss-vlan)
- endef
-
---- a/package/kernel/mac80211/ath.mk
-+++ b/package/kernel/mac80211/ath.mk
-@@ -325,7 +325,7 @@ define KernelPackage/ath11k-ahb
-   $(call KernelPackage/mac80211/Default)
-   TITLE:=Qualcomm 802.11ax AHB wireless chipset support
-   URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
--  DEPENDS+= @TARGET_ipq807x +kmod-ath11k +kmod-qrtr-smd
-+  DEPENDS+= @(TARGET_ipq60xx||TARGET_ipq807x) +kmod-ath11k +kmod-qrtr-smd
-   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_ahb.ko
-   AUTOLOAD:=$(call AutoProbe,ath11k_ahb)
- endef
-
---- a/package/kernel/linux/modules/netsupport.mk
-+++ b/package/kernel/linux/modules/netsupport.mk
-@@ -1536,7 +1536,7 @@ $(eval $(call KernelPackage,qrtr-tun))
- define KernelPackage/qrtr-smd
-   SUBMENU:=$(NETWORK_SUPPORT_MENU)
-   TITLE:=SMD IPC Router channels
--  DEPENDS:=+kmod-qrtr @TARGET_ipq807x
-+  DEPENDS:=+kmod-qrtr @(TARGET_ipq60xx||TARGET_ipq807x)
-   KCONFIG:=CONFIG_QRTR_SMD
-   FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
-   AUTOLOAD:=$(call AutoProbe,qrtr-smd)

+ 1 - 6
devices/ipq806x_generic/diy.sh

@@ -11,7 +11,6 @@ svn co https://github.com/APCCV/OpenWRT-23.05.0-rc2-NSS/trunk/target/linux/gener
 
 curl -sfL https://raw.githubusercontent.com/APCCV/OpenWRT-23.05.0-rc2-NSS/v23.05.0-rc2/include/kernel-5.15 -o include/kernel-5.15
 
-make defconfig
 
 git clone https://github.com/ACwifidude/nss-packages package/nss-packages
 
@@ -23,10 +22,6 @@ curl -sfL https://raw.githubusercontent.com/APCCV/OpenWRT-23.05.0-rc2-NSS/v23.05
 curl -sfL https://raw.githubusercontent.com/APCCV/OpenWRT-23.05.0-rc2-NSS/v23.05.0-rc2/nss-makefile-changes/qca-nss-ecm-Makefile -o package/nss-packages/qca-nss-ecm/Makefile
 
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += kmod-qca-nss-drv kmod-qca-nss-ecm-standard kmod-qca-nss-gmac kmod-qca-nss-drv-qdisc kmod-nss-ifb kmod-qca-nss-drv-pppoe kmod-qca-nss-drv-l2tpv2 kmod-qca-nss-drv-tunipip6/' target/linux/ipq806x/Makefile
-sed -i "s/CONFIG_ALL_NONSHARED=y/CONFIG_ALL_NONSHARED=n/" .config
-sed -i "s/CONFIG_ALL_KMODS=y/CONFIG_ALL_KMODS=n/" .config
-make defconfig
-sed -i "s/# CONFIG_ALL_NONSHARED is not set/CONFIG_ALL_NONSHARED=y/" .config
-sed -i "s/# CONFIG_TARGET_DEVICE_ipq806x_generic_DEVICE_xiaomi_r3d is not set/CONFIG_TARGET_DEVICE_ipq806x_generic_DEVICE_xiaomi_r3d=y/" .config
+
 
 

+ 37 - 12
devices/mediatek_mt7981/.config

@@ -7,7 +7,10 @@ CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_glinet_gl-xe3000=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_livinet_zr-3020=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_cetron_ct3003=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_jcg_q30=y
-
+CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_mt7981-clt-r30b1-112M=y
+CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_konka_komi-a31=y
+CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_imou_lc-hx3001=y
+CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_cmcc_rax3000m=y
 
 
 CONFIG_VERSION_DIST="OpenWrt"
@@ -31,6 +34,25 @@ CONFIG_PACKAGE_kmod-sched-mqprio=n
 
 CONFIG_PACKAGE_kmod-i40e-vendor=n
 
+CONFIG_DEVEL=y
+CONFIG_TOOLCHAINOPTS=y
+CONFIG_BUSYBOX_CUSTOM=y
+CONFIG_TARGET_PER_DEVICE_ROOTFS=y
+CONFIG_AFALG_UPDATE_CTR_IV=y
+CONFIG_BUSYBOX_CONFIG_BLKID=y
+CONFIG_BUSYBOX_CONFIG_FEATURE_BLKID_TYPE=y
+CONFIG_BUSYBOX_CONFIG_VOLUMEID=y
+CONFIG_CONNINFRA_AUTO_UP=y
+CONFIG_CONNINFRA_EMI_SUPPORT=y
+# CONFIG_GDB is not set
+# CONFIG_KERNEL_BLK_DEV_THROTTLING is not set
+# CONFIG_KERNEL_CFS_BANDWIDTH is not set
+CONFIG_KERNEL_CGROUP_DEVICE=y
+CONFIG_KERNEL_CGROUP_FREEZER=y
+CONFIG_KERNEL_DEVMEM=y
+# CONFIG_KERNEL_KEYS is not set
+# CONFIG_KERNEL_MEMCG_SWAP is not set
+CONFIG_KERNEL_NET_CLS_CGROUP=y
 CONFIG_MTK_ACK_CTS_TIMEOUT_SUPPORT=y
 CONFIG_MTK_AIR_MONITOR=y
 CONFIG_MTK_AMPDU_CONF_SUPPORT=y
@@ -75,6 +97,7 @@ CONFIG_MTK_MEMORY_SHRINK=y
 CONFIG_MTK_MEMORY_SHRINK_AGGRESS=y
 CONFIG_MTK_MGMT_TXPWR_CTRL=y
 CONFIG_MTK_MLME_MULTI_QUEUE_SUPPORT=y
+CONFIG_MTK_MT7981_NEW_FW=y
 CONFIG_MTK_MT_AP_SUPPORT=m
 CONFIG_MTK_MT_DFS_SUPPORT=y
 CONFIG_MTK_MT_MAC=y
@@ -118,6 +141,19 @@ CONFIG_MTK_WPA3_SUPPORT=y
 CONFIG_MTK_WSC_INCLUDED=y
 CONFIG_MTK_WSC_V2_SUPPORT=y
 
+# CONFIG_PKG_CHECK_FORMAT_SECURITY is not set
+# CONFIG_PKG_FORTIFY_SOURCE_1 is not set
+CONFIG_PKG_FORTIFY_SOURCE_2=y
+CONFIG_WARP_CHIPSET="mt7981"
+CONFIG_WARP_DBG_SUPPORT=y
+CONFIG_WARP_NEW_FW=y
+CONFIG_WARP_VERSION=2
+CONFIG_WED_HW_RRO_SUPPORT=y
+CONFIG_WIFI_NORMAL_SETTING=y
+# CONFIG_WOLFSSL_HAS_ECC25519 is not set
+CONFIG_first_card=y
+CONFIG_first_card_name="MT7981"
+# CONFIG_AFALG_FALLBACK is not set
 # CONFIG_MTK_BAND_STEERING is not set
 # CONFIG_MTK_DEFAULT_5G_PROFILE is not set
 # CONFIG_MTK_MAC_REPEATER_SUPPORT is not set
@@ -128,15 +164,4 @@ CONFIG_MTK_WSC_V2_SUPPORT=y
 # CONFIG_MTK_RLM_CAL_CACHE_SUPPORT is not set
 # CONFIG_MTK_SNIFFER_RADIOTAP_SUPPORT is not set
 
-CONFIG_CONNINFRA_AUTO_UP=y
-CONFIG_CONNINFRA_EMI_SUPPORT=y
-
-CONFIG_WARP_CHIPSET="mt7981"
-CONFIG_WARP_VERSION=2
-CONFIG_WED_HW_RRO_SUPPORT=y
-CONFIG_WIFI_NORMAL_SETTING=y
-
-CONFIG_first_card=y
-CONFIG_first_card_name="MT7981"
-
 CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 4 - 5
devices/mediatek_mt7981/diy.sh

@@ -4,17 +4,16 @@ shopt -s extglob
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
-rm -rf package/feeds/kiddin9/rtl* package/feeds/packages/gptfdisk package/utils/f2fs-tools
+rm -rf package/feeds/kiddin9/rtl*
 
-rm -rf devices/common/patches/{fix.patch,iptables.patch,kernel-defaults.patch,targets.patch}
+rm -rf devices/common/patches/{fix.patch,iptables.patch,kernel-defaults.patch,targets.patch} package/feeds/luci/rpcd-mod-luci package/feeds/packages/{ksmbd-tools,glib2}
 
 sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=2099-12-06/" package/network/config/netifd/Makefile
 
-rm -rf toolchain/musl package/utils/e2fsprogs package/libs/libselinux package/feeds/packages/acl package/feeds/luci/ucode-mod-html package/feeds/luci/rpcd-mod-luci
+sed -i "/KernelPackage,sound-soc-core/d" package/kernel/linux/modules/sound.mk
+sed -i "/KernelPackage,multimedia-input/d" package/kernel/linux/modules/video.mk
 
 svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/toolchain/musl toolchain/musl
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/utils/e2fsprogs package/utils/e2fsprogs
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/libs/libselinux package/libs/libselinux
 svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/utils/ucode package/utils/ucode
 #ln -sf $(pwd)/feeds/luci/modules/luci-base package/feeds/kiddin9/
 

+ 2 - 2
devices/mediatek_mt7981/feeds.conf

@@ -1,4 +1,4 @@
-src-git packages https://git.openwrt.org/feed/packages.git;openwrt-21.02
+src-git-full packages https://github.com/immortalwrt/packages.git;openwrt-21.02
 src-git luci https://github.com/openwrt/luci.git;openwrt-23.05
-src-git routing https://git.openwrt.org/feed/routing.git;openwrt-21.02
+src-git-full routing https://github.com/openwrt/routing.git;openwrt-21.02
 src-git kiddin9 https://github.com/kiddin9/openwrt-packages.git;master

+ 0 - 11
devices/mediatek_mt7981/patches/depends.patch

@@ -1,11 +0,0 @@
---- a/target/linux/mediatek/image/mt7981.mk
-+++ b/target/linux/mediatek/image/mt7981.mk
-@@ -190,7 +190,7 @@ endef
- TARGET_DEVICES += mt7981-360-t7
- 
- define Device/mt7981-360-t7-108M
--  DEVICE_VENDOR := MediaTek
-+  DEVICE_VENDOR := Qihoo
-   DEVICE_MODEL := 360 T7 (with 108M ubi)
-   DEVICE_DTS := mt7981-360-t7-108M
-   DEVICE_DTS_DIR := $(DTS_DIR)/mediatek

+ 10 - 0
devices/mediatek_mt7981/patches/kernel-defaults.patch

@@ -0,0 +1,10 @@
+--- a/include/kernel-defaults.mk
++++ b/include/kernel-defaults.mk
+@@ -115,6 +115,7 @@ endef
+ 
+ define Kernel/CompileModules/Default
+ 	rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map
++	+$(KERNEL_MAKE) olddefconfig
+ 	+$(KERNEL_MAKE) modules
+ endef
+ 

+ 14 - 1
devices/mediatek_mt7981/patches/targets.patch

@@ -41,4 +41,17 @@
 +
  target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
  ifeq ($(DUMP),)
-   PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
+   PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
+
+--- a/target/linux/mediatek/image/mt7981.mk
++++ b/target/linux/mediatek/image/mt7981.mk
+@@ -375,8 +375,7 @@ define Device/cmcc_rax3000m
+   DEVICE_MODEL := RAX3000M
+   DEVICE_DTS := mt7981-cmcc-rax3000m
+   DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
+-  DEVICE_PACKAGES := automount blkid luci-app-ksmbd luci-i18n-ksmbd-zh-cn ksmbd-utils \
+-			luci-app-usb-printer luci-i18n-usb-printer-zh-cn \
++  DEVICE_PACKAGES := automount blkid \
+ 			kmod-nls-cp437 kmod-nls-iso8859-1
+   SUPPORTED_DEVICES := cmcc,rax3000m
+   UBINIZE_OPTS := -E 5

+ 1 - 4
devices/meson_meson8b/diy.sh

@@ -6,11 +6,8 @@ SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 rm -rf target/linux/generic feeds/routing/batman-adv
 
-svn co https://github.com/coolsnowwolf/lede/trunk/target/linux/generic target/linux/generic
 svn co https://github.com/coolsnowwolf/lede/trunk/target/linux/meson target/linux/meson
 
-curl -sfL https://raw.githubusercontent.com/coolsnowwolf/lede/master/include/kernel-5.10 -o include/kernel-5.10
+sed -i "s/KERNEL_PATCHVER:=5.10/KERNEL_PATCHVER:=5.15/" target/linux/meson/Makefile
 
 
-rm -rf package/network/services/hostapd
-sed -i "/KernelPackage,cfg80211/d" package/kernel/mac80211/Makefile

+ 0 - 0
devices/meson_meson8b/patches/kernel_5.10.revert.patch → devices/meson_meson8b/patches/kernel_5.10.revert.patch.b


+ 0 - 12
devices/meson_meson8b/patches/onecloud.patch

@@ -11,18 +11,6 @@
  endef
  ifeq ($(SUBTARGET),meson8b)
 
---- a/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts
-+++ b/target/linux/meson/files/arch/arm/boot/dts/meson8b-onecloud.dts
-@@ -137,7 +137,7 @@
- 	pinctrl-names = "default";
- 
- 	phy-handle = <&eth_phy>;
--	phy-mode = "rgmii-id";
-+	phy-mode = "rgmii-rxid";
- 
- 	mdio {
- 		compatible = "snps,dwmac-mdio";
-
 --- a/package/kernel/linux/modules/netsupport.mk
 +++ b/package/kernel/linux/modules/netsupport.mk
 @@ -93,7 +93,8 @@ define KernelPackage/vxlan

+ 3 - 0
devices/qualcommax_ipq60xx/.config

@@ -1,8 +1,11 @@
 CONFIG_TARGET_qualcommax=y
 CONFIG_TARGET_qualcommax_ipq60xx=y
 CONFIG_TARGET_MULTI_PROFILE=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq60xx_DEVICE_cmiot_ax18=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq60xx_DEVICE_glinet_gl-ax1800=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq60xx_DEVICE_glinet_gl-axt1800=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq60xx_DEVICE_qihoo_v6=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq60xx_DEVICE_zn_m2=y
 
 CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=n
 

+ 0 - 6
devices/qualcommax_ipq60xx/diy.sh

@@ -3,13 +3,7 @@
 shopt -s extglob
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
-make defconfig
 
 git clone https://github.com/JiaY-shi/nss-packages.git package/nss-packages
 
-sed -i "s/CONFIG_ALL_NONSHARED=y/CONFIG_ALL_NONSHARED=n/" .config
-sed -i "s/CONFIG_ALL_KMODS=y/CONFIG_ALL_KMODS=n/" .config
-make defconfig
-sed -i "s/# CONFIG_ALL_NONSHARED is not set/CONFIG_ALL_NONSHARED=y/" .config
-
 rm -rf feeds/kiddin9/{fibocom_QMI_WWAN,quectel_Gobinet,shortcut-fe}

BIN
devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-2.bin.IPQ6018


BIN
devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-cmiot_ax18.ipq6018


BIN
devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-qihoo_v6.ipq6018


+ 71 - 0
devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-ax18.dts

@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0+)
+
+/dts-v1/;
+
+#include "ipq6018-cmiot.dtsi"
+
+/ {
+	model = "CMIOT AX18";
+	compatible = "cmiot,ax18", "qcom,ipq6018";
+
+	aliases {
+ 		led-boot = &led_power;
+ 		led-failsafe = &led_power;
+ 		led-running = &led_power;
+ 		led-upgrade = &led_power;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&leds_pins>;
+		pinctrl-names = "default";
+
+		led_power: power {
+			label = "ax18:blue:power";
+			gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+		};
+
+		wan {
+			label = "ax18:blue:wan";
+			gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
+		};
+
+		wlan2g {
+			label = "ax18:blue:wlan2g";
+			gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>;
+		};
+
+		wlan5g {
+			label = "ax18:blue:wlan5g";
+			gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>;
+		};
+
+		wps {
+			label = "ax18:red:wps";
+			gpio = <&tlmm 69 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&tlmm {
+	leds_pins: leds_pins {
+		mux_0 {
+			pins = "gpio35", "gpio37",
+				"gpio69", "gpio74";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-down;
+		};
+
+		mux_1 {
+			pins = "gpio73";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+};
+
+&wifi {
+	qcom,ath11k-calibration-variant = "CMIOT-AX18";
+};

+ 204 - 0
devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi

@@ -0,0 +1,204 @@
+// SPDX-License-Identifier: (GPL-2.0+)
+
+/dts-v1/;
+
+#include "ipq6018.dtsi"
+#include "ipq6018-upstreamable.dtsi"
+#include "ipq6018-ess.dtsi"
+#include "ipq6018-cpr-regulator.dtsi"
+#include "ipq6018-nss.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	qcom,msm-id = <0x192 0x0>;
+	
+	aliases {
+		serial0 = &blsp1_uart3;
+
+		/* Aliases as required by u-boot to patch MAC addresses */
+		ethernet0 = &dp1;
+		ethernet1 = &dp2;
+		ethernet2 = &dp3;
+		ethernet3 = &dp4;
+	};
+
+	chosen {
+		bootargs-append = " root=/dev/ubiblock0_1 swiotlb=1";
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&tlmm 60 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+
+		wps {
+			label = "wps";
+			gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+	};
+};
+
+&blsp1_uart3 {
+	pinctrl-0 = <&serial_3_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&tlmm {
+	mdio_pins: mdio-pins {
+		mdc {
+			pins = "gpio64";
+			function = "mdc";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+
+		mdio {
+			pins = "gpio65";
+			function = "mdio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+
+    button_pins: button_pins {
+		wps_button {
+			pins = "gpio9";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+
+		reset_button {
+			pins = "gpio60";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+};
+
+&soc {
+	dp1: dp@1 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001000 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <5>;
+		local-mac-address = [000000000000];
+		phy-handle = <&phy_0>;
+		phy-mode = "sgmii";
+	};
+
+	dp2: dp2 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001200 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <1>;
+		local-mac-address = [000000000000];
+		phy-handle = <&phy_1>;
+		phy-mode = "sgmii";
+	};
+
+	dp3: dp3 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001400 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <2>;
+		local-mac-address = [000000000000];
+		phy-handle = <&phy_2>;
+		phy-mode = "sgmii";
+	};
+
+	dp4: dp4 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001600 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <4>;
+		local-mac-address = [000000000000];
+		phy-handle = <&phy_3>;
+		phy-mode = "sgmii";
+	};
+};
+
+&edma {
+	status = "okay";
+};
+
+&mdio {
+	status = "okay";
+	pinctrl-0 = <&mdio_pins>;
+	pinctrl-names = "default";
+	reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
+
+	phy_0: ethernet-phy@0 {
+		reg = <4>;
+	};
+
+	phy_1: ethernet-phy@1 {
+		reg = <0>;
+	};
+
+	phy_2: ethernet-phy@2 {
+		reg = <1>;
+	};
+
+	phy_3: ethernet-phy@3 {
+		reg = <3>;
+	};
+};
+
+&switch {
+	status = "okay";
+
+	switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
+	switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
+	switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/
+
+	qcom,port_phyinfo {
+		port@0 {
+			port_id = <0x01>;
+			phy_address = <0x00>;
+		};
+		port@1 {
+			port_id = <0x02>;
+			phy_address = <0x01>;
+		};
+		port@2 {
+			port_id = <0x04>;
+			phy_address = <0x03>;
+		};
+		port@3 {
+			port_id = <0x05>;
+			phy_address = <0x04>;
+		};
+	};
+};
+
+&qpic_bam {
+	status = "okay";
+};
+
+&qpic_nand {
+	status = "okay";
+
+	nand@0 {
+		reg = <0>;
+
+		nand-ecc-strength = <4>;
+		nand-ecc-step-size = <512>;
+		nand-bus-width = <8>;
+	};
+};
+
+&wifi {
+	status = "okay";
+
+	qcom,ath11k-fw-memory-mode = <1>;
+ };

+ 82 - 0
devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-m2.dts

@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: (GPL-2.0+)
+
+/dts-v1/;
+
+#include "ipq6018-cmiot.dtsi"
+
+/ {
+	model = "ZN M2";
+	compatible = "zn,m2", "qcom,ipq6018";
+
+	aliases {
+ 		led-boot = &led_power;
+ 		led-failsafe = &led_power;
+ 		led-running = &led_power;
+ 		led-upgrade = &led_power;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&leds_pins>;
+		pinctrl-names = "default";
+
+		led_power: power {
+			label = "m2:blue:power";
+			gpio = <&tlmm 58 GPIO_ACTIVE_HIGH>;
+		};
+
+		mesh {
+			label = "m2:blue:mesh";
+			gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+		};
+
+		lan {
+			label = "m2:blue:lan";
+			gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
+		};
+
+		wan {
+			label = "m2:blue:wan";
+			gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>;
+		};
+
+		wlan5g {
+			label = "m2:blue:wlan5g";
+			gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>;
+		};
+
+		wlan2g {
+			label = "m2:blue:wlan2g";
+			gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&tlmm {
+	leds_pins: leds_pins {
+		mux {
+			pins = "gpio35", "gpio37",
+				"gpio58", "gpio70",
+				"gpio73", "gpio74";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-down;
+		};
+	};
+};
+
+&qusb_phy_0 {
+status = "ok";
+};
+
+&ssphy_0 {
+status = "ok";
+};
+
+&usb3 {
+status = "ok";
+};
+
+&wifi {
+	qcom,ath11k-calibration-variant = "ZN-M2";
+};

+ 253 - 0
devices/qualcommax_ipq60xx/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-v6.dts

@@ -0,0 +1,253 @@
+// SPDX-License-Identifier: (GPL-2.0+)
+
+/dts-v1/;
+
+#include "ipq6018.dtsi"
+#include "ipq6018-upstreamable.dtsi"
+#include "ipq6018-ess.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "Qihoo 360 V6";
+	compatible = "qihoo,v6", "qcom,ipq6018";
+
+	aliases {
+		serial0 = &blsp1_uart3;
+		led-boot = &led_system_orange;
+		led-failsafe = &led_system_red;
+		led-running = &led_system_green;
+		led-upgrade = &led_system_orange;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&leds_pins>;
+		pinctrl-names = "default";
+
+		led_system_red: system-red {
+			label = "v6:red:status";
+			gpios = <&tlmm 71 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_system_orange: system-orange {
+			label = "v6:orange:status";
+			gpios = <&tlmm 72 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_system_green: system-green {
+			label = "v6:green:status";
+			gpios = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+
+		wps {
+			label = "wps";
+			gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+	};
+};
+
+&blsp1_uart3 {
+	pinctrl-0 = <&serial_3_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&tlmm {
+
+	mdio_pins: mdio-pins {
+		mdc {
+			pins = "gpio64";
+			function = "mdc";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+
+		mdio {
+			pins = "gpio65";
+			function = "mdio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+
+	leds_pins: leds_pins {
+		mux {
+			pins = "gpio71", "gpio72", "gpio73";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-down;
+		};
+	};
+
+};
+
+&soc {
+	dp1: dp@1 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001000 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <1>;
+
+		phy-handle = <&phy_0>;
+		phy-mode = "sgmii";
+	};
+
+	dp2 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001200 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <2>;
+
+		phy-handle = <&phy_1>;
+		phy-mode = "sgmii";
+	};
+
+	dp3 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001400 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <3>;
+
+		phy-handle = <&phy_2>;
+		phy-mode = "sgmii";
+	};
+
+	dp4 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001600 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <4>;
+
+		phy-handle = <&phy_3>;
+		phy-mode = "sgmii";
+	};
+
+	dp5 {
+		compatible = "qcom,nss-dp";
+		reg = <0x0 0x3a001800 0x0 0x200>;
+		qcom,mactype = <0>;
+		qcom,id = <5>;
+
+		phy-handle = <&phy_4>;
+		phy-mode = "sgmii";
+	};
+};
+
+&edma {
+	status = "okay";
+};
+
+&mdio {
+	status = "okay";
+	pinctrl-0 = <&mdio_pins>;
+	pinctrl-names = "default";
+	reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
+
+	phy_0: ethernet-phy@0 {
+		reg = <0>;
+// 		reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
+	};
+
+	phy_1: ethernet-phy@1 {
+		reg = <1>;
+	};
+
+	phy_2: ethernet-phy@2 {
+		reg = <2>;
+	};
+
+	phy_3: ethernet-phy@3 {
+		reg = <3>;
+	};
+
+	phy_4: ethernet-phy@4 {
+		reg = <4>;
+	};
+
+};
+
+&switch {
+	status = "okay";
+
+	switch_lan_bmp = <0x1e>;
+	switch_wan_bmp = <0x20>;
+	switch_mac_mode = <0x00>;
+	switch_mac_mode1 = <0xff>;
+	switch_mac_mode2 = <0xff>;
+
+	qcom,port_phyinfo {
+		port@0 {
+			port_id = <0x01>;
+			phy_address = <0x00>;
+		};
+		port@1 {
+			port_id = <0x02>;
+			phy_address = <0x01>;
+		};
+		port@2 {
+			port_id = <0x03>;
+			phy_address = <0x02>;
+		};
+		port@3 {
+			port_id = <0x04>;
+			phy_address = <0x03>;
+		};
+		port@4 {
+			port_id = <0x05>;
+			phy_address = <0x04>;
+		};
+	};
+};
+
+&qpic_bam {
+	status = "okay";
+};
+
+&qpic_nand {
+	status = "okay";
+
+	nand@0 {
+		reg = <0>;
+
+		nand-ecc-strength = <4>;
+		nand-ecc-step-size = <512>;
+		nand-bus-width = <8>;
+	};
+};
+
+&wifi {
+	status = "okay";
+};
+
+&ssphy_0 {
+	status = "ok";
+};
+
+&qusb_phy_0 {
+	status = "ok";
+};
+
+&usb3 {
+	status = "ok";
+};
+
+&wifi {
+	qcom,ath11k-calibration-variant = "Qihoo-360V6";
+};

+ 3 - 3
devices/qualcommax_ipq60xx/feeds.conf

@@ -1,4 +1,4 @@
-src-git packages https://git.openwrt.org/feed/packages.git;openwrt-23.05
-src-git luci https://git.openwrt.org/project/luci.git;openwrt-23.05
-src-git routing https://git.openwrt.org/feed/routing.git;openwrt-23.05
+src-git packages https://git.openwrt.org/feed/packages.git
+src-git luci https://git.openwrt.org/project/luci.git
+src-git routing https://git.openwrt.org/feed/routing.git
 src-git kiddin9 https://github.com/kiddin9/openwrt-packages.git;master

+ 145 - 0
devices/qualcommax_ipq60xx/patches/v6m2.patch

@@ -0,0 +1,145 @@
+--- a/package/firmware/ipq-wifi/Makefile
++++ b/package/firmware/ipq-wifi/Makefile
+@@ -35,6 +35,8 @@ ALLWIFIBOARDS:= \
+ 	edimax_cax1800 \
+ 	glinet_gl-ax1800 \
+ 	glinet_gl-axt1800 \
++	qihoo_v6 \
++	cmiot_ax18 \
+ 	netgear_rax120v2 \
+ 	netgear_wax218 \
+ 	prpl_haze \
+@@ -128,6 +130,8 @@ $(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102))
+ $(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800))
+ $(eval $(call generate-ipq-wifi-package,glinet_gl-ax1800,GL.iNet GL-AX1800))
+ $(eval $(call generate-ipq-wifi-package,glinet_gl-axt1800,GL.iNet GL-AXT1800))
++$(eval $(call generate-ipq-wifi-package,qihoo_v6,QIHOO 360V6))
++$(eval $(call generate-ipq-wifi-package,cmiot_ax18,CMIOT AX18))
+ $(eval $(call generate-ipq-wifi-package,netgear_rax120v2,Netgear RAX120v2))
+ $(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218))
+ $(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w))
+
+--- a/target/linux/qualcommax/image/ipq60xx.mk
++++ b/target/linux/qualcommax/image/ipq60xx.mk
+@@ -11,6 +11,45 @@ define Device/UbiFit
+ 	IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
+ endef
+ 
++define Device/cmiot_ax18
++	$(call Device/FitImage)
++	$(call Device/UbiFit)
++	DEVICE_VENDOR := CMIOT
++	DEVICE_MODEL := AX18
++	BLOCKSIZE := 128k
++	PAGESIZE := 2048
++	DEVICE_DTS_CONFIG := config@cp03-c1
++	DEVICE_PACKAGES := ipq-wifi-cmiot_ax18
++	SOC := ipq6018
++endef
++TARGET_DEVICES += cmiot_ax18
++
++define Device/qihoo_v6
++	$(call Device/FitImage)
++	$(call Device/UbiFit)
++	DEVICE_VENDOR := Qihoo 360
++	DEVICE_MODEL := V6
++	BLOCKSIZE := 128k
++	PAGESIZE := 2048
++	DEVICE_DTS_CONFIG := config@cp03-c1
++	DEVICE_PACKAGES := ath11k-wifi-qihoo_v6
++	SOC := ipq6018
++endef
++TARGET_DEVICES += qihoo_v6
++
++define Device/zn_m2
++	$(call Device/FitImage)
++	$(call Device/UbiFit)
++	DEVICE_VENDOR := ZN
++	DEVICE_MODEL := M2
++	BLOCKSIZE := 128k
++	PAGESIZE := 2048
++	DEVICE_DTS_CONFIG := config@cp03-c1
++	DEVICE_PACKAGES := ipq-wifi-cmiot_ax18
++	SOC := ipq6018
++endef
++TARGET_DEVICES += zn_m2
++
+ define Device/glinet_gl-ax1800
+ 	$(call Device/FitImage)
+ 	$(call Device/UbiFit)
+
+--- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
++++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
+@@ -11,6 +11,14 @@ ipq807x_setup_interfaces()
+ 	local board="$1"
+ 
+ 	case "$board" in
++	cmiot,ax18|\
++	qihoo,v6|\
++	zn,m2)
++		ucidef_set_interfaces_lan_wan "eth1 eth2 eth3" "eth0"
++		;;
++	linksys,mr7350)
++		ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3" "eth4"
++		;;
+ 	glinet,gl-ax1800)
+ 		ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
+ 		;;
+
+--- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds
++++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds
+@@ -6,7 +6,14 @@ board_config_update
+ board=$(board_name)
+ 
+ case "$board" in
+-
++cmiot,ax18|\
++zn,m2)
++	ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth0"
++	ucidef_set_led_netdev "wlan2g" "WLAN2G" "blue:wlan2g" "wlan1"
++	ucidef_set_led_netdev "wlan5g" "WLAN5G" "blue:wlan5g" "wlan0"
++	;;
++*)
++	;;
+ esac
+ 
+ board_config_flush
+
+--- a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
++++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
+@@ -16,6 +16,9 @@ platform_pre_upgrade() {
+ 
+ platform_do_upgrade() {
+ 	case "$(board_name)" in
++	cmiot,ax18|\
++	qihoo,v6|\
++	zn,m2|\
+ 	glinet,gl-axt1800|\
+ 	glinet,gl-ax1800)
+ 		nand_do_upgrade "$1"
+
+--- a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
++++ b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
+@@ -9,6 +9,10 @@ board=$(board_name)
+ case "$FIRMWARE" in
+ "ath11k/IPQ6018/hw1.0/cal-ahb-c000000.wifi.bin")
+ 	case $(board_name) in
++	cmiot,ax18|\
++	linksys,mr7350|\
++	qihoo,v6|\
++	zn,m2|\
+ 	glinet,gl-axt1800|\
+ 	glinet,gl-ax1800)
+ 		caldata_extract "0:art" 0x1000 0x10000
+
+--- a/package/feeds/kiddin9/base-files/files/etc/init.d/led
++++ b/package/feeds/kiddin9/base-files/files/etc/init.d/led
+@@ -76,6 +76,8 @@ load_led() {
+ 		"netdev")
+ 			[ -n "$dev" ] && {
+ 				echo $dev > /sys/class/leds/${sysfs}/device_name
++				[ -e "/sys/class/leds/${sysfs}/mode" ]  && \
++					echo $mode > /sys/class/leds/${sysfs}/mode
+ 				for m in $mode; do
+ 					[ -e "/sys/class/leds/${sysfs}/$m" ] && \
+ 						echo 1 > /sys/class/leds/${sysfs}/$m

+ 0 - 175
devices/rockchip_rk3588_armv8/patches/fan.patch

@@ -1,175 +0,0 @@
-From 6bd64bbc79b7a86224dea328dee07fa27f2cc06b Mon Sep 17 00:00:00 2001
-From: Lawrence-Tang <[email protected]>
-Date: Wed, 20 Oct 2021 15:00:23 +0800
-Subject: [PATCH] rockchip: add fan control for r2s/r4s
-
----
- .../armv8/base-files/etc/init.d/fa-fancontrol | 16 ++++
- .../armv8/base-files/usr/bin/cputemp.sh       | 14 ++++
- .../usr/bin/fa-fancontrol-direct.sh           | 69 +++++++++++++++++++
- .../armv8/base-files/usr/bin/fa-fancontrol.sh | 36 ++++++++++
- 4 files changed, 127 insertions(+)
- create mode 100755 target/linux/rockchip_rk3588/armv8/base-files/etc/init.d/fa-fancontrol
- create mode 100755 target/linux/rockchip_rk3588/armv8/base-files/usr/bin/cputemp.sh
- create mode 100755 target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol-direct.sh
- create mode 100755 target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol.sh
-
-diff --git a/target/linux/rockchip_rk3588/armv8/base-files/etc/init.d/fa-fancontrol b/target/linux/rockchip_rk3588/armv8/base-files/etc/init.d/fa-fancontrol
-new file mode 100755
-index 0000000000000..dd848927101b0
---- /dev/null
-+++ b/target/linux/rockchip_rk3588/armv8/base-files/etc/init.d/fa-fancontrol
-@@ -0,0 +1,16 @@
-+#!/bin/sh /etc/rc.common
-+
-+START=21
-+start() {
-+    /usr/bin/fa-fancontrol.sh &
-+}
-+
-+stop() {
-+kill -9 $(ps -w | grep fa-fancontrol | grep -v grep | awk '{print$1}') 2>/dev/null
-+}
-+
-+restart() {
-+stop
-+start
-+}
-+
-diff --git a/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/cputemp.sh b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/cputemp.sh
-new file mode 100755
-index 0000000000000..e497269bccdcd
---- /dev/null
-+++ b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/cputemp.sh
-@@ -0,0 +1,14 @@
-+#!/bin/bash
-+
-+while true
-+do
-+echo "-----------------"
-+echo "Curr freq: `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`,`cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_cur_freq`"
-+echo "Temp: `cat /sys/class/thermal/thermal_zone0/temp`"
-+if [ -d /sys/devices/platform/pwm-fan ]; then
-+    CUR=`cat /sys/devices/virtual/thermal/cooling_device0/cur_state`
-+    MAX=`cat /sys/devices/virtual/thermal/cooling_device0/max_state`
-+    echo "Fan Level: ${CUR}/${MAX}"
-+fi
-+sleep 5
-+done
-diff --git a/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol-direct.sh b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol-direct.sh
-new file mode 100755
-index 0000000000000..b16c994d66955
---- /dev/null
-+++ b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol-direct.sh
-@@ -0,0 +1,69 @@
-+#!/bin/bash
-+
-+# determine fan controller
-+if [ -d /sys/devices/platform/pwm-fan ]; then
-+    echo "pls use /usr/bin/fa-fancontrol.sh."
-+    exit 1
-+fi
-+
-+if [ ! -d /sys/class/pwm/pwmchip1 ]; then
-+    echo "this model does not support pwm."
-+    exit 1
-+fi
-+if [ ! -d /sys/class/pwm/pwmchip1/pwm0 ]; then
-+    echo 0 > /sys/class/pwm/pwmchip1/export
-+fi
-+sleep 1
-+while [ ! -d /sys/class/pwm/pwmchip1/pwm0 ];
-+do
-+    sleep 1
-+done
-+ISENABLE=`cat /sys/class/pwm/pwmchip1/pwm0/enable`
-+if [ $ISENABLE -eq 1 ]; then
-+    echo 0 > /sys/class/pwm/pwmchip1/pwm0/enable
-+fi
-+echo 50000 > /sys/class/pwm/pwmchip1/pwm0/period
-+echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable
-+
-+# max speed run 5s
-+echo 46990 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
-+sleep 5
-+echo 25000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
-+
-+# declare -a CpuTemps=(55000 43000 38000 32000)
-+# declare -a PwmDutyCycles=(1000 20000 30000 45000)
-+
-+declare -a CpuTemps=(75000 63000 58000 52000)
-+declare -a PwmDutyCycles=(25000 35000 45000 46990)
-+
-+declare -a Percents=(100 75 50 25)
-+DefaultDuty=49990
-+DefaultPercents=0
-+
-+while true
-+do
-+	temp=$(cat /sys/class/thermal/thermal_zone0/temp)
-+	INDEX=0
-+	FOUNDTEMP=0
-+	DUTY=$DefaultDuty
-+	PERCENT=$DefaultPercents
-+	
-+	for i in 0 1 2 3; do
-+		if [ $temp -gt ${CpuTemps[$i]} ]; then
-+			INDEX=$i
-+			FOUNDTEMP=1
-+			break
-+		fi	
-+	done
-+	if [ ${FOUNDTEMP} == 1 ]; then
-+		DUTY=${PwmDutyCycles[$i]}
-+		PERCENT=${Percents[$i]}
-+	fi
-+
-+	echo $DUTY > /sys/class/pwm/pwmchip1/pwm0/duty_cycle;
-+
-+        # echo "temp: $temp, duty: $DUTY, ${PERCENT}%"
-+        # cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
-+
-+	sleep 2s;
-+done
-diff --git a/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol.sh b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol.sh
-new file mode 100755
-index 0000000000000..e7c14054c80e9
---- /dev/null
-+++ b/target/linux/rockchip_rk3588/armv8/base-files/usr/bin/fa-fancontrol.sh
-@@ -0,0 +1,36 @@
-+#!/bin/bash
-+
-+# determine fan controller
-+if [ -d /sys/devices/platform/pwm-fan ]; then
-+    (cd /sys/devices/virtual/thermal/thermal_zone0 && {        
-+        logger -p user.info -t "pwmfan" "set the conditions for fan"
-+        [ -f trip_point_3_temp ] && {
-+            # select fan level 1
-+            echo 50000 > trip_point_3_temp
-+        }
-+        [ -f trip_point_4_temp ] && {
-+            # select fan level 2-4
-+            echo 55000 > trip_point_4_temp
-+        }
-+    })
-+
-+    (cd /sys/devices/virtual/thermal/cooling_device0 && {
-+        TYPE=`cat type`
-+        if [ $TYPE = 'pwm-fan' ]; then
-+            # run 5s
-+            for i in `seq 1 5`; do
-+                logger -p user.info -t "pwmfan" "start to spin ${i}/5"
-+                echo 3 > cur_state
-+                sleep 1
-+            done
-+            logger -p user.info -t "pwmfan" "set to auto"
-+            echo 0 > cur_state
-+        fi
-+    })
-+else
-+    logger -p user.info -t "pwmfan" "not found cooling device"
-+    if [ -d /sys/class/pwm ]; then
-+        nohup /usr/bin/fa-fancontrol-direct.sh&
-+    fi
-+fi
-+

+ 7 - 7
devices/rockchip_rk3588_armv8/.config → devices/rockchip_rk3588_bsp/.config

@@ -1,13 +1,13 @@
 
-CONFIG_TARGET_rockchip_rk3588=y
-CONFIG_TARGET_rockchip_rk3588_armv8=y
+CONFIG_TARGET_rockchip=y
+CONFIG_TARGET_rockchip_rk3588_bsp=y
 CONFIG_TARGET_MULTI_PROFILE=y
 
-CONFIG_TARGET_DEVICE_rockchip_rk3588_armv8_DEVICE_friendlyelec_nanopi-r6c=y
-CONFIG_TARGET_DEVICE_rockchip_rk3588_armv8_DEVICE_friendlyelec_nanopi-r6s=y
-CONFIG_TARGET_DEVICE_rockchip_rk3588_armv8_DEVICE_friendlyelec_nanopc-t6=y
-CONFIG_TARGET_DEVICE_rockchip_rk3588_armv8_DEVICE_xunlong_orangepi-5=y
-CONFIG_TARGET_DEVICE_rockchip_rk3588_armv8_DEVICE_xunlong_orangepi-5-plus=y
+CONFIG_TARGET_DEVICE_rockchip_rk3588_bsp_DEVICE_friendlyelec_nanopi-r6c=y
+CONFIG_TARGET_DEVICE_rockchip_rk3588_bsp_DEVICE_friendlyelec_nanopi-r6s=y
+CONFIG_TARGET_DEVICE_rockchip_rk3588_bsp_DEVICE_friendlyelec_nanopc-t6=y
+CONFIG_TARGET_DEVICE_rockchip_rk3588_bsp_DEVICE_xunlong_orangepi-5=y
+CONFIG_TARGET_DEVICE_rockchip_rk3588_bsp_DEVICE_xunlong_orangepi-5-plus=y
 
 CONFIG_PACKAGE_kmod-rtl8821cu=m
 CONFIG_PACKAGE_kmod-rtl88x2bu=m

+ 1 - 0
devices/rockchip_rk3588_bsp/README.md

@@ -0,0 +1 @@
+源码来源 https://github.com/mj22226/openwrt 感谢

+ 6 - 3
devices/rockchip_rk3588_armv8/diy.sh → devices/rockchip_rk3588_bsp/diy.sh

@@ -2,7 +2,8 @@
 
 shopt -s extglob
 
-sed -i "s/BOARD:=rockchip$/BOARD:=rockchip_rk3588/" target/linux/rockchip/Makefile
+sed -i "s/SUBTARGETS:=armv8$/SUBTARGETS:=rk3588_bsp/" target/linux/rockchip/Makefile
+sed -i "s/SUBTARGET:=armv8$/SUBTARGET:=rk3588_bsp/" target/linux/rockchip/armv8/target.mk
 
 sed -i -e 's,kmod-r8168,kmod-r8169,g' target/linux/rockchip/image/armv8.mk
 
@@ -14,8 +15,6 @@ CONFIG_SENSORS_PWM_FAN=y
 
 sed -i "/KernelPackage,ptp/d" package/kernel/linux/modules/other.mk
 
-mv -f target/linux/rockchip target/linux/rockchip_rk3588
-
 rm -rf package/devel/perf package/feeds/kiddin9/{shortcut-fe,oaf,fast-classifier,rtl8821cu,rtl88x2bu} package/kernel/rtl8812au-ct package/kernel/ath10k-ct package/feeds/routing/batman-adv
 
 sed -i "/KernelPackage,dma-buf/d" package/kernel/linux/modules/other.mk
@@ -24,5 +23,9 @@ sed -i "/friendlyelec/d" package/feeds/kiddin9/base-files/files/lib/preinit/02_s
 
 sed -i "s/ath11k ath11k-ahb ath11k-pci //" package/kernel/mac80211/ath.mk
 
+mv -f target/linux/rockchip/image/armv8.mk target/linux/rockchip/image/rk3588_bsp.mk
+
+mv -f target/linux/rockchip/armv8 target/linux/rockchip/rk3588_bsp
+
 #curl -sfL https://raw.githubusercontent.com/coolsnowwolf/lede/master/package/kernel/linux/modules/video.mk -o package/kernel/linux/modules/video.mk
 

+ 0 - 0
devices/rockchip_rk3588_armv8/feeds.conf → devices/rockchip_rk3588_bsp/feeds.conf


+ 1 - 1
devices/rockchip_rk3588_armv8/patches/add_extra_CPU_FLAGS.patch → devices/rockchip_rk3588_bsp/patches/add_extra_CPU_FLAGS.patch

@@ -4,7 +4,7 @@
      CPU_CFLAGS_arc700 = -mcpu=arc700
      CPU_CFLAGS_archs = -mcpu=archs
    endif
-+  ifeq ($(BOARD),rockchip_rk3588)
++  ifeq ($(BOARD),rockchip)
 +    CPU_CFLAGS = -O3 -pipe
 +    CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53
 +    CPU_CFLAGS_cortex-a55 = -march=armv8-a+crypto+crc -mcpu=cortex-a55+crypto+crc -mtune=cortex-a55

+ 2 - 14
devices/rockchip_rk3588_armv8/patches/fix.patch → devices/rockchip_rk3588_bsp/patches/fix.patch

@@ -5,27 +5,15 @@
      CATEGORY:=Boot Loaders
      TITLE:=ARM Trusted Firmware for Rockchip
 -    DEPENDS:=@TARGET_rockchip_armv8
-+    DEPENDS:=@TARGET_rockchip_rk3588_armv8
++    DEPENDS:=@TARGET_rockchip_armv8_bsp
  endef
  
  define Build/Prepare
 
---- a/package/boot/uboot-rockchip/Makefile
-+++ b/package/boot/uboot-rockchip/Makefile
-@@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/u-boot.mk
- include $(INCLUDE_DIR)/package.mk
- 
- define U-Boot/Default
--  BUILD_TARGET:=rockchip
-+  BUILD_TARGET:=rockchip_rk3588
-   UENV:=default
-   HIDDEN:=1
- endef
-
 new file mode 100644
 index 000000000..ddfa7f575
 --- /dev/null
-+++ b/target/linux/rockchip_rk3588/patches-5.10/199-fix_pthread_once_error.patch
++++ b/target/linux/rockchip/patches-5.10/199-fix_pthread_once_error.patch
 @@ -0,0 +1,11 @@
 +--- a/scripts/Makefile
 ++++ b/scripts/Makefile

+ 0 - 0
devices/rockchip_rk3588_armv8/settings.ini → devices/rockchip_rk3588_bsp/settings.ini