Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2022-11-18 00:40:03 +08:00
commit 032de6ef33
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
82 changed files with 1902 additions and 1233 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .154
LINUX_KERNEL_HASH-5.10.154 = c6ae3d4da4324933160260d0f092a40cd27f9ed03449380790afbe6ce91ee688
LINUX_VERSION-5.10 = .155
LINUX_KERNEL_HASH-5.10.155 = f1b027526c58e7bd127f35b17736e4a6c865866b9048898f05c5358d4d52d4f3

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .78
LINUX_KERNEL_HASH-5.15.78 = 0db99f7347a38c27b8c155f3c9c8b260011aea0a4ded85ee95e6095b1e69a499
LINUX_VERSION-5.15 = .79
LINUX_KERNEL_HASH-5.15.79 = cba39031dbc0eed0785b8afdc8c58cf23df83e47001b2354fa44486ae699c154

View File

@ -66,7 +66,15 @@ openmesh,om5p-an|\
openmesh,om5p-ac-v1|\
openmesh,om5p-ac-v2|\
samsung,wam250|\
ubnt,airrouter|\
ubnt,bullet-m-ar7240|\
ubnt,bullet-m-ar7241|\
ubnt,nanobridge-m|\
ubnt,nanostation-loco-m|\
ubnt,nanostation-m|\
ubnt,picostation-m|\
ubnt,powerbridge-m|\
ubnt,rocket-m|\
watchguard,ap100|\
watchguard,ap200|\
watchguard,ap300|\
@ -130,6 +138,9 @@ plasmacloud,pa300e)
qihoo,c301)
ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x10000" "0x10000"
;;
ruckus,zf7025)
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x40000" "0x40000"
;;
ruckus,zf7321|\
ruckus,zf7372)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000"

View File

@ -32,7 +32,8 @@ ampedwireless,ally-r1900k)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x20000" "4"
;;
beeline,smartbox-giga|\
beeline,smartbox-turbo)
beeline,smartbox-turbo|\
rostelecom,rt-sf-1)
ubootenv_add_uci_config "/dev/mtd0" "0x80000" "0x1000" "0x20000"
;;
buffalo,wsr-1166dhp|\

View File

@ -198,7 +198,7 @@
+emmc_read_recovery=mmc dev 0 0 ; part start mmc 0 $part_recovery part_addr && part size mmc 0 $part_recovery part_size && run mmc_read_vol
+mmc_write_production=if test "$bootedfrom" = "SD" ; then run sdmmc_write_production ; else run emmc_write_production ; fi
+mmc_write_recovery=if test "$bootedfrom" = "SD" ; run sdmmc_write_recovery ; else run emmc_write_recovery ; fi
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size && setexpr filesize $image_size * 0x200
+reset_factory=eraseenv && reset
+sdmmc_read_emmc_hdr=mmc dev 1 && mmc read $loadaddr 0x1ff8 0x8

View File

@ -196,7 +196,7 @@
+emmc_write_recovery=mmc dev 0 0 ; iminfo $loadaddr && part start mmc 0 $part_recovery part_addr && part size mmc 0 $part_recovery part_size && run mmc_write_vol
+emmc_read_production=mmc dev 0 0 ; part start mmc 0 $part_default part_addr && part size mmc 0 $part_default part_size && run mmc_read_vol
+emmc_read_recovery=mmc dev 0 0 ; part start mmc 0 $part_recovery part_addr && part size mmc 0 $part_recovery part_size && run mmc_read_vol
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size && setexpr filesize $image_size * 0x200
+reset_factory=eraseenv && reset
+_init_env=setenv _init_env ; saveenv ; saveenv

View File

@ -214,7 +214,7 @@
+emmc_write_hdr=mmc dev 0 0 && mmc erase 0x0 0x40 && mmc write $loadaddr 0x0 0x40
+emmc_write_production=mmc dev 0 && part start mmc 0 $part_default part_addr && part size mmc 0 $part_default part_size && run mmc_write_vol
+emmc_write_recovery=mmc dev 0 && part start mmc 0 $part_recovery part_addr && part size mmc 0 $part_recovery part_size && run mmc_write_vol
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size && setexpr filesize $image_size * 0x200
+part_default=production
+part_recovery=recovery
@ -444,7 +444,7 @@
+emmc_write_fip=mmc dev 0 0 && mmc erase 0x1000 0x1000 && mmc write $loadaddr 0x1000 0x1000 && mmc erase 0x2000 0x800
+emmc_read_production=mmc dev 0 && part start mmc 0 $part_default part_addr && part size mmc 0 $part_default part_size && run mmc_read_vol
+emmc_read_recovery=mmc dev 0 && part start mmc 0 $part_recovery part_addr && part size mmc 0 $part_recovery part_size && run mmc_read_vol
+mmc_write_vol=imszb $fileaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $fileaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $fileaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $fileaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size
+part_default=production
+part_recovery=recovery

View File

@ -1139,7 +1139,7 @@
+boot_tftp_production=run boot_update_conf ; tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run sdmmc_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp_recovery=run boot_update_conf ; tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run sdmmc_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp=run boot_update_conf ; tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size && setexpr filesize $image_size * 0x200
+part_default=production
+part_recovery=recovery
@ -1294,7 +1294,7 @@
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic 2 && ubi write $loadaddr fit $filesize
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic 3 && ubi write $loadaddr recovery $filesize
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+emmc_init=mmc dev 0 && mmc bootbus 0 0 0 0 && run emmc_init_bl && run emmc_init_openwrt ; env default bootcmd ; saveenv ; saveenv
+emmc_init_bl=run ubi_read_emmc_install && setenv fileaddr $loadaddr && run emmc_write_bl2 && setexpr fileaddr $loadaddr + 0x100000 && run emmc_write_fip && setexpr fileaddr $loadaddr + 0x500000 && run emmc_write_hdr
+emmc_init_openwrt=run ubi_read_recovery && iminfo $loadaddr && run emmc_write_recovery ; run ubi_read_production && iminfo $loadaddr && run emmc_write_production
@ -1351,7 +1351,7 @@
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run emmc_write_bl2
+boot_tftp=run boot_update_conf ; tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
+boot_update_conf=if nand info ; then setenv bootconf config-mt7986a-bananapi-bpi-r3-emmc-snand ; else setenv bootconf config-mt7986a-bananapi-bpi-r3-emmc-nor ; fi
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$part_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_write_vol=imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc erase 0x$part_addr 0x$image_size && mmc write $loadaddr 0x$part_addr 0x$image_size
+mmc_read_vol=mmc read $loadaddr $part_addr 0x8 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr 0x$part_addr 0x$image_size && setexpr filesize $image_size * 0x200
+part_default=production
+part_recovery=recovery

View File

@ -1,19 +1,14 @@
#
# Copyright (C) 2019-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=cypress-firmware
PKG_VERSION:=5.4.18-2021_0812
PKG_VERSION:=5.10.9-2022_0909
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Infineon/ifx-linux-firmware/
PKG_MIRROR_HASH:=ac882b482dd401b53cdecc6004cd2bd3d65e888c19206dcf10931a28033ada4d
PKG_MIRROR_HASH:=944faae3a80013f1a963b6692d7f50a38c97edcf91fd163de521df755e6922b5
PKG_SOURCE_VERSION:=release-v$(PKG_VERSION)
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
@ -38,12 +33,19 @@ define Package/cypress-firmware-43012-sdio
endef
define Package/cypress-firmware-43012-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43012-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin
$(LN) \
../cypress/cyfmac43012-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
endef
@ -56,9 +58,13 @@ define Package/cypress-firmware-43340-sdio
endef
define Package/cypress-firmware-43340-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43340-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43340-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43340-sdio.bin
endef
@ -73,14 +79,39 @@ define Package/cypress-firmware-43362-sdio
endef
define Package/cypress-firmware-43362-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43362-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43362-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43362-sdio.bin
endef
$(eval $(call BuildPackage,cypress-firmware-43362-sdio))
# Cypress 4339 SDIO Firmware
define Package/cypress-firmware-4339-sdio
$(Package/cypress-firmware-default)
TITLE:=CYW4339 FullMac SDIO firmware
PROVIDES:=brcmfmac-firmware-4339-sdio
CONFLICTS:=brcmfmac-firmware-4339-sdio
endef
define Package/cypress-firmware-4339-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4339-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4339-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
endef
$(eval $(call BuildPackage,cypress-firmware-4339-sdio))
# Cypress 43430 SDIO Firmware
define Package/cypress-firmware-43430-sdio
$(Package/cypress-firmware-default)
@ -90,17 +121,49 @@ define Package/cypress-firmware-43430-sdio
endef
define Package/cypress-firmware-43430-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43430-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
$(LN) \
../cypress/cyfmac43430-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-43430-sdio))
# Cypress 43439 SDIO Firmware
define Package/cypress-firmware-43439-sdio
$(Package/cypress-firmware-default)
TITLE:=CYW43439 FullMac SDIO firmware
endef
define Package/cypress-firmware-43439-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43439-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43439-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43439-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43439-sdio.bin
$(LN) \
../cypress/cyfmac43439-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43439-sdio.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-43439-sdio))
# Cypress 43455 SDIO Firmware
define Package/cypress-firmware-43455-sdio
$(Package/cypress-firmware-default)
@ -110,12 +173,19 @@ define Package/cypress-firmware-43455-sdio
endef
define Package/cypress-firmware-43455-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43455-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin
$(LN) \
../cypress/cyfmac43455-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
endef
@ -128,12 +198,19 @@ define Package/cypress-firmware-4354-sdio
endef
define Package/cypress-firmware-4354-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4354-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin
$(LN) \
../cypress/cyfmac4354-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
endef
@ -146,12 +223,19 @@ define Package/cypress-firmware-4356-pcie
endef
define Package/cypress-firmware-4356-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4356-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin
$(LN) \
../cypress/cyfmac4356-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
endef
@ -164,12 +248,19 @@ define Package/cypress-firmware-4356-sdio
endef
define Package/cypress-firmware-4356-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4356-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin
$(LN) \
../cypress/cyfmac4356-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
endef
@ -182,17 +273,49 @@ define Package/cypress-firmware-43570-pcie
endef
define Package/cypress-firmware-43570-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac43570-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin
$(LN) \
../cypress/cyfmac43570-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-43570-pcie))
# Cypress 4373 PCIe Firmware
define Package/cypress-firmware-4373-pcie
$(Package/cypress-firmware-default)
TITLE:=CYW4373 FullMac PCIe firmware
endef
define Package/cypress-firmware-4373-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373-pcie.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373-pcie.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4373-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac4373-pcie.bin
$(LN) \
../cypress/cyfmac4373-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4373-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-4373-pcie))
# Cypress 4373 SDIO Firmware
define Package/cypress-firmware-4373-sdio
$(Package/cypress-firmware-default)
@ -200,12 +323,19 @@ define Package/cypress-firmware-4373-sdio
endef
define Package/cypress-firmware-4373-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4373-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin
$(LN) \
../cypress/cyfmac4373-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
endef
@ -218,12 +348,19 @@ define Package/cypress-firmware-4373-usb
endef
define Package/cypress-firmware-4373-usb/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373-usb.bin \
$(1)/lib/firmware/brcm/brcmfmac4373-usb.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac4373.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4373-usb.bin \
$(1)/lib/firmware/brcm/brcmfmac4373-usb.bin
$(LN) \
../cypress/cyfmac4373.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac4373.clm_blob
endef
@ -236,13 +373,114 @@ define Package/cypress-firmware-54591-pcie
endef
define Package/cypress-firmware-54591-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.bin
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac54591-pcie.bin \
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.bin
$(LN) \
../cypress/cyfmac54591-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-54591-pcie))
# Cypress 54591 SDIO Firmware
define Package/cypress-firmware-54591-sdio
$(Package/cypress-firmware-default)
TITLE:=CYW54591 FullMac SDIO firmware
endef
define Package/cypress-firmware-54591-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac54591-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac54591-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac54591-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac54591-sdio.bin
$(LN) \
../cypress/cyfmac54591-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac54591-sdio.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-54591-sdio))
# Cypress 55560 PCIe Firmware
define Package/cypress-firmware-55560-pcie
$(Package/cypress-firmware-default)
TITLE:=CYW55560 FullMac PCIe firmware
endef
define Package/cypress-firmware-55560-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac55560-pcie.trxse \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac55560-pcie.trxse \
$(1)/lib/firmware/brcm/brcmfmac55560-pcie.trxse
endef
$(eval $(call BuildPackage,cypress-firmware-55560-pcie))
# Cypress 55572 PCIe Firmware
define Package/cypress-firmware-55572-pcie
$(Package/cypress-firmware-default)
TITLE:=CYW55572 FullMac PCIe firmware
endef
define Package/cypress-firmware-55572-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac55572-pcie.trxse \
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac55572-pcie.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac55572-pcie.trxse \
$(1)/lib/firmware/brcm/brcmfmac55572-pcie.trxse
$(LN) \
../cypress/cyfmac55572-pcie.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac55572-pcie.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-55572-pcie))
# Cypress 55572 SDIO Firmware
define Package/cypress-firmware-55572-sdio
$(Package/cypress-firmware-default)
TITLE:=CYW55572 FullMac SDIO firmware
endef
define Package/cypress-firmware-55572-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac55572-sdio.trxse \
$(1)/lib/firmware/cypress/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/firmware/cyfmac55572-sdio.clm_blob \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac55572-sdio.trxse \
$(1)/lib/firmware/brcm/brcmfmac55572-sdio.trxse
$(LN) \
../cypress/cyfmac55572-sdio.clm_blob \
$(1)/lib/firmware/brcm/brcmfmac55572-sdio.clm_blob
endef
$(eval $(call BuildPackage,cypress-firmware-55572-sdio))

