Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2025-02-18 00:33:47 +08:00
commit 40878be855
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
32 changed files with 586 additions and 81 deletions

View File

@ -6,13 +6,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=opensbi
PKG_RELEASE:=1.4
PKG_RELEASE:=1.6
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/riscv/opensbi
PKG_SOURCE_DATE:=2023-12-24
PKG_SOURCE_VERSION:=a2b255b88918715173942f2c5e1f97ac9e90c877
PKG_MIRROR_HASH:=a81d7b3622feba80b2a45fe0d38600be73cfbee64a0426be82a71545c10c54d3
PKG_SOURCE_DATE:=2024-12-24
PKG_SOURCE_VERSION:=bd613dd92113f683052acfb23d9dc8ba60029e0a
PKG_MIRROR_HASH:=247bbb751635d9414cf47cce417185fd3323e98c524eafa825dc91b76cc5c054
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -26,6 +26,12 @@ ubootenv_add_mmc() {
}
case "$board" in
aliyun,ap8220|\
compex,wpq873|\
edgecore,eap102|\
zyxel,nbg7815)
ubootenv_add_mtd "0:appsblenv" "0x0" "0x10000" "0x10000"
;;
dynalink,dl-wrx36|\
netgear,rax120v2|\
netgear,sxr80|\
@ -37,11 +43,6 @@ tplink,eap620hd-v1|\
tplink,eap660hd-v1)
ubootenv_add_mtd "0:appsblenv" "0x0" "0x40000" "0x20000"
;;
compex,wpq873|\
edgecore,eap102|\
zyxel,nbg7815)
ubootenv_add_mtd "0:appsblenv" "0x0" "0x10000" "0x10000"
;;
edimax,cax1800|\
zte,mf269)
ubootenv_add_mtd "0:appsblenv" "0x0" "0x10000" "0x20000"

View File

@ -6,9 +6,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
PKG_SOURCE_DATE:=2025-02-06
PKG_SOURCE_VERSION:=38b0e9ee0f3c55cda5b66736a47a68a663b220b9
PKG_MIRROR_HASH:=be073d4afd116560d689ccb96beb0339195a939c9eb8d13d3bdb03ec6f1bcd7b
PKG_SOURCE_DATE:=2025-02-16
PKG_SOURCE_VERSION:=331dd0ead646f0d3fe38cb4bf83cce4b448343e8
PKG_MIRROR_HASH:=f49b3acd56a1cf4a0d52413b060d6adbd65c2754b44cabe096fed69172febbb5
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
@ -28,6 +28,7 @@ endef
ALLWIFIBOARDS:= \
8devices_mango \
aliyun_ap8220 \
arcadyan_aw1000 \
asus_rt-ax89x \
buffalo_wxr-5950ax12 \
@ -166,6 +167,7 @@ endef
# board-<devicename>.<qca4019|qca9888|qca9889|qca9984|qca99x0|ipq8074>
$(eval $(call generate-ipq-wifi-package,8devices_mango,8devices Mango))
$(eval $(call generate-ipq-wifi-package,aliyun_ap8220,Aliyun AP8220))
$(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000))
$(eval $(call generate-ipq-wifi-package,asus_rt-ax89x,Asus RT-AX89X))
$(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12))

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=openssl
PKG_VERSION:=3.0.15
PKG_VERSION:=3.0.16
PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
@ -21,7 +21,7 @@ PKG_SOURCE_URL:= \
https://www.openssl.org/source/old/$(PKG_BASE)/ \
https://github.com/openssl/openssl/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
PKG_HASH:=23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533
PKG_HASH:=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE

View File

@ -0,0 +1,24 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 17 Feb 2025 12:21:08 +0100
Subject: [PATCH] net: bridge: locally receive all multicast packets if
IFF_ALLMULTI is set
If multicast snooping is enabled, multicast packets may not always end up on
the local bridge interface, if the host is not a member of the multicast
group. Similar to how IFF_PROMISC allows all packets to be received locally,
let IFF_ALLMULTI allow all multicast packets to be received.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -152,6 +152,8 @@ int br_handle_frame_finish(struct net *n
pkt_type = BR_PKT_MULTICAST;
if (br_multicast_rcv(&brmctx, &pmctx, vlan, skb, vid))
goto drop;
+ if (br->dev->flags & IFF_ALLMULTI)
+ local_rcv = true;
}
}

