Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2025-03-20 13:10:36 +08:00
commit f41698d515
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
18 changed files with 312 additions and 24 deletions

View File

@ -9,9 +9,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=at91bootstrap
PKG_VERSION:=v4.0.3
PKG_MIRROR_HASH:=9c1d42337294b549e6c229ae4c9996efd21e00ae5f968bd780d352e054e24cb7
PKG_SOURCE_VERSION:=1d9e673698d9db4a4f2301559f481274de2e75ae
PKG_VERSION:=v4.0.10
PKG_SOURCE_VERSION:=c123c68d1f5b13a55a8e164b03be866491ce3049
PKG_MIRROR_HASH:=0c2d6a8a81a179c29227ad2f880b403f86095d3671f176ff1d2a21ba4e09c858
BINARIES_DIR:=build/binaries
PKG_CPE_ID:=cpe:/a:linux4sam:at91bootstrap

View File

@ -8,7 +8,7 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
PKG_SOURCE_DATE:=2025-02-17
PKG_SOURCE_VERSION:=dd3577ec9f2d9d3ef5e35602d3fe731cb259ff39
PKG_MIRROR_HASH:=72e749060f53cc1dbe34c56dccded7fc13224701e241c57cff3452cb050f9ce9
PKG_MIRROR_HASH:=0da921982b33a831dd19e570974a22ad2b1f3324397b1203a8a38d7d044b073a
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk

View File