View File

@ -1,126 +1,38 @@
#
# Copyright (C) 2019 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=cypress-nvram
PKG_SOURCE_DATE:=2019-09-03
PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f
PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f
PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git
PKG_RELEASE:=7
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Package/cypress-nvram-default
SECTION:=firmware
CATEGORY:=Firmware
URL:=https://community.cypress.com/community/linux
endef
define Build/Compile
true
endef
# Cypress 43430 SDIO Raspberry Pi 3B NVRAM
define Package/cypress-nvram-43430-sdio-rpi-3b
# Cypress 4339 SDIO NVRAM
define Package/cypress-nvram-4339-sdio
$(Package/cypress-nvram-default)
TITLE:=CYW43430 NVRAM for Raspberry Pi 3B
DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-3b
CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-3b
TITLE:=BCM4339 SDIO NVRAM
CONFLICTS:=brcmfmac-nvram-4339-sdio
endef
define Package/cypress-nvram-43430-sdio-rpi-3b/install
define Package/cypress-nvram-4339-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
endef
$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b))
# Cypress 43430 SDIO Raspberry Pi Zero W NVRAM
define Package/cypress-nvram-43430-sdio-rpi-zero-w
$(Package/cypress-nvram-default)
TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W
DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-zero-w
CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-zero-w
endef
define Package/cypress-nvram-43430-sdio-rpi-zero-w/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
endef
$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-zero-w))
# Cypress 43455 SDIO Raspberry Pi 3B+ NVRAM
define Package/cypress-nvram-43455-sdio-rpi-3b-plus
$(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi 3B+
DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
endef
define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
endef
$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-3b-plus))
# Cypress 43455 SDIO Raspberry Pi 4B NVRAM
define Package/cypress-nvram-43455-sdio-rpi-4b
$(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi 4B
DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-4b
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-4b
endef
define Package/cypress-nvram-43455-sdio-rpi-4b/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
endef
$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b))
# Cypress 4339 SDIO PICO-PI-IMX7D
define Package/cypress-nvram-4339-pico-pi-imx7d
$(Package/cypress-nvram-default)
TITLE:=BCM4339 NVRAM for TechNexion PICO-PI-IMX7D
DEPENDS:=@TARGET_imx_cortexa7
PROVIDES:=brcmfmac-firmware-4339-pico-pi-imx7d
CONFLICTS:=brcmfmac-firmware-4339-pico-pi-imx7d
endef
define Package/cypress-nvram-4339-pico-pi-imx7d/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
./files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt \
./files/brcmfmac4339-sdio.AP6335.txt \
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac4339-sdio.AP6335.txt \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt
endef
$(eval $(call BuildPackage,cypress-nvram-4339-pico-pi-imx7d))
$(eval $(call BuildPackage,cypress-nvram-4339-sdio))

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=linux-firmware
PKG_VERSION:=20221109
PKG_RELEASE:=1
PKG_RELEASE:=4
PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -1,3 +1,16 @@
Package/brcmfmac-firmware-4339-sdio = $(call Package/firmware-default,Broadcom 4339 FullMAC SDIO firmware)
define Package/brcmfmac-firmware-4339-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/cypress
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/cypress/cyfmac4339-sdio.bin \
$(1)/lib/firmware/cypress/
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
../cypress/cyfmac4339-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
endef
$(eval $(call BuildPackage,brcmfmac-firmware-4339-sdio))
Package/brcmfmac-firmware-43602a1-pcie = $(call Package/firmware-default,Broadcom 43602a1 FullMAC PCIe firmware)
define Package/brcmfmac-firmware-43602a1-pcie/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
@ -34,23 +47,53 @@ define Package/brcmfmac-firmware-4329-sdio/install
endef
$(eval $(call BuildPackage,brcmfmac-firmware-4329-sdio))
Package/brcmfmac-firmware-43430-sdio-rpi-3b = $(call Package/firmware-default,Broadcom BCM43430 NVRAM for Raspberry Pi 3B)
define Package/brcmfmac-firmware-43430-sdio-rpi-3b/install
Package/brcmfmac-nvram-43430-sdio = $(call Package/firmware-default,Broadcom BCM43430 SDIO NVRAM)
define Package/brcmfmac-nvram-43430-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43430-sdio-rpi-3b))
Package/brcmfmac-firmware-43430-sdio-rpi-zero-w = $(call Package/firmware-default,Broadcom BCM43430 NVRAM for Raspberry Pi Zero W)
define Package/brcmfmac-firmware-43430-sdio-rpi-zero-w/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-r1.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.starfive,visionfive-v1.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-a1.txt
$(LN) \
brcmfmac43430-sdio.AP6212.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-r0.txt
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt \
$(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.MUR1DX.txt \
$(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
$(LN) \
brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43430-sdio-rpi-zero-w))
$(eval $(call BuildPackage,brcmfmac-nvram-43430-sdio))
Package/brcmfmac-firmware-43430a0-sdio = $(call Package/firmware-default,Broadcom BCM43430a0 FullMac SDIO firmware)
define Package/brcmfmac-firmware-43430a0-sdio/install
@ -61,23 +104,50 @@ define Package/brcmfmac-firmware-43430a0-sdio/install
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43430a0-sdio))
Package/brcmfmac-firmware-43455-sdio-rpi-3b-plus = $(call Package/firmware-default,Broadcom BCM43455 NVRAM for Raspberry Pi 3B+)
define Package/brcmfmac-firmware-43455-sdio-rpi-3b-plus/install
Package/brcmfmac-nvram-43455-sdio = $(call Package/firmware-default,Broadcom BCM43455 SDIO NVRAM)
define Package/brcmfmac-nvram-43455-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.acepc-t8.txt \
$(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-3b-plus))
Package/brcmfmac-firmware-43455-sdio-rpi-4b = $(call Package/firmware-default,Broadcom BCM43455 NVRAM for Raspberry Pi 4B)
define Package/brcmfmac-firmware-43455-sdio-rpi-4b/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
$(LN) \
brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ 4\ Model\ B.txt
$(LN) \
brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ Compute\ Module\ 4.txt
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.MINIX-NEO\ Z83-4.txt \
$(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.AW-CM256SM.txt \
$(1)/lib/firmware/brcm/
$(LN) \
brcmfmac43455-sdio.AW-CM256SM.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.beagle,am5729-beagleboneai.txt
$(LN) \
brcmfmac43455-sdio.AW-CM256SM.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt
$(LN) \
brcmfmac43455-sdio.AW-CM256SM.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt
$(LN) \
brcmfmac43455-sdio.AW-CM256SM.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-4b))
$(eval $(call BuildPackage,brcmfmac-nvram-43455-sdio))
Package/brcmfmac-firmware-usb = $(call Package/firmware-default,Broadcom BCM43xx fullmac USB firmware)
define Package/brcmfmac-firmware-usb/install

View File

@ -1,8 +0,0 @@
Package/cypress-firmware-4339-sdio = $(call Package/firmware-default,Broadcom BCM4339 FullMac SDIO firmware)
define Package/cypress-firmware-4339-sdio/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/cypress/cyfmac4339-sdio.bin \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
endef
$(eval $(call BuildPackage,cypress-firmware-4339-sdio))

View File

@ -474,6 +474,21 @@ endef
$(eval $(call KernelPackage,hwmon-sht21))
define KernelPackage/hwmon-sht3x
TITLE:=Sensiron SHT3x and compat. monitoring support
KCONFIG:=CONFIG_SENSORS_SHT3x
FILES:=$(LINUX_DIR)/drivers/hwmon/sht3x.ko
AUTOLOAD:=$(call AutoProbe,sht3x)
$(call AddDepends/hwmon,+kmod-i2c-core +kmod-lib-crc8)
endef
define KernelPackage/hwmon-sht3x/description
Kernel module for Sensirion SHT3x temperature and humidity sensors chip
endef
$(eval $(call KernelPackage,hwmon-sht3x))
define KernelPackage/hwmon-tmp102
TITLE:=Texas Instruments TMP102 monitoring support
KCONFIG:=CONFIG_SENSORS_TMP102

View File

@ -273,6 +273,40 @@ endef
$(eval $(call KernelPackage,phy-bcm84881))
define KernelPackage/phy-marvell
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Gigabit Ethernet PHY driver
KCONFIG:=CONFIG_MARVELL_PHY
DEPENDS:=+kmod-libphy
FILES:=$(LINUX_DIR)/drivers/net/phy/marvell.ko
AUTOLOAD:=$(call AutoLoad,18,marvell)
endef
define KernelPackage/phy-marvell/description
Supports Marvell Gigabit Ethernet PHYs:
* 88E1101
* 88E1112
* 88E1111 (incl. Finisar variant)
* 88E1118
* 88E1121R
* 88E1145
* 88E1149R
* 88E1240
* 88E1318S
* 88E1116R
* 88E1510
* 88E1540
* 88E1545
* 88E3016
* 88E6341 family
* 88E6390 family
* 88E6393 family
* 88E1340S
* 88E1548P
endef
$(eval $(call KernelPackage,phy-marvell))
define KernelPackage/phy-realtek
SUBMENU:=$(NETWORK_DEVICES_MENU)

View File

@ -0,0 +1,203 @@
if PACKAGE_libmbedtls
comment "Option details in source code: include/mbedtls/mbedtls_config.h"
comment "Ciphers - unselect old or less-used ciphers to reduce binary size"
config MBEDTLS_AES_C
bool "MBEDTLS_AES_C"
default y
config MBEDTLS_CAMELLIA_C
bool "MBEDTLS_CAMELLIA_C"
default n
config MBEDTLS_CCM_C
bool "MBEDTLS_CCM_C"
default n
config MBEDTLS_CMAC_C
bool "MBEDTLS_CMAC_C (old but used by hostapd)"
default y
config MBEDTLS_DES_C
bool "MBEDTLS_DES_C (old but used by hostapd)"
default y
config MBEDTLS_GCM_C
bool "MBEDTLS_GCM_C"
default y
config MBEDTLS_NIST_KW_C
bool "MBEDTLS_NIST_KW_C (old but used by hostapd)"
default y
config MBEDTLS_RIPEMD160_C
bool "MBEDTLS_RIPEMD160_C"
default n
config MBEDTLS_XTEA_C
bool "MBEDTLS_XTEA_C"
default n
config MBEDTLS_RSA_NO_CRT
bool "MBEDTLS_RSA_NO_CRT"
default y
config MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_PSK_ENABLED"
default y
config MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED"
default n
config MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED"
default y
config MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED"
default n
config MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED"
default n
config MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED"
default n
config MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED"
default y
config MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED"
default y
config MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED"
default n
config MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
bool "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED"
default n
comment "Curves - unselect old or less-used curves to reduce binary size"
config MBEDTLS_ECP_DP_SECP192R1_ENABLED
bool "MBEDTLS_ECP_DP_SECP192R1_ENABLED"
default n
config MBEDTLS_ECP_DP_SECP224R1_ENABLED
bool "MBEDTLS_ECP_DP_SECP224R1_ENABLED"
default n
config MBEDTLS_ECP_DP_SECP256R1_ENABLED
bool "MBEDTLS_ECP_DP_SECP256R1_ENABLED"
default y
config MBEDTLS_ECP_DP_SECP384R1_ENABLED
bool "MBEDTLS_ECP_DP_SECP384R1_ENABLED"
default y
config MBEDTLS_ECP_DP_SECP521R1_ENABLED
bool "MBEDTLS_ECP_DP_SECP521R1_ENABLED"
default n
config MBEDTLS_ECP_DP_SECP192K1_ENABLED
bool "MBEDTLS_ECP_DP_SECP192K1_ENABLED"
default n
config MBEDTLS_ECP_DP_SECP224K1_ENABLED
bool "MBEDTLS_ECP_DP_SECP224K1_ENABLED"
default n
config MBEDTLS_ECP_DP_SECP256K1_ENABLED
bool "MBEDTLS_ECP_DP_SECP256K1_ENABLED"
default y
config MBEDTLS_ECP_DP_BP256R1_ENABLED
bool "MBEDTLS_ECP_DP_BP256R1_ENABLED"
default n
config MBEDTLS_ECP_DP_BP384R1_ENABLED
bool "MBEDTLS_ECP_DP_BP384R1_ENABLED"
default n
config MBEDTLS_ECP_DP_BP512R1_ENABLED
bool "MBEDTLS_ECP_DP_BP512R1_ENABLED"
default n
config MBEDTLS_ECP_DP_CURVE25519_ENABLED
bool "MBEDTLS_ECP_DP_CURVE25519_ENABLED"
default y
config MBEDTLS_ECP_DP_CURVE448_ENABLED
bool "MBEDTLS_ECP_DP_CURVE448_ENABLED"
default n
comment "Build Options - unselect features to reduce binary size"
config MBEDTLS_CERTS_C
bool "MBEDTLS_CERTS_C"
default n
config MBEDTLS_CIPHER_MODE_OFB
bool "MBEDTLS_CIPHER_MODE_OFB"
default n
config MBEDTLS_CIPHER_MODE_XTS
bool "MBEDTLS_CIPHER_MODE_XTS"
default n
config MBEDTLS_DEBUG_C
bool "MBEDTLS_DEBUG_C"
default n
config MBEDTLS_HAVE_ARMV8CE_AES
bool "MBEDTLS_HAVE_ARMV8CE_AES"
default y
depends on aarch64 && !TARGET_bcm27xx
config MBEDTLS_HAVE_SSE2
bool "MBEDTLS_HAVE_SSE2"
default y
depends on TARGET_x86_generic || TARGET_x86_64
config MBEDTLS_HKDF_C
bool "MBEDTLS_HKDF_C"
default n
config MBEDTLS_PLATFORM_C
bool "MBEDTLS_PLATFORM_C"
default n
config MBEDTLS_SELF_TEST
bool "MBEDTLS_SELF_TEST"
default n
config MBEDTLS_SSL_TRUNCATED_HMAC
bool "MBEDTLS_SSL_TRUNCATED_HMAC"
default n
config MBEDTLS_VERSION_C
bool "MBEDTLS_VERSION_C"
default n
config MBEDTLS_VERSION_FEATURES
bool "MBEDTLS_VERSION_FEATURES"
default n
comment "Build Options"
config MBEDTLS_ENTROPY_FORCE_SHA256
bool "MBEDTLS_ENTROPY_FORCE_SHA256"
default y
config MBEDTLS_SSL_RENEGOTIATION
bool "MBEDTLS_SSL_RENEGOTIATION"
default n
endif