View File

@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!(p->flags & BR_BCAST_FLOOD) && skb->dev != br->dev)
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -367,6 +367,8 @@ static rx_handler_result_t br_handle_fra
@@ -369,6 +369,8 @@ static rx_handler_result_t br_handle_fra
fwd_mask |= p->group_fwd_mask;
switch (dest[5]) {
case 0x00: /* Bridge Group Address */

View File

@ -12,6 +12,7 @@ platform_check_image() {
local board=$(board_name)
case "$board" in
gateworks,imx8m*|\
gw,imx8m*)
return 0
;;
@ -25,6 +26,7 @@ platform_do_upgrade() {
local board=$(board_name)
case "$board" in
gateworks,imx8m*|\
gw,imx8m*)
export_bootdevice && export_partdevice diskdev 0 || {
echo "Unable to find root device."
@ -41,6 +43,7 @@ platform_copy_config() {
local partdev
case "$board" in
gateworks,imx8m*|\
gw,imx8m*)
export_partdevice partdev 1 && {
v "Storing $UPGRADE_BACKUP on /dev/$partdev..."

View File

@ -46,6 +46,21 @@ define Device/gateworks_venice
FILESYSTEMS := squashfs ext4
DEVICE_VENDOR := Gateworks
DEVICE_MODEL := i.MX8M Venice
SUPPORTED_DEVICES := \
gw,imx8mm-gw71xx-0x \
gw,imx8mm-gw72xx-0x \
gw,imx8mp-gw72xx-2x \
gw,imx8mm-gw73xx-0x \
gw,imx8mp-gw73xx-2x \
gw,imx8mm-gw7901 \
gw,imx8mm-gw7902 \
gw,imx8mn-gw7902 \
gw,imx8mm-gw7903 \
gateworks,imx8mp-gw71xx-2x \
gateworks,imx8mp-gw74xx \
gateworks,imx8mm-gw7904 \
gateworks,imx8mm-gw7905-0x \
gateworks,imx8mp-gw7905-2x
BOOT_SCRIPT := gateworks_venice
PARTITION_OFFSET := 16M
DEVICE_DTS := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dts)))

View File

