diff --git a/include/kernel-version.mk b/include/kernel-version.mk index f28543e2e5..11df16e9f5 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-5.4 = .80 +LINUX_VERSION-5.4 = .81 -LINUX_KERNEL_HASH-5.4.80 = 49da425c1f3c530fd3ff31d85a0461f6b6dc6e459f7faf3eee23e49a98ce64c7 +LINUX_KERNEL_HASH-5.4.81 = 9470bde475726996202d845a5fc3bc8bd3bb546bbc6816fb663fa73df25d8427 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/include/trusted-firmware-a.mk b/include/trusted-firmware-a.mk new file mode 100644 index 0000000000..b89014b249 --- /dev/null +++ b/include/trusted-firmware-a.mk @@ -0,0 +1,93 @@ +PKG_NAME ?= trusted-firmware-a + +ifndef PKG_SOURCE_PROTO +PKG_SOURCE = trusted-firmware-a-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot +endif + +PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_TARGETS := bin +PKG_FLAGS:=nonshared + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=docs/license.rst + +PKG_BUILD_PARALLEL:=1 + +export GCC_HONOUR_COPTS=s + +define Package/trusted-firmware-a/install/default + $(CP) $(patsubst %,$(PKG_BUILD_DIR)/build/$(PLAT)/release/%,$(TFA_IMAGE)) $(1)/ +endef + +Package/trusted-firmware-a/install = $(Package/trusted-firmware-a/install/default) + +define Trusted-Firmware-A/Init + BUILD_TARGET:= + BUILD_SUBTARGET:= + BUILD_DEVICES:= + NAME:= + DEPENDS:= + HIDDEN:= + DEFAULT:= + PLAT:= + VARIANT:=$(1) + TFA_IMAGE:= +endef + +TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET)) + +define Build/Trusted-Firmware-A/Target + $(eval $(call Trusted-Firmware-A/Init,$(1))) + $(eval $(call Trusted-Firmware-A/Default,$(1))) + $(eval $(call Trusted-Firmware-A/$(1),$(1))) + + define Package/trusted-firmware-a-$(1) + SECTION:=boot + CATEGORY:=Boot Loaders + TITLE:=Trusted-Firmware-A for $(NAME) + VARIANT:=$(VARIANT) + DEPENDS:=@!IN_SDK $(DEPENDS) + HIDDEN:=$(HIDDEN) + ifneq ($(BUILD_TARGET),) + DEPENDS += @$(TARGET_DEP) + ifneq ($(BUILD_DEVICES),) + DEFAULT := y if ($(TARGET_DEP)_Default \ + $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \ + $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES))) + endif + endif + $(if $(DEFAULT),DEFAULT:=$(DEFAULT)) + URL:=https://www.trustedfirmware.org/projects/tf-a/ + endef + + define Package/trusted-firmware-a-$(1)/install + $$(Package/trusted-firmware-a/install) + endef +endef + + +define Build/Compile/Trusted-Firmware-A + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + OPENSSL_DIR=$(STAGING_DIR_HOST) \ + PLAT=$(PLAT) \ + $(TFA_MAKE_FLAGS) +endef + +define BuildPackage/Trusted-Firmware-A/Defaults + Build/Configure/Default = $$$$(Build/Configure/Trusted-Firmware-A) + Build/Compile/Default = $$$$(Build/Compile/Trusted-Firmware-A) +endef + +define BuildPackage/Trusted-Firmware-A + $(eval $(call BuildPackage/Trusted-Firmware-A/Defaults)) + $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \ + $(eval $(call Build/Trusted-Firmware-A/Target,$(type))) + ) + $(eval $(call Build/DefaultTargets)) + $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \ + $(call BuildPackage,trusted-firmware-a-$(type)) + ) +endef diff --git a/package/base-files/Makefile b/package/base-files/Makefile index c06b534bea..0c612b73ca 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:=238 +PKG_RELEASE:=239 PKG_FLAGS:=nonshared PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index 05da835f8f..295fae6910 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -9,11 +9,17 @@ CFG=/etc/board.json generate_bridge() { local name=$1 + local macaddr=$2 uci -q batch <<-EOF set network.$name=device set network.$name.name=$name set network.$name.type=bridge EOF + if [ -n "$macaddr" ]; then + uci -q batch <<-EOF + set network.$name.macaddr=$macaddr + EOF + fi } bridge_vlan_id=0 @@ -21,11 +27,11 @@ generate_bridge_vlan() { local name=$1_vlan local device=$2 local ports="$3" - bridge_vlan_id=$((bridge_vlan_id + 1)) + local vlan="$4" uci -q batch <<-EOF set network.$name=bridge-vlan set network.$name.device='$device' - set network.$name.vlan='$bridge_vlan_id' + set network.$name.vlan='$vlan' set network.$name.ports='$ports' EOF } @@ -85,12 +91,12 @@ generate_static_network() { addr_offset=2 generate_network() { - local ifname macaddr protocol type ipaddr netmask + local ifname macaddr protocol type ipaddr netmask vlan local bridge=$2 json_select network json_select "$1" - json_get_vars ifname macaddr protocol ipaddr netmask + json_get_vars ifname macaddr protocol ipaddr netmask vlan json_select .. json_select .. @@ -102,8 +108,12 @@ generate_network() { esac [ -n "$bridge" ] && { - generate_bridge_vlan $1 $bridge "$ifname" - ifname=$bridge.$bridge_vlan_id + if [ -z "$vlan" ]; then + bridge_vlan_id=$((bridge_vlan_id + 1)) + vlan=$bridge_vlan_id + fi + generate_bridge_vlan $1 $bridge "$ifname" $vlan + ifname=$bridge.$vlan type="" } @@ -465,14 +475,21 @@ json_load "$(cat ${CFG})" umask 077 if [ ! -s /etc/config/network ]; then + bridge_name="" touch /etc/config/network generate_static_network json_get_vars bridge - [ -n "$bridge" ] && generate_bridge $bridge + [ -n "$bridge" ] && { + json_select bridge + json_get_vars name macaddr + generate_bridge "$name" "$macaddr" + json_select .. + bridge_name=$name + } json_get_keys keys network - for key in $keys; do generate_network $key $bridge; done + for key in $keys; do generate_network $key $bridge_name; done json_get_keys keys switch for key in $keys; do generate_switch $key; done diff --git a/package/base-files/files/etc/shinit b/package/base-files/files/etc/shinit index 6b715c1ef9..8c64e81563 100644 --- a/package/base-files/files/etc/shinit +++ b/package/base-files/files/etc/shinit @@ -1,4 +1,4 @@ -[ -x /bin/more ] || alias more=less +[ -x /bin/more ] || [ -x /usr/bin/more ] || alias more=less [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi alias ll='ls -alF --color=auto' @@ -9,12 +9,24 @@ alias ll='ls -alF --color=auto' [ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } service() { - [ -f "/etc/init.d/$1" ] || { - echo "service "'"'"$1"'"'" not found, the following services are available:" - ls "/etc/init.d" + if [ -f "/etc/init.d/$1" ]; then + /etc/init.d/$@ + else + echo "Usage: service [command]" + if [ -n "$1" ]; then + echo "Service "'"'"$1"'"'" not found, the following services are available:" + else + echo "The following services are available:" + fi + for F in /etc/init.d/* ; do + printf "%-30s\t%10s\t%10s\n" "$F" \ + $( $($F enabled) && echo "enabled" || echo "disabled" ) \ + $( [ "$(ubus call service list "{ 'verbose': true, 'name': '$(basename $F)' }" \ + | jsonfilter -q -e "@.$(basename $F).instances[*].running")" = "true" ] \ + && echo "running" || echo "stopped" ) + done; return 1 - } - /etc/init.d/$@ + fi } [ -n "$KSH_VERSION" -o \! -s "$HOME/.shinit" ] || . "$HOME/.shinit" diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 39bbeda24c..2f50cd6bfd 100755 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -91,7 +91,23 @@ ucidef_set_interfaces_lan_wan() { } ucidef_set_bridge_device() { - json_add_string bridge "${1:switch0}" + json_select_object bridge + json_add_string name "${1:switch0}" + json_select .. +} + +ucidef_set_bridge_mac() { + json_select_object bridge + json_add_string macaddr "${1}" + json_select .. +} + +ucidef_set_network_device_mac() { + json_select_object "network-device" + json_select_object "${1}" + json_add_string macaddr "${2}" + json_select .. + json_select .. } _ucidef_add_switch_port() { diff --git a/package/boot/arm-trusted-firmware-mvebu/Makefile b/package/boot/arm-trusted-firmware-mvebu/Makefile index 38dd9d1635..1f84b8eb19 100644 --- a/package/boot/arm-trusted-firmware-mvebu/Makefile +++ b/package/boot/arm-trusted-firmware-mvebu/Makefile @@ -7,149 +7,170 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=arm-trusted-firmware-mvebu PKG_VERSION:=2.3 PKG_RELEASE:=1 - -PKG_SOURCE:=trusted-firmware-a-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot PKG_HASH:=37f917922bcef181164908c470a2f941006791c0113d738c498d39d95d543b21 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/trusted-firmware-a-$(PKG_VERSION) - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=docs/license.rst PKG_MAINTAINER:=Vladimir Vid +include $(INCLUDE_DIR)/trusted-firmware-a.mk include $(INCLUDE_DIR)/package.mk -define Package/arm-trusted-firmware-mvebu - SECTION:=boot - CATEGORY:=Boot Loaders - DEPENDS:=@TARGET_mvebu_cortexa53 - VARIANT:=$(subst arm-trusted-firmware-mvebu-,,$(1)) +define Trusted-Firmware-A/Default + BUILD_TARGET:=mvebu + BUILD_SUBTARGET:=cortexa53 + TFA_IMAGE:=flash-image.bin uart-images.tgz + UBOOT:= + DDR_TOPOLOGY:= + CLOCKSPRESET:= endef -define Package/arm-trusted-firmware-mvebu-espressobin-512mb - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin (512MB) + +define Trusted-Firmware-A/espressobin-512mb + NAME:=Marvell ESPRESSObin (512MB) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin UBOOT:=espressobin DDR_TOPOLOGY:=0 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS) +define Trusted-Firmware-A/espressobin-v3-v5-1gb-1cs + NAME:=Marvell ESPRESSObin V3-V5 (1GB 1CS) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin UBOOT:=espressobin DDR_TOPOLOGY:=4 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS, eMMC) +define Trusted-Firmware-A/espressobin-v3-v5-1gb-1cs-emmc + NAME:=Marvell ESPRESSObin V3-V5 (1GB 1CS, eMMC) DEPENDS:=+u-boot-espressobin-emmc + BUILD_DEVICES:=globalscale_espressobin-emmc UBOOT:=espressobin-emmc DDR_TOPOLOGY:=4 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB, 2CS) +define Trusted-Firmware-A/espressobin-v3-v5-1gb-2cs + NAME:=Marvell ESPRESSObin V3-V5 (1GB, 2CS) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin UBOOT:=espressobin DDR_TOPOLOGY:=2 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 2CS, eMMC) +define Trusted-Firmware-A/espressobin-v3-v5-1gb-2cs-emmc + NAME:=Marvell ESPRESSObin V3-V5 (1GB 2CS, eMMC) DEPENDS:=+u-boot-espressobin-emmc + BUILD_DEVICES:=globalscale_espressobin-emmc UBOOT:=espressobin-emmc DDR_TOPOLOGY:=2 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB) +define Trusted-Firmware-A/espressobin-v3-v5-2gb + NAME:=Marvell ESPRESSObin V3-V5 (2GB) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin UBOOT:=espressobin DDR_TOPOLOGY:=7 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB, eMMC) +define Trusted-Firmware-A/espressobin-v3-v5-2gb-emmc + NAME:=Marvell ESPRESSObin V3-V5 (2GB, eMMC) DEPENDS:=+u-boot-espressobin-emmc + BUILD_DEVICES:=globalscale_espressobin-emmc UBOOT:=espressobin-emmc DDR_TOPOLOGY:=7 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB) +define Trusted-Firmware-A/espressobin-v7-1gb + NAME:=Marvell ESPRESSObin V7 (1GB) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin-v7 UBOOT:=espressobin DDR_TOPOLOGY:=5 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB, eMMC) +define Trusted-Firmware-A/espressobin-v7-1gb-emmc + NAME:=Marvell ESPRESSObin V7 (1GB, eMMC) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin-v7-emmc UBOOT:=espressobin-emmc DDR_TOPOLOGY:=5 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB) +define Trusted-Firmware-A/espressobin-v7-2gb + NAME:=Marvell ESPRESSObin V7 (2GB) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin-v7 UBOOT:=espressobin DDR_TOPOLOGY:=6 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB, eMMC) +define Trusted-Firmware-A/espressobin-v7-2gb-emmc + NAME:=Marvell ESPRESSObin V7 (2GB, eMMC) DEPENDS:=+u-boot-espressobin + BUILD_DEVICES:=globalscale_espressobin-v7-emmc UBOOT:=espressobin-emmc DDR_TOPOLOGY:=6 CLOCKSPRESET:=CPU_800_DDR_800 PLAT:=a3700 endef -define Package/arm-trusted-firmware-mvebu-udpu - $(Package/arm-trusted-firmware-mvebu) - TITLE:=ARM Trusted Firmware for Methode uDPU +define Trusted-Firmware-A/udpu + NAME:=Methode uDPU DEPENDS:=+u-boot-uDPU + BUILD_DEVICES:=methode_udpu UBOOT:=uDPU DDR_TOPOLOGY:=0 CLOCKSPRESET:=CPU_1000_DDR_800 PLAT:=a3700 endef + +TFA_TARGETS:= \ + espressobin-512mb \ + espressobin-v3-v5-1gb-1cs \ + espressobin-v3-v5-1gb-1cs-emmc \ + espressobin-v3-v5-1gb-2cs \ + espressobin-v3-v5-1gb-2cs-emmc \ + espressobin-v3-v5-2gb \ + espressobin-v3-v5-2gb-emmc \ + espressobin-v7-1gb \ + espressobin-v7-1gb-emmc \ + espressobin-v7-2gb \ + espressobin-v7-2gb-emmc \ + udpu + +TFA_MAKE_FLAGS += \ + CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \ + BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \ + MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \ + WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \ + DDR_TOPOLOGY=$(DDR_TOPOLOGY) \ + CLOCKSPRESET=$(CLOCKSPRESET) \ + all \ + fip + A3700_UTILS_NAME:=a3700-utils A3700_UTILS_RELEASE:=09679790 A3700_UTILS_SOURCE=$(A3700_UTILS_NAME)-$(A3700_UTILS_RELEASE).tar.bz2 @@ -201,41 +222,4 @@ define Build/Prepare $(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(LINARO_SOURCE) endef -export GCC_HONOUR_COPTS=s - -TARGET_CFLAGS = "" - -define Build/Compile - $(eval $(Package/arm-trusted-firmware-mvebu-$(BUILD_VARIANT))) \ - $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ - CROSS_COMPILE=$(TARGET_CROSS) \ - OPENSSL_DIR=$(STAGING_DIR_HOST) \ - CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \ - BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \ - MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \ - WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \ - DDR_TOPOLOGY=$(DDR_TOPOLOGY) \ - CLOCKSPRESET=$(CLOCKSPRESET) \ - PLAT=$(PLAT) \ - all \ - fip -endef - -define Build/InstallDev - $(INSTALL_DIR) $(BIN_DIR)/flash-image-$(BUILD_VARIANT) - $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/flash-image.bin $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/ - $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/uart-images.tgz $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/ -endef - -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-512mb)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-udpu)) +$(eval $(call BuildPackage/Trusted-Firmware-A)) diff --git a/package/boot/uboot-envtools/files/realtek b/package/boot/uboot-envtools/files/realtek new file mode 100644 index 0000000000..cce0628ffc --- /dev/null +++ b/package/boot/uboot-envtools/files/realtek @@ -0,0 +1,29 @@ +[ -e /etc/config/ubootenv ] && exit 0 + +touch /etc/config/ubootenv + +. /lib/uboot-envtools.sh +. /lib/functions.sh + +board=$(board_name) + +case "$board" in +d-link,dgs-1210-16|\ +d-link,dgs-1210-28|\ +d-link,dgs-1210-10p|\ +zyxel,gs1900-10hp) + idx="$(find_mtd_index u-boot-env)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x400" "0x10000" + ;; +*) + idx="$(find_mtd_index u-boot-env)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" + ;; +esac + +config_load ubootenv +config_foreach ubootenv_add_app_config ubootenv + +exit 0 diff --git a/package/firmware/ath10k-ct-firmware/Makefile b/package/firmware/ath10k-ct-firmware/Makefile index cdfd3fb940..83e5563e64 100644 --- a/package/firmware/ath10k-ct-firmware/Makefile +++ b/package/firmware/ath10k-ct-firmware/Makefile @@ -2,77 +2,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct-firmware PKG_VERSION:=2020-07-02 -PKG_RELEASE:=2 +PKG_RELEASE:=3 include $(INCLUDE_DIR)/package.mk -ATH10K_FIRMWARE_REV:=d622d160e9f552ead68d9ae81b715422892dc2ef -ATH10K_FIRMWARE_URL:=@GITHUB/kvalo/ath10k-firmware/$(ATH10K_FIRMWARE_REV) - -QCA9887_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9887-board.bin -define Download/qca9887-board - FILE:=$(QCA9887_BOARD_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA9887/hw1.0 - URL_FILE:=board.bin - HASH:=cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426 -endef -$(eval $(call Download,qca9887-board)) - -QCA988X_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca988x-board.bin -define Download/qca988x-board - FILE:=$(QCA988X_BOARD_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA988X/hw2.0 - URL_FILE:=board.bin - HASH:=5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880 -endef -$(eval $(call Download,qca988x-board)) - -QCA99X0_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca99x0-board.bin -define Download/qca99x0-board - FILE:=$(QCA99X0_BOARD_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA99X0/hw2.0 - URL_FILE:=boardData_AR900B_CUS239_5G_v2_001.bin - HASH:=3bf7561ee373b369025dcd366d276d038a97d3397ccae41ce841d98a58b30aff -endef -$(eval $(call Download,qca99x0-board)) - -QCA99X0_BOARD2_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe -QCA99X0_BOARD2_FILE:=ath10k-firmware-$(QCA99X0_BOARD2_REV)-qca99x0-board-2.bin -define Download/qca99x0-board2 - FILE:=$(QCA99X0_BOARD2_FILE) - URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0 - URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD2_REV) - HASH:=03711ac21e60ef59d3815e235eb721c0c22851b5410299411085aa6f2af45401 -endef -$(eval $(call Download,qca99x0-board2)) - -QCA9984_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9984-board-2.bin -define Download/qca9984-board2 - FILE:=$(QCA9984_BOARD2_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA9984/hw1.0 - URL_FILE:=board-2.bin - HASH:=0d6d46cf0467185e3959ce3cb69e2415be6e48ab8a4bee3eb400edbe48cb9c25 -endef -$(eval $(call Download,qca9984-board2)) - -QCA4019_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca4019-board-2.bin -define Download/qca4019-board2 - FILE:=$(QCA4019_BOARD2_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA4019/hw1.0 - URL_FILE:=board-2.bin - HASH:=94b66aa4ddbed5110a96364d3c7b4ebcb320e3ac4e8697660b277e76077bc338 -endef -$(eval $(call Download,qca4019-board2)) - -QCA9888_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9888-board-2.bin -define Download/qca9888-board2 - FILE:=$(QCA9888_BOARD2_FILE) - URL:=$(ATH10K_FIRMWARE_URL)/QCA9888/hw2.0 - URL_FILE:=board-2.bin - HASH:=5b871bb567f64525ca45adb88063211de472015d09e0f9aa3fa61ab71c8fdfd3 -endef -$(eval $(call Download,qca9888-board2)) - CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT) CT_FIRMWARE_FILE_FULL_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_FULL_HTT) CT_FIRMWARE_FILE_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_HTT) @@ -227,6 +160,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca988x CONFLICTS:=ath10k-firmware-qca988x + DEPENDS:=+ath10k-board-qca988x endef define Package/ath10k-firmware-qca988x-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -239,7 +173,9 @@ $(Package/ath10k-ct-firmware-default) CONFLICTS:=\ ath10k-firmware-qca988x \ ath10k-firmware-qca988x-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca988x \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca9887-ct @@ -249,6 +185,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca9887 CONFLICTS:=ath10k-firmware-qca9887 + DEPENDS:=+ath10k-board-qca9887 endef define Package/ath10k-firmware-qca9887-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -261,7 +198,9 @@ $(Package/ath10k-ct-firmware-default) CONFLICTS:=\ ath10k-firmware-qca9887 \ ath10k-firmware-qca9887-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca9887 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca99x0-ct @@ -271,6 +210,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca99x0 CONFLICTS:=ath10k-firmware-qca99x0 + DEPENDS:=+ath10k-board-qca99x0 endef define Package/ath10k-firmware-qca99x0-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -284,7 +224,9 @@ $(Package/ath10k-ct-firmware-default) ath10k-firmware-qca99x0 \ ath10k-firmware-qca99x0-ct \ ath10k-firmware-qca99x0-ct-htt - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca99x0 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca99x0-ct-htt $(Package/ath10k-firmware-default) @@ -297,7 +239,9 @@ $(Package/ath10k-firmware-default) CONFLICTS:=\ ath10k-firmware-qca99x0 \ ath10k-firmware-qca99x0-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca99x0 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca9984-ct @@ -307,6 +251,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca9984 CONFLICTS:=ath10k-firmware-qca9984 + DEPENDS:=+ath10k-board-qca9984 endef define Package/ath10k-firmware-qca9984-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -320,7 +265,9 @@ $(Package/ath10k-ct-firmware-default) ath10k-firmware-qca9984 \ ath10k-firmware-qca9984-ct \ ath10k-firmware-qca9984-ct-htt - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca9984 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca9984-ct-htt $(Package/ath10k-firmware-default) @@ -333,7 +280,9 @@ $(Package/ath10k-firmware-default) CONFLICTS:=\ ath10k-firmware-qca9984 \ ath10k-firmware-qca9984-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca9984 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca4019-ct @@ -343,6 +292,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca4019 CONFLICTS:=ath10k-firmware-qca4019 + DEPENDS:=+ath10k-board-qca4019 endef define Package/ath10k-firmware-qca4019-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -356,7 +306,9 @@ $(Package/ath10k-ct-firmware-default) ath10k-firmware-qca4019 \ ath10k-firmware-qca4019-ct \ ath10k-firmware-qca4019-ct-htt - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca4019 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca4019-ct-htt $(Package/ath10k-firmware-default) @@ -369,7 +321,9 @@ $(Package/ath10k-firmware-default) CONFLICTS:=\ ath10k-firmware-qca4019 \ ath10k-firmware-qca4019-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca4019 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca9888-ct @@ -379,6 +333,7 @@ $(Package/ath10k-ct-firmware-default) CATEGORY:=Firmware PROVIDES:=ath10k-firmware-qca9888 CONFLICTS:=ath10k-firmware-qca9888 + DEPENDS:=+ath10k-board-qca9888 endef define Package/ath10k-firmware-qca9888-ct-full-htt $(Package/ath10k-ct-firmware-default) @@ -392,7 +347,9 @@ $(Package/ath10k-ct-firmware-default) ath10k-firmware-qca9888 \ ath10k-firmware-qca9888-ct \ ath10k-firmware-qca9888-ct-htt - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca9888 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef define Package/ath10k-firmware-qca9888-ct-htt $(Package/ath10k-firmware-default) @@ -405,7 +362,9 @@ $(Package/ath10k-firmware-default) CONFLICTS:=\ ath10k-firmware-qca9888 \ ath10k-firmware-qca9888-ct - DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct + DEPENDS:=\ + +ath10k-board-qca9888 \ + +!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct endef @@ -555,34 +514,22 @@ define Package/ath10k-firmware-qca9887-ct/install $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9887) \ $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-2.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9887_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin endef define Package/ath10k-firmware-qca9887-ct-full-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0 $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA9887) \ $(1)/lib/firmware/ath10k/QCA9887/hw1.0/ct-firmware-2.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9887_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin endef define Package/ath10k-firmware-qca988x-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA988X_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA988X/hw2.0/board.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin endef define Package/ath10k-firmware-qca988x-ct-full-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA988X_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA988X/hw2.0/board.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA988X) \ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/ct-firmware-2.bin @@ -590,36 +537,18 @@ endef define Package/ath10k-firmware-qca99x0-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA99X0) \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin endef define Package/ath10k-firmware-qca99x0-ct-full-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA99X0) \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin endef define Package/ath10k-firmware-qca99x0-ct-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA99X0) \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin @@ -627,27 +556,18 @@ endef define Package/ath10k-firmware-qca9984-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9984_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin endef define Package/ath10k-firmware-qca9984-ct-full-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9984_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA9984) \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin endef define Package/ath10k-firmware-qca9984-ct-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9984_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9984) \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin @@ -655,27 +575,18 @@ endef define Package/ath10k-firmware-qca4019-ct/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA4019_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA4019) \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin endef define Package/ath10k-firmware-qca4019-ct-full-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA4019_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA4019) \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin endef define Package/ath10k-firmware-qca4019-ct-htt/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA4019_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA4019) \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin @@ -686,9 +597,6 @@ define Package/ath10k-firmware-qca9888-ct/install ln -s \ ../../cal-pci-0000:01:00.0.bin \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9888_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9888) \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin @@ -698,9 +606,6 @@ define Package/ath10k-firmware-qca9888-ct-full-htt/install ln -s \ ../../cal-pci-0000:01:00.0.bin \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9888_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_FULL_HTT,QCA9888) \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin @@ -710,9 +615,6 @@ define Package/ath10k-firmware-qca9888-ct-htt/install ln -s \ ../../cal-pci-0000:01:00.0.bin \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA9888_BOARD2_FILE) \ - $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin $(INSTALL_DATA) \ $(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9888) \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile deleted file mode 100644 index 52c974e9f8..0000000000 --- a/package/firmware/ath10k-firmware/Makefile +++ /dev/null @@ -1,182 +0,0 @@ -# -# Copyright (C) 2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=ath10k-firmware -PKG_SOURCE_DATE:=2019-10-03 -PKG_SOURCE_VERSION:=d622d160e9f552ead68d9ae81b715422892dc2ef -PKG_MIRROR_HASH:=2e504e071c3f896d629c4cfffe7ff4b5f1acdb4fecd3f01e8ff8c73e87a67cc7 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git - -PKG_MAINTAINER:=Felix Fietkau - -include $(INCLUDE_DIR)/package.mk - -define Package/ath10k-firmware-default - SECTION:=firmware - CATEGORY:=Firmware - URL:=$(PKG_SOURCE_URL) - DEPENDS:= -endef - -define Package/ath10k-firmware-qca9887 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA9887 devices -endef - -define Package/ath10k-firmware-qca9888 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA9888 devices -endef - -define Package/ath10k-firmware-qca988x -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA988x devices - SECTION:=firmware - CATEGORY:=Firmware -endef - -define Package/ath10k-firmware-qca99x0 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA99x0 devices - SECTION:=firmware - CATEGORY:=Firmware -endef - -define Package/ath10k-firmware-qca99x0/description -Standard ath10k firmware for QCA99x0 from QCA -This firmware conflicts with the CT 99x0 firmware, so select only -one. -endef - -define Package/ath10k-firmware-qca9984 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA9984 devices - SECTION:=firmware - CATEGORY:=Firmware -endef - -define Package/ath10k-firmware-qca4019 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for IPQ/QCA4019 devices - SECTION:=firmware - CATEGORY:=Firmware -endef - -define Package/ath10k-firmware-qca6174 -$(Package/ath10k-firmware-default) - TITLE:=ath10k firmware for QCA6174 devices - SECTION:=firmware - CATEGORY:=Firmware -endef - -QCA99X0_BOARD_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe -QCA99X0_BOARD_FILE:=board-2.bin.$(QCA99X0_BOARD_REV) - -define Download/qca99x0-board - URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0 - URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD_REV) - FILE:=$(QCA99X0_BOARD_FILE) - HASH:=03711ac21e60ef59d3815e235eb721c0c22851b5410299411085aa6f2af45401 -endef -$(eval $(call Download,qca99x0-board)) - -define Build/Compile - -endef - -define Package/ath10k-firmware-qca4019/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \ - $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA4019/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00057 \ - $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin -endef - -define Package/ath10k-firmware-qca9887/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9887/hw1.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00047 \ - $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \ - $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin -endef - -define Package/ath10k-firmware-qca9888/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \ - $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9888/hw2.0/3.5.3/firmware-5.bin_10.4-3.5.3-00053 \ - $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin -endef - -define Package/ath10k-firmware-qca988x/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \ - $(1)/lib/firmware/ath10k/QCA988X/hw2.0/ - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA988X/hw2.0/10.2.4-1.0/firmware-5.bin_10.2.4-1.0-00047 \ - $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin -endef - -define Package/ath10k-firmware-qca6174/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA6174/hw2.1 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA6174/hw2.1/board-2.bin \ - $(1)/lib/firmware/ath10k/QCA6174/hw2.1/ - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA6174/hw2.1/firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 \ - $(1)/lib/firmware/ath10k/QCA6174/hw2.1/firmware-5.bin - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA6174/hw3.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA6174/hw3.0/board-2.bin \ - $(1)/lib/firmware/ath10k/QCA6174/hw3.0/ - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00042-QCARMSWP-1 \ - $(1)/lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin -endef - -define Package/ath10k-firmware-qca99x0/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 - $(INSTALL_DATA) \ - $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \ - $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin -endef - -define Package/ath10k-firmware-qca9984/install - $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \ - $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/QCA9984/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00053 \ - $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin -endef - -#$(eval $(call BuildPackage,ath10k-firmware-qca9887)) -#$(eval $(call BuildPackage,ath10k-firmware-qca9888)) -#$(eval $(call BuildPackage,ath10k-firmware-qca988x)) -#$(eval $(call BuildPackage,ath10k-firmware-qca99x0)) -#$(eval $(call BuildPackage,ath10k-firmware-qca6174)) -#$(eval $(call BuildPackage,ath10k-firmware-qca9984)) -#$(eval $(call BuildPackage,ath10k-firmware-qca4019)) diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index 877a58d3d6..7fb99dd2ce 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware PKG_VERSION:=20201118 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -26,6 +26,7 @@ define Package/firmware-default CATEGORY:=Firmware URL:=http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git TITLE:=$(1) + DEPENDS:=$(2) endef define Build/Compile diff --git a/package/firmware/linux-firmware/qca_ath10k.mk b/package/firmware/linux-firmware/qca_ath10k.mk index a7c5b13b84..bd5d21916a 100644 --- a/package/firmware/linux-firmware/qca_ath10k.mk +++ b/package/firmware/linux-firmware/qca_ath10k.mk @@ -9,48 +9,68 @@ define Download/qca99x0-board endef $(eval $(call Download,qca99x0-board)) -Package/ath10k-firmware-qca4019 = $(call Package/firmware-default,ath10k qca4019 firmware) -define Package/ath10k-firmware-qca4019/install +Package/ath10k-board-qca4019 = $(call Package/firmware-default,ath10k qca4019 board firmware) +define Package/ath10k-board-qca4019/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA4019/hw1.0/board-2.bin \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/ +endef +$(eval $(call BuildPackage,ath10k-board-qca4019)) +Package/ath10k-firmware-qca4019 = $(call Package/firmware-default,ath10k qca4019 firmware,+ath10k-board-qca4019) +define Package/ath10k-firmware-qca4019/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA4019/hw1.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin endef $(eval $(call BuildPackage,ath10k-firmware-qca4019)) -Package/ath10k-firmware-qca9887 = $(call Package/firmware-default,ath10k qca9887 firmware) +Package/ath10k-board-qca9887 = $(call Package/firmware-default,ath10k qca9887 board firmware) +define Package/ath10k-board-qca9887/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0 + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/ath10k/QCA9887/hw1.0/board.bin \ + $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin +endef +$(eval $(call BuildPackage,ath10k-board-qca9887)) +Package/ath10k-firmware-qca9887 = $(call Package/firmware-default,ath10k qca9887 firmware,+ath10k-board-qca9887) define Package/ath10k-firmware-qca9887/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA9887/hw1.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/ath10k/QCA9887/hw1.0/board.bin \ - $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin endef $(eval $(call BuildPackage,ath10k-firmware-qca9887)) -Package/ath10k-firmware-qca9888 = $(call Package/firmware-default,ath10k qca9888 firmware) -define Package/ath10k-firmware-qca9888/install +Package/ath10k-board-qca9888 = $(call Package/firmware-default,ath10k qca9888 board firmware) +define Package/ath10k-board-qca9888/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA9888/hw2.0/board-2.bin \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin +endef +$(eval $(call BuildPackage,ath10k-board-qca9888)) +Package/ath10k-firmware-qca9888 = $(call Package/firmware-default,ath10k qca9888 firmware,+ath10k-board-qca9888) +define Package/ath10k-firmware-qca9888/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA9888/hw2.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin endef $(eval $(call BuildPackage,ath10k-firmware-qca9888)) -Package/ath10k-firmware-qca988x = $(call Package/firmware-default,ath10k qca988x firmware) -define Package/ath10k-firmware-qca988x/install +Package/ath10k-board-qca988x = $(call Package/firmware-default,ath10k qca988x board firmware) +define Package/ath10k-board-qca988x/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA988X/hw2.0/board.bin \ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/ +endef +$(eval $(call BuildPackage,ath10k-board-qca988x)) +Package/ath10k-firmware-qca988x = $(call Package/firmware-default,ath10k qca988x firmware,+ath10k-board-qca988x) +define Package/ath10k-firmware-qca988x/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA988X/hw2.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin @@ -76,8 +96,8 @@ define Package/ath10k-firmware-qca6174/install endef $(eval $(call BuildPackage,ath10k-firmware-qca6174)) -Package/ath10k-firmware-qca99x0 = $(call Package/firmware-default,ath10k qca99x0 firmware) -define Package/ath10k-firmware-qca99x0/install +Package/ath10k-board-qca99x0 = $(call Package/firmware-default,ath10k qca99x0 board firmware) +define Package/ath10k-board-qca99x0/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 $(INSTALL_DATA) \ $(DL_DIR)/$(QCA99X0_BOARD_FILE) \ @@ -85,21 +105,30 @@ define Package/ath10k-firmware-qca99x0/install $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA99X0/hw2.0/board.bin \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin +endef +$(eval $(call BuildPackage,ath10k-board-qca99x0)) +Package/ath10k-firmware-qca99x0 = $(call Package/firmware-default,ath10k qca99x0 firmware,+ath10k-board-qca99x0) +define Package/ath10k-firmware-qca99x0/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA99X0/hw2.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin endef $(eval $(call BuildPackage,ath10k-firmware-qca99x0)) -Package/ath10k-firmware-qca9984 = $(call Package/firmware-default,ath10k qca9984 firmware) -define Package/ath10k-firmware-qca9984/install +Package/ath10k-board-qca9984 = $(call Package/firmware-default,ath10k qca9984 board firmware) +define Package/ath10k-board-qca9984/install $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA9984/hw1.0/board-2.bin \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin +endef +$(eval $(call BuildPackage,ath10k-board-qca9984)) +Package/ath10k-firmware-qca9984 = $(call Package/firmware-default,ath10k qca9984 firmware,+ath10k-board-qca9984) +define Package/ath10k-firmware-qca9984/install + $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0 $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/ath10k/QCA9984/hw1.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin endef $(eval $(call BuildPackage,ath10k-firmware-qca9984)) - diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index c66f43b050..32aa350a21 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2020-11-23 -PKG_SOURCE_VERSION:=3abe1fc87151fae570fc1232053c73d1a5505664 -PKG_MIRROR_HASH:=323221cbcc7ee57e6a38e979bdebfbf13cdfddf82ea51bbc30004c07b658bb8a +PKG_SOURCE_DATE:=2020-11-30 +PKG_SOURCE_VERSION:=42c48866f1c1fce068f41536baa8dd2e80fc08d7 +PKG_MIRROR_HASH:=7eeec56364f1e6de8f0917f16ae933ca9bd0298e6a68e330025282164ea9af63 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index 3c9a5023f5..178d9b490a 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -98,6 +98,7 @@ hostapd_common_add_device_config() { config_add_int local_pwr_constraint config_add_string require_mode config_add_boolean legacy_rates + config_add_int cell_density config_add_boolean vendor_vht config_add_string acs_chan_bias @@ -116,7 +117,7 @@ hostapd_prepare_device_config() { local base_cfg= json_get_vars country country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \ - acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode vendor_vht + acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode cell_density vendor_vht hostapd_set_log_options base_cfg @@ -125,8 +126,7 @@ hostapd_prepare_device_config() { set_default doth 1 set_default legacy_rates 1 set_default airtime_mode 0 - - [ "$hwmode" = "b" ] && legacy_rates=1 + set_default cell_density 0 [ -n "$country" ] && { append base_cfg "country_code=$country" "$N" @@ -147,17 +147,58 @@ hostapd_prepare_device_config() { json_get_values rate_list supported_rates [ -n "$hwmode" ] && append base_cfg "hw_mode=$hwmode" "$N" - [ "$legacy_rates" -eq 0 ] && set_default require_mode g - - [ "$hwmode" = "g" ] && { - [ "$legacy_rates" -eq 0 ] && set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000" - [ -n "$require_mode" ] && set_default basic_rate_list "6000 12000 24000" - [ -n "$vendor_vht" ] && append base_cfg "vendor_vht=$vendor_vht" "$N" - } - - case "$require_mode" in - n) append base_cfg "require_ht=1" "$N";; - ac) append base_cfg "require_vht=1" "$N";; + if [ "$hwmode" = "g" ] || [ "$hwmode" = "a" ]; then + [ -n "$require_mode" ] && legacy_rates=0 + case "$require_mode" in + n) append base_cfg "require_ht=1" "$N";; + ac) append base_cfg "require_vht=1" "$N";; + esac + fi + case "$hwmode" in + b) + if [ "$cell_density" -eq 1 ]; then + set_default rate_list "5500 11000" + set_default basic_rate_list "5500 11000" + elif [ "$cell_density" -ge 2 ]; then + set_default rate_list "11000" + set_default basic_rate_list "11000" + fi + ;; + g) + if [ "$cell_density" -eq 0 ] || [ "$cell_density" -eq 1 ]; then + if [ "$legacy_rates" -eq 0 ]; then + set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "6000 12000 24000" + elif [ "$cell_density" -eq 1 ]; then + set_default rate_list "5500 6000 9000 11000 12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "5500 11000" + fi + elif [ "$cell_density" -ge 3 ] && [ "$legacy_rates" -ne 0 ] || [ "$cell_density" -eq 2 ]; then + if [ "$legacy_rates" -eq 0 ]; then + set_default rate_list "12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "12000 24000" + else + set_default rate_list "11000 12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "11000" + fi + elif [ "$cell_density" -ge 3 ]; then + set_default rate_list "24000 36000 48000 54000" + set_default basic_rate_list "24000" + fi + [ -n "$vendor_vht" ] && append base_cfg "vendor_vht=$vendor_vht" "$N" + ;; + a) + if [ "$cell_density" -eq 1 ]; then + set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "6000 12000 24000" + elif [ "$cell_density" -eq 2 ]; then + set_default rate_list "12000 18000 24000 36000 48000 54000" + set_default basic_rate_list "12000 24000" + elif [ "$cell_density" -ge 3 ]; then + set_default rate_list "24000 36000 48000 54000" + set_default basic_rate_list "24000" + fi + ;; esac for r in $rate_list; do diff --git a/package/network/services/umdns/Makefile b/package/network/services/umdns/Makefile index dc032af31b..41945ce007 100644 --- a/package/network/services/umdns/Makefile +++ b/package/network/services/umdns/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=umdns -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_URL=$(PROJECT_GIT)/project/mdnsd.git PKG_SOURCE_PROTO:=git diff --git a/package/network/services/umdns/files/umdns.init b/package/network/services/umdns/files/umdns.init index c0b8cedd79..1ae1cccb03 100644 --- a/package/network/services/umdns/files/umdns.init +++ b/package/network/services/umdns/files/umdns.init @@ -33,7 +33,7 @@ start_service() { procd_open_instance procd_set_param command "$PROG" - procd_set_param seccomp /etc/seccomp/umdns.json + [ -f /etc/seccomp/umdns.json ] && procd_set_param seccomp /etc/seccomp/umdns.json procd_set_param respawn procd_open_trigger procd_add_config_trigger "config.change" "umdns" /etc/init.d/umdns reload diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index aa68b37f41..a0e6285ca1 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git -PKG_SOURCE_DATE:=2020-11-27 -PKG_SOURCE_VERSION:=31e0a46ded22a517c03cb899f890207f0db75fb8 -PKG_MIRROR_HASH:=66014cf40e87f45b3dce23b10ed0218fc458ec620e6ab1fd33e4af0c2aca2442 +PKG_SOURCE_DATE:=2020-12-04 +PKG_SOURCE_VERSION:=6acc48c7a2faac48c534b8a5516500c270550a9e +PKG_MIRROR_HASH:=ee1a238a54fff4c71a6e52f092394b94dbcc488581e6fd3a1bb6da515ce1cbaf CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile index fd2ccace6b..1eb7da007e 100644 --- a/package/system/ubus/Makefile +++ b/package/system/ubus/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubus.git -PKG_SOURCE_DATE:=2020-10-25 -PKG_SOURCE_VERSION:=ad0cd117db74934385d81605514e041b1a9cdda9 -PKG_MIRROR_HASH:=8f6908bd826a342ed8e925dfec4744dbf24616f20d20d1af342a18419a3b14de +PKG_SOURCE_DATE:=2020-12-04 +PKG_SOURCE_VERSION:=d1d9ddf98d39b0bdc055060fb962335439445690 +PKG_MIRROR_HASH:=6fbdda5144cfef14d314d421ce801e9c89a2266428346f531a57c28e731a059c CMAKE_INSTALL:=1 PKG_LICENSE:=LGPL-2.1 diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 71bd888c71..38ef4d33bd 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:=6 +PKG_RELEASE:=7 PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/package/utils/busybox/files/sysntpd b/package/utils/busybox/files/sysntpd index db5fc6c034..19571a2306 100755 --- a/package/utils/busybox/files/sysntpd +++ b/package/utils/busybox/files/sysntpd @@ -55,7 +55,7 @@ start_ntpd_instance() { procd_append_param command -p $peer done procd_set_param respawn - [ -x /sbin/ujail ] && { + [ -x /sbin/ujail -a -e /etc/capabilities/ntpd.json ] && { procd_add_jail ntpd procd_set_param capabilities /etc/capabilities/ntpd.json procd_set_param user ntp diff --git a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts index f0d262c847..2186d13667 100644 --- a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts +++ b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts @@ -109,8 +109,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts index 787b516056..e2481ad70c 100644 --- a/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts +++ b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts @@ -6,7 +6,7 @@ #include / { - model = "Sitecom WLR-7100 v1 002 (X7 AC1200)"; + model = "Sitecom WLR-7100 (X7 AC1200)"; compatible = "sitecom,wlr-7100", "qca,ar9344"; aliases { @@ -101,8 +101,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi index 344241a322..ab868846ff 100644 --- a/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi +++ b/target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi @@ -79,8 +79,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_aruba_ap-105.dts b/target/linux/ath79/dts/ar7161_aruba_ap-105.dts index 45f77f7891..3ad2486873 100644 --- a/target/linux/ath79/dts/ar7161_aruba_ap-105.dts +++ b/target/linux/ath79/dts/ar7161_aruba_ap-105.dts @@ -147,8 +147,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi index 053c91557b..3b6eaf5cc8 100644 --- a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi +++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi @@ -223,7 +223,6 @@ &spi { status = "okay"; - num-cs = <2>; cs-gpios = <0>, <0>; flash0: flash@0 { diff --git a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts index 85fd54b396..a7115ff7e6 100644 --- a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts +++ b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts @@ -170,8 +170,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts b/target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts index 8a27452eb8..145aba7d8e 100644 --- a/target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts +++ b/target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts @@ -105,8 +105,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_meraki_mr16.dts b/target/linux/ath79/dts/ar7161_meraki_mr16.dts index afc49ce865..f541a00841 100644 --- a/target/linux/ath79/dts/ar7161_meraki_mr16.dts +++ b/target/linux/ath79/dts/ar7161_meraki_mr16.dts @@ -128,7 +128,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr.dtsi index 9e41b61357..61097f9679 100644 --- a/target/linux/ath79/dts/ar7161_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/ar7161_netgear_wndr.dtsi @@ -194,8 +194,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_siemens_ws-ap3610.dts b/target/linux/ath79/dts/ar7161_siemens_ws-ap3610.dts index 3c1d97f25e..39bc318b17 100644 --- a/target/linux/ath79/dts/ar7161_siemens_ws-ap3610.dts +++ b/target/linux/ath79/dts/ar7161_siemens_ws-ap3610.dts @@ -111,8 +111,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi index cd0e5015a9..7768bf4c44 100644 --- a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi +++ b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi @@ -55,7 +55,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts b/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts index e93c5ca652..4f284ed900 100644 --- a/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts +++ b/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts @@ -109,8 +109,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7240_dlink_dir-615-e4.dts b/target/linux/ath79/dts/ar7240_dlink_dir-615-e4.dts index b632d3b8a8..9e44420048 100644 --- a/target/linux/ath79/dts/ar7240_dlink_dir-615-e4.dts +++ b/target/linux/ath79/dts/ar7240_dlink_dir-615-e4.dts @@ -99,8 +99,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts index 4752ad1edd..aeb1e9e424 100644 --- a/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts +++ b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts @@ -95,8 +95,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts b/target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts index d67af04d1c..d700ea73fa 100644 --- a/target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts +++ b/target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts @@ -134,8 +134,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi index 44dbe9c55e..382529b32d 100644 --- a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi +++ b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi @@ -67,8 +67,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7240_tplink.dtsi b/target/linux/ath79/dts/ar7240_tplink.dtsi index 23d12e4edf..48849ccbcb 100644 --- a/target/linux/ath79/dts/ar7240_tplink.dtsi +++ b/target/linux/ath79/dts/ar7240_tplink.dtsi @@ -63,8 +63,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts b/target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts index 1b124f3f2e..2e7ea746df 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts @@ -137,8 +137,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi index 62614166db..c61e188e32 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi @@ -137,7 +137,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar7241_tplink.dtsi b/target/linux/ath79/dts/ar7241_tplink.dtsi index 62884f0902..49908066d6 100644 --- a/target/linux/ath79/dts/ar7241_tplink.dtsi +++ b/target/linux/ath79/dts/ar7241_tplink.dtsi @@ -50,8 +50,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts b/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts index b0f6c3695a..d83f4cd2a8 100644 --- a/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts +++ b/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts @@ -95,8 +95,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7241_ubnt_unifi.dts b/target/linux/ath79/dts/ar7241_ubnt_unifi.dts index ce59463d9e..bdb4c61a48 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_unifi.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_unifi.dts @@ -59,8 +59,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7242_avm_fritz300e.dts b/target/linux/ath79/dts/ar7242_avm_fritz300e.dts index 3a002aaedf..3cc7198ca1 100644 --- a/target/linux/ath79/dts/ar7242_avm_fritz300e.dts +++ b/target/linux/ath79/dts/ar7242_avm_fritz300e.dts @@ -96,8 +96,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi index 2840f91ec1..d1a251441e 100644 --- a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi +++ b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi @@ -108,7 +108,6 @@ status = "okay"; cs-gpios = <0>, <0>; - num-cs = <2>; flash0: flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts b/target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts index f035f86c7c..bf570b6ea5 100644 --- a/target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts +++ b/target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts @@ -164,7 +164,6 @@ status = "okay"; cs-gpios = <0>, <0>; - num-cs = <2>; flash0: flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts b/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts index dd4cbf03eb..a07f80f55f 100644 --- a/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts +++ b/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts @@ -102,8 +102,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar7242_ubnt_sw.dtsi b/target/linux/ath79/dts/ar7242_ubnt_sw.dtsi index 52e83ea8d0..c5122dbd9f 100644 --- a/target/linux/ath79/dts/ar7242_ubnt_sw.dtsi +++ b/target/linux/ath79/dts/ar7242_ubnt_sw.dtsi @@ -66,8 +66,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi b/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi index ad216116a9..81a1aba47d 100644 --- a/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi +++ b/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi @@ -22,8 +22,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts b/target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts index c8697d193d..772c874cdd 100644 --- a/target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts +++ b/target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts @@ -73,8 +73,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts b/target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts index e17303a0fb..f575990894 100644 --- a/target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts +++ b/target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts @@ -105,8 +105,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9330_dlink_dir-505.dts b/target/linux/ath79/dts/ar9330_dlink_dir-505.dts index 15e29f552e..574165b748 100644 --- a/target/linux/ath79/dts/ar9330_dlink_dir-505.dts +++ b/target/linux/ath79/dts/ar9330_dlink_dir-505.dts @@ -88,7 +88,6 @@ }; &spi { - num-chipselects = <1>; status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts b/target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts index 26b3b3f04c..20c9a8fdd4 100644 --- a/target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts +++ b/target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts @@ -79,8 +79,6 @@ &spi { status = "okay"; - num-chipselects = <1>; - flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <50000000>; diff --git a/target/linux/ath79/dts/ar9330_pqi_air-pen.dts b/target/linux/ath79/dts/ar9330_pqi_air-pen.dts index 7d04b01377..5f2aa3b03c 100644 --- a/target/linux/ath79/dts/ar9330_pqi_air-pen.dts +++ b/target/linux/ath79/dts/ar9330_pqi_air-pen.dts @@ -66,8 +66,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <50000000>; diff --git a/target/linux/ath79/dts/ar9331_8dev_carambola2.dts b/target/linux/ath79/dts/ar9331_8dev_carambola2.dts index 85e70495fc..42193f857c 100644 --- a/target/linux/ath79/dts/ar9331_8dev_carambola2.dts +++ b/target/linux/ath79/dts/ar9331_8dev_carambola2.dts @@ -63,7 +63,6 @@ }; &spi { - num-chipselects = <0>; status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi b/target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi index 50605bf685..47133cdf5d 100644 --- a/target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi +++ b/target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi @@ -74,8 +74,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_arduino_yun.dts b/target/linux/ath79/dts/ar9331_arduino_yun.dts index 8ce5beb059..6a5aca0541 100644 --- a/target/linux/ath79/dts/ar9331_arduino_yun.dts +++ b/target/linux/ath79/dts/ar9331_arduino_yun.dts @@ -162,8 +162,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts b/target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts index 9303121408..12f1e93d44 100644 --- a/target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts +++ b/target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts @@ -59,8 +59,6 @@ &spi { status = "okay"; - num-chipselects = <1>; - flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <50000000>; diff --git a/target/linux/ath79/dts/ar9331_etactica_eg200.dts b/target/linux/ath79/dts/ar9331_etactica_eg200.dts index 0d7b7cfb84..e6feb54fcd 100644 --- a/target/linux/ath79/dts/ar9331_etactica_eg200.dts +++ b/target/linux/ath79/dts/ar9331_etactica_eg200.dts @@ -83,7 +83,6 @@ }; &spi { - num-chipselects = <1>; status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9331_glinet_6408.dts b/target/linux/ath79/dts/ar9331_glinet_6408.dts index 8bf5d4390e..658fa1aa5e 100644 --- a/target/linux/ath79/dts/ar9331_glinet_6408.dts +++ b/target/linux/ath79/dts/ar9331_glinet_6408.dts @@ -10,8 +10,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_glinet_6416.dts b/target/linux/ath79/dts/ar9331_glinet_6416.dts index 2039ce6eac..189563aaf9 100644 --- a/target/linux/ath79/dts/ar9331_glinet_6416.dts +++ b/target/linux/ath79/dts/ar9331_glinet_6416.dts @@ -10,8 +10,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts b/target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts index d62bdd9d67..67b587ab6e 100644 --- a/target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts +++ b/target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts @@ -87,8 +87,6 @@ &spi { status = "okay"; - num-chipselects = <1>; - flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <33000000>; diff --git a/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi index c5770a7512..e7ca002038 100644 --- a/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi +++ b/target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi @@ -55,8 +55,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts b/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts index 6bc0773b9b..bbc0f1c711 100644 --- a/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts +++ b/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts @@ -75,8 +75,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts b/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts index cdc92f697d..16f88c3273 100644 --- a/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts +++ b/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts @@ -49,7 +49,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts index 7c52ae1617..e9533553a1 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts @@ -110,8 +110,6 @@ &spi { status = "okay"; - num-chipselects = <1>; - /* Spansion S25FL032PIF SPI flash */ flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts index da04aad6cb..c5f7a4fe76 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts @@ -106,8 +106,6 @@ &spi { status = "okay"; - num-chipselects = <1>; - flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <50000000>; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi index 4ea658713d..ecd795580f 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi @@ -47,8 +47,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi index ffc98e6e1c..759e765294 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi @@ -5,8 +5,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi index c1d88f4812..a542fae739 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi @@ -88,8 +88,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts b/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts index d41a6e7a75..e299c8529d 100644 --- a/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts +++ b/target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts @@ -79,8 +79,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts b/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts index da1e59d4c3..94b079f94d 100644 --- a/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts +++ b/target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts @@ -89,8 +89,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9341_pcs_cr3000.dts b/target/linux/ath79/dts/ar9341_pcs_cr3000.dts index 7eafd1acd4..28076716b7 100644 --- a/target/linux/ath79/dts/ar9341_pcs_cr3000.dts +++ b/target/linux/ath79/dts/ar9341_pcs_cr3000.dts @@ -89,8 +89,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts b/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts index 7057c3b1ad..3d9c6cb781 100644 --- a/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts +++ b/target/linux/ath79/dts/ar9341_pisen_wmb001n.dts @@ -134,8 +134,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts b/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts index 750522ded1..9adc9a1faf 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts +++ b/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts @@ -44,8 +44,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi b/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi index 70c2909870..8f40675d91 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi @@ -19,8 +19,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts index 9f2e680b63..cd7532d27a 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts @@ -27,8 +27,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts index cb6b25e664..8c27fe1971 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts @@ -47,8 +47,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts b/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts index 58845f4cb6..f11d3952a3 100644 --- a/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts +++ b/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts @@ -50,8 +50,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9342_ubnt_wa.dtsi b/target/linux/ath79/dts/ar9342_ubnt_wa.dtsi index 3a4fc80b75..d141d48dae 100644 --- a/target/linux/ath79/dts/ar9342_ubnt_wa.dtsi +++ b/target/linux/ath79/dts/ar9342_ubnt_wa.dtsi @@ -35,7 +35,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9342_ubnt_xw.dtsi b/target/linux/ath79/dts/ar9342_ubnt_xw.dtsi index ff4e177ca8..c5fbdb94c4 100644 --- a/target/linux/ath79/dts/ar9342_ubnt_xw.dtsi +++ b/target/linux/ath79/dts/ar9342_ubnt_xw.dtsi @@ -63,7 +63,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts b/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts index aed25e2f67..0ef5f1b7b9 100644 --- a/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts +++ b/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts @@ -118,8 +118,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_alfa-network_n5q.dts b/target/linux/ath79/dts/ar9344_alfa-network_n5q.dts index 75893a5e33..dd50d2bc20 100644 --- a/target/linux/ath79/dts/ar9344_alfa-network_n5q.dts +++ b/target/linux/ath79/dts/ar9344_alfa-network_n5q.dts @@ -107,8 +107,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts b/target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts index 95f798cc0f..11cc2dadfd 100644 --- a/target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts +++ b/target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts @@ -81,8 +81,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts b/target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts index a6a4811053..de8a4d5fd7 100644 --- a/target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts +++ b/target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts @@ -68,8 +68,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_devolo_magic-2-wifi.dts b/target/linux/ath79/dts/ar9344_devolo_magic-2-wifi.dts index a35c177b3c..d2f385c571 100644 --- a/target/linux/ath79/dts/ar9344_devolo_magic-2-wifi.dts +++ b/target/linux/ath79/dts/ar9344_devolo_magic-2-wifi.dts @@ -75,8 +75,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi index 8f6859185d..4c2177bfad 100644 --- a/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi +++ b/target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi @@ -69,7 +69,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts index 26e98f8711..7fb794f21c 100644 --- a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts +++ b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts @@ -119,7 +119,6 @@ status = "okay"; cs-gpios = <0>, <0>; - num-cs = <2>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi index 789069632b..013a998a02 100644 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi @@ -87,8 +87,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_ocedo_raccoon.dts b/target/linux/ath79/dts/ar9344_ocedo_raccoon.dts index 443f0c6724..3260d6b32d 100644 --- a/target/linux/ath79/dts/ar9344_ocedo_raccoon.dts +++ b/target/linux/ath79/dts/ar9344_ocedo_raccoon.dts @@ -73,8 +73,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_pcs_cap324.dts b/target/linux/ath79/dts/ar9344_pcs_cap324.dts index c5919b5ef8..de75b8e0b4 100644 --- a/target/linux/ath79/dts/ar9344_pcs_cap324.dts +++ b/target/linux/ath79/dts/ar9344_pcs_cap324.dts @@ -80,8 +80,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_pcs_cr5000.dts b/target/linux/ath79/dts/ar9344_pcs_cr5000.dts index 3ab1cb34b3..7f74ba6351 100644 --- a/target/linux/ath79/dts/ar9344_pcs_cr5000.dts +++ b/target/linux/ath79/dts/ar9344_pcs_cr5000.dts @@ -72,8 +72,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_qihoo_c301.dts b/target/linux/ath79/dts/ar9344_qihoo_c301.dts index dff2644b11..b05d673137 100644 --- a/target/linux/ath79/dts/ar9344_qihoo_c301.dts +++ b/target/linux/ath79/dts/ar9344_qihoo_c301.dts @@ -101,11 +101,10 @@ }; &spi { - pinctrl-names = "default"; - pinctrl-0 = <&pmx_spi_cs1>; status = "okay"; - num-cs = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&pmx_spi_cs1>; flash@0 { #address-cells = <1>; diff --git a/target/linux/ath79/dts/ar9344_qxwlan_e750x.dtsi b/target/linux/ath79/dts/ar9344_qxwlan_e750x.dtsi index 2cd7b446c6..16e20b7498 100644 --- a/target/linux/ath79/dts/ar9344_qxwlan_e750x.dtsi +++ b/target/linux/ath79/dts/ar9344_qxwlan_e750x.dtsi @@ -59,8 +59,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_samsung_wam250.dts b/target/linux/ath79/dts/ar9344_samsung_wam250.dts index 8a04af2973..a7cea7c2b6 100644 --- a/target/linux/ath79/dts/ar9344_samsung_wam250.dts +++ b/target/linux/ath79/dts/ar9344_samsung_wam250.dts @@ -97,8 +97,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts index 98ad19cdeb..7914928aa0 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts @@ -141,7 +141,6 @@ &spi { status = "okay"; - num-cs = <3>; pinctrl-names = "default"; pinctrl-0 = <&pmx_spi>, <&pmx_spi_ext>; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi index 5e1d810b1f..116d797eb2 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi +++ b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi @@ -60,7 +60,7 @@ &spi { status = "okay"; - num-cs = <2>; + pinctrl-names = "default"; pinctrl-0 = <&pmx_spi>; diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi index 6917e5e955..39d4bd6ea9 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe.dtsi @@ -32,8 +32,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; @@ -114,3 +112,19 @@ ð1 { status = "okay"; }; + +&gpio { + gpio_ext_lna0 { + gpio-hog; + gpios = <18 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "tp-link:ext:lna0"; + }; + + gpio_ext_lna1 { + gpio-hog; + gpios = <19 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "tp-link:ext:lna1"; + }; +}; diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi index 1fce869160..e7d33ab22b 100644 --- a/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi @@ -44,22 +44,6 @@ }; }; -&gpio { - gpio_ext_lna0 { - gpio-hog; - gpios = <18 0>; - output-high; - line-name = "tp-link:ext:lna0"; - }; - - gpio_ext_lna1 { - gpio-hog; - gpios = <19 0>; - output-high; - line-name = "tp-link:ext:lna1"; - }; -}; - ð1 { mtd-mac-address = <&info 0x8>; diff --git a/target/linux/ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi b/target/linux/ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi index e7430988ad..ea7dfeac93 100644 --- a/target/linux/ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi +++ b/target/linux/ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi @@ -73,8 +73,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts b/target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts index da3b0c63aa..8c62272897 100644 --- a/target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts +++ b/target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts @@ -53,8 +53,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_wd_mynet-n750.dts b/target/linux/ath79/dts/ar9344_wd_mynet-n750.dts index c440d71721..992bbf6bc1 100644 --- a/target/linux/ath79/dts/ar9344_wd_mynet-n750.dts +++ b/target/linux/ath79/dts/ar9344_wd_mynet-n750.dts @@ -86,8 +86,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts b/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts index 6bacee4b4d..d04d517b19 100644 --- a/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts +++ b/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts @@ -88,8 +88,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = /* "s25fl064k", */ "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts b/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts index cd2e389ccd..68d3d6a881 100644 --- a/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts +++ b/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts @@ -87,8 +87,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts b/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts index f2cb35eae9..5f24bf23d6 100644 --- a/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts +++ b/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts @@ -97,7 +97,6 @@ }; &spi { - num-chipselects = <1>; status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/ar934x.dtsi b/target/linux/ath79/dts/ar934x.dtsi index b1339ab36a..aa1003cdb5 100644 --- a/target/linux/ath79/dts/ar934x.dtsi +++ b/target/linux/ath79/dts/ar934x.dtsi @@ -272,8 +272,8 @@ ð1 { compatible = "qca,ar9340-eth", "syscon"; - resets = <&rst 13>, <&rst 23>; - reset-names = "mac", "mdio"; + resets = <&rst 13>; + reset-names = "mac"; clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>; clock-names = "eth", "mdio"; phy-mode = "gmii"; diff --git a/target/linux/ath79/dts/qca9531_8dev_lima.dts b/target/linux/ath79/dts/qca9531_8dev_lima.dts index d13ae66a1c..1adfe15b5f 100644 --- a/target/linux/ath79/dts/qca9531_8dev_lima.dts +++ b/target/linux/ath79/dts/qca9531_8dev_lima.dts @@ -45,8 +45,6 @@ &spi { status = "okay"; - num-cs = <1>; - /* Winbond W25Q256 SPI flash */ flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi index 697b20e999..f0d3e0b617 100644 --- a/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi +++ b/target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi @@ -60,8 +60,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts index 749acedcda..c3097bf93b 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts @@ -74,8 +74,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts index 7e2ff5d0ee..ac387040bf 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts @@ -72,7 +72,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts index 723c9eda13..842ed970a6 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts @@ -87,7 +87,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts index 5c69a9bde0..45416089b7 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e5.dts @@ -82,7 +82,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts index 46b08da838..5065069863 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts @@ -83,8 +83,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts b/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts index f52467c4e2..7114df5cbc 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts @@ -67,8 +67,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "winbond,w25q128", "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts b/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts index 2fbdc8fd07..d57c943810 100644 --- a/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts +++ b/target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts @@ -67,8 +67,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_dlink_dch-g020-a1.dts b/target/linux/ath79/dts/qca9531_dlink_dch-g020-a1.dts index dafce16a2a..9f9dd44812 100644 --- a/target/linux/ath79/dts/qca9531_dlink_dch-g020-a1.dts +++ b/target/linux/ath79/dts/qca9531_dlink_dch-g020-a1.dts @@ -90,8 +90,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_engenius_ews511ap.dts b/target/linux/ath79/dts/qca9531_engenius_ews511ap.dts index eb91d7e0b4..736ebf2dd3 100644 --- a/target/linux/ath79/dts/qca9531_engenius_ews511ap.dts +++ b/target/linux/ath79/dts/qca9531_engenius_ews511ap.dts @@ -91,8 +91,6 @@ &spi { status = "okay"; - num-cs = <0>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi index 86c895fc6a..6422dc60f5 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi @@ -74,8 +74,6 @@ &spi { status = "okay"; - num-cs = <2>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts index 57a7ed1a0c..f3d62b36a8 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts @@ -90,7 +90,6 @@ &spi { status = "okay"; - num-cs = <0>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts index b463be0ec4..de7d5f577a 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-e750.dts @@ -61,7 +61,6 @@ &spi { status = "okay"; - num-cs = <2>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts index acb458f7ec..f32cb6e39a 100644 --- a/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts +++ b/target/linux/ath79/dts/qca9531_glinet_gl-x750.dts @@ -80,7 +80,6 @@ &spi { status = "okay"; - num-cs = <0>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_telco_t1.dts b/target/linux/ath79/dts/qca9531_telco_t1.dts index 455bfb336f..252d9073c8 100644 --- a/target/linux/ath79/dts/qca9531_telco_t1.dts +++ b/target/linux/ath79/dts/qca9531_telco_t1.dts @@ -79,7 +79,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts b/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts index 2f6c4147c9..d163a73228 100644 --- a/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts +++ b/target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts @@ -139,8 +139,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts b/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts index bd3858e59a..751a69154f 100644 --- a/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts +++ b/target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts @@ -96,8 +96,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_wallys_dr531.dts b/target/linux/ath79/dts/qca9531_wallys_dr531.dts index 777a55b6f3..2375a054ce 100644 --- a/target/linux/ath79/dts/qca9531_wallys_dr531.dts +++ b/target/linux/ath79/dts/qca9531_wallys_dr531.dts @@ -94,8 +94,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9531_yuncore_a770.dts b/target/linux/ath79/dts/qca9531_yuncore_a770.dts index aaa9e1f908..a6738c7d9a 100644 --- a/target/linux/ath79/dts/qca9531_yuncore_a770.dts +++ b/target/linux/ath79/dts/qca9531_yuncore_a770.dts @@ -57,8 +57,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts b/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts index 961caa8ade..c4918205fd 100644 --- a/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts +++ b/target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts @@ -92,8 +92,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "winbond,w25q128", "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_dlink_dap-13xx.dtsi b/target/linux/ath79/dts/qca9533_dlink_dap-13xx.dtsi index 5002079940..cd095c1559 100644 --- a/target/linux/ath79/dts/qca9533_dlink_dap-13xx.dtsi +++ b/target/linux/ath79/dts/qca9533_dlink_dap-13xx.dtsi @@ -67,8 +67,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi index 539c07c322..effa2d3619 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi @@ -21,8 +21,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi index 7c64dcc24f..f663a1fcd7 100644 --- a/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi @@ -56,8 +56,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { #address-cells = <1>; #size-cells = <1>; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi index c45280aff0..28e74d5ced 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi @@ -70,8 +70,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts index 7d8519ef9b..e723587a0b 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts @@ -98,8 +98,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { #address-cells = <1>; #size-cells = <1>; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi index b6349e5371..26edbb2cd0 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi @@ -41,8 +41,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi index b68cd87e98..842815d683 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi @@ -76,8 +76,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts index 269ca03645..f0b42a6e4c 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts @@ -116,8 +116,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts b/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts index b74b0756fe..8b9469ebc0 100644 --- a/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts +++ b/target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts @@ -27,7 +27,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi index 091d6696a3..53e5fe9bcc 100644 --- a/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi +++ b/target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi @@ -58,8 +58,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9556_avm_fritz-repeater.dtsi b/target/linux/ath79/dts/qca9556_avm_fritz-repeater.dtsi index 400f8eb974..befb933483 100644 --- a/target/linux/ath79/dts/qca9556_avm_fritz-repeater.dtsi +++ b/target/linux/ath79/dts/qca9556_avm_fritz-repeater.dtsi @@ -23,7 +23,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts b/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts index 572dc02205..a3f9ec28a4 100644 --- a/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts +++ b/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts @@ -60,8 +60,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts index 33053771ad..8d437a6792 100644 --- a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts +++ b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts @@ -64,8 +64,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi index f19e186796..2f6bf4dbee 100644 --- a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi +++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi @@ -90,8 +90,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts b/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts index d56fab120b..fff23dcf2b 100644 --- a/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts +++ b/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts @@ -61,8 +61,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts b/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts index 1cca39de38..aee8bbff56 100644 --- a/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts +++ b/target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts @@ -91,8 +91,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts index 240d20ff1f..639c877177 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts @@ -9,7 +9,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts index 1b20c3b615..5dda5f1869 100644 --- a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts @@ -9,7 +9,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi index f41d8985a2..a1b019a7ad 100644 --- a/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi +++ b/target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi @@ -47,8 +47,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts index f0cf22511a..b8429fed45 100644 --- a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts @@ -50,7 +50,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { #address-cells = <1>; diff --git a/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts b/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts index 4af1860aca..fae0853922 100644 --- a/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts +++ b/target/linux/ath79/dts/qca9558_domywifi_dw33d.dts @@ -108,8 +108,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts b/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts index 5e38f2e459..9f2c9c048b 100644 --- a/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts +++ b/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts @@ -65,8 +65,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_engenius_epg5000.dts b/target/linux/ath79/dts/qca9558_engenius_epg5000.dts index 9d37664306..5e4d224d3e 100644 --- a/target/linux/ath79/dts/qca9558_engenius_epg5000.dts +++ b/target/linux/ath79/dts/qca9558_engenius_epg5000.dts @@ -99,8 +99,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts b/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts index c4a73f2563..5788623025 100644 --- a/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts +++ b/target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts @@ -102,8 +102,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi index 04abb8717e..40a4ead19d 100644 --- a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi +++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi @@ -131,8 +131,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_ocedo_koala.dts b/target/linux/ath79/dts/qca9558_ocedo_koala.dts index dbefa40dcf..a3a3cc3e31 100644 --- a/target/linux/ath79/dts/qca9558_ocedo_koala.dts +++ b/target/linux/ath79/dts/qca9558_ocedo_koala.dts @@ -69,7 +69,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_ocedo_ursus.dts b/target/linux/ath79/dts/qca9558_ocedo_ursus.dts index 8c7a7af91b..79ed751d66 100644 --- a/target/linux/ath79/dts/qca9558_ocedo_ursus.dts +++ b/target/linux/ath79/dts/qca9558_ocedo_ursus.dts @@ -40,7 +40,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts index eb196eb2e5..fabfe14cf8 100644 --- a/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts +++ b/target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts @@ -91,7 +91,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi b/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi index 99f37ac025..aa4bd75f2f 100644 --- a/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi +++ b/target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi @@ -62,7 +62,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_sitecom_wlr-8100.dts b/target/linux/ath79/dts/qca9558_sitecom_wlr-8100.dts index 412a6e7b33..ccc08c39f1 100644 --- a/target/linux/ath79/dts/qca9558_sitecom_wlr-8100.dts +++ b/target/linux/ath79/dts/qca9558_sitecom_wlr-8100.dts @@ -63,8 +63,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi index d59d87b5e6..87dbdd0a5f 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi @@ -118,8 +118,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts index 689e478e19..fd1717b668 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts @@ -14,8 +14,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts index 2273298226..d2ef7e82a7 100644 --- a/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts @@ -14,8 +14,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts b/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts index 11ebbdacea..b0a3293d4f 100644 --- a/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts +++ b/target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts @@ -119,8 +119,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi index 55f4edf19e..225af82c93 100644 --- a/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi @@ -106,7 +106,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts index 9f241ebc2f..8f525d57bc 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts @@ -141,8 +141,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts new file mode 100644 index 0000000000..04368b9244 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9558_tplink_archer-c.dtsi" + +/ { + compatible = "tplink,tl-wdr7500-v3", "qca,qca9558"; + model = "TP-Link TL-WDR7500 v3"; +}; + +&keys { + rfkill { + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,code = ; + linux,input-type = ; + debounce-interval = <60>; + }; +}; + +&leds { + wlan5g { + label = "green:wlan5g"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; +}; + +&mtdparts { + uboot: partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + compatible = "tplink,firmware"; + reg = <0x020000 0x7d0000>; + }; + + art: partition@7f0000 { + label = "art"; + reg = <0x7f0000 0x010000>; + read-only; + }; +}; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi index 476162a00e..66059b890b 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi @@ -93,7 +93,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts b/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts index bbbf69fa59..bb1993516e 100644 --- a/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts +++ b/target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts @@ -63,7 +63,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9558_trendnet_tew-823dru.dts b/target/linux/ath79/dts/qca9558_trendnet_tew-823dru.dts index 871b69af78..e3f3643b37 100644 --- a/target/linux/ath79/dts/qca9558_trendnet_tew-823dru.dts +++ b/target/linux/ath79/dts/qca9558_trendnet_tew-823dru.dts @@ -104,8 +104,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts index 94991a8f49..9aee8c362c 100644 --- a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts +++ b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts @@ -82,8 +82,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi index 569ba3a720..7e022e46a1 100644 --- a/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi +++ b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi @@ -15,7 +15,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_avm_fritz4020.dts b/target/linux/ath79/dts/qca9561_avm_fritz4020.dts index e7e421c076..13e6eb1673 100644 --- a/target/linux/ath79/dts/qca9561_avm_fritz4020.dts +++ b/target/linux/ath79/dts/qca9561_avm_fritz4020.dts @@ -102,8 +102,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts index 6659bbe688..8776299080 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts @@ -114,8 +114,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts index 464bc40b44..ea86b8f35e 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts @@ -9,7 +9,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts index 4430d05247..07e8379172 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts @@ -33,7 +33,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts index c407dc3cde..c1321f5d20 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts @@ -33,7 +33,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts index 2a6bea30f2..a3bbf3e49c 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts @@ -21,7 +21,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts index afef276db2..2bcab77dbf 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts @@ -21,7 +21,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts index cda2a3615b..c1a0a8c2e5 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts @@ -16,8 +16,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts b/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts index 21203451cb..4dea09f429 100644 --- a/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts @@ -66,7 +66,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts b/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts index a403877c89..22bd8c941d 100644 --- a/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts +++ b/target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts @@ -58,7 +58,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_compex_wpj563.dts b/target/linux/ath79/dts/qca9563_compex_wpj563.dts index 913155a0bd..74b6da9468 100644 --- a/target/linux/ath79/dts/qca9563_compex_wpj563.dts +++ b/target/linux/ath79/dts/qca9563_compex_wpj563.dts @@ -65,8 +65,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi index 02a3e3e44a..3b45681bc0 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi +++ b/target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi @@ -61,8 +61,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts b/target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts index 572a0bc6ea..49805ec319 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts +++ b/target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts @@ -80,8 +80,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi index 7efdfa62af..90d91a6d8e 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi @@ -51,7 +51,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi index 24b0860d7c..75103afdd7 100644 --- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi +++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi @@ -70,8 +70,6 @@ &spi { status = "okay"; - num-cs = <2>; - flash_nor: flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_nec_wg1200cr.dts b/target/linux/ath79/dts/qca9563_nec_wg1200cr.dts index 0f77cfa5f1..a224ddbd5f 100644 --- a/target/linux/ath79/dts/qca9563_nec_wg1200cr.dts +++ b/target/linux/ath79/dts/qca9563_nec_wg1200cr.dts @@ -70,8 +70,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_nec_wg800hp.dts b/target/linux/ath79/dts/qca9563_nec_wg800hp.dts index befd1620e9..8a4226f35c 100644 --- a/target/linux/ath79/dts/qca9563_nec_wg800hp.dts +++ b/target/linux/ath79/dts/qca9563_nec_wg800hp.dts @@ -94,7 +94,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi index ca29336147..e77298bbd9 100644 --- a/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi +++ b/target/linux/ath79/dts/qca9563_netgear_wndr.dtsi @@ -95,8 +95,6 @@ &spi { status = "okay"; - num-cs = <2>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_phicomm_k2t.dts b/target/linux/ath79/dts/qca9563_phicomm_k2t.dts index e89a4de1ee..b86289a3ab 100644 --- a/target/linux/ath79/dts/qca9563_phicomm_k2t.dts +++ b/target/linux/ath79/dts/qca9563_phicomm_k2t.dts @@ -55,8 +55,6 @@ }; &spi { - num-cs = <1>; - status = "okay"; flash@0 { diff --git a/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi b/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi index 0c397e7dd9..33d0095da4 100644 --- a/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi +++ b/target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi @@ -56,8 +56,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_rosinson_wr818.dts b/target/linux/ath79/dts/qca9563_rosinson_wr818.dts index ce73d0838f..512d36bbe0 100644 --- a/target/linux/ath79/dts/qca9563_rosinson_wr818.dts +++ b/target/linux/ath79/dts/qca9563_rosinson_wr818.dts @@ -50,8 +50,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts index 95ac123f48..6e7bd9986a 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts @@ -99,8 +99,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts index 399f410612..892e87ebaf 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts @@ -77,8 +77,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts index d00320ad02..c64402bcfe 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts @@ -77,8 +77,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts index 77ba6c4ffb..e0d03e1640 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts +++ b/target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts @@ -184,8 +184,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi index 63c9977c6c..c13bafce0b 100644 --- a/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi @@ -126,8 +126,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts b/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts index 184c208f58..fdb3d8cdc1 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts +++ b/target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts @@ -54,7 +54,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi index 4c550fff6e..0be46301f0 100644 --- a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi @@ -32,7 +32,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_tplink_re450.dtsi b/target/linux/ath79/dts/qca9563_tplink_re450.dtsi index 85b9cf6a10..e09c1ba63f 100644 --- a/target/linux/ath79/dts/qca9563_tplink_re450.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_re450.dtsi @@ -115,8 +115,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630.dtsi b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630.dtsi index 0ce1da832c..1503bf4c8e 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630.dtsi +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wpa8630.dtsi @@ -85,8 +85,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts index 208a5ca88e..cba124aa85 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts @@ -9,7 +9,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts index 2f2d59ebd3..ddb986ffdd 100644 --- a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts @@ -21,8 +21,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi index 7a5a957f7b..14532d3b7f 100644 --- a/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi +++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi @@ -49,7 +49,6 @@ &spi { status = "okay"; - num-cs = <1>; flash@0 { compatible = "jedec,spi-nor"; diff --git a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi index a14cf48340..f8fdf5e27d 100644 --- a/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi +++ b/target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi @@ -64,8 +64,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wx.dtsi b/target/linux/ath79/dts/tp9343_tplink_tl-wx.dtsi index 30e2cb6439..3e591ec908 100644 --- a/target/linux/ath79/dts/tp9343_tplink_tl-wx.dtsi +++ b/target/linux/ath79/dts/tp9343_tplink_tl-wx.dtsi @@ -14,8 +14,6 @@ &spi { status = "okay"; - num-cs = <1>; - flash@0 { compatible = "jedec,spi-nor"; reg = <0>; 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 426c3e8c27..0a9a6f49c1 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 @@ -312,7 +312,8 @@ ath79_setup_interfaces() tplink,archer-c5-v1|\ tplink,archer-c7-v1|\ tplink,archer-c7-v2|\ - tplink,tl-wdr4900-v2) + tplink,tl-wdr4900-v2|\ + tplink,tl-wdr7500-v3) ucidef_add_switch "switch0" \ "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan" ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 94a66c1ced..a72cad05c3 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -109,7 +109,8 @@ case "$FIRMWARE" in ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1) ;; tplink,archer-c5-v1|\ - tplink,archer-c7-v2) + tplink,archer-c7-v2|\ + tplink,tl-wdr7500-v3) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -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 10756abbaf..f4fca06384 100644 --- a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh @@ -45,11 +45,11 @@ platform_do_upgrade() { redboot_fis_do_upgrade "$1" vmlinux_2 ;; jjplus,ja76pf2) - echo "Sysupgrade disabled due bug FS#2428" + redboot_fis_do_upgrade "$1" linux ;; ubnt,routerstation|\ ubnt,routerstation-pro) - echo "Sysupgrade disabled due bug FS#2428" + redboot_fis_do_upgrade "$1" kernel ;; *) default_do_upgrade "$1" diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile index 4b4a67fd4d..9bec159cf0 100644 --- a/target/linux/ath79/image/Makefile +++ b/target/linux/ath79/image/Makefile @@ -5,6 +5,14 @@ KERNEL_LOADADDR = 0x80060000 DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE +define Build/combined-image + sh $(TOPDIR)/scripts/combined-image.sh \ + "$(IMAGE_KERNEL)" \ + "$@" \ + "$@.new" + @mv $@.new $@ +endef + define Build/loader-common rm -rf $@.src $(MAKE) -C lzma-loader \ diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index 5088510af0..0058d74f77 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -564,6 +564,18 @@ define Device/tplink_tl-wdr4900-v2 endef TARGET_DEVICES += tplink_tl-wdr4900-v2 +define Device/tplink_tl-wdr7500-v3 + $(Device/tplink-8mlzma) + SOC := qca9558 + DEVICE_MODEL := TL-WDR7500 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \ + ath10k-firmware-qca988x-ct + TPLINK_HWID := 0x75000003 + SUPPORTED_DEVICES += archer-c7 +endef +TARGET_DEVICES += tplink_tl-wdr7500-v3 + define Device/tplink_tl-wpa8630-v1 $(Device/tplink-8mlzma) SOC := qca9563 diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index 6e12c34d85..c347bd1cf1 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -310,9 +310,11 @@ define Device/ubnt_routerstation_common DEVICE_VENDOR := Ubiquiti SOC := ar7161 IMAGE_SIZE := 16128k - IMAGES := factory.bin + IMAGES += factory.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | mkubntimage | \ check-size + IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | \ + append-metadata | check-size KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE) KERNEL_INITRAMFS := kernel-bin | append-dtb endef diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index c1affed224..5298f58a33 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1171,9 +1171,11 @@ define Device/jjplus_ja76pf2 DEVICE_VENDOR := jjPlus DEVICE_MODEL := JA76PF2 DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-basic-wolfssl -uboot-envtools fconfig - IMAGES := kernel.bin rootfs.bin + IMAGES += kernel.bin rootfs.bin IMAGE/kernel.bin := append-kernel IMAGE/rootfs.bin := append-rootfs | pad-rootfs + IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | \ + append-metadata | check-size KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE) KERNEL_INITRAMFS := kernel-bin | append-dtb IMAGE_SIZE := 16000k @@ -1686,7 +1688,6 @@ define Device/sitecom_wlr-7100 SOC := ar1022 DEVICE_VENDOR := Sitecom DEVICE_MODEL := WLR-7100 - DEVICE_VARIANT := v1 002 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2 IMAGES += factory.dlf IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \ diff --git a/target/linux/bcm27xx/patches-5.4/950-0215-spi-bcm2835-enable-shared-interrupt-support.patch b/target/linux/bcm27xx/patches-5.4/950-0215-spi-bcm2835-enable-shared-interrupt-support.patch index fb0a0699cd..35a4e71245 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0215-spi-bcm2835-enable-shared-interrupt-support.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0215-spi-bcm2835-enable-shared-interrupt-support.patch @@ -23,7 +23,7 @@ Signed-off-by: Martin Sperl /* Read as many bytes as possible from FIFO */ bcm2835_rd_fifo(bs); /* Write as many bytes as possible to FIFO */ -@@ -1334,7 +1338,8 @@ static int bcm2835_spi_probe(struct plat +@@ -1330,7 +1334,8 @@ static int bcm2835_spi_probe(struct plat bcm2835_wr(bs, BCM2835_SPI_CS, BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX); diff --git a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 28f1c18c9a..2f8964a82d 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1245,6 +1248,9 @@ +@@ -1253,6 +1256,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -184,6 +185,7 @@ static const struct hid_device_id hid_qu +@@ -189,6 +190,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index b84009313f..cfd4cf3c31 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -29,7 +29,8 @@ adb,pdg-a4001n-a-000-1a1-ax) ucidef_set_led_netdev "lan" "LAN" "green:internet" "eth0.1" ucidef_set_led_netdev "wan" "WAN" "green:adsl" "eth0.2" ucidef_set_led_netdev "wlan0" "WIFI" "green:wifi" "wlan0" - ucidef_set_led_usbdev "usb" "USB" "green:service" "1-1" + ucidef_set_led_usbdev "usb1" "USB1" "green:service" "1-1" + ucidef_set_led_usbdev "usb2" "USB2" "red:service" "2-1" ;; adb,av4202n) ucidef_set_led_netdev "wlan0" "WLAN" "blue:wifi" "wlan0" diff --git a/target/linux/bcm63xx/patches-5.4/440-bcm63xx_enet-batch_process_RX_path.patch b/target/linux/bcm63xx/patches-5.4/440-bcm63xx_enet-batch_process_RX_path.patch new file mode 100644 index 0000000000..0a22d8c651 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/440-bcm63xx_enet-batch_process_RX_path.patch @@ -0,0 +1,53 @@ +From 1606f78dc82e4f311ca5844a0605a62cd141a072 Mon Sep 17 00:00:00 2001 +From: Sieng Piaw Liew +Date: Mon, 30 Nov 2020 11:07:47 +0800 +Subject: [PATCH] bcm63xx: batch process RX path + +Use netif_receive_skb_list to batch process skb in RX. +Tested on BCM6328 320 MHz using iperf3 -M 512, increasing performance +by 12.5%. + +Before: +[ ID] Interval Transfer Bandwidth Retr +[ 4] 0.00-30.00 sec 120 MBytes 33.7 Mbits/sec 277 sender +[ 4] 0.00-30.00 sec 120 MBytes 33.5 Mbits/sec receiver + +After: +[ ID] Interval Transfer Bandwidth Retr +[ 4] 0.00-30.00 sec 136 MBytes 37.9 Mbits/sec 203 sender +[ 4] 0.00-30.00 sec 135 MBytes 37.7 Mbits/sec receiver + +Signed-off-by: Sieng Piaw Liew +--- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c ++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c +@@ -301,10 +301,12 @@ static int bcm_enet_receive_queue(struct + struct bcm_enet_priv *priv; + struct device *kdev; + int processed; ++ struct list_head rx_list; + + priv = netdev_priv(dev); + kdev = &priv->pdev->dev; + processed = 0; ++ INIT_LIST_HEAD(&rx_list); + + /* don't scan ring further than number of refilled + * descriptor */ +@@ -393,10 +395,12 @@ static int bcm_enet_receive_queue(struct + skb->protocol = eth_type_trans(skb, dev); + dev->stats.rx_packets++; + dev->stats.rx_bytes += len; +- netif_receive_skb(skb); ++ list_add_tail(&skb->list, &rx_list); + + } while (--budget > 0); + ++ netif_receive_skb_list(&rx_list); ++ + if (processed || !priv->rx_desc_count) { + bcm_enet_refill_rx(dev); + diff --git a/target/linux/bcm63xx/patches-5.4/441-bcm63xx_enet-alloc_rx_skb_ip_align.patch b/target/linux/bcm63xx/patches-5.4/441-bcm63xx_enet-alloc_rx_skb_ip_align.patch new file mode 100644 index 0000000000..ade99beacc --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/441-bcm63xx_enet-alloc_rx_skb_ip_align.patch @@ -0,0 +1,37 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Sieng Piaw Liew +Date: Mon, 30 Nov 2020 11:07:47 +0800 +Subject: [PATCH] bcm63xx: enetsw: switch to netdev_alloc_skb_ip_align + +Increases packet processing performance by 30%. +Tested on BCM6328 320 MHz and iperf3 -M 512 for packet/sec performance. + +Before: +[ ID] Interval Transfer Bandwidth Retr +[ 4] 0.00-30.00 sec 120 MBytes 33.7 Mbits/sec 277 sender +[ 4] 0.00-30.00 sec 120 MBytes 33.5 Mbits/sec receiver + +After: +[ ID] Interval Transfer Bandwidth Retr +[ 4] 0.00-30.00 sec 155 MBytes 43.3 Mbits/sec 354 sender +[ 4] 0.00-30.00 sec 154 MBytes 43.1 Mbits/sec receiver + +Signed-off-by: Sieng Piaw Liew +--- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 +++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c ++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c +@@ -239,7 +239,10 @@ static int bcm_enet_refill_rx(struct net + desc = &priv->rx_desc_cpu[desc_idx]; + + if (!priv->rx_skb[desc_idx]) { +- skb = netdev_alloc_skb(dev, priv->rx_skb_size); ++ if (priv->enet_is_sw) ++ skb = netdev_alloc_skb_ip_align(dev, priv->rx_skb_size); ++ else ++ skb = netdev_alloc_skb(dev, priv->rx_skb_size); + if (!skb) + break; + priv->rx_skb[desc_idx] = skb; diff --git a/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch new file mode 100644 index 0000000000..bb572b3f21 --- /dev/null +++ b/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch @@ -0,0 +1,44 @@ +From: Yves-Alexis Perez +Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14 +Date: Thu, 19 Nov 2020 18:24:39 +0100 +Archived-At: +List-Post: + +Starting with iOS 14 released in September 2020, connectivity using the +personal hotspot USB tethering function of iOS devices is broken. + +Communication between the host and the device (for example ICMP traffic +or DNS resolution using the DNS service running in the device itself) +works fine, but communication to endpoints further away doesn't work. + +Investigation on the matter shows that UDP and ICMP traffic from the +tethered host is reaching the Internet at all. For TCP traffic there are +exchanges between tethered host and server but packets are modified in +transit leading to impossible communication. + +After some trials Matti Vuorela discovered that reducing the URB buffer +size by two bytes restored the previous behavior. While a better +solution might exist to fix the issue, since the protocol is not +publicly documented and considering the small size of the fix, let's do +that. + +Tested-by: Matti Vuorela +Signed-off-by: Yves-Alexis Perez +Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/ +Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038 +Cc: stable@vger.kernel.org +--- + drivers/net/usb/ipheth.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/usb/ipheth.c ++++ b/drivers/net/usb/ipheth.c +@@ -59,7 +59,7 @@ + #define IPHETH_USBINTF_SUBCLASS 253 + #define IPHETH_USBINTF_PROTO 1 + +-#define IPHETH_BUF_SIZE 1516 ++#define IPHETH_BUF_SIZE 1514 + #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ + #define IPHETH_TX_TIMEOUT (5 * HZ) + diff --git a/target/linux/generic/backport-5.4/746-v5.5-net-dsa-mv88e6xxx-Split-monitor-port-configuration.patch b/target/linux/generic/backport-5.4/746-v5.5-net-dsa-mv88e6xxx-Split-monitor-port-configuration.patch index 73dbcbe352..21424a3e4d 100644 --- a/target/linux/generic/backport-5.4/746-v5.5-net-dsa-mv88e6xxx-Split-monitor-port-configuration.patch +++ b/target/linux/generic/backport-5.4/746-v5.5-net-dsa-mv88e6xxx-Split-monitor-port-configuration.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2378,7 +2378,14 @@ static int mv88e6xxx_setup_upstream_port +@@ -2380,7 +2380,14 @@ static int mv88e6xxx_setup_upstream_port if (chip->info->ops->set_egress_port) { err = chip->info->ops->set_egress_port(chip, @@ -62,7 +62,7 @@ Signed-off-by: David S. Miller #define MV88E6XXX_CASCADE_PORT_MULTIPLE 0xf --- a/drivers/net/dsa/mv88e6xxx/global1.c +++ b/drivers/net/dsa/mv88e6xxx/global1.c -@@ -263,7 +263,9 @@ int mv88e6250_g1_ieee_pri_map(struct mv8 +@@ -294,7 +294,9 @@ int mv88e6250_g1_ieee_pri_map(struct mv8 /* Offset 0x1a: Monitor Control */ /* Offset 0x1a: Monitor & MGMT Control on some devices */ @@ -73,7 +73,7 @@ Signed-off-by: David S. Miller { u16 reg; int err; -@@ -272,11 +274,20 @@ int mv88e6095_g1_set_egress_port(struct +@@ -303,11 +305,20 @@ int mv88e6095_g1_set_egress_port(struct if (err) return err; @@ -99,7 +99,7 @@ Signed-off-by: David S. Miller return mv88e6xxx_g1_write(chip, MV88E6185_G1_MONITOR_CTL, reg); } -@@ -310,17 +321,24 @@ static int mv88e6390_g1_monitor_write(st +@@ -341,17 +352,24 @@ static int mv88e6390_g1_monitor_write(st return mv88e6xxx_g1_write(chip, MV88E6390_G1_MONITOR_MGMT_CTL, reg); } @@ -132,7 +132,7 @@ Signed-off-by: David S. Miller return err; --- a/drivers/net/dsa/mv88e6xxx/global1.h +++ b/drivers/net/dsa/mv88e6xxx/global1.h -@@ -288,8 +288,12 @@ int mv88e6095_g1_stats_set_histogram(str +@@ -289,8 +289,12 @@ int mv88e6095_g1_stats_set_histogram(str int mv88e6390_g1_stats_set_histogram(struct mv88e6xxx_chip *chip); void mv88e6xxx_g1_stats_read(struct mv88e6xxx_chip *chip, int stat, u32 *val); int mv88e6xxx_g1_stats_clear(struct mv88e6xxx_chip *chip); diff --git a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch index e3346c12b9..30ff8aeab6 100644 --- a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch +++ b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch @@ -25,7 +25,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4920,6 +4920,80 @@ static int mv88e6xxx_port_mdb_del(struct +@@ -4922,6 +4922,80 @@ static int mv88e6xxx_port_mdb_del(struct return err; } @@ -106,7 +106,7 @@ Signed-off-by: David S. Miller static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port, bool unicast, bool multicast) { -@@ -4974,6 +5048,8 @@ static const struct dsa_switch_ops mv88e +@@ -4976,6 +5050,8 @@ static const struct dsa_switch_ops mv88e .port_mdb_prepare = mv88e6xxx_port_mdb_prepare, .port_mdb_add = mv88e6xxx_port_mdb_add, .port_mdb_del = mv88e6xxx_port_mdb_del, @@ -139,7 +139,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/global1.c +++ b/drivers/net/dsa/mv88e6xxx/global1.c -@@ -267,6 +267,7 @@ int mv88e6095_g1_set_egress_port(struct +@@ -298,6 +298,7 @@ int mv88e6095_g1_set_egress_port(struct enum mv88e6xxx_egress_direction direction, int port) { @@ -147,7 +147,7 @@ Signed-off-by: David S. Miller u16 reg; int err; -@@ -276,11 +277,13 @@ int mv88e6095_g1_set_egress_port(struct +@@ -307,11 +308,13 @@ int mv88e6095_g1_set_egress_port(struct switch (direction) { case MV88E6XXX_EGRESS_DIR_INGRESS: @@ -161,7 +161,7 @@ Signed-off-by: David S. Miller reg &= MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK; reg |= port << __bf_shf(MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK); -@@ -289,7 +292,11 @@ int mv88e6095_g1_set_egress_port(struct +@@ -320,7 +323,11 @@ int mv88e6095_g1_set_egress_port(struct return -EINVAL; } @@ -174,7 +174,7 @@ Signed-off-by: David S. Miller } /* Older generations also call this the ARP destination. It has been -@@ -325,14 +332,17 @@ int mv88e6390_g1_set_egress_port(struct +@@ -356,14 +363,17 @@ int mv88e6390_g1_set_egress_port(struct enum mv88e6xxx_egress_direction direction, int port) { @@ -192,7 +192,7 @@ Signed-off-by: David S. Miller ptr = MV88E6390_G1_MONITOR_MGMT_CTL_PTR_EGRESS_DEST; break; default: -@@ -340,10 +350,10 @@ int mv88e6390_g1_set_egress_port(struct +@@ -371,10 +381,10 @@ int mv88e6390_g1_set_egress_port(struct } err = mv88e6390_g1_monitor_write(chip, ptr, port); diff --git a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch index ce12227350..d8ec1240f7 100644 --- a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch +++ b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4987,7 +4987,7 @@ static void mv88e6xxx_port_mirror_del(st +@@ -4989,7 +4989,7 @@ static void mv88e6xxx_port_mirror_del(st if (chip->info->ops->set_egress_port(chip, direction, dsa_upstream_port(ds, diff --git a/target/linux/generic/backport-5.4/749-v5.5-net-dsa-mv88e6xxx-Fix-masking-of-egress-port.patch b/target/linux/generic/backport-5.4/749-v5.5-net-dsa-mv88e6xxx-Fix-masking-of-egress-port.patch index 50f655c0d2..497a808511 100644 --- a/target/linux/generic/backport-5.4/749-v5.5-net-dsa-mv88e6xxx-Fix-masking-of-egress-port.patch +++ b/target/linux/generic/backport-5.4/749-v5.5-net-dsa-mv88e6xxx-Fix-masking-of-egress-port.patch @@ -16,7 +16,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/global1.c +++ b/drivers/net/dsa/mv88e6xxx/global1.c -@@ -278,13 +278,13 @@ int mv88e6095_g1_set_egress_port(struct +@@ -309,13 +309,13 @@ int mv88e6095_g1_set_egress_port(struct switch (direction) { case MV88E6XXX_EGRESS_DIR_INGRESS: dest_port_chip = &chip->ingress_dest_port; diff --git a/target/linux/generic/pending-5.4/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch b/target/linux/generic/pending-5.4/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch index 535c753a7b..22cf41a8a7 100644 --- a/target/linux/generic/pending-5.4/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch +++ b/target/linux/generic/pending-5.4/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch @@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2657,6 +2657,7 @@ static int mv88e6xxx_setup(struct dsa_sw +@@ -2659,6 +2659,7 @@ static int mv88e6xxx_setup(struct dsa_sw chip->ds = ds; ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip); diff --git a/target/linux/lantiq/ase/target.mk b/target/linux/lantiq/ase/target.mk index 82a162bbb1..daabbfc74a 100644 --- a/target/linux/lantiq/ase/target.mk +++ b/target/linux/lantiq/ase/target.mk @@ -7,7 +7,7 @@ ARCH:=mips SUBTARGET:=ase BOARDNAME:=Amazon-SE -FEATURES:=atm mips16 small_flash +FEATURES+=atm mips16 small_flash CPU_TYPE:=mips32 DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug \ diff --git a/target/linux/lantiq/falcon/target.mk b/target/linux/lantiq/falcon/target.mk index ddab198849..90f81d25ca 100644 --- a/target/linux/lantiq/falcon/target.mk +++ b/target/linux/lantiq/falcon/target.mk @@ -1,7 +1,7 @@ ARCH:=mips SUBTARGET:=falcon BOARDNAME:=Falcon -FEATURES:=nand +FEATURES+=nand CPU_TYPE:=24kc DEFAULT_PACKAGES+= kmod-leds-gpio \ diff --git a/target/linux/lantiq/xrx200/target.mk b/target/linux/lantiq/xrx200/target.mk index 8497db51ba..f7dc8ac1c7 100644 --- a/target/linux/lantiq/xrx200/target.mk +++ b/target/linux/lantiq/xrx200/target.mk @@ -1,7 +1,7 @@ ARCH:=mips SUBTARGET:=xrx200 BOARDNAME:=XRX200 -FEATURES:=atm nand ramdisk +FEATURES+=atm nand ramdisk CPU_TYPE:=24kc DEFAULT_PACKAGES+=kmod-leds-gpio \ diff --git a/target/linux/lantiq/xway/target.mk b/target/linux/lantiq/xway/target.mk index 9ad240e8ca..cb2a446dea 100644 --- a/target/linux/lantiq/xway/target.mk +++ b/target/linux/lantiq/xway/target.mk @@ -1,7 +1,7 @@ ARCH:=mips SUBTARGET:=xway BOARDNAME:=XWAY -FEATURES:=atm nand ramdisk +FEATURES+=atm nand ramdisk CPU_TYPE:=24kc DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig diff --git a/target/linux/lantiq/xway_legacy/target.mk b/target/linux/lantiq/xway_legacy/target.mk index 641c590d48..653698d6d7 100644 --- a/target/linux/lantiq/xway_legacy/target.mk +++ b/target/linux/lantiq/xway_legacy/target.mk @@ -1,7 +1,7 @@ ARCH:=mips SUBTARGET:=xway_legacy BOARDNAME:=XWAY Legacy -FEATURES:=atm ramdisk small_flash +FEATURES+=atm ramdisk small_flash CPU_TYPE:=24kc DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig diff --git a/target/linux/layerscape/patches-5.4/301-arch-0002-arm64-add-support-to-remap-kernel-cacheable-memory-t.patch b/target/linux/layerscape/patches-5.4/301-arch-0002-arm64-add-support-to-remap-kernel-cacheable-memory-t.patch index 282f8e9ffa..4c2c487ac0 100644 --- a/target/linux/layerscape/patches-5.4/301-arch-0002-arm64-add-support-to-remap-kernel-cacheable-memory-t.patch +++ b/target/linux/layerscape/patches-5.4/301-arch-0002-arm64-add-support-to-remap-kernel-cacheable-memory-t.patch @@ -13,7 +13,7 @@ Reviewed-by: Stuart Yoder --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h -@@ -414,6 +414,9 @@ static inline pmd_t pmd_mkdevmap(pmd_t p +@@ -422,6 +422,9 @@ static inline pmd_t pmd_mkdevmap(pmd_t p __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRnE) | PTE_PXN | PTE_UXN) #define pgprot_writecombine(prot) \ __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL_NC) | PTE_PXN | PTE_UXN) diff --git a/target/linux/layerscape/patches-5.4/301-arch-0003-arm64-pgtable-add-support-to-map-cacheable-and-non-s.patch b/target/linux/layerscape/patches-5.4/301-arch-0003-arm64-pgtable-add-support-to-map-cacheable-and-non-s.patch index 084f13a3be..63366ee221 100644 --- a/target/linux/layerscape/patches-5.4/301-arch-0003-arm64-pgtable-add-support-to-map-cacheable-and-non-s.patch +++ b/target/linux/layerscape/patches-5.4/301-arch-0003-arm64-pgtable-add-support-to-map-cacheable-and-non-s.patch @@ -11,7 +11,7 @@ Signed-off-by: Haiying Wang --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h -@@ -417,6 +417,8 @@ static inline pmd_t pmd_mkdevmap(pmd_t p +@@ -425,6 +425,8 @@ static inline pmd_t pmd_mkdevmap(pmd_t p #define pgprot_cached(prot) \ __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL) | \ PTE_PXN | PTE_UXN) diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh index ed332bf3e3..caa726b4d5 100644 --- a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh @@ -3,13 +3,13 @@ platform_check_image_sdcard() { local diskdev partdev diff export_bootdevice && export_partdevice diskdev 0 || { - echo "Unable to determine upgrade device" + v "Unable to determine upgrade device" return 1 } get_partitions "/dev/$diskdev" bootdisk - #extract the boot sector from the image + v "Extract boot sector from the image" get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b get_partitions /tmp/image.bs image @@ -20,7 +20,7 @@ platform_check_image_sdcard() { rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image if [ -n "$diff" ]; then - echo "Partition layout has changed. Full image will be written." + v "Partition layout has changed. Full image will be written." ask_bool 0 "Abort" && exit 1 return 0 fi @@ -31,7 +31,7 @@ platform_do_upgrade_sdcard() { local diskdev partdev diff export_bootdevice && export_partdevice diskdev 0 || { - echo "Unable to determine upgrade device" + v "Unable to determine upgrade device" return 1 } @@ -40,7 +40,7 @@ platform_do_upgrade_sdcard() { if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then get_partitions "/dev/$diskdev" bootdisk - #extract the boot sector from the image + v "Extract boot sector from the image" get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b get_partitions /tmp/image.bs image @@ -59,20 +59,19 @@ platform_do_upgrade_sdcard() { partx -d - "/dev/$diskdev" partx -a - "/dev/$diskdev" else - #write uboot image + v "Writing bootloader to /dev/$diskdev" get_image_dd "$1" of="$diskdev" bs=512 skip=1 seek=1 count=2048 conv=fsync #iterate over each partition from the image and write it to the boot disk while read part start size; do if export_partdevice partdev $part; then - echo "Writing image to /dev/$partdev..." + v "Writing image to /dev/$partdev..." get_image_dd "$1" of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync else - echo "Unable to find partition $part device, skipped." + v "Unable to find partition $part device, skipped." fi done < /tmp/partmap.image - #copy partition uuid - echo "Writing new UUID to /dev/$diskdev..." + v "Writing new UUID to /dev/$diskdev..." get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync fi diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh index 6ccfdd0768..c5da471d76 100644 --- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh +++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh @@ -57,7 +57,7 @@ platform_do_upgrade_linksys() { if [ ! -n "$part_label" ] then - echo "cannot find target partition" + v "cannot find target partition" exit 1 fi diff --git a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts index 42047390b0..30a0201c39 100644 --- a/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts +++ b/target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts @@ -106,10 +106,6 @@ mtd-mac-address = <&factory 0x28>; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts index 07586f6922..fc2b74db2a 100644 --- a/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts +++ b/target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts @@ -96,10 +96,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts index bbd193b4ac..63667da281 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts @@ -69,10 +69,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts index 6ad3f41560..f4db67648a 100644 --- a/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts +++ b/target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts @@ -59,10 +59,6 @@ status = "okay"; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts index 4f25b34567..9450596f1b 100644 --- a/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts +++ b/target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts @@ -45,10 +45,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts index f0ad9c3b4c..00153fab64 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts @@ -62,10 +62,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts index aea243617f..43dfa0d5f5 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts @@ -57,10 +57,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts index 603b2d884c..e3189a2f9b 100644 --- a/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts +++ b/target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts @@ -57,10 +57,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts index d4e0a81e9f..a0ebe4fff5 100644 --- a/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts +++ b/target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts @@ -96,10 +96,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi index 0676c6f84b..06f4054c50 100644 --- a/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi +++ b/target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi @@ -38,10 +38,6 @@ ralink,wdtmux = <1>; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts index d5fb543a63..962ef3371d 100644 --- a/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts +++ b/target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts @@ -61,10 +61,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi index ffa8747f4d..c7b7ea7b90 100644 --- a/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi +++ b/target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi @@ -21,10 +21,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi index 0f0d9aee7e..11e8f7fce6 100644 --- a/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi +++ b/target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi @@ -68,10 +68,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_phicomm_psg1218.dtsi b/target/linux/ramips/dts/mt7620a_phicomm_psg1218.dtsi index dbfec00f81..4163a9cd43 100644 --- a/target/linux/ramips/dts/mt7620a_phicomm_psg1218.dtsi +++ b/target/linux/ramips/dts/mt7620a_phicomm_psg1218.dtsi @@ -44,10 +44,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts index 089b74bbc6..e6374434ed 100644 --- a/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts +++ b/target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts @@ -40,10 +40,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts index c4b5cdf30e..ae0d364d3e 100644 --- a/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts +++ b/target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts @@ -24,10 +24,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts index 14cbc1830f..7d118e32b9 100644 --- a/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts +++ b/target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts @@ -50,10 +50,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_youku_yk1.dts b/target/linux/ramips/dts/mt7620a_youku_yk1.dts index 64eac1df36..86e2031aa6 100644 --- a/target/linux/ramips/dts/mt7620a_youku_yk1.dts +++ b/target/linux/ramips/dts/mt7620a_youku_yk1.dts @@ -51,10 +51,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts index 29e77a058c..6ad52d21ba 100644 --- a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts +++ b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts @@ -54,10 +54,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts index aaa35a72b2..aa26f4ea98 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts @@ -51,10 +51,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi index 3e612badc3..cf2ca1cd27 100644 --- a/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi +++ b/target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi @@ -49,10 +49,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620a_zte_q7.dts b/target/linux/ramips/dts/mt7620a_zte_q7.dts index dd9a87d5af..1ec3ba2e33 100644 --- a/target/linux/ramips/dts/mt7620a_zte_q7.dts +++ b/target/linux/ramips/dts/mt7620a_zte_q7.dts @@ -39,10 +39,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts index 17d9a68623..c458f8724f 100644 --- a/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts +++ b/target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts @@ -48,10 +48,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts index dcd38fc8d6..1186b83f06 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlw221.dts @@ -45,10 +45,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts index 3410077ce5..eba7fabff6 100644 --- a/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts +++ b/target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts @@ -45,10 +45,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts index 8fa05a0793..97ed206f56 100644 --- a/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts +++ b/target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts @@ -34,10 +34,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts new file mode 100644 index 0000000000..b78e594ffd --- /dev/null +++ b/target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts @@ -0,0 +1,181 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "asus,rt-n56u-b1", "mediatek,mt7621-soc"; + model = "ASUS RT-N56U B1"; + + aliases { + label-mac-device = &wan; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + label = "blue:power"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + wlan2g { + label = "blue:wlan2g"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wlan5g { + label = "blue:wlan5g"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wan { + label = "blue:wan"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "blue:lan"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + usb { + label = "blue:usb"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>; + linux,default-trigger = "usbport"; + }; + }; + + keys { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + }; +}; + +&gmac0 { + mtd-mac-address = <&factory 0x8004>; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan4"; + }; + + port@1 { + status = "okay"; + label = "lan3"; + }; + + port@2 { + status = "okay"; + label = "lan2"; + }; + + port@3 { + status = "okay"; + label = "lan1"; + }; + + wan: port@4 { + status = "okay"; + label = "wan"; + mtd-mac-address = <&factory 0x4>; + }; + }; +}; + +&state_default { + gpio { + groups = "uart3", "uart2", "jtag", "wdt"; + function = "gpio"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts index fc9b4c6d2a..f597d0f63a 100644 --- a/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts +++ b/target/linux/ramips/dts/mt7621_telco-electronics_x1.dts @@ -120,10 +120,6 @@ }; }; -&gpio { - status = "okay"; -}; - &gmac0 { mtd-mac-address = <&factory 0xe006>; }; diff --git a/target/linux/ramips/dts/mt7621_unielec_u7621-06.dtsi b/target/linux/ramips/dts/mt7621_unielec_u7621-06.dtsi index ae8f3a5e54..e9c4767b79 100644 --- a/target/linux/ramips/dts/mt7621_unielec_u7621-06.dtsi +++ b/target/linux/ramips/dts/mt7621_unielec_u7621-06.dtsi @@ -92,10 +92,6 @@ }; }; -&gpio { - status = "okay"; -}; - &sdhci { status = "okay"; }; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts index 213868db86..9d78ca142c 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts @@ -76,10 +76,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "spi", "uartlite"; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts index fb3eeda8aa..7038fc6590 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts @@ -86,10 +86,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "spi", "uartlite"; diff --git a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts index 713c64cb56..4b832faaf1 100644 --- a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts +++ b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts @@ -86,10 +86,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "uartlite", "mdio"; diff --git a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts index bc146cf677..cbaa3e832f 100644 --- a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts +++ b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts @@ -187,10 +187,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "spi", "i2c", "jtag", "mdio", "uartlite"; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts index 3ec9140b18..a1f10ae45d 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts @@ -96,10 +96,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - ðernet { status = "okay"; mtd-mac-address = <&factory 0x4>; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts index 9c3a07059f..cd9e918404 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts @@ -107,10 +107,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "uartlite", "mdio"; diff --git a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts index c01424a1f0..3de9dc755c 100644 --- a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts +++ b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts @@ -107,10 +107,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio2 { status = "okay"; }; diff --git a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts index 792a2e429f..39045bf026 100644 --- a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts +++ b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts @@ -71,10 +71,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - ðernet { status = "okay"; }; diff --git a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi index 27d0eb3e4f..7458165bc4 100644 --- a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi +++ b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi @@ -37,10 +37,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "jtag", "rgmii", "mdio", "uartf"; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi index b476fd4fa4..028238a3d2 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi @@ -77,10 +77,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &state_default { gpio { groups = "i2c", "jtag", "rgmii", "mdio", "uartf"; diff --git a/target/linux/ramips/dts/rt3352_allnet_all5002.dts b/target/linux/ramips/dts/rt3352_allnet_all5002.dts index b5bdd3cd81..3aa132a727 100644 --- a/target/linux/ramips/dts/rt3352_allnet_all5002.dts +++ b/target/linux/ramips/dts/rt3352_allnet_all5002.dts @@ -43,10 +43,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts index edd347b6e0..0a62c755e6 100644 --- a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts +++ b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts @@ -35,10 +35,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/rt5350_allnet_all5003.dts b/target/linux/ramips/dts/rt5350_allnet_all5003.dts index 4c3d441847..335a85dc00 100644 --- a/target/linux/ramips/dts/rt5350_allnet_all5003.dts +++ b/target/linux/ramips/dts/rt5350_allnet_all5003.dts @@ -43,10 +43,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts index 7549e457d0..336073f155 100644 --- a/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts +++ b/target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts @@ -5,10 +5,6 @@ model = "EASYACC WI-STOR WIZARD 8800"; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts index a4c8c83f82..9d4de243aa 100644 --- a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts +++ b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts @@ -47,10 +47,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi index 191e3c6714..b837d5c67c 100644 --- a/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi +++ b/target/linux/ramips/dts/rt5350_nixcore_x1.dtsi @@ -108,10 +108,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &gpio1 { status = "okay"; }; diff --git a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts index 102132628e..b5583eb892 100644 --- a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts +++ b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts @@ -60,10 +60,6 @@ }; }; -&gpio0 { - status = "okay"; -}; - &spi0 { status = "okay"; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index c9b1db4be1..40cfe6f121 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -188,6 +188,17 @@ define Device/asus_rt-ac85p endef TARGET_DEVICES += asus_rt-ac85p +define Device/asus_rt-n56u-b1 + $(Device/dsa-migration) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := RT-N56U + DEVICE_VARIANT := B1 + IMAGE_SIZE := 16064k + DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \ + kmod-usb-ledtrig-usbport +endef +TARGET_DEVICES += asus_rt-n56u-b1 + define Device/buffalo_wsr-1166dhp $(Device/dsa-migration) $(Device/uimage-lzma-loader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index 3dd2a218b9..cd1814cc2b 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -8,6 +8,10 @@ board=$(board_name) board_config_update case $board in +asus,rt-n56u-b1) + ucidef_set_led_netdev "lan" "LAN link" "blue:lan" "br-lan" + ucidef_set_led_netdev "wan" "WAN link" "blue:wan" "wan" + ;; d-team,newifi-d2) ucidef_set_led_netdev "internet" "internet" "amber:internet" "wan" ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "blue:wlan2g" "wlan0" diff --git a/target/linux/realtek/Makefile b/target/linux/realtek/Makefile index 98fcaf3968..02eefe26fb 100644 --- a/target/linux/realtek/Makefile +++ b/target/linux/realtek/Makefile @@ -22,6 +22,7 @@ include $(INCLUDE_DIR)/target.mk FEATURES := $(filter-out mips16,$(FEATURES)) DEFAULT_PACKAGES += uboot-envtools ethtool kmod-gpio-button-hotplug \ - dnsmasq firewall ip6tables iptables odhcp6c odhcpd-ipv6only + dnsmasq firewall ip6tables iptables odhcp6c odhcpd-ipv6only \ + ip-full ip-bridge tc $(eval $(call BuildTarget)) diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network index dc1465661b..84980c8982 100755 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -4,40 +4,56 @@ . /lib/functions/uci-defaults.sh . /lib/functions/system.sh -rtl838x_setup_switch() -{ - local lan lan_list - - for lan in /sys/class/net/lan*; do - lan_list="$lan_list $(basename $lan)" - done - ucidef_set_bridge_device switch - ucidef_set_interface_lan "$lan_list" +ucidef_set_poe() { + json_select_object poe + json_add_string "budget" "$1" + json_select_array ports + for port in $2; do + json_add_string "" "$port" + done + json_select .. + json_select .. } -rtl838x_setup_macs() -{ - local board="$1" - local lan_mac - local wan_mac - local label_mac - - case $board in - allnet,all-sg8208m|\ - netgear,gs110tpp-v1) - lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) - label_mac=$lan_mac - esac - - [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac - [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac - [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac -} - -board_config_update board=$(board_name) -rtl838x_setup_switch -rtl838x_setup_macs $board +board_config_update + +lan_list="" +for lan in /sys/class/net/lan*; do + lan_list="$lan_list $(basename $lan)" +done +ucidef_set_bridge_device switch +ucidef_set_interface_wan "$lan_list" +ucidef_set_interface "lan" ifname "lan1:t" protocol "static" vlan 100 + +lan_mac="" +wan_mac="" +label_mac="" +case $board in +*) + wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) + label_mac=$lan_mac + ;; +esac + +lan_mac=$(macaddr_setbit_la $wan_mac) + +ucidef_set_interface_macaddr "lan" $lan_mac +ucidef_set_interface_macaddr "wan" $wan_mac +ucidef_set_bridge_mac "$wan_mac" +ucidef_set_network_device_mac eth0 $wan_mac +for lan in $lan_list; do + ucidef_set_network_device_mac $lan $lan_mac + lan_mac=$(macaddr_add $lan_mac 1) +done +[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac + +case $board in +netgear,gs110tpp-v1) + ucidef_set_poe 130 "$lan_list" + ;; +esac + board_config_flush exit 0 diff --git a/target/linux/realtek/config-5.4 b/target/linux/realtek/config-5.4 index 0d459237c7..170bcb7632 100644 --- a/target/linux/realtek/config-5.4 +++ b/target/linux/realtek/config-5.4 @@ -81,6 +81,10 @@ CONFIG_HAS_IOPORT_MAP=y CONFIG_HZ=250 CONFIG_HZ_250=y CONFIG_HZ_PERIODIC=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_GPIO=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y @@ -95,6 +99,7 @@ CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_I2C=y CONFIG_MEMFD_CREATE=y CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y @@ -156,6 +161,7 @@ CONFIG_RESET_CONTROLLER=y CONFIG_RTL838X=y CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SFP=y CONFIG_SPI=y CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts new file mode 100644 index 0000000000..4458acee2e --- /dev/null +++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts @@ -0,0 +1,282 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/dts-v1/; + +#include "rtl838x.dtsi" + +#include +#include + +/ { + compatible = "zyxel,gs1900-10hp", "realtek,rtl838x-soc"; + model = "Zyxel GS1900-10HP Switch"; + + aliases { + led-boot = &led_sys; + led-failsafe = &led_sys; + led-running = &led_sys; + led-upgrade = &led_sys; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + gpio1: rtl8231-gpio { + status = "okay"; + + poe_enable { + gpio-hog; + gpios = <13 0>; + output-high; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_sys: sys { + label = "gs1900:green:sys"; + gpios = <&gpio0 47 GPIO_ACTIVE_HIGH>; + }; + }; + + /* i2c of the left SFP cage: port 9 */ + i2c0: i2c-gpio-0 { + compatible = "i2c-gpio"; + sda-gpios = <&gpio1 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio1 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; + #address-cells = <1>; + #size-cells = <0>; + }; + + sfp0: sfp-p9 { + compatible = "_sff,sfp"; + i2c-bus = <&i2c0>; + los-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>; + tx-fault-gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>; + tx-disable-gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; + }; + + /* i2c of the right SFP cage: port 10 */ + i2c1: i2c-gpio-1 { + compatible = "i2c-gpio"; + sda-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; + #address-cells = <1>; + #size-cells = <0>; + }; + + sfp1: sfp-p10 { + compatible = "_sff,sfp"; + i2c-bus = <&i2c1>; + los-gpio = <&gpio1 33 GPIO_ACTIVE_HIGH>; + tx-fault-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio1 32 GPIO_ACTIVE_LOW>; + tx-disable-gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>; + }; + +}; + +&spi0 { + status = "okay"; + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x40000>; + read-only; + }; + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x10000>; + read-only; + }; + partition@50000 { + label = "u-boot-env2"; + reg = <0x50000 0x10000>; + read-only; + }; + partition@60000 { + label = "jffs"; + reg = <0x60000 0x100000>; + }; + partition@160000 { + label = "jffs2"; + reg = <0x160000 0x100000>; + }; + partition@b260000 { + label = "firmware"; + reg = <0x260000 0x6d0000>; + compatible = "denx,uimage"; + }; + partition@930000 { + label = "runtime2"; + reg = <0x930000 0x6d0000>; + }; + }; + }; +}; + +ðernet0 { + mdio: mdio-bus { + compatible = "realtek,rtl838x-mdio"; + regmap = <ðernet0>; + #address-cells = <1>; + #size-cells = <0>; + + /* Internal phy */ + phy8: ethernet-phy@8 { + reg = <8>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy9: ethernet-phy@9 { + reg = <9>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy10: ethernet-phy@10 { + reg = <10>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <11>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy12: ethernet-phy@12 { + reg = <12>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <13>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy14: ethernet-phy@14 { + reg = <14>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy15: ethernet-phy@15 { + reg = <15>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy24: ethernet-phy@24 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <24>; + }; + phy26: ethernet-phy@26 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <26>; + }; + }; +}; + +&switch0 { + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <8>; + label = "lan1"; + phy-handle = <&phy8>; + phy-mode = "internal"; + }; + port@1 { + reg = <9>; + label = "lan2"; + phy-handle = <&phy9>; + phy-mode = "internal"; + }; + port@2 { + reg = <10>; + label = "lan3"; + phy-handle = <&phy10>; + phy-mode = "internal"; + }; + port@3 { + reg = <11>; + label = "lan4"; + phy-handle = <&phy11>; + phy-mode = "internal"; + }; + port@4 { + reg = <12>; + label = "lan5"; + phy-handle = <&phy12>; + phy-mode = "internal"; + }; + port@5 { + reg = <13>; + label = "lan6"; + phy-handle = <&phy13>; + phy-mode = "internal"; + }; + port@6 { + reg = <14>; + label = "lan7"; + phy-handle = <&phy14>; + phy-mode = "internal"; + }; + port@7 { + reg = <15>; + label = "lan8"; + phy-handle = <&phy15>; + phy-mode = "internal"; + }; + port@24 { + reg = <24>; + label = "lan9"; + phy-mode = "rgmii-id"; + phy-handle = <&phy24>; + sfp = <&sfp0>; + + fixed-link { + speed = <1000>; + full-duplex; + pause; + }; + }; + port@26 { + reg = <26>; + label = "lan10"; + phy-mode = "rgmii-id"; + phy-handle = <&phy26>; + sfp = <&sfp1>; + + fixed-link { + speed = <1000>; + full-duplex; + pause; + }; + }; + port@28 { + ethernet = <ðernet0>; + reg = <28>; + phy-mode = "internal"; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; diff --git a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts index 9987316c21..05010ffc0d 100644 --- a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts +++ b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts @@ -132,8 +132,8 @@ SWITCH_PORT(13, 6, internal) SWITCH_PORT(14, 7, internal) SWITCH_PORT(15, 8, internal) - SWITCH_PORT(24, 9, internal) - SWITCH_PORT(26, 10, internal) + SWITCH_SFP_PORT(24, 9, rgmii-id) + SWITCH_SFP_PORT(26, 10, rgmii-id) port@28 { ethernet = <ðernet0>; diff --git a/target/linux/realtek/dts/rtl838x.dtsi b/target/linux/realtek/dts/rtl838x.dtsi index f48d759a10..15d518578b 100644 --- a/target/linux/realtek/dts/rtl838x.dtsi +++ b/target/linux/realtek/dts/rtl838x.dtsi @@ -35,6 +35,18 @@ phy-mode = #m ; \ }; +#define SWITCH_SFP_PORT(n, s, m) \ + port@##n { \ + reg = <##n>; \ + label = SWITCH_PORT_LABEL(s) ; \ + phy-handle = <&phy##n>; \ + phy-mode = #m ; \ + fixed-link { \ + speed = <1000>; \ + full-duplex; \ + }; \ + }; + / { #address-cells = <1>; #size-cells = <1>; diff --git a/target/linux/realtek/image/Makefile b/target/linux/realtek/image/Makefile index 4e9dbc350d..85b30aae1e 100644 --- a/target/linux/realtek/image/Makefile +++ b/target/linux/realtek/image/Makefile @@ -26,7 +26,6 @@ define Device/allnet_all-sg8208m DEVICE_MODEL := ALL-SG8208M UIMAGE_MAGIC := 0x00000006 UIMAGE_NAME := 2.2.2.0 - DEVICE_PACKAGES := ip-full ip-bridge kmod-gpio-button-hotplug tc endef TARGET_DEVICES += allnet_all-sg8208m @@ -34,7 +33,6 @@ define Device/d-link_dgs-1210 SOC := rtl8382 IMAGE_SIZE := 13824k DEVICE_VENDOR := D-Link - DEVICE_PACKAGES := ip-full ip-bridge ethtool tc endef define Device/d-link_dgs-1210-10p @@ -64,8 +62,15 @@ define Device/netgear_gs110tpp-v1 DEVICE_VENDOR := NETGEAR DEVICE_MODEL := GS110TP DEVICE_VARIANT := v1 - DEVICE_PACKAGES := ip-full ip-bridge ethtool tc endef TARGET_DEVICES += netgear_gs110tpp-v1 +define Device/zyxel_gs1900-10hp + SOC := rtl8380 + IMAGE_SIZE := 6976k + DEVICE_VENDOR := Zyxel + DEVICE_MODEL := GS1900-10HP +endef +TARGET_DEVICES += zyxel_gs1900-10hp + $(eval $(call BuildImage)) diff --git a/target/linux/tegra/base-files/lib/upgrade/platform.sh b/target/linux/tegra/base-files/lib/upgrade/platform.sh index 4dd049519c..3e6ea8a44f 100644 --- a/target/linux/tegra/base-files/lib/upgrade/platform.sh +++ b/target/linux/tegra/base-files/lib/upgrade/platform.sh @@ -6,13 +6,13 @@ platform_check_image() { [ "$#" -gt 1 ] && return 1 export_bootdevice && export_partdevice diskdev 0 || { - echo "Unable to determine upgrade device" + v "Unable to determine upgrade device" return 1 } get_partitions "/dev/$diskdev" bootdisk - #extract the boot sector from the image + v "Extract boot sector from the image" get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b get_partitions /tmp/image.bs image @@ -23,7 +23,7 @@ platform_check_image() { rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image if [ -n "$diff" ]; then - echo "Partition layout has changed. Full image will be written." + v "Partition layout has changed. Full image will be written." ask_bool 0 "Abort" && exit 1 return 0 fi @@ -43,7 +43,7 @@ platform_do_upgrade() { local diskdev partdev diff export_bootdevice && export_partdevice diskdev 0 || { - echo "Unable to determine upgrade device" + v "Unable to determine upgrade device" return 1 } @@ -52,7 +52,7 @@ platform_do_upgrade() { if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then get_partitions "/dev/$diskdev" bootdisk - #extract the boot sector from the image + v "Extract boot sector from the image" get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b get_partitions /tmp/image.bs image @@ -74,19 +74,18 @@ platform_do_upgrade() { return 0 fi - #write uboot image + v "Writing bootloader to /dev/$diskdev" get_image_dd "$1" of="$diskdev" bs=512 skip=1 seek=1 count=4097 conv=fsync,notrunc #iterate over each partition from the image and write it to the boot disk while read part start size; do if export_partdevice partdev $part; then - echo "Writing image to /dev/$partdev..." + v "Writing image to /dev/$partdev..." get_image_dd "$1" of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync else - echo "Unable to find partition $part device, skipped." + v "Unable to find partition $part device, skipped." fi done < /tmp/partmap.image - #copy partition uuid - echo "Writing new UUID to /dev/$diskdev..." + v "Writing new UUID to /dev/$diskdev..." get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync } diff --git a/target/linux/x86/64/config-5.4 b/target/linux/x86/64/config-5.4 index f1fb23b304..b702e7adeb 100644 --- a/target/linux/x86/64/config-5.4 +++ b/target/linux/x86/64/config-5.4 @@ -115,6 +115,7 @@ CONFIG_CRYPTO_SIMD=y # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set CONFIG_CRYPTO_XTS=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set +CONFIG_DMA_ACPI=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DPTF_POWER is not set CONFIG_DRM=y @@ -295,6 +296,7 @@ CONFIG_MMC_CQHCI=y CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_ACPI=y CONFIG_MMC_SDHCI_PCI=y # CONFIG_MMC_SDHCI_PLTFM is not set # CONFIG_MMC_TIFM_SD is not set diff --git a/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch b/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch index 13914efcba..81c96ad76c 100644 --- a/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch +++ b/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch @@ -9,8 +9,6 @@ Signed-off-by: Tony Ambardar src/misc/nftw.c | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 38 insertions(+), 5 deletions(-) -diff --git a/include/ftw.h b/include/ftw.h -index b15c062a..ce85deac 100644 --- a/include/ftw.h +++ b/include/ftw.h @@ -21,6 +21,14 @@ extern "C" { @@ -28,17 +26,15 @@ index b15c062a..ce85deac 100644 struct FTW { int base; int level; -diff --git a/src/misc/nftw.c b/src/misc/nftw.c -index 8dcff7fe..0bb7b601 100644 --- a/src/misc/nftw.c +++ b/src/misc/nftw.c @@ -1,3 +1,4 @@ +#define _GNU_SOURCE #include #include - #include -@@ -72,8 +73,20 @@ static int do_nftw(char *path, int (*fn)(const char *, const struct stat *, int, - if (!fd_limit) close(dfd); + #include +@@ -63,8 +64,20 @@ static int do_nftw(char *path, int (*fn) + lev.base = k; } - if (!(flags & FTW_DEPTH) && (r=fn(path, &st, type, &lev))) @@ -60,7 +56,7 @@ index 8dcff7fe..0bb7b601 100644 for (; h; h = h->chain) if (h->dev == st.st_dev && h->ino == st.st_ino) -@@ -101,7 +114,10 @@ static int do_nftw(char *path, int (*fn)(const char *, const struct stat *, int, +@@ -88,7 +101,10 @@ static int do_nftw(char *path, int (*fn) strcpy(path+j+1, de->d_name); if ((r=do_nftw(path, fn, fd_limit-1, flags, &new))) { closedir(d); @@ -72,7 +68,7 @@ index 8dcff7fe..0bb7b601 100644 } } closedir(d); -@@ -112,8 +128,16 @@ static int do_nftw(char *path, int (*fn)(const char *, const struct stat *, int, +@@ -98,8 +114,16 @@ static int do_nftw(char *path, int (*fn) } path[l] = 0; @@ -91,12 +87,9 @@ index 8dcff7fe..0bb7b601 100644 return 0; } -@@ -139,4 +163,5 @@ int nftw(const char *path, int (*fn)(const char *, const struct stat *, int, str +@@ -125,4 +149,5 @@ int nftw(const char *path, int (*fn)(con return r; } +#undef nftw64 weak_alias(nftw, nftw64); --- -2.17.1 - diff --git a/toolchain/musl/patches/700-wcsnrtombs-cve-2020-28928.diff b/toolchain/musl/patches/700-wcsnrtombs-cve-2020-28928.diff index 8465f9422a..5840dc1aac 100644 --- a/toolchain/musl/patches/700-wcsnrtombs-cve-2020-28928.diff +++ b/toolchain/musl/patches/700-wcsnrtombs-cve-2020-28928.diff @@ -1,5 +1,3 @@ -diff --git a/src/multibyte/wcsnrtombs.c b/src/multibyte/wcsnrtombs.c -index 676932b5..95e25e70 100644 --- a/src/multibyte/wcsnrtombs.c +++ b/src/multibyte/wcsnrtombs.c @@ -1,41 +1,33 @@