View File

@ -20,11 +20,62 @@ PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=gpl-2.0.txt
PKG_CPE_ID:=cpe:/a:arm:mbed_tls
PKG_CONFIG_DEPENDS := \
CONFIG_LIBMBEDTLS_DEBUG_C \
CONFIG_LIBMBEDTLS_HAVE_ARMV8CE_AES \
CONFIG_LIBMBEDTLS_HAVE_SSE2 \
CONFIG_LIBMBEDTLS_HKDF_C
MBEDTLS_BUILD_OPTS_CURVES= \
CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED \
CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED \
CONFIG_MBEDTLS_ECP_DP_CURVE448_ENABLED
MBEDTLS_BUILD_OPTS_CIPHERS= \
CONFIG_MBEDTLS_AES_C \
CONFIG_MBEDTLS_CAMELLIA_C \
CONFIG_MBEDTLS_CCM_C \
CONFIG_MBEDTLS_CMAC_C \
CONFIG_MBEDTLS_DES_C \
CONFIG_MBEDTLS_GCM_C \
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED \
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED \
CONFIG_MBEDTLS_NIST_KW_C \
CONFIG_MBEDTLS_RIPEMD160_C \
CONFIG_MBEDTLS_RSA_NO_CRT \
CONFIG_MBEDTLS_XTEA_C
MBEDTLS_BUILD_OPTS= \
$(MBEDTLS_BUILD_OPTS_CURVES) \
$(MBEDTLS_BUILD_OPTS_CIPHERS) \
CONFIG_MBEDTLS_CERTS_C \
CONFIG_MBEDTLS_CIPHER_MODE_OFB \
CONFIG_MBEDTLS_CIPHER_MODE_XTS \
CONFIG_MBEDTLS_DEBUG_C \
CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 \
CONFIG_MBEDTLS_HAVE_ARMV8CE_AES \
CONFIG_MBEDTLS_HAVE_SSE2 \
CONFIG_MBEDTLS_HKDF_C \
CONFIG_MBEDTLS_PLATFORM_C \
CONFIG_MBEDTLS_SELF_TEST \
CONFIG_MBEDTLS_SSL_RENEGOTIATION \
CONFIG_MBEDTLS_SSL_TRUNCATED_HMAC \
CONFIG_MBEDTLS_VERSION_C \
CONFIG_MBEDTLS_VERSION_FEATURES
PKG_CONFIG_DEPENDS := $(MBEDTLS_BUILD_OPTS)
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@ -47,54 +98,11 @@ $(call Package/mbedtls/Default)
TITLE+= (library)
PKGFLAGS:=nonshared
ABI_VERSION:=12
MENU:=1
endef
define Package/libmbedtls/config
config LIBMBEDTLS_DEBUG_C
depends on PACKAGE_libmbedtls
bool "Enable debug functions"
default n
help
This option enables mbedtls library's debug functions.
It increases the uncompressed libmbedtls binary size
by around 60 KiB (for an ARMv5 platform).
Usually, you don't need this, so don't select this if you're unsure.
config LIBMBEDTLS_HAVE_ARMV8CE_AES
depends on PACKAGE_libmbedtls
bool
default y
prompt "Enable use of the ARMv8 Crypto Extensions"
depends on aarch64 && !TARGET_bcm27xx
help
Use of the ARMv8 Crypto Extensions greatly increase performance
(up to 4x faster on AES-GCM while 10x faster on raw AES).
If you don't sure, say Y here.
config LIBMBEDTLS_HAVE_SSE2
depends on PACKAGE_libmbedtls
bool
default y if !TARGET_x86_legacy && !TARGET_x86_geode
prompt "Enable use of x86 SSE2 instructions"
depends on x86_64 || i386
help
Use of SSE2 instructions greatly increase performance (up to
3x faster) with a minimum (~0.2%, or 23KB) increase in package
size, but it will bring no benefit if your hardware does not
support them, such as Geode GX and LX. In this case you may
save 23KB by saying yes here. AMD Geode NX, and Intel
Pentium 4 and above support SSE2.
config LIBMBEDTLS_HKDF_C
depends on PACKAGE_libmbedtls
bool "Enable the HKDF algorithm (RFC 5869)"
default n
help
This option adds support for the Hashed Message Authentication Code
(HMAC)-based key derivation function (HKDF).
source "$(SOURCE)/Config.in"
endef
define Package/mbedtls-util
@ -118,7 +126,7 @@ endef
TARGET_CFLAGS += -ffunction-sections -fdata-sections
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
ifneq ($(CONFIG_LIBMBEDTLS_HAVE_ARMV8CE_AES),)
ifneq ($(CONFIG_MBEDTLS_HAVE_ARMV8CE_AES),)
TARGET_CFLAGS := $(filter-out -march=%,$(TARGET_CFLAGS)) -march=armv8-a+crypto
endif
@ -129,28 +137,22 @@ CMAKE_OPTIONS += \
-DENABLE_PROGRAMS:Bool=ON
define Build/Configure
$(Build/Configure/Default)
awk 'BEGIN { rc = 1 } \
/#define MBEDTLS_DEBUG_C/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_DEBUG_C),,// )#define MBEDTLS_DEBUG_C"; rc = 0 } \
/#define MBEDTLS_ARMV8CE_AES_C/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_HAVE_ARMV8CE_AES),,// )#define MBEDTLS_ARMV8CE_AES_C"; rc = 0 } \
/#define MBEDTLS_HAVE_SSE2/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_HAVE_SSE2),,// )#define MBEDTLS_HAVE_SSE2"; rc = 0 } \
{ print } \
END { exit(rc) }' $(PKG_BUILD_DIR)/include/mbedtls/config.h \
>$(PKG_BUILD_DIR)/include/mbedtls/config.h.new && \
mv $(PKG_BUILD_DIR)/include/mbedtls/config.h.new $(PKG_BUILD_DIR)/include/mbedtls/config.h
awk 'BEGIN { rc = 1 } \
/#define MBEDTLS_HKDF_C/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_HKDF_C),,// )#define MBEDTLS_HKDF_C"; rc = 0 } \
{ print } \
END { exit(rc) }' $(PKG_BUILD_DIR)/include/mbedtls/config.h \
>$(PKG_BUILD_DIR)/include/mbedtls/config.h.new && \
mv $(PKG_BUILD_DIR)/include/mbedtls/config.h.new $(PKG_BUILD_DIR)/include/mbedtls/config.h
$(call Build/Configure/Default)
sed -i '/fuzz/d' $(PKG_BUILD_DIR)/programs/CMakeLists.txt
sed -i '/test/d' $(PKG_BUILD_DIR)/programs/CMakeLists.txt
endef
define Build/Prepare
$(call Build/Prepare/Default)
$(if $(strip $(foreach opt,$(MBEDTLS_BUILD_OPTS),$($(opt)))),
$(foreach opt,$(MBEDTLS_BUILD_OPTS),
$(PKG_BUILD_DIR)/scripts/config.py \
-f $(PKG_BUILD_DIR)/include/mbedtls/config.h \
$(if $($(opt)),set,unset) $(patsubst CONFIG_%,%,$(opt))),)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/mbedtls $(1)/usr/include/

View File

@ -1,228 +0,0 @@
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
@@ -670,14 +670,14 @@
*
* Enable Output Feedback mode (OFB) for symmetric ciphers.
*/
-#define MBEDTLS_CIPHER_MODE_OFB
+//#define MBEDTLS_CIPHER_MODE_OFB
/**
* \def MBEDTLS_CIPHER_MODE_XTS
*
* Enable Xor-encrypt-xor with ciphertext stealing mode (XTS) for AES.
*/
-#define MBEDTLS_CIPHER_MODE_XTS
+//#define MBEDTLS_CIPHER_MODE_XTS
/**
* \def MBEDTLS_CIPHER_NULL_CIPHER
@@ -795,20 +795,20 @@
* Comment macros to disable the curve and functions for it
*/
/* Short Weierstrass curves (supporting ECP, ECDH, ECDSA) */
-#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
-#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
+//#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
+//#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
-#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
-#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
-#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
+//#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
+//#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
+//#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
-#define MBEDTLS_ECP_DP_BP256R1_ENABLED
-#define MBEDTLS_ECP_DP_BP384R1_ENABLED
-#define MBEDTLS_ECP_DP_BP512R1_ENABLED
+//#define MBEDTLS_ECP_DP_BP256R1_ENABLED
+//#define MBEDTLS_ECP_DP_BP384R1_ENABLED
+//#define MBEDTLS_ECP_DP_BP512R1_ENABLED
/* Montgomery curves (supporting ECP) */
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
-#define MBEDTLS_ECP_DP_CURVE448_ENABLED
+//#define MBEDTLS_ECP_DP_CURVE448_ENABLED
/**
* \def MBEDTLS_ECP_NIST_OPTIM
@@ -961,7 +961,7 @@
* See dhm.h for more details.
*
*/
-#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
@@ -981,7 +981,7 @@
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
*/
-#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
@@ -1006,7 +1006,7 @@
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/
-#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
@@ -1140,7 +1140,7 @@
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
*/
-#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
@@ -1164,7 +1164,7 @@
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
*/
-#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -1268,7 +1268,7 @@
* This option is only useful if both MBEDTLS_SHA256_C and
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
*/
-//#define MBEDTLS_ENTROPY_FORCE_SHA256
+#define MBEDTLS_ENTROPY_FORCE_SHA256
/**
* \def MBEDTLS_ENTROPY_NV_SEED
@@ -1483,14 +1483,14 @@
* Uncomment this macro to disable the use of CRT in RSA.
*
*/
-//#define MBEDTLS_RSA_NO_CRT
+#define MBEDTLS_RSA_NO_CRT
/**
* \def MBEDTLS_SELF_TEST
*
* Enable the checkup functions (*_self_test).
*/
-#define MBEDTLS_SELF_TEST
+//#define MBEDTLS_SELF_TEST
/**
* \def MBEDTLS_SHA256_SMALLER
@@ -1761,7 +1761,7 @@
* configuration of this extension).
*
*/
-#define MBEDTLS_SSL_RENEGOTIATION
+//#define MBEDTLS_SSL_RENEGOTIATION
/**
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
@@ -2022,7 +2022,7 @@
*
* Comment this macro to disable support for truncated HMAC in SSL
*/
-#define MBEDTLS_SSL_TRUNCATED_HMAC
+//#define MBEDTLS_SSL_TRUNCATED_HMAC
/**
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
@@ -2201,7 +2201,7 @@
*
* Comment this to disable run-time checking and save ROM space
*/
-#define MBEDTLS_VERSION_FEATURES
+//#define MBEDTLS_VERSION_FEATURES
/**
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
@@ -2550,7 +2550,7 @@
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
*/
-#define MBEDTLS_CAMELLIA_C
+//#define MBEDTLS_CAMELLIA_C
/**
* \def MBEDTLS_ARIA_C
@@ -2616,7 +2616,7 @@
* This module enables the AES-CCM ciphersuites, if other requisites are
* enabled as well.
*/
-#define MBEDTLS_CCM_C
+//#define MBEDTLS_CCM_C
/**
* \def MBEDTLS_CERTS_C
@@ -2628,7 +2628,7 @@
*
* This module is used for testing (ssl_client/server).
*/
-#define MBEDTLS_CERTS_C
+//#define MBEDTLS_CERTS_C
/**
* \def MBEDTLS_CHACHA20_C
@@ -2741,7 +2741,7 @@
* \warning DES is considered a weak cipher and its use constitutes a
* security risk. We recommend considering stronger ciphers instead.
*/
-#define MBEDTLS_DES_C
+//#define MBEDTLS_DES_C
/**
* \def MBEDTLS_DHM_C
@@ -2906,7 +2906,7 @@
* This module adds support for the Hashed Message Authentication Code
* (HMAC)-based key derivation function (HKDF).
*/
-#define MBEDTLS_HKDF_C
+//#define MBEDTLS_HKDF_C
/**
* \def MBEDTLS_HMAC_DRBG_C
@@ -3219,7 +3219,7 @@
*
* This module enables abstraction of common (libc) functions.
*/
-#define MBEDTLS_PLATFORM_C
+//#define MBEDTLS_PLATFORM_C
/**
* \def MBEDTLS_POLY1305_C
@@ -3295,7 +3295,7 @@
* Caller: library/md.c
*
*/
-#define MBEDTLS_RIPEMD160_C
+//#define MBEDTLS_RIPEMD160_C
/**
* \def MBEDTLS_RSA_C
@@ -3506,7 +3506,7 @@
*
* This module provides run-time version information.
*/
-#define MBEDTLS_VERSION_C
+//#define MBEDTLS_VERSION_C
/**
* \def MBEDTLS_X509_USE_C
@@ -3616,7 +3616,7 @@
* Module: library/xtea.c
* Caller:
*/
-#define MBEDTLS_XTEA_C
+//#define MBEDTLS_XTEA_C
/** \} name SECTION: mbed TLS modules */