@ -210,7 +210,7 @@
status = "okay";
spi_nand: flash@0 {
compatible = "spi-nand";
compatible = "u-boot-dont-touch-spi-nand";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
@ -224,7 +224,7 @@
* Device Tree and by that also deletes all additional properties
* needed for UBI and NVMEM-on-UBI.
* Prevent this from happening by tricking the loader to delete and
* replace a bait node instead.
* replace a bait node instead (works with older bootloaders).
*/
partitions: dummy {
compatible = "u-boot-dummy-partitions";

View File

@ -217,7 +217,7 @@
status = "okay";
spi_nand_flash: flash@0 {
compatible = "spi-nand";
compatible = "u-boot-dont-touch-spi-nand";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
@ -231,7 +231,7 @@
* Device Tree and by that also deletes all additional properties
* needed for UBI and NVMEM-on-UBI.
* Prevent this from happening by tricking the loader to delete and
* replace a bait node instead.
* replace a bait node instead (works with older bootloaders).
*/
partitions: dummy {
compatible = "u-boot-dummy-partitions";

View File

@ -231,7 +231,7 @@
status = "okay";
spi_nand_flash: flash@0 {
compatible = "spi-nand";
compatible = "u-boot-dont-touch-spi-nand";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
@ -245,7 +245,7 @@
* Device Tree and by that also deletes all additional properties
* needed for UBI and NVMEM-on-UBI.
* Prevent this from happening by tricking the loader to delete and
* replace a bait node instead.
* replace a bait node instead (works with older bootloaders).
*/
partitions: dummy {
compatible = "u-boot-dummy-partitions";

View File

@ -214,13 +214,33 @@
phy5: phy@5 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
mxl,led-config = <0x03f0 0x0 0x0 0x0>;
leds {
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
};
};
};
phy6: phy@6 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
mxl,led-config = <0x00f0 0x0 0x0 0x0>;
leds {
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
};
};
};
switch@1f {

View File

@ -154,8 +154,10 @@ zbtlink,zbt-z8103ax)
;;
zyxel,ex5601-t0-stock|\
zyxel,ex5601-t0-ubootmod)
ucidef_set_led_netdev "lan1" "LAN1" "mdio-bus:05:green:lan" "lan1" "link tx rx"
ucidef_set_led_netdev "wan" "2.5G-WAN" "mdio-bus:06:green:wan" "eth1" "link_2500"
ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0" "link tx rx"
ucidef_set_led_netdev "wan" "WAN" "green:inet" "eth1" "link tx rx"
ucidef_set_led_netdev "internet" "INTERNET" "green:inet" "eth1" "link tx rx"
ucidef_set_led_netdev "wifi-24g" "WIFI-2.4G" "green:wifi24g" "phy0-ap0" "link tx rx"
ucidef_set_led_netdev "wifi-5g" "WIFI-5G" "green:wifi5g" "phy1-ap0" "link tx rx"
;;

View File

@ -1975,7 +1975,6 @@ define Device/zyxel_ex5601-t0-stock
DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3 automount
SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
UBINIZE_OPTS := -E 5
BLOCKSIZE := 256k
PAGESIZE := 4096

View File

@ -0,0 +1,47 @@
From 30a04cf5b6ffa1249df72ccd98cef05f37890f89 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
Date: Thu, 6 Feb 2025 05:07:20 +0000
Subject: [PATCH] mtd: spinand: add work-around to prevent bootloader wiping
mtdparts
ASUS makes use of U-Boot's fdt_fixup_mtdparts() function which applies
the partitions defined in U-Boot's mtdparts and mtdids environment
variables to the devicetree passed over to Linux.
The undesired side-effect is that in this way also all additional
properties and child nodes get wiped, preventing NVMEM cells to be
defined for MTD partitions or UBI volumes.
To work-around this issue, add an additional compatible string
'u-boot-dont-touch-spi-nand' which can be used instead of 'spi-nand' in
case the replacement of the MTD partitions by U-Boot should be skipped
alltogether.
In practise this is mostly relevant for SPI-NAND which anyway comes only
with two partitions nowadays: 'Bootloader' and 'UBI_DEV'. Hence this
work-around is applicable for SPI-NAND only. Similar work-arounds for
other MTD devices can be created as well should they actually be needed.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
drivers/mtd/nand/spi/core.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -1441,6 +1441,7 @@ static int spinand_remove(struct spi_mem
static const struct spi_device_id spinand_ids[] = {
{ .name = "spi-nand" },
+ { .name = "u-boot-dont-touch-spi-nand" },
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(spi, spinand_ids);
@@ -1448,6 +1449,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
#ifdef CONFIG_OF
static const struct of_device_id spinand_of_ids[] = {
{ .compatible = "spi-nand" },
+ { .compatible = "u-boot-dont-touch-spi-nand" },
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, spinand_of_ids);

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2015 OpenWrt.org
# Copyright (C) 2014-2025 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
@ -8,6 +8,7 @@ board_config_update
case "$(board_name)" in
itus,shield-router|\
ubnt,erlite|\
ubnt,usg)
ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0"
;;

View File

@ -14,8 +14,11 @@ do_sysinfo_octeon() {
esac
case "$machine" in
"UBNT_E100"*)
name="erlite"
"UBNT_E100"*|\
"UBNT_E300"*|\
"UBNT_USG"*)
# let generic 02_sysinfo handle it since device has its own device tree
return 0
;;
"UBNT_E200"*)
@ -26,12 +29,6 @@ do_sysinfo_octeon() {
name="erpro"
;;
"UBNT_E300"*|\
"UBNT_USG"*)
# let generic 02_sysinfo handle it since device has its own device tree
return 0
;;
"ITUS_SHIELD"*)
name="itus,shield-router"
;;