@ -9,6 +9,15 @@ define Package/ibt-firmware/install
endef
$(eval $(call BuildPackage,ibt-firmware))
Package/ice-firmware = $(call Package/firmware-default,Intel ICE firmware)
define Package/ice-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/intel/ice/ddp
$(CP) \
$(PKG_BUILD_DIR)/intel/ice/ddp/*.pkg \
$(1)/lib/firmware/intel/ice/ddp/ice.pkg
endef
$(eval $(call BuildPackage,ice-firmware))
Package/iwl3945-firmware = $(call Package/firmware-default,Intel IWL3945 firmware)
define Package/iwl3945-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware

View File

@ -1200,6 +1200,24 @@ endef
$(eval $(call KernelPackage,i40e))
define KernelPackage/ice
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel(R) Ethernet Controller E810 Series support
DEPENDS:=@PCI_SUPPORT +kmod-ptp
KCONFIG:=CONFIG_ICE \
CONFIG_ICE_HWTS=n \
CONFIG_ICE_SWITCHDEV=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ice/ice.ko
AUTOLOAD:=$(call AutoProbe,ice)
endef
define KernelPackage/ice/description
Kernel modules for Intel(R) Ethernet Controller E810 Series
endef
$(eval $(call KernelPackage,ice))
define KernelPackage/iavf
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel(R) Ethernet Adaptive Virtual Function support

View File

@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/libnl-tiny.git
PKG_SOURCE_DATE:=2023-12-05
PKG_SOURCE_VERSION:=965c4bf49658342ced0bd6e7cb069571b4a1ddff
PKG_MIRROR_HASH:=4b56499e71f5f10b123e1c7ee13dbfcd970de560bff8d16ab39dc25c9ff743cb
PKG_SOURCE_DATE:=2025-03-19
PKG_SOURCE_VERSION:=c0df580adbd4d555ecc1962dbe88e91d75b67a4e
PKG_MIRROR_HASH:=1064a27824d99a93cbf8dbc808caf2cb277f1825b378ec6076d2ecfb8866a81f
CMAKE_INSTALL:=1
PKG_LICENSE:=LGPL-2.1

View File

@ -169,7 +169,7 @@
status = "okay";
wifi@0,0 {
compatible = "pci168c,002a";
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&calibration_art_1000>;
nvmem-cell-names = "calibration";

View File

@ -121,7 +121,7 @@
interrupts = <3>;
resets = <&rst 5>;
phy-names = "usb";
phy-names = "usb-phy";
phys = <&usb_phy>;
status = "disabled";

View File

@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9344_tplink_tl-wdrxxxx.dtsi"
#include <dt-bindings/leds/common.h>
/ {
aliases {
@ -97,9 +98,9 @@
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
switch@1f {
compatible = "qca,ar8327";
reg = <0x1f>;
qca,ar8327-initvals = <
0x04 0x07600000 /* PORT0 PAD MODE CTRL */
@ -110,6 +111,47 @@
0x5c 0x0030c300 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
>;
leds {
led@0 {
reg = <0>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
qca,led-mode = <0>;
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
qca,led-mode = <0>;
};
led@6 {
reg = <6>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <2>;
qca,led-mode = <0>;
};
led@9 {
reg = <9>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <3>;
qca,led-mode = <0>;
};
led@12 {
reg = <12>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <4>;
qca,led-mode = <0>;
};
};
};
};
@ -123,5 +165,9 @@
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@ -4,6 +4,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
aliases {
@ -115,8 +116,9 @@
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
switch@1f {
compatible = "qca,ar8327";
reg = <0x1f>;
qca,ar8327-initvals = <
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
@ -128,15 +130,60 @@
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
leds {
led@0 {
reg = <0>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
qca,led-mode = <0>;
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
qca,led-mode = <0>;
};
led@6 {
reg = <6>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <2>;
qca,led-mode = <0>;
};
led@9 {
reg = <9>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <3>;
qca,led-mode = <0>;
};
led@12 {
reg = <12>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <4>;
qca,led-mode = <0>;
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
pll-data = <0x56000000 0x00000101 0x00001616>;
fixed-link {
speed = <1000>;
full-duplex;
};
gmac-config {
device = <&gmac>;
rgmii-enabled = <1>;

View File

@ -143,8 +143,10 @@
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
switch@1f {
compatible = "qca,ar8327";
reg = <0x1f>;
qca,ar8327-initvals = <
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
@ -156,6 +158,47 @@
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
leds {
led@0 {
reg = <0>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <4>;
qca,led-mode = <0>;
};
led@3 {
reg = <3>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <3>;
qca,led-mode = <0>;
};
led@6 {
reg = <6>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <2>;
qca,led-mode = <0>;
};
led@9 {
reg = <9>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LAN;
function-enumerator = <1>;
qca,led-mode = <0>;
};
led@12 {
reg = <12>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WAN;
qca,led-mode = <0>;
};
};
};
};
@ -166,7 +209,11 @@
nvmem-cells = <&macaddr_uboot_1fc00 1>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&eth1 {

View File

@ -326,8 +326,7 @@ ar8327_led_set_brightness(struct led_classdev *led_cdev,
u8 pattern;
bool active;
active = (brightness != LED_OFF);
active ^= aled->active_low;
active = (brightness != LED_OFF) != aled->active_low;
pattern = (active) ? AR8327_LED_PATTERN_ON :
AR8327_LED_PATTERN_OFF;
@ -393,8 +392,11 @@ static int
ar8327_led_register(struct ar8327_led *aled)
{
int ret;
struct led_init_data init_data = {
.fwnode = aled->fwnode
};
ret = led_classdev_register(NULL, &aled->cdev);
ret = led_classdev_register_ext(NULL, &aled->cdev, &init_data);
if (ret < 0)
return ret;
@ -448,6 +450,7 @@ ar8327_led_create(struct ar8xxx_priv *priv,
aled->led_num = led_info->led_num;
aled->active_low = led_info->active_low;
aled->mode = led_info->mode;
aled->fwnode = led_info->fwnode;
if (aled->mode == AR8327_LED_MODE_HW)
aled->enable_hw_mode = true;
@ -501,7 +504,8 @@ ar8327_leds_init(struct ar8xxx_priv *priv)
if (aled->enable_hw_mode)
aled->pattern = AR8327_LED_PATTERN_RULE;
else
aled->pattern = AR8327_LED_PATTERN_OFF;
aled->pattern = aled->active_low ?
AR8327_LED_PATTERN_ON : AR8327_LED_PATTERN_OFF;
ar8327_set_led_pattern(priv, aled->led_num, aled->pattern);
}
@ -616,6 +620,7 @@ ar8327_hw_config_of(struct ar8xxx_priv *priv, struct device_node *np)
const __be32 *paddr;
int len;
int i;
struct device_node *leds, *child;
paddr = of_get_property(np, "qca,ar8327-initvals", &len);
if (!paddr || len < (2 * sizeof(*paddr)))
@ -643,6 +648,39 @@ ar8327_hw_config_of(struct ar8xxx_priv *priv, struct device_node *np)
}
}
leds = of_get_child_by_name(np, "leds");
if (!leds)
return 0;
data->leds = kvcalloc(of_get_child_count(leds), sizeof(void *),
GFP_KERNEL);
if (!data->leds)
return -ENOMEM;
for_each_available_child_of_node(leds, child) {
u32 reg = 0, mode = 0;
struct ar8327_led_info info;
int ret;
ret = of_property_read_u32(child, "reg", &reg);
if (ret) {
pr_err("ar8327: LED %s is missing reg node\n", child->name);
continue;
}
of_property_read_u32(child, "qca,led-mode", &mode);
info = (struct ar8327_led_info) {
.name = of_get_property(child, "label", NULL) ? : child->name,
.fwnode = of_fwnode_handle(child),
.active_low = of_property_read_bool(child, "active-low"),
.led_num = (enum ar8327_led_num) reg,
.mode = (enum ar8327_led_mode) mode
};
ar8327_led_create(priv, &info);
}
of_node_put(leds);
return 0;
}
#else

View File

@ -317,6 +317,7 @@ struct ar8327_led {
struct work_struct led_work;
bool enable_hw_mode;
enum ar8327_led_pattern pattern;
struct fwnode_handle *fwnode;
};
struct ar8327_data {

View File

@ -106,6 +106,7 @@ struct ar8327_led_info {
bool active_low;
enum ar8327_led_num led_num;
enum ar8327_led_mode mode;
struct fwnode_handle *fwnode;
};
#define AR8327_LED_INFO(_led, _mode, _name) { \

View File

@ -145,7 +145,7 @@
&state_default {
gpio {
groups = "wled", "rgmii1", "rgmii2";
groups = "uartf", "wled", "rgmii1", "rgmii2";
function = "gpio";
};
};

View File

@ -31,6 +31,71 @@
function = LED_FUNCTION_POWER;
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
};
wlan2g {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_WLAN_2GHZ;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_WLAN_5GHZ;
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy1tpt";
};
wan_white {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_WAN;
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
wan_red {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_WAN;
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
};
modem_red {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_MOBILE;
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
modem_yellow {
color = <LED_COLOR_ID_YELLOW>;
function = LED_FUNCTION_MOBILE;
gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
};
modem_blue {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_MOBILE;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
modem_white {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_MOBILE;
gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
};
rssi_1 {
label = "white:rssi-1";
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
};
rssi_2 {
label = "white:rssi-2";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
rssi_3 {
label = "white:rssi-3";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
};
};
keys {
@ -48,6 +113,22 @@
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-export {
compatible = "gpio-export";
modem_reboot {
gpio-export,name = "reboot:modem";
gpio-export,output = <1>;
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
};
modem_reset {
gpio-export,name = "reset:modem";
gpio-export,output = <1>;
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
};
};
&nand {