View File

@ -8,13 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zlib
PKG_VERSION:=1.2.12
PKG_VERSION:=1.2.13
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/madler/zlib
PKG_MIRROR_HASH:=a162fc219763635f0c1591ec515d4b08684e4b0bfb4b1c8e65e4eab18d597c27
PKG_SOURCE_VERSION:=21767c654d31d2dccdde4330529775c6c5fd5389
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/madler/zlib/releases/download/v$(PKG_VERSION)
PKG_HASH:=d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98
PKG_LICENSE:=Zlib
PKG_LICENSE_FILES:=README

View File

@ -1,246 +0,0 @@
From d2f06cd65d7ac39c6dd6761eef162abc946b155b Mon Sep 17 00:00:00 2001
From: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
Date: Tue, 11 Apr 2017 17:13:02 -0700
Subject: [PATCH] NEON implementation for Adler32
The checksum is calculated in the uncompressed PNG data
and can be made much faster by using SIMD.
Tests in ARMv8 yielded an improvement of about 3x
(e.g. walltime was 350ms x 125ms for a 4096x4096 bytes
executed 30 times). That results in at least 18% improvement
in image decoding in Chromium.
Further details at:
https://bugs.chromium.org/p/chromium/issues/detail?id=688601
---
CMakeLists.txt | 29 +++++++---
adler32.c | 5 ++
contrib/README.contrib | 3 +
contrib/arm/neon_adler32.c | 137 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 166 insertions(+), 8 deletions(-)
create mode 100644 contrib/arm/neon_adler32.c
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,7 @@ set(VERSION "1.2.12")
option(ASM686 "Enable building i686 assembly implementation")
option(AMD64 "Enable building amd64 assembly implementation")
+option(ARMv8 "Enable building ARM NEON intrinsics implementation")
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
@@ -132,14 +133,26 @@ endif()
if(CMAKE_COMPILER_IS_GNUCC)
if(ASM686)
set(ZLIB_ASMS contrib/asm686/match.S)
- elseif (AMD64)
+ elseif(AMD64)
set(ZLIB_ASMS contrib/amd64/amd64-match.S)
- endif ()
+ elseif(ARMv8)
+ set(ZLIB_ARMv8 contrib/arm/neon_adler32.c)
+ endif()
- if(ZLIB_ASMS)
- add_definitions(-DASMV)
- set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
- endif()
+ if(ZLIB_ASMS)
+ add_definitions(-DASMV)
+ set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
+ elseif(ZLIB_ARMv8)
+ add_definitions(-DARMv8)
+ set(COMPILER ${CMAKE_C_COMPILER})
+ # NEON is mandatory in ARMv8.
+ if(${COMPILER} MATCHES "aarch64")
+ set_source_files_properties(${ZLIB_ARMv8} PROPERTIES LANGUAGE C COMPILE_FLAGS -march=armv8-a)
+ # But it was optional for ARMv7.
+ elseif(${COMPILER} MATCHES "arm")
+ set_source_files_properties(${ZLIB_ARMv8} PROPERTIES LANGUAGE C COMPILE_FLAGS -mfpu=neon)
+ endif()
+ endif()
endif()
if(MSVC)
@@ -183,8 +196,8 @@ if(MINGW)
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
endif(MINGW)
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_ARMv8} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_ARMv8} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
set_target_properties(zlib PROPERTIES SOVERSION 1)
--- a/adler32.c
+++ b/adler32.c
@@ -136,7 +136,14 @@ uLong ZEXPORT adler32(adler, buf, len)
const Bytef *buf;
uInt len;
{
+#ifdef ARMv8
+# pragma message("Using NEON-ized Adler32.")
+unsigned long NEON_adler32(unsigned long adler, const unsigned char *buf,
+ const unsigned int len);
+ return NEON_adler32(adler, buf, len);
+#else
return adler32_z(adler, buf, len);
+#endif
}
/* ========================================================================= */
--- a/contrib/README.contrib
+++ b/contrib/README.contrib
@@ -8,6 +8,9 @@ ada/ by Dmitriy Anisimkov <anisim
Support for Ada
See http://zlib-ada.sourceforge.net/
+arm/ by Adenilson Cavalcanti <cavalcantii@chromium.org>
+ ARM optimizations (NEON and ARMv8 code).
+
blast/ by Mark Adler <madler@alumni.caltech.edu>
Decompressor for output of PKWare Data Compression Library (DCL)
--- /dev/null
+++ b/contrib/arm/neon_adler32.c
@@ -0,0 +1,137 @@
+/* Copyright (C) 1995-2011, 2016 Mark Adler
+ * Copyright (C) 2017 ARM Holdings Inc.
+ * Authors: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
+ * Simon Hosie <simon.hosie@arm.com>
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#if (defined(__ARM_NEON__) || defined(__ARM_NEON))
+#include <arm_neon.h>
+
+static void NEON_accum32(uint32_t *s, const unsigned char *buf,
+ unsigned int len)
+{
+ static const uint8_t taps[32] = {
+ 32, 31, 30, 29, 28, 27, 26, 25,
+ 24, 23, 22, 21, 20, 19, 18, 17,
+ 16, 15, 14, 13, 12, 11, 10, 9,
+ 8, 7, 6, 5, 4, 3, 2, 1 };
+
+ uint32x2_t adacc2, s2acc2, as;
+ uint8x16_t t0 = vld1q_u8(taps), t1 = vld1q_u8(taps + 16);
+
+ uint32x4_t adacc = vdupq_n_u32(0), s2acc = vdupq_n_u32(0);
+ adacc = vsetq_lane_u32(s[0], adacc, 0);
+ s2acc = vsetq_lane_u32(s[1], s2acc, 0);
+
+ while (len >= 2) {
+ uint8x16_t d0 = vld1q_u8(buf), d1 = vld1q_u8(buf + 16);
+ uint16x8_t adler, sum2;
+ s2acc = vaddq_u32(s2acc, vshlq_n_u32(adacc, 5));
+ adler = vpaddlq_u8( d0);
+ adler = vpadalq_u8(adler, d1);
+ sum2 = vmull_u8( vget_low_u8(t0), vget_low_u8(d0));
+ sum2 = vmlal_u8(sum2, vget_high_u8(t0), vget_high_u8(d0));
+ sum2 = vmlal_u8(sum2, vget_low_u8(t1), vget_low_u8(d1));
+ sum2 = vmlal_u8(sum2, vget_high_u8(t1), vget_high_u8(d1));
+ adacc = vpadalq_u16(adacc, adler);
+ s2acc = vpadalq_u16(s2acc, sum2);
+ len -= 2;
+ buf += 32;
+ }
+
+ while (len > 0) {
+ uint8x16_t d0 = vld1q_u8(buf);
+ uint16x8_t adler, sum2;
+ s2acc = vaddq_u32(s2acc, vshlq_n_u32(adacc, 4));
+ adler = vpaddlq_u8(d0);
+ sum2 = vmull_u8( vget_low_u8(t1), vget_low_u8(d0));
+ sum2 = vmlal_u8(sum2, vget_high_u8(t1), vget_high_u8(d0));
+ adacc = vpadalq_u16(adacc, adler);
+ s2acc = vpadalq_u16(s2acc, sum2);
+ buf += 16;
+ len--;
+ }
+
+ adacc2 = vpadd_u32(vget_low_u32(adacc), vget_high_u32(adacc));
+ s2acc2 = vpadd_u32(vget_low_u32(s2acc), vget_high_u32(s2acc));
+ as = vpadd_u32(adacc2, s2acc2);
+ s[0] = vget_lane_u32(as, 0);
+ s[1] = vget_lane_u32(as, 1);
+}
+
+static void NEON_handle_tail(uint32_t *pair, const unsigned char *buf,
+ unsigned int len)
+{
+ /* Oldie K&R code integration. */
+ unsigned int i;
+ for (i = 0; i < len; ++i) {
+ pair[0] += buf[i];
+ pair[1] += pair[0];
+ }
+}
+
+extern unsigned long NEON_adler32(unsigned long adler, const unsigned char *buf,
+ const unsigned int len)
+{
+ /* initial Adler-32 value (deferred check for len == 1 speed) */
+ if (!buf)
+ return 1L;
+
+ /* The largest prime smaller than 65536. */
+ const uint32_t M_BASE = 65521;
+ /* This is the threshold where doing accumulation may overflow. */
+ const int M_NMAX = 5552;
+
+ unsigned long sum2;
+ uint32_t pair[2];
+ int n = M_NMAX;
+ unsigned int done = 0;
+ /* Oldie K&R code integration. */
+ unsigned int i;
+
+ /* Split Adler-32 into component sums, it can be supplied by
+ * the caller sites (e.g. in a PNG file).
+ */
+ sum2 = (adler >> 16) & 0xffff;
+ adler &= 0xffff;
+ pair[0] = adler;
+ pair[1] = sum2;
+
+ for (i = 0; i < len; i += n) {
+ if ((i + n) > len)
+ n = len - i;
+
+ if (n < 16)
+ break;
+
+ NEON_accum32(pair, buf + i, n / 16);
+ pair[0] %= M_BASE;
+ pair[1] %= M_BASE;
+
+ done += (n / 16) * 16;
+ }
+
+ /* Handle the tail elements. */
+ if (done < len) {
+ NEON_handle_tail(pair, (buf + done), len - done);
+ pair[0] %= M_BASE;
+ pair[1] %= M_BASE;
+ }
+
+ /* D = B * 65536 + A, see: https://en.wikipedia.org/wiki/Adler-32. */
+ return (pair[1] << 16) | pair[0];
+}
+#endif

View File

@ -11,9 +11,6 @@ Change-Id: Id4cda552b39bfb39ab35ec499dbe122b43b6d1a1
create mode 100644 contrib/arm/inffast.c
create mode 100644 contrib/arm/inflate.c
diff --git a/contrib/arm/inffast.c b/contrib/arm/inffast.c
new file mode 100644
index 00000000..0dbd1dbc
--- /dev/null
+++ b/contrib/arm/inffast.c
@@ -0,0 +1,323 @@
@ -340,9 +337,6 @@ index 00000000..0dbd1dbc
+ */
+
+#endif /* !ASMINF */
diff --git a/contrib/arm/inflate.c b/contrib/arm/inflate.c
new file mode 100644
index 00000000..ac333e8c
--- /dev/null
+++ b/contrib/arm/inflate.c
@@ -0,0 +1,1561 @@

View File