View File

@ -25,7 +25,7 @@ octeon_move_config() {
. /lib/functions.sh
case "$(board_name)" in
erlite|\
ubnt,erlite|\
ubnt,usg)
move_config "/dev/sda1" "vfat"
;;

View File

@ -47,7 +47,7 @@ platform_copy_config_helper() {
platform_copy_config() {
case "$(board_name)" in
erlite|\
ubnt,erlite|\
ubnt,usg)
platform_copy_config_helper /dev/sda1 vfat
;;
@ -132,7 +132,7 @@ platform_do_upgrade() {
ubnt,edgerouter-6p)
kernel=/dev/mmcblk0p1
;;
erlite|\
ubnt,erlite|\
ubnt,usg)
kernel=/dev/sda1
;;
@ -161,10 +161,10 @@ platform_check_image() {
case "$board" in
er | \
erlite | \
itus,shield-router | \
ubnt,edgerouter-4 | \
ubnt,edgerouter-6p | \
ubnt,erlite | \
ubnt,usg | \
cisco,vedge1000)
local kernel_length=$(tar xf $tar_file $board_dir/kernel -O | wc -c 2> /dev/null)

View File

@ -0,0 +1,11 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Device tree source for Ubiquity Edgerouter Lite
*/
/include/ "ubnt_e100.dts"
/ {
compatible = "ubnt,erlite", "cavium,cn5020";
model = "Ubiquiti Edgerouter Lite";
};

View File