@ -16,9 +16,6 @@ Change-Id: I59854eb25d2b1e43561c8a2afaf9175bf10cf674
3 files changed, 335 insertions(+), 62 deletions(-)
create mode 100644 contrib/arm/chunkcopy.h
diff --git a/contrib/arm/chunkcopy.h b/contrib/arm/chunkcopy.h
new file mode 100644
index 00000000..2d6fd6f9
--- /dev/null
+++ b/contrib/arm/chunkcopy.h
@@ -0,0 +1,279 @@
@ -301,8 +298,6 @@ index 00000000..2d6fd6f9
+#undef Z_RESTRICT
+
+#endif /* CHUNKCOPY_H */
diff --git a/contrib/arm/inffast.c b/contrib/arm/inffast.c
index 0dbd1dbc..f7f50071 100644
--- a/contrib/arm/inffast.c
+++ b/contrib/arm/inffast.c
@@ -7,6 +7,7 @@
@ -313,7 +308,7 @@ index 0dbd1dbc..f7f50071 100644
#ifdef ASMINF
# pragma message("Assembler code may have bugs -- use at your own risk")
@@ -57,6 +58,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
@@ -57,6 +58,7 @@ unsigned start; /* inflate()'s s
unsigned char FAR *out; /* local strm->next_out */
unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
unsigned char FAR *end; /* while out < end, enough space available */
@ -321,7 +316,7 @@ index 0dbd1dbc..f7f50071 100644
#ifdef INFLATE_STRICT
unsigned dmax; /* maximum distance from zlib header */
#endif
@@ -84,12 +86,13 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
@@ -84,12 +86,13 @@ unsigned start; /* inflate()'s s
out = strm->next_out;
beg = out - (start - strm->avail_out);
end = out + (strm->avail_out - 257);
@ -336,7 +331,7 @@ index 0dbd1dbc..f7f50071 100644
window = state->window;
hold = state->hold;
bits = state->bits;
@@ -197,70 +200,51 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
@@ -197,70 +200,51 @@ unsigned start; /* inflate()'s s
#endif
}
from = window;
@ -371,14 +366,8 @@ index 0dbd1dbc..f7f50071 100644
- } while (--op);
- from = out - dist; /* rest from output */
- }
+ out = chunkcopy_safe(out, from, op, limit);
+ from = window; /* more from start of window */
+ op = wnext;
+ /* This (rare) case can create a situation where
+ the first chunkcopy below must be checked.
+ */
}
}
- }
- }
- else { /* contiguous in window */
- from += wnext - op;
- if (op < len) { /* some from window */
@ -399,6 +388,14 @@ index 0dbd1dbc..f7f50071 100644
- *out++ = *from++;
- if (len > 1)
- *out++ = *from++;
+ out = chunkcopy_safe(out, from, op, limit);
+ from = window; /* more from start of window */
+ op = wnext;
+ /* This (rare) case can create a situation where
+ the first chunkcopy below must be checked.
+ */
+ }
+ }
+ if (op < len) { /* still need some from output */
+ out = chunkcopy_safe(out, from, op, limit);
+ len -= op;
@ -443,8 +440,6 @@ index 0dbd1dbc..f7f50071 100644
}
}
else if ((op & 64) == 0) { /* 2nd level distance code */
diff --git a/contrib/arm/inflate.c b/contrib/arm/inflate.c
index ac333e8c..e40322c3 100644
--- a/contrib/arm/inflate.c
+++ b/contrib/arm/inflate.c
@@ -84,6 +84,7 @@

View File

@ -1,8 +1,6 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8e75f66..24d7329 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,34 +95,67 @@ set(ZLIB_PUBLIC_HDRS
@@ -91,34 +91,67 @@ set(ZLIB_PUBLIC_HDRS
${CMAKE_CURRENT_BINARY_DIR}/zconf.h
zlib.h
)

View File

@ -1,32 +0,0 @@
From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
From: Mark Adler <fork@madler.net>
Date: Sat, 30 Jul 2022 15:51:11 -0700
Subject: [PATCH] Fix a bug when getting a gzip header extra field with
inflate().
If the extra field was larger than the space the user provided with
inflateGetHeader(), and if multiple calls of inflate() delivered
the extra header data, then there could be a buffer overflow of the
provided space. This commit assures that provided space is not
exceeded.
---
inflate.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/inflate.c b/inflate.c
index 7be8c6366..7a7289749 100644
--- a/inflate.c
+++ b/inflate.c
@@ -763,9 +763,10 @@ int flush;
copy = state->length;
if (copy > have) copy = have;
if (copy) {
+ len = state->head->extra_len - state->length;
if (state->head != Z_NULL &&
- state->head->extra != Z_NULL) {
- len = state->head->extra_len - state->length;
+ state->head->extra != Z_NULL &&
+ len < state->head->extra_max) {
zmemcpy(state->head->extra + len, next,
len + copy > state->head->extra_max ?
state->head->extra_max - len : copy);

View File

@ -1,29 +0,0 @@
From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
From: Mark Adler <fork@madler.net>
Date: Mon, 8 Aug 2022 10:50:09 -0700
Subject: [PATCH] Fix extra field processing bug that dereferences NULL
state->head.
The recent commit to fix a gzip header extra field processing bug
introduced the new bug fixed here.
---
inflate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/inflate.c b/inflate.c
index 7a7289749..2a3c4fe98 100644
--- a/inflate.c
+++ b/inflate.c
@@ -763,10 +763,10 @@ int flush;
copy = state->length;
if (copy > have) copy = have;
if (copy) {
- len = state->head->extra_len - state->length;
if (state->head != Z_NULL &&
state->head->extra != Z_NULL &&
- len < state->head->extra_max) {
+ (len = state->head->extra_len - state->length) <
+ state->head->extra_max) {
zmemcpy(state->head->extra + len, next,
len + copy > state->head->extra_max ?
state->head->extra_max - len : copy);

View File

@ -2,17 +2,17 @@
main() {
local service="$1"
local cmd="$2"
shift
local boot status
if [ -f "/etc/init.d/${service}" ]; then
/etc/init.d/"${service}" "${cmd}"
/etc/init.d/"${service}" "$@"
exit "$?"
fi
if [ -n "$service" ]; then
echo "Service \"$1\" not found:"
echo "Service \"$service\" not found:"
exit 1
fi

View File

@ -224,7 +224,7 @@ def main(argv):
try:
(opts, args) = getopt.getopt(
argv[1:],
"hdBwDb:",
"hdBw:D:b:",
[
"help",
"dry-run",
@ -268,12 +268,15 @@ def main(argv):
if o in ("-b", "--build-dir"):
builddir = v
if args:
directory = args[0]
if not os.path.exists(directory):
print("Can't find dl path", directory)
print("Can't find download directory", directory)
return 1
if not os.path.exists(builddir):
print("Can't find dl path", builddir)
print("Can't find build directory", builddir)
return 1
# Create a directory listing and parse the file names.

View File

@ -0,0 +1,196 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "Ruckus ZoneFlex 7025";
compatible = "ruckus,zf7025", "qca,ar7240";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_red;
led-running = &led_power_green;
led-upgrade = &led_power_red;
label-mac-device = &eth0;
};
keys {
compatible = "gpio-keys";
hard-reset {
label = "hard-reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
dir {
label = "green:dir";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "green:lan1";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "green:lan2";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "green:lan3";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "green:lan4";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan5 {
label = "green:lan5";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
opt {
label = "green:opt";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_power_red: power-red {
label = "red:power";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
panic-indicator;
};
led_power_green: power-green {
label = "green:power";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wlan-green {
label = "green:wlan";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0assoc";
};
wlan-yellow {
label = "yellow:wlan";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
ruckus-himem@3ff0000 {
/* Ruckus Himem area used to control
* redundant boot image selection
*/
compatible = "nvmem-rmem";
reg = <0x3ff0000 0x10000>;
no-map;
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <104000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
/* On stock FW this encompasses rcks_wlan.main,
* rcks_wlan.bkup and datafs partitions
*/
partition@40000 {
compatible = "openwrt,uimage", "denx,uimage";
reg = <0x40000 0xf40000>;
label = "firmware";
};
partition@f80000 {
compatible = "u-boot,env";
reg = <0xf80000 0x40000>;
label = "u-boot-env";
};
board_data: partition@fc0000 {
reg = <0xfc0000 0x40000>;
label = "board-data";
read-only;
};
};
};
};
&eth0 {
nvmem-cells = <&macaddr_board_data_66>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_board_data_6c>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&macaddr_board_data_60>;
nvmem-cell-names = "mac-address";
};
};
&board_data {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_board_data_60: macaddr@60 {
reg = <0x60 0x6>;
};
macaddr_board_data_66: macaddr@66 {
reg = <0x66 0x6>;
};
macaddr_board_data_6c: macaddr@6c {
reg = <0x6c 0x6>;
};
};

View File

@ -327,6 +327,13 @@ qca,ap143-16m)
qihoo,c301)
ucidef_set_led_wlan "wlan" "WLAN" "green:wlan" "phy0tpt"
;;
ruckus,zf7025)
ucidef_set_led_netdev "lan" "LAN5" "green:lan5" "eth0"
ucidef_set_led_switch "lan1" "LAN1" "green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "green:lan2" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "green:lan3" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "green:lan4" "switch0" "0x02"
;;
ruckus,zf7372)
ucidef_set_led_switch "lan" "LAN" "green:eth1" "switch0" "0x02"
;;

View File

@ -434,6 +434,11 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:wan"
;;
ruckus,zf7025)
ucidef_set_interface_lan "eth0 eth1"
ucidef_add_switch "switch0" \
"0u@eth1" "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4"
;;
teltonika,rut955|\
teltonika,rut955-h7v3c0)
ucidef_set_interface_wan "eth1"
@ -716,6 +721,7 @@ ath79_setup_macs()
wan_mac=$(mtd_get_mac_binary factory 0x0)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
ruckus,zf7025|\
ruckus,zf7321|\
ruckus,zf7372)
lan_mac=$(mtd_get_mac_binary board-data 0x807E)

View File

@ -2403,15 +2403,28 @@ define Device/rosinson_wr818
endef
TARGET_DEVICES += rosinson_wr818
define Device/ruckus_zf73xx_common
define Device/ruckus_common
DEVICE_VENDOR := Ruckus
DEVICE_PACKAGES := -swconfig kmod-usb2 kmod-usb-chipidea2
IMAGE_SIZE := 31744k
LOADER_TYPE := bin
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
endef
define Device/ruckus_zf7025
$(Device/ruckus_common)
SOC := ar7240
DEVICE_MODEL := ZoneFlex 7025
IMAGE_SIZE := 15616k
BLOCKSIZE := 256k
endef
TARGET_DEVICES += ruckus_zf7025
define Device/ruckus_zf73xx_common
$(Device/ruckus_common)
DEVICE_PACKAGES := -swconfig kmod-usb2 kmod-usb-chipidea2
IMAGE_SIZE := 31744k
endef
define Device/ruckus_zf7321
$(Device/ruckus_zf73xx_common)
SOC := ar9342

View File

@ -76,7 +76,7 @@ define Device/rpi
raspberrypi,model-zero raspberrypi,model-zero-w
DEVICE_PACKAGES := \
cypress-firmware-43430-sdio \
cypress-nvram-43430-sdio-rpi-zero-w \
brcmfmac-nvram-43430-sdio \
kmod-brcmfmac wpad-basic-openssl
endef
ifeq ($(SUBTARGET),bcm2708)
@ -87,10 +87,10 @@ define Device/rpi-2
DEVICE_MODEL := 2B/2B 1.2
DEVICE_VARIANT := (32bit)
DEVICE_ALT0_VENDOR := Raspberry Pi
DEVICE_ALT0_MODEL := 3B/3B+/3CM
DEVICE_ALT0_MODEL := 3B/3B+/CM3
DEVICE_ALT0_VARIANT := (32bit)
DEVICE_ALT1_VENDOR := Raspberry Pi
DEVICE_ALT1_MODEL := 4B/400/4CM
DEVICE_ALT1_MODEL := 4B/400/CM4
DEVICE_ALT1_VARIANT := (32bit)
DEVICE_DTS := \
bcm2709-rpi-2-b bcm2710-rpi-2-b \
@ -107,9 +107,9 @@ define Device/rpi-2
raspberrypi,model-zero-2
DEVICE_PACKAGES := \
cypress-firmware-43430-sdio \
cypress-nvram-43430-sdio-rpi-3b \
brcmfmac-nvram-43430-sdio \
cypress-firmware-43455-sdio \
cypress-nvram-43455-sdio-rpi-3b-plus cypress-nvram-43455-sdio-rpi-4b \
brcmfmac-nvram-43455-sdio \
kmod-brcmfmac wpad-basic-openssl
IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
@ -119,7 +119,7 @@ ifeq ($(SUBTARGET),bcm2709)
endif
define Device/rpi-3
DEVICE_MODEL := 3B/3B+/3CM
DEVICE_MODEL := 3B/3B+/CM3
DEVICE_VARIANT := (64bit)
DEVICE_ALT0_VENDOR := Raspberry Pi
DEVICE_ALT0_MODEL := 2B-1.2
@ -138,9 +138,9 @@ define Device/rpi-3
raspberrypi,model-zero-2
DEVICE_PACKAGES := \
cypress-firmware-43430-sdio \
cypress-nvram-43430-sdio-rpi-3b \
brcmfmac-nvram-43430-sdio \
cypress-firmware-43455-sdio \
cypress-nvram-43455-sdio-rpi-3b-plus \
brcmfmac-nvram-43455-sdio \
kmod-brcmfmac wpad-basic-openssl
endef
ifeq ($(SUBTARGET),bcm2710)
@ -148,7 +148,7 @@ ifeq ($(SUBTARGET),bcm2710)
endif
define Device/rpi-4
DEVICE_MODEL := 4B/400/4CM
DEVICE_MODEL := 4B/400/CM4
DEVICE_VARIANT := (64bit)
KERNEL_IMG := kernel8.img
DEVICE_DTS := \
@ -161,7 +161,7 @@ define Device/rpi-4
raspberrypi,4-model-b
DEVICE_PACKAGES := \
cypress-firmware-43455-sdio \
cypress-nvram-43455-sdio-rpi-4b \
brcmfmac-nvram-43455-sdio \
kmod-brcmfmac wpad-basic-openssl \
kmod-usb-net-lan78xx
IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata

View File

@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1883,6 +1883,8 @@ static const struct usb_audio_quirk_flag
@@ -1884,6 +1884,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
QUIRK_FLAG_GENERIC_IMPLICIT_FB),

View File

@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -843,8 +843,14 @@ static int usb_audio_probe(struct usb_in
@@ -855,8 +855,14 @@ static int usb_audio_probe(struct usb_in
if (ignore_ctl_error)
chip->quirk_flags |= QUIRK_FLAG_IGNORE_CTL_ERROR;

View File

@ -75,7 +75,7 @@ define Device/Default
endef
define Device/asus_gt-ac5300
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := GT-AC5300
DEVICE_DTS := broadcom/bcmbca/bcm4908-asus-gt-ac5300
IMAGES := bin
@ -88,7 +88,7 @@ endef
TARGET_DEVICES += asus_gt-ac5300
define Device/asus_gt-ax6000
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := GT-AX6000
DEVICE_DTS := broadcom/bcmbca/bcm4912-asus-gt-ax6000
IMAGES := pkgtb

View File

@ -775,7 +775,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* bring up the dma engine and IP core */
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2700,7 +2700,6 @@ static int mv643xx_eth_shared_of_add_por
@@ -2701,7 +2701,6 @@ static int mv643xx_eth_shared_of_add_por
struct platform_device *ppdev;
struct mv643xx_eth_platform_data ppd;
struct resource res;
@ -783,7 +783,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int ret;
int dev_num = 0;
@@ -2731,9 +2730,7 @@ static int mv643xx_eth_shared_of_add_por
@@ -2732,9 +2731,7 @@ static int mv643xx_eth_shared_of_add_por
return -EINVAL;
}
@ -1250,7 +1250,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
@@ -372,7 +372,7 @@ static int meson8b_dwmac_probe(struct pl
@@ -370,7 +370,7 @@ static int meson8b_dwmac_probe(struct pl
if (ret)
return ret;
@ -1455,7 +1455,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
of_node_put(node);
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1306,7 +1306,6 @@ static int cpsw_probe_dt(struct cpsw_pla
@@ -1308,7 +1308,6 @@ static int cpsw_probe_dt(struct cpsw_pla
for_each_available_child_of_node(node, slave_node) {
struct cpsw_slave_data *slave_data = data->slave_data + i;
@ -1463,7 +1463,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int lenp;
const __be32 *parp;
@@ -1378,10 +1377,8 @@ static int cpsw_probe_dt(struct cpsw_pla
@@ -1380,10 +1379,8 @@ static int cpsw_probe_dt(struct cpsw_pla
}
no_phy_slave:

View File

@ -2988,6 +2988,7 @@ CONFIG_LBDAF=y
CONFIG_LDISC_AUTOLOAD=y
# CONFIG_LDM_PARTITION is not set
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y
# CONFIG_LD_HEAD_STUB_CATCH is not set
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW2013 is not set

View File

@ -3100,6 +3100,7 @@ CONFIG_LBDAF=y
CONFIG_LDISC_AUTOLOAD=y
# CONFIG_LDM_PARTITION is not set
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y
# CONFIG_LD_HEAD_STUB_CATCH is not set
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW2013 is not set

View File

@ -0,0 +1,41 @@
From 310e8e04a05d9eb43fa9dd7f00143300afcaa37a Mon Sep 17 00:00:00 2001
From: David Bauer <mail@david-bauer.net>
Date: Fri, 11 Nov 2022 13:33:44 +0100
Subject: [PATCH] kconfig: abort configuration on unset symbol
When a target configuration has unset Kconfig symbols, the build will
fail when OpenWrt is compiled with V=s and stdin is connected to a tty.
In case OpenWrt is compiled without either of these preconditions, the
build will succeed with the symbols in question being unset.
Modify the kernel configuration in a way it fails on unset symbols
regardless of the aforementioned preconditions.
Signed-off-by: David Bauer <mail@david-bauer.net>
---
scripts/kconfig/conf.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -109,6 +109,9 @@ static int conf_askvalue(struct symbol *
}
/* fall through */
case oldaskconfig:
+ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) {
+ exit(1);
+ }
fflush(stdout);
xfgets(line, sizeof(line), stdin);
return 1;
@@ -303,6 +306,9 @@ static int conf_choice(struct menu *menu
}
/* fall through */
case oldaskconfig:
+ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) {
+ exit(1);
+ }
fflush(stdout);
xfgets(line, sizeof(line), stdin);
strip(line);

View File

@ -1,28 +0,0 @@
From: David Bauer <mail@david-bauer.net>
Subject: Kconfig: exit on unset symbol
When a target configuration has unset Kconfig symbols, the build will
fail when OpenWrt is compiled with V=s and stdin is connected to a tty.
In case OpenWrt is compiled without either of these preconditions, the
build will succeed with the symbols in question being unset.
Modify the kernel configuration in a way it fails on unset symbols
regardless of the aforementioned preconditions.
Submitted-by: David Bauer <mail@david-bauer.net>
---
scripts/kconfig/conf.c | 2 +
1 files changed, 2 insertions(+)
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -215,6 +215,8 @@ static int conf_sym(struct menu *menu)
break;
continue;
case 0:
+ if (!sym_has_value(sym) && !tty_stdio && getenv("FAIL_ON_UNCONFIGURED"))
+ exit(1);
newval = oldval;
break;
case '?':

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Align . to a 8 byte boundary equals to maximum function alignment. */
#define ALIGN_FUNCTION() . = ALIGN(8)
@@ -473,14 +483,14 @@
@@ -474,14 +484,14 @@
/* Kernel symbol table: Normal symbols */ \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
__start___ksymtab = .; \
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__stop___ksymtab_gpl = .; \
} \
\
@@ -542,7 +552,7 @@
@@ -543,7 +553,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \

View File

@ -0,0 +1,41 @@
From 310e8e04a05d9eb43fa9dd7f00143300afcaa37a Mon Sep 17 00:00:00 2001
From: David Bauer <mail@david-bauer.net>
Date: Fri, 11 Nov 2022 13:33:44 +0100
Subject: [PATCH] kconfig: abort configuration on unset symbol
When a target configuration has unset Kconfig symbols, the build will
fail when OpenWrt is compiled with V=s and stdin is connected to a tty.
In case OpenWrt is compiled without either of these preconditions, the
build will succeed with the symbols in question being unset.
Modify the kernel configuration in a way it fails on unset symbols
regardless of the aforementioned preconditions.
Signed-off-by: David Bauer <mail@david-bauer.net>
---
scripts/kconfig/conf.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -341,6 +341,9 @@ static int conf_askvalue(struct symbol *
}
/* fall through */
default:
+ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) {
+ exit(1);
+ }
fflush(stdout);
xfgets(line, sizeof(line), stdin);
break;
@@ -523,6 +526,9 @@ static int conf_choice(struct menu *menu
}
/* fall through */
case oldaskconfig:
+ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) {
+ exit(1);
+ }
fflush(stdout);
xfgets(line, sizeof(line), stdin);
strip(line);

View File

@ -1,20 +0,0 @@
From 300d26562ce4dc427154cb247beb75db4b1f0774 Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 13:29:57 +0200
Subject: [PATCH] scripts/Kconfig: Kconfig exit
---
scripts/kconfig/conf.c | 2 ++
1 file changed, 2 insertions(+)
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -435,6 +435,8 @@ static int conf_sym(struct menu *menu)
break;
continue;
case 0:
+ if (!sym_has_value(sym) && !tty_stdio && getenv("FAIL_ON_UNCONFIGURED"))
+ exit(1);
newval = oldval;
break;
case '?':

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Align . to a 8 byte boundary equals to maximum function alignment. */
#define ALIGN_FUNCTION() . = ALIGN(8)
@@ -484,14 +494,14 @@
@@ -485,14 +495,14 @@
/* Kernel symbol table: Normal symbols */ \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
__start___ksymtab = .; \
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__stop___ksymtab_gpl = .; \
} \
\
@@ -511,7 +521,7 @@
@@ -512,7 +522,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \

View File

@ -21,7 +21,7 @@ define Device/technexion_imx7d-pico-pi
DEVICE_PACKAGES := kmod-sound-core kmod-sound-soc-imx kmod-sound-soc-imx-sgtl5000 \
kmod-can kmod-can-flexcan kmod-can-raw kmod-leds-gpio \
kmod-input-touchscreen-edt-ft5x06 kmod-usb-hid kmod-btsdio \
kmod-brcmfmac cypress-firmware-4339-sdio cypress-nvram-4339-pico-pi-imx7d
kmod-brcmfmac brcmfmac-firmware-4339-sdio cypress-nvram-4339-sdio
FILESYSTEMS := squashfs
IMAGES := combined.bin sysupgrade.bin
IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx-sdcard-raw-uboot

View File

@ -77,6 +77,10 @@ ipq40xx_setup_interfaces()
openmesh,a62)
ucidef_set_interfaces_lan_wan "ethernet2" "ethernet1"
;;
plasmacloud,pa1200|\
plasmacloud,pa2200)
ucidef_set_interfaces_lan_wan "ethernet1" "ethernet2"
;;
zte,mf286d)
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4" "wan"
;;

View File

@ -34,9 +34,6 @@ case "$FIRMWARE" in
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
;;
plasmacloud,pa2200)
caldata_extract "0:ART" 0x9000 0x2f20
;;
linksys,ea8300 |\
linksys,mr8300)
caldata_extract "ART" 0x9000 0x2f20
@ -75,9 +72,7 @@ case "$FIRMWARE" in
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
;;
cellc,rtl30vw |\
plasmacloud,pa1200 |\
plasmacloud,pa2200)
cellc,rtl30vw)
caldata_extract "0:ART" 0x1000 0x2f20
;;
devolo,magic-2-wifi-next)
@ -170,9 +165,7 @@ case "$FIRMWARE" in
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
;;
cellc,rtl30vw |\
plasmacloud,pa1200 |\
plasmacloud,pa2200)
cellc,rtl30vw)
caldata_extract "0:ART" 0x5000 0x2f20
;;
devolo,magic-2-wifi-next)

View File

@ -17,10 +17,6 @@
status = "okay";
};
mdio@90000 {
status = "okay";
};
tcsr@194b000 {
/* select hostmode */
compatible = "qcom,tcsr";
@ -75,6 +71,7 @@
led-failsafe = &led_status_yellow;
led-running = &led_status_cyan;
led-upgrade = &led_status_yellow;
label-mac-device = &swport5;
};
leds {
@ -140,7 +137,32 @@
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <24000000>;
/* partitions are passed via bootloader */
partitions {
partition-art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
label = "0:ART";
precal_art_1000: precal@1000 {
reg = <0x1000 0x2f20>;
};
precal_art_5000: precal@5000 {
reg = <0x5000 0x2f20>;
};
macaddr_gmac0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_gmac1: macaddr@6 {
reg = <0x6 0x6>;
};
};
};
};
};
@ -158,12 +180,46 @@
status = "okay";
};
&mdio {
status = "okay";
};
&gmac {
status = "okay";
};
&switch {
status = "okay";
};
&swport4 {
status = "okay";
label = "ethernet2";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_gmac1>;
};
&swport5 {
status = "okay";
label = "ethernet1";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_gmac0>;
};
&wifi0 {
status = "okay";
qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
nvmem-cell-names = "pre-calibration";
nvmem-cells = <&precal_art_1000>;
};
&wifi1 {
status = "okay";
qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
nvmem-cell-names = "pre-calibration";
nvmem-cells = <&precal_art_5000>;
};

View File

@ -31,21 +31,9 @@
};
};
ess-psgmii@98000 {
status = "okay";
};
ess_tcsr@1953000 {
status = "okay";
};
ess-switch@c000000 {
status = "okay";
};
edma@c080000 {
status = "okay";
};
};
};

View File