@ -79,18 +79,21 @@ ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0)ro,512k(boot1)ro,64k(eepr
define Device/ubnt_edgerouter-lite
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := EdgeRouter Lite
BOARD_NAME := erlite
DEVICE_DTS := cn5020_ubnt_edgerouter-lite
KERNEL := kernel-bin | patch-cmdline | append-dtb-to-elf
KERNEL_DEPENDS := $$(wildcard $(DTS_DIR)/$(DEVICE_DTS).dts)
CMDLINE := $(ERLITE_CMDLINE)
SUPPORTED_DEVICES += erlite
SUPPORTED_DEVICES += erlite ubnt,erlite
endef
TARGET_DEVICES += ubnt_edgerouter-lite
define Device/ubnt_unifi-usg
$(Device/ubnt_edgerouter-lite)
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi Security Gateway
BOARD_NAME := ubnt,usg
DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-leds-gpio
DEVICE_DTS := cn5020_ubnt_usg
CMDLINE := $(ERLITE_CMDLINE)
KERNEL += | append-dtb-to-elf
SUPPORTED_DEVICES += ubnt,usg
endef

View File

@ -0,0 +1,337 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ipq8074.dtsi"
#include "ipq8074-ac-cpu.dtsi"
#include "ipq8074-ess.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "Aliyun AP8220";
compatible = "aliyun,ap8220", "qcom,ipq8074";
aliases {
serial0 = &blsp1_uart5;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
stdout-path = "serial0:115200n8";
bootargs-append = " root=/dev/ubiblock0_1";
};
keys {
compatible = "gpio-keys";
pinctrl-0 = <&button_pins>;
pinctrl-names = "default";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
};
wlan2g {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN_2GHZ;
gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy1radio";
};
wlan5g {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN_5GHZ;
gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0radio";
};
bluetooth {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_BLUETOOTH;
gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
};
};
gpio-export {
compatible = "gpio-export";
ble-power {
gpio-export,name = "ble_power";
gpio-export,output = <1>;
gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
};
};
};
&tlmm {
mdio_pins: mdio-pins {
mdc {
pins = "gpio68";
function = "mdc";
drive-strength = <8>;
bias-pull-up;
};
mdio {
pins = "gpio69";
function = "mdio";
drive-strength = <8>;
bias-pull-up;
};
};
button_pins: button-pins {
mux {
pins = "gpio66";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
};
};
&blsp1_spi1 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "0:sbl1";
reg = <0x0 0x50000>;
read-only;
};
partition@50000 {
label = "0:mibib";
reg = <0x50000 0x10000>;
read-only;
};
partition@60000 {
label = "0:qsee";
reg = <0x60000 0x180000>;
read-only;
};
partition@1e0000 {
label = "0:devcfg";
reg = <0x1e0000 0x10000>;
read-only;
};
partition@1f0000 {
label = "0:apdp";
reg = <0x1f0000 0x10000>;
read-only;
};
partition@200000 {
label = "0:rpm";
reg = <0x200000 0x40000>;
read-only;
};
partition@240000 {
label = "0:cdt";
reg = <0x240000 0x10000>;
read-only;
};
partition@250000 {
label = "0:appsblenv";
reg = <0x250000 0x10000>;
};
partition@260000 {
label = "0:appsbl";
reg = <0x260000 0xa0000>;
read-only;
};
partition@300000 {
label = "0:art";
reg = <0x300000 0x40000>;
read-only;
};
partition@340000 {
label = "0:ethphyfw";
reg = <0x340000 0x80000>;
read-only;
};
partition@3c0000 {
label = "product_info";
reg = <0x3c0000 0x10000>;
read-only;
};
partition@3d0000 {
label = "mtdoops";
reg = <0x3d0000 0x20000>;
};
partition@3f0000 {
label = "priv_data1";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&blsp1_uart5 {
status = "okay";
};
&cryptobam {
status = "okay";
};
&crypto {
status = "okay";
};
&prng {
status = "okay";
};
&qpic_bam {
status = "okay";
};
&qusb_phy_0 {
status = "okay";
};
&ssphy_0 {
status = "okay";
};
&usb_0 {
status = "okay";
};
&qpic_nand {
status = "okay";
nand@0 {
reg = <0>;
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-bus-width = <8>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "rootfs1";
reg = <0x0000000 0x3000000>;
};
partition@3000000 {
label = "rootfs2";
reg = <0x3000000 0x3000000>;
};
partition@6000000 {
label = "usrdata";
reg = <0x6000000 0x2000000>;
};
};
};
};
&mdio {
status = "okay";
pinctrl-0 = <&mdio_pins>;
pinctrl-names = "default";
qca8081_24: ethernet-phy@24 {
compatible = "ethernet-phy-id004d.d101";
reg = <24>;
reset-deassert-us = <10000>;
reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
};
qca8081_28: ethernet-phy@28 {
compatible = "ethernet-phy-id004d.d101";
reg = <28>;
reset-deassert-us = <10000>;
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
};
};
&switch {
status = "okay";
switch_lan_bmp = <ESS_PORT5>;
switch_wan_bmp = <ESS_PORT6>;
switch_mac_mode1 = <MAC_MODE_SGMII_PLUS>;
switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>;
qcom,port_phyinfo {
port@5 {
port_id = <5>;
phy_address = <24>;
port_mac_sel = "QGMAC_PORT";
};
port@6 {
port_id = <6>;
phy_address = <28>;
port_mac_sel = "QGMAC_PORT";
};
};
};
&edma {
status = "okay";
};
&dp5 {
status = "okay";
phy-mode = "sgmii";
phy-handle = <&qca8081_24>;
label = "wan";
};
&dp6 {
status = "okay";
phy-handle = <&qca8081_28>;
label = "lan";
};
&wifi {
status = "okay";
qcom,ath11k-calibration-variant = "Aliyun-AP8220";
};

View File

@ -33,6 +33,19 @@ define Build/wax6xx-netgear-tar
rm -rf $@.tmp
endef
define Device/aliyun_ap8220
$(call Device/FitImage)
$(call Device/UbiFit)
DEVICE_VENDOR := Aliyun
DEVICE_MODEL := AP8220
BLOCKSIZE := 128k
PAGESIZE := 2048
DEVICE_DTS_CONFIG := config@ac02
SOC := ipq8071
DEVICE_PACKAGES := ipq-wifi-aliyun_ap8220
endef
TARGET_DEVICES += aliyun_ap8220
define Device/arcadyan_aw1000
$(call Device/FitImage)
$(call Device/UbiFit)

View File

@ -7,10 +7,10 @@ ipq50xx_setup_interfaces()
{
local board="$1"
case $board in
linksys,mx2000|\
linksys,mx5500)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
;;
linksys,mx2000|\
linksys,mx5500)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
;;
esac
}
@ -22,12 +22,12 @@ ipq50xx_setup_macs()
local label_mac=""
case "$board" in
linksys,mx2000|\
linksys,mx5500)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
lan_mac=$label_mac
wan_mac=$label_mac
ucidef_set_network_device_mac eth0 $label_mac
linksys,mx2000|\
linksys,mx5500)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
lan_mac=$label_mac
wan_mac=$label_mac
ucidef_set_network_device_mac eth0 $label_mac
;;
esac

View File

@ -11,6 +11,13 @@ ipq807x_setup_interfaces()
local board="$1"
case "$board" in
aliyun,ap8220|\
edgecore,eap102|\
yuncore,ax880|\
zte,mf269|\
zte,mf269-stock)
ucidef_set_interfaces_lan_wan "lan" "wan"
;;
asus,rt-ax89x)
ucidef_set_interfaces_lan_wan "10g-sfp 10g-copper lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8" "wan"
;;
@ -39,12 +46,6 @@ ipq807x_setup_interfaces()
xiaomi,ax3600-stock)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
;;
edgecore,eap102|\
yuncore,ax880|\
zte,mf269|\
zte,mf269-stock)
ucidef_set_interfaces_lan_wan "lan" "wan"
;;
edimax,cax1800)
ucidef_set_interface_lan "lan"
;;
@ -86,21 +87,26 @@ ipq807x_setup_macs()
local label_mac=""
case "$board" in
linksys,mx4200v2|\
linksys,mx4300)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
[ "$(mtd_get_mac_ascii u_env eth1addr)" != "$label_mac" ] && wan_mac=$label_mac
[ "$(mtd_get_mac_ascii u_env eth2addr)" != "$label_mac" ] && lan_mac=$label_mac
aliyun,ap8220)
wan_mac=$(mtd_get_mac_text product_info 0x4b)
lan_mac=$(macaddr_add "$wan_mac" 1)
label_mac="$wan_mac"
;;
linksys,mx8500)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
lan_mac=$(macaddr_add $label_mac 1)
wan_mac=$label_mac
linksys,mx4200v2|\
linksys,mx4300)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
[ "$(mtd_get_mac_ascii u_env eth1addr)" != "$label_mac" ] && wan_mac=$label_mac
[ "$(mtd_get_mac_ascii u_env eth2addr)" != "$label_mac" ] && lan_mac=$label_mac
;;
tplink,eap620hd-v1|\
tplink,eap660hd-v1)
label_mac=$(get_mac_binary /tmp/factory_data/default-mac 0)
lan_mac=$label_mac
linksys,mx8500)
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
lan_mac=$(macaddr_add $label_mac 1)
wan_mac=$label_mac
;;
tplink,eap620hd-v1|\
tplink,eap660hd-v1)
label_mac=$(get_mac_binary /tmp/factory_data/default-mac 0)
lan_mac=$label_mac
;;
zte,mf269)
wan_mac="$(mtd_get_mac_binary mac 0x0)"

View File

@ -9,6 +9,13 @@ board=$(board_name)
case "$FIRMWARE" in
"ath11k/IPQ8074/hw2.0/cal-ahb-c000000.wifi.bin")
case "$board" in
aliyun,ap8220)
caldata_extract "0:art" 0x1000 0x20000
addr=$(mtd_get_mac_text product_info 0x4b)
ath11k_patch_mac $addr 0
ath11k_patch_mac $(macaddr_add $addr 8) 1
ath11k_set_macflag
;;
asus,rt-ax89x)
CI_UBIPART="UBI_DEV"
caldata_extract_ubi "Factory" 0x1000 0x20000

View File