@ -85,10 +85,6 @@
reset-delay-us = <2000>;
};
ess-psgmii@98000 {
status = "okay";
};
tcsr@1949000 {
compatible = "qcom,tcsr";
reg = <0x1949000 0x100>;

View File

@ -17,10 +17,6 @@
status = "okay";
};
mdio@90000 {
status = "okay";
};
tcsr@1949000 {
compatible = "qcom,tcsr";
reg = <0x1949000 0x100>;
@ -63,6 +59,7 @@
led-failsafe = &led_status_blue;
led-running = &led_power_orange;
led-upgrade = &led_status_blue;
label-mac-device = &swport4;
};
leds {
@ -140,7 +137,36 @@
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <24000000>;
/* partitions are passed via bootloader */
partitions {
partition-art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
label = "0:ART";
precal_art_1000: precal@1000 {
reg = <0x1000 0x2f20>;
};
precal_art_5000: precal@5000 {
reg = <0x5000 0x2f20>;
};
precal_art_9000: precal@9000 {
reg = <0x9000 0x2f20>;
};
macaddr_gmac0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_gmac1: macaddr@6 {
reg = <0x6 0x6>;
};
};
};
};
};
@ -171,17 +197,54 @@
reg = <0x00010000 0 0 0 0>;
qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
ieee80211-freq-limit = <5170000 5350000>;
nvmem-cell-names = "pre-calibration";
nvmem-cells = <&precal_art_9000>;
};
};
};
&mdio {
status = "okay";
};
&gmac {
status = "okay";
};
&switch {
status = "okay";
};
&swport4 {
status = "okay";
label = "ethernet1";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_gmac0>;
};
&swport5 {
status = "okay";
label = "ethernet2";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_gmac1>;
};
&wifi0 {
status = "okay";
qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
nvmem-cell-names = "pre-calibration";
nvmem-cells = <&precal_art_1000>;
};
&wifi1 {
status = "okay";
qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
ieee80211-freq-limit = <5470000 5875000>;
nvmem-cell-names = "pre-calibration";
nvmem-cells = <&precal_art_5000>;
};

View File

@ -958,8 +958,7 @@ define Device/plasmacloud_pa1200
IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
endef
# Missing DSA Setup
#TARGET_DEVICES += plasmacloud_pa1200
TARGET_DEVICES += plasmacloud_pa1200
define Device/plasmacloud_pa2200
$(call Device/FitImageLzma)
@ -975,8 +974,7 @@ define Device/plasmacloud_pa2200
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
endef
# Missing DSA Setup
#TARGET_DEVICES += plasmacloud_pa2200
TARGET_DEVICES += plasmacloud_pa2200
define Device/qcom_ap-dk01.1-c1
DEVICE_VENDOR := Qualcomm Atheros

View File

@ -56,7 +56,7 @@
};
serial@78af000 {
@@ -109,5 +128,41 @@
@@ -109,5 +128,29 @@
wifi@a800000 {
status = "okay";
};
@ -65,18 +65,6 @@
+ status = "okay";
+ };
+
+ ess-switch@c000000 {
+ status = "okay";
+ };
+
+ ess-psgmii@98000 {
+ status = "okay";
+ };
+
+ edma@c080000 {
+ status = "okay";
+ };
+
+ usb3_ss_phy: ssphy@9a000 {
+ status = "okay";
+ };

View File

@ -71,6 +71,7 @@ CONFIG_ENABLE_MUST_CHECK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
CONFIG_FSL_BOOKE=y
# CONFIG_FSL_DPAA2_SWITCH is not set
CONFIG_FSL_EMB_PERFMON=y
# CONFIG_FSL_FMAN is not set
CONFIG_FSL_LBC=y

View File

@ -194,7 +194,6 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_START=0xc000000000000000
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
# CONFIG_LD_HEAD_STUB_CATCH is not set
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOCK_SPIN_ON_OWNER=y

View File

@ -201,7 +201,6 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_START=0xc000000000000000
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
# CONFIG_LD_HEAD_STUB_CATCH is not set
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOCK_SPIN_ON_OWNER=y

View File

@ -0,0 +1,27 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7620a_edimax_ew-747x.dtsi"
/ {
compatible = "ampedwireless,b1200ex", "ralink,mt7620a-soc";
model = "Amped Wireless B1200EX";
leds {
wlan2g {
label = "green:wlan2g";
gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
wlan5g {
label = "green:wlan5g";
gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
signal_strength {
label = "green:signal_strength";
gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
};
};
};

View File

@ -5,4 +5,39 @@
/ {
compatible = "edimax,ew-7476rpc", "ralink,mt7620a-soc";
model = "Edimax EW-7476RPC";
keys {
switch_high {
label = "switch high";
gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
switch_off {
label = "switch off";
gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
};
leds {
wlan2g {
label = "blue:wlan2g";
gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
crossband {
label = "green:crossband";
gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
};
};
};

View File

@ -5,4 +5,39 @@
/ {
compatible = "edimax,ew-7478ac", "ralink,mt7620a-soc";
model = "Edimax EW-7478AC";
keys {
switch_high {
label = "switch high";
gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
switch_off {
label = "switch off";
gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
};
leds {
wlan2g {
label = "blue:wlan2g";
gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
crossband {
label = "green:crossband";
gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
};
};
};

View File

@ -24,20 +24,6 @@
gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
switch_high {
label = "switch high";
gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
switch_off {
label = "switch off";
gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
};
leds {
@ -53,27 +39,10 @@
gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "blue:wlan2g";
gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
wps {
label = "green:wps";
gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
};
crossband {
label = "green:crossband";
gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
};
};
};
@ -206,6 +175,8 @@
&wmac {
ralink,mtd-eeprom = <&factory 0x0>;
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -216,7 +187,10 @@
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
mediatek,2ghz = <0>;
ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};
};

View File

@ -1,183 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include "mt7621_sercomm_dxx_nand_256m.dtsi"
/ {
compatible = "beeline,smartbox-turbo", "mediatek,mt7621-soc";
model = "Beeline SmartBox TURBO";
aliases {
label-mac-device = &gmac0;
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
led-upgrade = &led_status_red;
};
leds {
compatible = "gpio-leds";
led-1 {
label = "blue:wan";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WAN;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
led_status_green: led-0 {
label = "green:status";
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
led_status_red: led-2 {
label = "red:status";
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
ubi-concat {
compatible = "mtd-concat";
devices = <&ubiconcat0 &ubiconcat1 &ubiconcat2 \
&ubiconcat3>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ubi";
reg = <0x0 0xca00000>;
};
};
};
};
&nand {
status = "okay";
partitions {
compatible = "sercomm,sc-partitions", "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x100000>;
sercomm,scpart-id = <0>;
read-only;
};
partition@100000 {
label = "dynamic partition map";
reg = <0x100000 0x100000>;
sercomm,scpart-id = <1>;
read-only;
};
factory: partition@200000 {
label = "Factory";
reg = <0x200000 0x100000>;
sercomm,scpart-id = <2>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_21000: macaddr@21000 {
reg = <0x21000 0x6>;
};
};
partition@300000 {
label = "Boot Flag";
reg = <0x300000 0x100000>;
sercomm,scpart-id = <3>;
};
partition@400000 {
label = "kernel";
reg = <0x400000 0x600000>;
sercomm,scpart-id = <4>;
};
partition@a00000 {
label = "Kernel 2";
reg = <0xa00000 0x600000>;
sercomm,scpart-id = <5>;
read-only;
};
ubiconcat0: partition@1000000 {
label = "File System 1";
reg = <0x1000000 0x2000000>;
sercomm,scpart-id = <6>;
};
partition@3000000 {
label = "File System 2";
reg = <0x3000000 0x2000000>;
sercomm,scpart-id = <7>;
read-only;
};
ubiconcat1: partition@5000000 {
label = "Configuration/log";
reg = <0x5000000 0x1400000>;
sercomm,scpart-id = <8>;
};
ubiconcat2: partition@6400000 {
label = "Debug (Ftool)";
reg = <0x6400000 0x1a00000>;
sercomm,scpart-id = <9>;
};
ubiconcat3: partition@8000000 {
label = "container";
reg = <0x8000000 0x7c00000>;
sercomm,scpart-id = <10>;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(5)>;
@ -186,69 +17,14 @@
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
ieee80211-freq-limit = <2400000 2500000>;
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(4)>;
};
};
&gmac0 {
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
};
&gmac1 {
status = "okay";
label = "wan";
phy-handle = <&ethphy0>;
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(1)>;
};
&mdio {
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&switch0 {
ports {
port@1 {
status = "okay";
label = "lan1";
};
port@2 {
status = "okay";
label = "lan2";
};
port@3 {
status = "okay";
label = "lan3";
};
port@4 {
status = "okay";
label = "lan4";
};
};
};
&uartlite3 {
status = "okay";
};
&state_default {
gpio {
groups = "jtag", "uart2";
function = "gpio";
};
};

View File

@ -0,0 +1,241 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-3060-a1", "mediatek,mt7621-soc";
model = "D-Link DIR-3060 A1";
aliases {
label-mac-device = &gmac0;
led-boot = &led_power_orange;
led-failsafe = &led_power_white;
led-running = &led_power_white;
led-upgrade = &led_net_orange;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_power_white: power_white {
label = "white:power";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
led_net_orange: net_orange {
label = "orange:net";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
net_white {
label = "white:net";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
usb2_white {
label = "white:usb2";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
trigger-sources = <&ehci_port2>;
linux,default-trigger = "usbport";
};
usb3_white {
label = "white:usb3";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
trigger-sources = <&xhci_ehci_port1>;
linux,default-trigger = "usbport";
};
wlan2g {
label = "white:wlan2g";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0radio";
};
wlan5glb {
label = "white:wlan5glb";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy1radio";
};
wlan5ghb {
label = "white:wlan5ghb";
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy2radio";
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "Bootloader";
reg = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "config";
reg = <0x80000 0x80000>;
read-only;
};
factory: partition@100000 {
label = "factory";
reg = <0x100000 0x40000>;
read-only;
};
partition@140000 {
label = "config2";
reg = <0x140000 0x40000>;
read-only;
};
partition@180000 {
label = "firmware";
compatible = "openwrt,uimage", "denx,uimage";
openwrt,padding = <96>;
reg = <0x180000 0x2800000>;
};
partition@2980000 {
label = "private";
reg = <0x2980000 0x2000000>;
read-only;
};
partition@4980000 {
label = "firmware2";
reg = <0x4980000 0x2800000>;
read-only;
};
partition@7180000 {
label = "mydlink";
reg = <0x7180000 0x600000>;
read-only;
};
partition@7780000 {
label = "reserved";
reg = <0x7780000 0x880000>;
read-only;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi0: wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
ieee80211-freq-limit = <2400000 6000000>;
nvmem-cells = <&macaddr_factory_e000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
};
&pcie1 {
wifi1: wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&macaddr_factory_e000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <3>;
};
};
&gmac0 {
nvmem-cells = <&macaddr_factory_e000>;
nvmem-cell-names = "mac-address";
};
&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";
};
port@4 {
status = "okay";
label = "wan";
nvmem-cells = <&macaddr_factory_e006>;
nvmem-cell-names = "mac-address";
};
};
};
&state_default {
gpio {
groups = "i2c", "uart3", "jtag", "wdt";
function = "gpio";
};
};
&factory {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_e000: macaddr@e000 {
reg = <0xe000 0x6>;
};
macaddr_factory_e006: macaddr@e006 {
reg = <0xe006 0x6>;
};
};

View File

@ -0,0 +1,30 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621_sercomm_dxx_nand_256m.dtsi"
/ {
compatible = "rostelecom,rt-sf-1", "mediatek,mt7621-soc";
model = "Rostelecom RT-SF-1";
};
&pcie0 {
wifi@0,0 {
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(3)>;
};
};
&pcie1 {
wifi@0,0 {
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(2)>;
};
};
&gmac1 {
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(11)>;
};

View File

@ -0,0 +1,239 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
aliases {
label-mac-device = &gmac0;
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
led-upgrade = &led_status_red;
};
leds {
compatible = "gpio-leds";
led-1 {
label = "blue:wan";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WAN;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
led_status_green: led-0 {
label = "green:status";
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
led_status_red: led-2 {
label = "red:status";
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
ubi-concat {
compatible = "mtd-concat";
devices = <&ubiconcat0 &ubiconcat1 &ubiconcat2 \
&ubiconcat3>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ubi";
reg = <0x0 0xca00000>;
};
};
};
};
&nand {
status = "okay";
partitions {
compatible = "sercomm,sc-partitions", "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x100000>;
sercomm,scpart-id = <0>;
read-only;
};
partition@100000 {
label = "dynamic partition map";
reg = <0x100000 0x100000>;
sercomm,scpart-id = <1>;
read-only;
};
factory: partition@200000 {
label = "Factory";
reg = <0x200000 0x100000>;
sercomm,scpart-id = <2>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_21000: macaddr@21000 {
reg = <0x21000 0x6>;
};
};
partition@300000 {
label = "Boot Flag";
reg = <0x300000 0x100000>;
sercomm,scpart-id = <3>;
};
partition@400000 {
label = "kernel";
reg = <0x400000 0x600000>;
sercomm,scpart-id = <4>;
};
partition@a00000 {
label = "Kernel 2";
reg = <0xa00000 0x600000>;
sercomm,scpart-id = <5>;
read-only;
};
ubiconcat0: partition@1000000 {
label = "File System 1";
reg = <0x1000000 0x2000000>;
sercomm,scpart-id = <6>;
};
partition@3000000 {
label = "File System 2";
reg = <0x3000000 0x2000000>;
sercomm,scpart-id = <7>;
read-only;
};
ubiconcat1: partition@5000000 {
label = "Configuration/log";
reg = <0x5000000 0x1400000>;
sercomm,scpart-id = <8>;
};
ubiconcat2: partition@6400000 {
label = "Debug (Ftool)";
reg = <0x6400000 0x1a00000>;
sercomm,scpart-id = <9>;
};
ubiconcat3: partition@8000000 {
label = "Container";
reg = <0x8000000 0x7c00000>;
sercomm,scpart-id = <10>;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&gmac0 {
nvmem-cells = <&macaddr_factory_21000>;
nvmem-cell-names = "mac-address";
};
&gmac1 {
status = "okay";
label = "wan";
phy-handle = <&ethphy0>;
};
&mdio {
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&switch0 {
ports {
port@1 {
status = "okay";
label = "lan1";
};
port@2 {
status = "okay";
label = "lan2";
};
port@3 {
status = "okay";
label = "lan3";
};
port@4 {
status = "okay";
label = "lan4";
};
};
};
&uartlite3 {
status = "okay";
};
&state_default {
gpio {
groups = "jtag", "uart2";
function = "gpio";
};
};

View File

@ -75,7 +75,7 @@
&state_default {
gpio {
groups = "wdt", "gpio", "wled_an", "p0led_an", "p1led_an", "i2s";
groups = "wdt", "gpio", "wled_an", "p0led_an", "p1led_an", "i2s", "i2c";
function = "gpio";
};
};
@ -131,10 +131,6 @@
};
};
&i2c {
status = "okay";
};
&uart1 {
status = "okay";
};

View File

@ -75,10 +75,23 @@ define Device/amit_jboot
DEVICE_PACKAGES := jboot-tools kmod-usb2 kmod-usb-ohci
endef
define Device/ampedwireless_b1200ex
SOC := mt7620a
DEVICE_VENDOR := Amped Wireless
DEVICE_MODEL := B1200EX
BLOCKSIZE := 4k
IMAGE_SIZE := 7744k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
edimax-header -s CSYS -m RN10 -f 0x70000 -S 0x01100000 | pad-rootfs | \
check-size | append-metadata
DEVICE_PACKAGES := kmod-mt76x2 kmod-phy-realtek
endef
TARGET_DEVICES += ampedwireless_b1200ex
define Device/asus_rp-n53
SOC := mt7620a
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RP-N53
DEVICE_PACKAGES := kmod-rt2800-pci
SUPPORTED_DEVICES += rp-n53
@ -88,7 +101,7 @@ TARGET_DEVICES += asus_rp-n53
define Device/asus_rt-ac51u
SOC := mt7620a
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-AC51U
DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \
kmod-usb-ledtrig-usbport
@ -99,7 +112,7 @@ TARGET_DEVICES += asus_rt-ac51u
define Device/asus_rt-ac54u
SOC := mt7620a
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-AC54U
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci \
kmod-usb-ledtrig-usbport
@ -109,7 +122,7 @@ TARGET_DEVICES += asus_rt-ac54u
define Device/asus_rt-n12p
SOC := mt7620n
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N11P/RT-N12+/RT-N12Eb1
SUPPORTED_DEVICES += rt-n12p
endef
@ -118,7 +131,7 @@ TARGET_DEVICES += asus_rt-n12p
define Device/asus_rt-n14u
SOC := mt7620n
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N14u
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
SUPPORTED_DEVICES += rt-n14u

View File

@ -548,6 +548,13 @@ define Device/dlink_dir-2660-a1
endef
TARGET_DEVICES += dlink_dir-2660-a1
define Device/dlink_dir-3060-a1
$(Device/dlink_dir-xx60-a1)
DEVICE_MODEL := DIR-3060
DEVICE_VARIANT := A1
endef
TARGET_DEVICES += dlink_dir-3060-a1
define Device/dlink_dir-853-a3
$(Device/dlink_dir-xx60-a1)
DEVICE_MODEL := DIR-853
@ -1741,6 +1748,19 @@ define Device/renkforce_ws-wn530hp3-a
endef
TARGET_DEVICES += renkforce_ws-wn530hp3-a
define Device/rostelecom_rt-sf-1
$(Device/sercomm_dxx)
IMAGE_SIZE := 32768k
SERCOMM_HWID := DKG
SERCOMM_HWVER := 10110
SERCOMM_SWVER := 1026
DEVICE_VENDOR := Rostelecom
DEVICE_MODEL := RT-SF-1
DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware \
kmod-usb3 uboot-envtools
endef
TARGET_DEVICES += rostelecom_rt-sf-1
define Device/samknows_whitebox-v8
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)

View File

@ -40,9 +40,9 @@ TARGET_DEVICES += alfa-network_awusfree1
define Device/asus_rt-ac1200
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-AC1200
DEVICE_ALT0_VENDOR := Asus
DEVICE_ALT0_VENDOR := ASUS
DEVICE_ALT0_MODEL := RT-N600
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci \
kmod-usb-ledtrig-usbport
@ -52,7 +52,7 @@ TARGET_DEVICES += asus_rt-ac1200
define Device/asus_rt-ac1200-v2
BLOCKSIZE := 64k
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-AC1200
DEVICE_VARIANT := V2
IMAGES += factory.bin
@ -64,7 +64,7 @@ TARGET_DEVICES += asus_rt-ac1200-v2
define Device/asus_rt-n10p-v3
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N10P
DEVICE_VARIANT := V3
endef
@ -72,7 +72,7 @@ TARGET_DEVICES += asus_rt-n10p-v3
define Device/asus_rt-n11p-b1
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N11P
DEVICE_VARIANT := B1
DEVICE_ALT0_VENDOR := ASUS
@ -86,7 +86,7 @@ TARGET_DEVICES += asus_rt-n11p-b1
define Device/asus_rt-n12-vp-b1
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N12 VP
DEVICE_VARIANT := B1
endef

View File

@ -40,7 +40,7 @@ TARGET_DEVICES += airlink101_ar725w
define Device/asus_rt-n15
BLOCKSIZE := 64k
IMAGE_SIZE := 3776k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N15
DEVICE_PACKAGES := kmod-switch-rtl8366s
SUPPORTED_DEVICES += rt-n15

View File

@ -209,7 +209,7 @@ define Device/asus_rt-g32-b1
SOC := rt3050
BLOCKSIZE := 4k
IMAGE_SIZE := 3776k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-G32
DEVICE_VARIANT := B1
SUPPORTED_DEVICES += rt-g32-b1
@ -221,7 +221,7 @@ define Device/asus_rt-n10-plus
SOC := rt3050
BLOCKSIZE := 64k
IMAGE_SIZE := 3776k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N10+
SUPPORTED_DEVICES += rt-n10-plus
DEFAULT := n
@ -231,7 +231,7 @@ TARGET_DEVICES += asus_rt-n10-plus
define Device/asus_rt-n13u
SOC := rt3052
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N13U
DEVICE_PACKAGES := kmod-leds-gpio kmod-rt2800-pci kmod-usb-dwc2
SUPPORTED_DEVICES += rt-n13u
@ -242,7 +242,7 @@ define Device/asus_wl-330n
SOC := rt3050
BLOCKSIZE := 4k
IMAGE_SIZE := 3776k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := WL-330N
SUPPORTED_DEVICES += wl-330n
DEFAULT := n
@ -253,7 +253,7 @@ define Device/asus_wl-330n3g
SOC := rt3050
BLOCKSIZE := 4k
IMAGE_SIZE := 3776k
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := WL-330N3G
DEVICE_PACKAGES :=
SUPPORTED_DEVICES += wl-330n3g

View File

@ -10,7 +10,7 @@ define Device/asus_rt-n56u
BLOCKSIZE := 64k
IMAGE_SIZE := 7872k
IMAGE/sysupgrade.bin += | mkrtn56uimg -s
DEVICE_VENDOR := Asus
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-N56U
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2
SUPPORTED_DEVICES += rt-n56u

View File

@ -101,6 +101,7 @@ edimax,br-6478ac-v2|\
edimax,ew-7478apc)
ucidef_set_led_netdev "wifi_led" "wifi" "blue:wlan" "wlan0"
;;
ampedwireless,b1200ex|\
edimax,ew-7476rpc|\
edimax,ew-7478ac)
ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0x20"

View File

@ -38,6 +38,7 @@ ramips_setup_interfaces()
"3:lan" "4:wan" "6@eth0"
;;
alfa-network,tube-e4g|\
ampedwireless,b1200ex|\
buffalo,wmr-300|\
dlink,dch-m225|\
edimax,ew-7476rpc|\

View File

@ -25,7 +25,8 @@ asus,rt-n56u-b1)
;;
beeline,smartbox-flash|\
beeline,smartbox-giga|\
beeline,smartbox-turbo)
beeline,smartbox-turbo|\
rostelecom,rt-sf-1)
ucidef_set_led_netdev "wan" "wan" "blue:wan" "wan"
;;
belkin,rt1800)
@ -54,6 +55,10 @@ dlink,dir-2640-a1|\
dlink,dir-2660-a1)
ucidef_set_led_netdev "wan" "wan" "white:net" "wan"
;;
dlink,dir-3060-a1)
ucidef_set_led_netdev "net_white" "WAN Link" "white:net" "wan" "link"
ucidef_set_led_netdev "net_orange" "WAN Activity" "orange:net" "wan" "tx rx"
;;
dlink,dir-853-a3)
ucidef_set_led_netdev "wan" "wan" "blue:net" "wan"
;;

View File

@ -219,6 +219,7 @@ ramips_setup_macs()
lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
label_mac=$lan_mac
;;
mikrotik,ltap-2hnd)
label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
lan_mac=$label_mac

View File

@ -8,7 +8,8 @@ boot() {
[ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
;;
beeline,smartbox-turbo)
beeline,smartbox-turbo|\
rostelecom,rt-sf-1)
[[ $(hexdump -n 1 -e '/1 "%1d"' -s $((0x20001)) /dev/mtd3) == \
$((0xff)) ]] || printf '\xff' | dd of=/dev/mtdblock3 \
count=1 bs=1 seek=$((0x20001))

View File

@ -62,6 +62,7 @@ platform_do_upgrade() {
dlink,dir-1960-a1|\
dlink,dir-2640-a1|\
dlink,dir-2660-a1|\
dlink,dir-3060-a1|\
dlink,dir-853-a3|\
h3c,tx1800-plus|\
h3c,tx1801-plus|\
@ -95,6 +96,7 @@ platform_do_upgrade() {
netgear,wax202|\
netis,wf2881|\
raisecom,msg1500-x-00|\
rostelecom,rt-sf-1|\
sercomm,na502|\
sercomm,na502s|\
sim,simax1800t|\

View File

@ -16,7 +16,6 @@ define Build/boot-common
rm -fR $@.boot
mkdir -p $@.boot
$(CP) $(DTS_DIR)/$(DEVICE_DTS).dtb $@.boot/rockchip.dtb
$(CP) $(IMAGE_KERNEL) $@.boot/kernel.img
endef
@ -68,7 +67,7 @@ endef
### Devices ###
define Device/Default
PROFILES := Default
KERNEL := kernel-bin | lzma
KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
IMAGES := sysupgrade.img.gz
DEVICE_DTS = rockchip/$$(SOC)-$(lastword $(subst _, ,$(1)))
endef

View File

@ -2,6 +2,9 @@
#
# Copyright (C) 2020 Tobias Maedel
# FIT will be loaded at 0x02080000. Leave 16M for that, align it to 2M and load the kernel after it.
KERNEL_LOADADDR := 0x03200000
define Device/friendlyarm_nanopi-r2c
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi R2C

View File

@ -10,11 +10,6 @@ fi;
setenv bootargs "console=ttyS2,1500000 console=tty1 earlycon=uart8250,mmio32${serial_addr} swiotlb=1 root=PARTUUID=${uuid} rw rootwait";
load mmc ${devnum}:1 ${fdt_addr_r} rockchip.dtb
load mmc ${devnum}:1 ${kernel_addr_r} kernel.img
echo "Uncompress lzma kernel into memory..."
setexpr kernel_addr_dec ${filesize} + ${kernel_addr_r} || kernel_addr_dec=0x03000000
lzmadec ${kernel_addr_r} ${kernel_addr_dec}
booti ${kernel_addr_dec} - ${fdt_addr_r}
bootm ${kernel_addr_r}

View File

@ -7,12 +7,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xz
PKG_VERSION:=5.2.7
PKG_VERSION:=5.2.8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/lzmautils \
http://tukaani.org/xz
PKG_HASH:=b65f1d0c2708e57716f4dd2216989a73847ac6fdb4168ffceb155767e22b834b
PKG_HASH:=1f8a43d9fcf325d049a31fe4514dc8c44a6d00ce8860d48c4212d1e349d2a3ed
PKG_CPE_ID:=cpe:/a:tukaani:xz
HOST_BUILD_PARALLEL:=1