@ -166,6 +166,15 @@ platform_pre_upgrade() {
platform_do_upgrade() {
case "$(board_name)" in
aliyun,ap8220)
active="$(fw_printenv -n active)"
if [ "$active" -eq "1" ]; then
CI_UBIPART="rootfs1"
else
CI_UBIPART="rootfs2"
fi
nand_do_upgrade "$1"
;;
arcadyan,aw1000|\
cmcc,rm2-6|\
compex,wpq873|\

View File

@ -45,14 +45,14 @@
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
wifi2 {
fn {
function = LED_FUNCTION_WLAN_2GHZ;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi5 {
wifi {
function = LED_FUNCTION_WLAN_5GHZ;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
@ -95,7 +95,7 @@
partition@0 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x0 0x1CC0000>;
reg = <0x0 0x1cc0000>;
};
};
};
@ -203,7 +203,7 @@
reg = <0x1050000 0xe60000>;
};
partition@1EB0000 {
partition@1eb0000 {
label = "Config_2";
reg = <0x1eb0000 0x40000>;
read-only;

View File

@ -45,14 +45,14 @@
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
wifi2 {
fn {
function = LED_FUNCTION_WLAN_2GHZ;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi5 {
wifi {
function = LED_FUNCTION_WLAN_5GHZ;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;

View File

@ -916,7 +916,7 @@ define Device/dlink_dir-2150-r1
KERNEL := $$(KERNEL)
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
check-size | sign-dlink-ru e6587b35a6b34e07bedeca23e140322f
check-size | sign-dlink-ru e6587b35a6b34e07bedeca23e140322f
endef
TARGET_DEVICES += dlink_dir-2150-r1
@ -1816,7 +1816,7 @@ define Device/keenetic_kn-1910
$(Device/uimage-lzma-loader)
BLOCKSIZE := 128k
PAGESIZE := 2048
IMAGE_SIZE := 20368588
IMAGE_SIZE := 29097984
DEVICE_VENDOR := Keenetic
DEVICE_MODEL := KN-1910
DEVICE_PACKAGES := kmod-mt7615-firmware kmod-usb3 automount
@ -2776,6 +2776,9 @@ define Device/tplink_er605-v2
DEVICE_VENDOR := TP-Link
DEVICE_MODEL := ER605
DEVICE_VARIANT := v2
DEVICE_ALT0_VENDOR := TP-Link
DEVICE_ALT0_MODEL := FR205
DEVICE_ALT0_VARIANT := v1
DEVICE_PACKAGES := -wpad-basic-openssl kmod-usb3 -uboot-envtools
KERNEL_IN_UBI := 1
KERNEL_LOADADDR := 0x82000000

View File

@ -357,7 +357,7 @@ endef
TARGET_DEVICES += jotale_js76x8-32m
define Device/keenetic_kn-1613
IMAGE_SIZE := 31488k
IMAGE_SIZE := 15073280
DEVICE_VENDOR := Keenetic
DEVICE_MODEL := KN-1613
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap
@ -369,7 +369,7 @@ TARGET_DEVICES += keenetic_kn-1613
define Device/keenetic_kn-1711
BLOCKSIZE := 64k
IMAGE_SIZE := 10551296
IMAGE_SIZE := 15073280
DEVICE_VENDOR := Keenetic
DEVICE_MODEL := KN-1711
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap kmod-usb2
@ -381,7 +381,7 @@ TARGET_DEVICES += keenetic_kn-1711
define Device/keenetic_kn-1713
BLOCKSIZE := 64k
IMAGE_SIZE := 10551296
IMAGE_SIZE := 15073280
DEVICE_VENDOR := Keenetic
DEVICE_MODEL := KN-1713
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap kmod-usb2

View File

@ -131,6 +131,11 @@ case "$board" in
[ "$PHYNBR" = "0" ] && echo $addr > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && macaddr_add $addr 0x800000 > /sys${DEVPATH}/macaddress
;;
keenetic,kn-1910)
lan_mac_addr="$(mtd_get_mac_binary RF-EEPROM 0x4)"
[ "$PHYNBR" = "1" ] && \
macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
;;
keenetic,kn-3510)
[ "$PHYNBR" = "1" ] && \
macaddr_setbit_la "$(mtd_get_mac_binary rf-eeprom 0x4)" > /sys${DEVPATH}/macaddress