Merge branch 'openwrt:master' into master
This commit is contained in:
commit
35fb53df04
42 changed files with 921 additions and 177 deletions
|
@ -1,2 +1,2 @@
|
|||
LINUX_VERSION-6.1 = .60
|
||||
LINUX_KERNEL_HASH-6.1.60 = 58520e7ae5a6af254ddf7ddbfc42e4373b0d36c67d467f6e35a3bd1672f5fb0a
|
||||
LINUX_VERSION-6.1 = .61
|
||||
LINUX_KERNEL_HASH-6.1.61 = ad2c9d12fc36e2dde4796a3eec8f4ddca2e278098f4e555b6e6f5f03ef6964ce
|
||||
|
|
|
@ -238,4 +238,4 @@ prereq: $(STAGING_DIR_HOST)/bin/mkhash $(STAGING_DIR_HOST)/bin/xxd
|
|||
|
||||
# Install ldconfig stub
|
||||
$(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \
|
||||
$(LN) $(firstword $(wildcard /bin/true /usr/bin/true)) $(STAGING_DIR_HOST)/bin/ldconfig))
|
||||
$(LN) $(SCRIPT_DIR)/noop.sh $(STAGING_DIR_HOST)/bin/ldconfig))
|
||||
|
|
|
@ -20,6 +20,7 @@ alfa-network,tube-e4g|\
|
|||
engenius,epg600|\
|
||||
engenius,esr600h|\
|
||||
linksys,re7000|\
|
||||
meig,slt866|\
|
||||
sitecom,wlr-4100-v1-002|\
|
||||
zyxel,keenetic-lite-iii-a)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000"
|
||||
|
|
|
@ -8,14 +8,14 @@ PKG_LICENSE_FILES:=
|
|||
|
||||
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2023-05-26
|
||||
PKG_SOURCE_VERSION:=af342b6171a457e067932615deb203b68b1d076a
|
||||
PKG_MIRROR_HASH:=90e145fbe6057da65b637e3a194317c1e4f529b078c7e4a245a286c37e3d1b76
|
||||
PKG_SOURCE_DATE:=2023-06-05
|
||||
PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c
|
||||
PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95
|
||||
|
||||
# Build the 6.2 ath10k-ct driver version.
|
||||
# Build the 6.4 ath10k-ct driver version.
|
||||
# Probably this should match as closely as
|
||||
# possible to whatever mac80211 backports version is being used.
|
||||
CT_KVER="-6.2"
|
||||
CT_KVER="-6.4"
|
||||
|
||||
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
From a227621b46df8a7a5c276131b245f40eac7513fb Mon Sep 17 00:00:00 2001
|
||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Date: Fri, 3 Nov 2023 04:03:08 +0100
|
||||
Subject: [PATCH] ath10k-ct: port compilation warning for debug level to kernel
|
||||
6.4
|
||||
|
||||
Port compilation warning for debug level previously fixed in other
|
||||
kernel to kernel version 6.4.
|
||||
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
---
|
||||
ath10k-6.4/debug.c | 85 ++++++++++++++++++++++++++--------------------
|
||||
1 file changed, 48 insertions(+), 37 deletions(-)
|
||||
|
||||
--- a/ath10k-6.4/debug.c
|
||||
+++ b/ath10k-6.4/debug.c
|
||||
@@ -1345,47 +1345,58 @@ static const struct file_operations fops
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
|
||||
+static const char debug_level_buf[] =
|
||||
+ "To change debug level, set value adding up desired flags:\n"
|
||||
+ "PCI: 0x1\n"
|
||||
+ "WMI: 0x2\n"
|
||||
+ "HTC: 0x4\n"
|
||||
+ "HTT: 0x8\n"
|
||||
+ "MAC: 0x10\n"
|
||||
+ "BOOT: 0x20\n"
|
||||
+ "PCI-DUMP: 0x40\n"
|
||||
+ "HTT-DUMP: 0x80\n"
|
||||
+ "MGMT: 0x100\n"
|
||||
+ "DATA: 0x200\n"
|
||||
+ "BMI: 0x400\n"
|
||||
+ "REGULATORY: 0x800\n"
|
||||
+ "TESTMODE: 0x1000\n"
|
||||
+ "WMI-PRINT: 0x2000\n"
|
||||
+ "PCI-PS: 0x4000\n"
|
||||
+ "AHB: 0x8000\n"
|
||||
+ "SDIO: 0x10000\n"
|
||||
+ "SDIO_DUMP: 0x20000\n"
|
||||
+ "USB: 0x40000\n"
|
||||
+ "USB_BULK: 0x80000\n"
|
||||
+ "SNOC: 0x100000\n"
|
||||
+ "QMI: 0x200000\n"
|
||||
+ "BEACONS: 0x8000000\n"
|
||||
+ "NO-FW-DBGLOG:0x10000000\n"
|
||||
+ "MAC2: 0x20000000\n"
|
||||
+ "INFO-AS-DBG: 0x40000000\n"
|
||||
+ "FW: 0x80000000\n"
|
||||
+ "ALL: 0xEFFFFFFF\n";
|
||||
+
|
||||
+#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60
|
||||
+
|
||||
static ssize_t ath10k_read_debug_level(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
- int sz;
|
||||
- const char buf[] =
|
||||
- "To change debug level, set value adding up desired flags:\n"
|
||||
- "PCI: 0x1\n"
|
||||
- "WMI: 0x2\n"
|
||||
- "HTC: 0x4\n"
|
||||
- "HTT: 0x8\n"
|
||||
- "MAC: 0x10\n"
|
||||
- "BOOT: 0x20\n"
|
||||
- "PCI-DUMP: 0x40\n"
|
||||
- "HTT-DUMP: 0x80\n"
|
||||
- "MGMT: 0x100\n"
|
||||
- "DATA: 0x200\n"
|
||||
- "BMI: 0x400\n"
|
||||
- "REGULATORY: 0x800\n"
|
||||
- "TESTMODE: 0x1000\n"
|
||||
- "WMI-PRINT: 0x2000\n"
|
||||
- "PCI-PS: 0x4000\n"
|
||||
- "AHB: 0x8000\n"
|
||||
- "SDIO: 0x10000\n"
|
||||
- "SDIO_DUMP: 0x20000\n"
|
||||
- "USB: 0x40000\n"
|
||||
- "USB_BULK: 0x80000\n"
|
||||
- "SNOC: 0x100000\n"
|
||||
- "QMI: 0x200000\n"
|
||||
- "BEACONS: 0x8000000\n"
|
||||
- "NO-FW-DBGLOG:0x10000000\n"
|
||||
- "MAC2: 0x20000000\n"
|
||||
- "INFO-AS-DBG: 0x40000000\n"
|
||||
- "FW: 0x80000000\n"
|
||||
- "ALL: 0xEFFFFFFF\n";
|
||||
- char wbuf[sizeof(buf) + 60];
|
||||
- sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
|
||||
- ath10k_debug_mask, buf);
|
||||
- wbuf[sizeof(wbuf) - 1] = 0;
|
||||
+ int sz, ret;
|
||||
+ char *wbuf;
|
||||
+
|
||||
+ wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL);
|
||||
+ if (!wbuf)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE,
|
||||
+ "Current debug level: 0x%x\n\n%s",
|
||||
+ ath10k_debug_mask, debug_level_buf);
|
||||
+
|
||||
+ ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
|
||||
+ kfree(wbuf);
|
||||
|
||||
- return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
/* Set logging level.
|
|
@ -9,9 +9,9 @@ PKG_RELEASE:=1
|
|||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git
|
||||
PKG_SOURCE_DATE:=2023-09-01
|
||||
PKG_SOURCE_VERSION:=598d9fbb5179667aa0c525040eaa41bc7f2dc015
|
||||
PKG_MIRROR_HASH:=038b5b5611425e3c0fcc3ef4a0aea37296733300766d787909a689d16d4f39b4
|
||||
PKG_SOURCE_DATE:=2023-11-03
|
||||
PKG_SOURCE_VERSION:=698a53354fd280aae097efe08803c0c9a10c14c2
|
||||
PKG_MIRROR_HASH:=e38484bffe11a04a67069128aa3b8a8c707ad58c79c0de2785a5d995421457aa
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
|
|
2
scripts/noop.sh
Executable file
2
scripts/noop.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
# This script does nothing, intentionally.
|
183
target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts
Normal file
183
target/linux/ath79/dts/ar7161_fortinet_fap-220-b.dts
Normal file
|
@ -0,0 +1,183 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "ar7100.dtsi"
|
||||
#include "arxxxx_fortinet_loader.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
compatible = "fortinet,fap-220-b", "qca,ar7161";
|
||||
model = "Fortinet FAP-220-B";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,9600";
|
||||
};
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
label-mac-device = ð1;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power-green {
|
||||
label = "green:power";
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
status-green {
|
||||
label = "green:status";
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
status-yellow {
|
||||
label = "yellow:status";
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||
panic-indicator;
|
||||
};
|
||||
|
||||
mode-green {
|
||||
label = "green:mode";
|
||||
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
mode-yellow {
|
||||
label = "yellow:mode";
|
||||
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wlan2g-green {
|
||||
label = "green:wlan2g";
|
||||
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
wlan2g-yellow {
|
||||
label = "yellow:wlan2g";
|
||||
gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0assoc";
|
||||
};
|
||||
|
||||
wlan5g-green {
|
||||
label = "green:wlan5g";
|
||||
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
wlan5g-yellow {
|
||||
label = "yellow:wlan5g";
|
||||
gpios = <&ath9k1 3 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1assoc";
|
||||
};
|
||||
};
|
||||
|
||||
virtual_flash {
|
||||
devices = <&fwconcat0 &fwconcat1 &fwconcat2>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
ath9k0: wifi@0,11 { /* 2.4 GHz */
|
||||
compatible = "pci168c,0029";
|
||||
reg = <0x8800 0 0 0 0>;
|
||||
ieee80211-freq-limit = <2402000 2482000>;
|
||||
nvmem-cells = <&macaddr_art_120c>, <&cal_art_1000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
mac-address-increment = <1>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
};
|
||||
|
||||
ath9k1: wifi@0,12 { /* 5 GHz */
|
||||
compatible = "pci168c,0029";
|
||||
reg = <0x9000 0 0 0 0>;
|
||||
ieee80211-freq-limit = <2402000 2482000 4900000 5990000>;
|
||||
nvmem-cells = <&macaddr_art_520c>, <&cal_art_5000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
mac-address-increment = <9>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
compatible = "syscon", "simple-mfd";
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
nvmem-cells = <&macaddr_art_120c>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
pll-data = <0x00110000 0x00001099 0x00991099>;
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uboot {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* Currently doesn't work, because this one lacks colons as delimiters */
|
||||
macaddr_uboot_3ff80: mac-address-ascii@3ff80 {
|
||||
reg = <0x3ff80 0xc>;
|
||||
};
|
||||
};
|
||||
|
||||
&art {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cal_art_1000: calibration@1000 {
|
||||
reg = <0x1000 0xeb8>;
|
||||
};
|
||||
|
||||
macaddr_art_120c: mac-address@120c {
|
||||
reg = <0x120c 0x6>;
|
||||
};
|
||||
|
||||
cal_art_5000: calibration@5000 {
|
||||
reg = <0x5000 0xeb8>;
|
||||
};
|
||||
|
||||
macaddr_art_520c: mac-address@520c {
|
||||
reg = <0x520c 0x6>;
|
||||
};
|
||||
};
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "ar9344.dtsi"
|
||||
#include "ar934x_fortinet_loader.dtsi"
|
||||
#include "arxxxx_fortinet_loader.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
uboot: partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x000000 0x040000>;
|
||||
read-only;
|
|
@ -47,6 +47,7 @@ ath79_setup_interfaces()
|
|||
engenius,ecb600|\
|
||||
enterasys,ws-ap3705i|\
|
||||
extreme-networks,ws-ap3805i|\
|
||||
fortinet,fap-220-b|\
|
||||
fortinet,fap-221-b|\
|
||||
glinet,gl-ar300m-lite|\
|
||||
glinet,gl-usb150|\
|
||||
|
|
|
@ -55,6 +55,7 @@ platform_do_upgrade() {
|
|||
ROOTFS_FILE="root.squashfs"
|
||||
platform_do_upgrade_failsafe_datachk "$1"
|
||||
;;
|
||||
fortinet,fap-220-b|\
|
||||
fortinet,fap-221-b)
|
||||
SKIP_HASH="1"
|
||||
ENV_SCRIPT="/dev/null"
|
||||
|
|
|
@ -1532,12 +1532,9 @@ define Device/extreme-networks_ws-ap3805i
|
|||
endef
|
||||
TARGET_DEVICES += extreme-networks_ws-ap3805i
|
||||
|
||||
define Device/fortinet_fap-221-b
|
||||
define Device/fortinet_fap_common
|
||||
$(Device/senao_loader_okli)
|
||||
SOC := ar9344
|
||||
DEVICE_VENDOR := Fortinet
|
||||
DEVICE_MODEL := FAP-221-B
|
||||
FACTORY_IMG_NAME := FP221B-9.99-AP-build999-999999-patch99
|
||||
IMAGE_SIZE := 9216k
|
||||
LOADER_FLASH_OFFS := 0x040000
|
||||
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
||||
|
@ -1546,6 +1543,23 @@ define Device/fortinet_fap-221-b
|
|||
append-loader-okli-uimage $(1) | pad-to 10944k | \
|
||||
gzip-filename $$$$(FACTORY_IMG_NAME)
|
||||
endef
|
||||
|
||||
define Device/fortinet_fap-220-b
|
||||
$(Device/fortinet_fap_common)
|
||||
SOC := ar7161
|
||||
DEVICE_MODEL := FAP-220-B
|
||||
FACTORY_IMG_NAME := FAP22B-9.99-AP-build999-999999-patch99
|
||||
DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \
|
||||
kmod-owl-loader
|
||||
endef
|
||||
TARGET_DEVICES += fortinet_fap-220-b
|
||||
|
||||
define Device/fortinet_fap-221-b
|
||||
$(Device/fortinet_fap_common)
|
||||
SOC := ar9344
|
||||
DEVICE_MODEL := FAP-221-B
|
||||
FACTORY_IMG_NAME := FP221B-9.99-AP-build999-999999-patch99
|
||||
endef
|
||||
TARGET_DEVICES += fortinet_fap-221-b
|
||||
|
||||
define Device/glinet_6408
|
||||
|
|
|
@ -750,7 +750,7 @@ SVN-Revision: 35130
|
|||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -4178,14 +4178,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -4179,14 +4179,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
|||
static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data)
|
||||
{
|
||||
@@ -1868,7 +1872,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1870,7 +1874,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(skb);
|
||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
|||
|
||||
return 1;
|
||||
}
|
||||
@@ -1886,7 +1891,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1888,7 +1893,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(ax_skb);
|
||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||
|
|
|
@ -22,7 +22,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288
|
|||
static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data)
|
||||
{
|
||||
@@ -934,13 +938,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
@@ -936,13 +940,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
|
||||
if (!turbo_mode) {
|
||||
burst_cap = 0;
|
||||
|
|
|
@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data)
|
||||
{
|
||||
@@ -807,6 +811,52 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
@@ -809,6 +813,52 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
return phy_mii_ioctl(netdev->phydev, rq, cmd);
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||
{
|
||||
u8 addr[ETH_ALEN];
|
||||
@@ -830,6 +880,10 @@ static void smsc95xx_init_mac_address(st
|
||||
@@ -832,6 +882,10 @@ static void smsc95xx_init_mac_address(st
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -266,7 +266,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
static inline int mmc_blk_part_switch(struct mmc_card *card,
|
||||
unsigned int part_type);
|
||||
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
|
||||
@@ -2970,6 +2977,8 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2994,6 +3001,8 @@ static int mmc_blk_probe(struct mmc_card
|
||||
{
|
||||
struct mmc_blk_data *md;
|
||||
int ret = 0;
|
||||
|
@ -275,7 +275,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
/*
|
||||
* Check that the card supports the command class(es) we need.
|
||||
@@ -2977,7 +2986,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -3001,7 +3010,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -293,7 +293,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
card->complete_wq = alloc_workqueue("mmc_complete",
|
||||
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
|
||||
@@ -2992,6 +3010,17 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -3016,6 +3034,17 @@ static int mmc_blk_probe(struct mmc_card
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
--- a/drivers/mmc/core/block.c
|
||||
+++ b/drivers/mmc/core/block.c
|
||||
@@ -1902,7 +1902,7 @@ static void mmc_blk_mq_rw_recovery(struc
|
||||
@@ -1926,7 +1926,7 @@ static void mmc_blk_mq_rw_recovery(struc
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
From 414a98abbefd82d591f4e2d1efd2917bcd3b6f6d Mon Sep 17 00:00:00 2001
|
||||
From: Peng Fan <peng.fan@nxp.com>
|
||||
Date: Fri, 13 Oct 2023 13:49:02 +0100
|
||||
Subject: [PATCH] nvmem: imx: correct nregs for i.MX6SLL
|
||||
|
||||
The nregs for i.MX6SLL should be 80 per fuse map, correct it.
|
||||
|
||||
Fixes: 6da27821a6f5 ("nvmem: imx-ocotp: add support for imx6sll")
|
||||
Cc: Stable@vger.kernel.org
|
||||
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
||||
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20231013124904.175782-2-srinivas.kandagatla@linaro.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/nvmem/imx-ocotp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/nvmem/imx-ocotp.c
|
||||
+++ b/drivers/nvmem/imx-ocotp.c
|
||||
@@ -499,7 +499,7 @@ static const struct ocotp_params imx6sl_
|
||||
};
|
||||
|
||||
static const struct ocotp_params imx6sll_params = {
|
||||
- .nregs = 128,
|
||||
+ .nregs = 80,
|
||||
.bank_address_words = 0,
|
||||
.set_timing = imx_ocotp_set_imx6_timing,
|
||||
.ctrl = IMX_OCOTP_BM_CTRL_DEFAULT,
|
|
@ -1,28 +0,0 @@
|
|||
From 7d6e10f5d254681983b53d979422c8de3fadbefb Mon Sep 17 00:00:00 2001
|
||||
From: Peng Fan <peng.fan@nxp.com>
|
||||
Date: Fri, 13 Oct 2023 13:49:03 +0100
|
||||
Subject: [PATCH] nvmem: imx: correct nregs for i.MX6UL
|
||||
|
||||
The nregs for i.MX6UL should be 144 per fuse map, correct it.
|
||||
|
||||
Fixes: 4aa2b4802046 ("nvmem: octop: Add support for imx6ul")
|
||||
Cc: Stable@vger.kernel.org
|
||||
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
||||
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20231013124904.175782-3-srinivas.kandagatla@linaro.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/nvmem/imx-ocotp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/nvmem/imx-ocotp.c
|
||||
+++ b/drivers/nvmem/imx-ocotp.c
|
||||
@@ -513,7 +513,7 @@ static const struct ocotp_params imx6sx_
|
||||
};
|
||||
|
||||
static const struct ocotp_params imx6ul_params = {
|
||||
- .nregs = 128,
|
||||
+ .nregs = 144,
|
||||
.bank_address_words = 0,
|
||||
.set_timing = imx_ocotp_set_imx6_timing,
|
||||
.ctrl = IMX_OCOTP_BM_CTRL_DEFAULT,
|
|
@ -1,28 +0,0 @@
|
|||
From 2382c1b044231fd49eaf9aa82bc7113fc55487b8 Mon Sep 17 00:00:00 2001
|
||||
From: Peng Fan <peng.fan@nxp.com>
|
||||
Date: Fri, 13 Oct 2023 13:49:04 +0100
|
||||
Subject: [PATCH] nvmem: imx: correct nregs for i.MX6ULL
|
||||
|
||||
The nregs for i.MX6ULL should be 80 per fuse map, correct it.
|
||||
|
||||
Fixes: ffbc34bf0e9c ("nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support")
|
||||
Cc: Stable@vger.kernel.org
|
||||
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
||||
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20231013124904.175782-4-srinivas.kandagatla@linaro.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/nvmem/imx-ocotp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/nvmem/imx-ocotp.c
|
||||
+++ b/drivers/nvmem/imx-ocotp.c
|
||||
@@ -520,7 +520,7 @@ static const struct ocotp_params imx6ul_
|
||||
};
|
||||
|
||||
static const struct ocotp_params imx6ull_params = {
|
||||
- .nregs = 64,
|
||||
+ .nregs = 80,
|
||||
.bank_address_words = 0,
|
||||
.set_timing = imx_ocotp_set_imx6_timing,
|
||||
.ctrl = IMX_OCOTP_BM_CTRL_DEFAULT,
|
|
@ -10,26 +10,52 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
|||
|
||||
--- a/drivers/net/usb/qmi_wwan.c
|
||||
+++ b/drivers/net/usb/qmi_wwan.c
|
||||
@@ -1086,6 +1086,7 @@ static const struct usb_device_id produc
|
||||
@@ -1080,12 +1080,18 @@ static const struct usb_device_id produc
|
||||
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
|
||||
.driver_info = (unsigned long)&qmi_wwan_info,
|
||||
},
|
||||
+ { /* Meiglink SGM828 */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, USB_CLASS_VENDOR_SPEC, 0x10, 0x05),
|
||||
+ .driver_info = (unsigned long)&qmi_wwan_info,
|
||||
+ },
|
||||
+
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */
|
||||
+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */
|
||||
+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */
|
||||
|
||||
/* 3. Combined interface devices matching on interface number */
|
||||
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -247,6 +247,8 @@ static void option_instat_callback(struc
|
||||
@@ -247,6 +247,11 @@ static void option_instat_callback(struc
|
||||
#define UBLOX_PRODUCT_R410M 0x90b2
|
||||
/* These Yuga products use Qualcomm's vendor ID */
|
||||
#define YUGA_PRODUCT_CLM920_NC5 0x9625
|
||||
+/* These MeigLink products use Qualcomm's vendor ID */
|
||||
+#define MEIGLINK_PRODUCT_SLM750 0xf601
|
||||
+
|
||||
+#define MEIGLINK_VENDOR_ID 0x2dee
|
||||
+#define MEIGLINK_PRODUCT_SLM828 0x4d49
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1185,6 +1187,11 @@ static const struct usb_device_id option
|
||||
@@ -1144,6 +1149,11 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
|
||||
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
|
||||
+ /* MeiG */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x01) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x02) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x03) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x04) },
|
||||
/* Quectel products using Qualcomm vendor ID */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
|
||||
@@ -1185,6 +1195,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
--- a/drivers/net/usb/rndis_host.c
|
||||
+++ b/drivers/net/usb/rndis_host.c
|
||||
@@ -630,6 +630,16 @@ static const struct driver_info zte_rndi
|
||||
.tx_fixup = rndis_tx_fixup,
|
||||
};
|
||||
|
||||
+static const struct driver_info asr_rndis_info = {
|
||||
+ .description = "Asr RNDIS device",
|
||||
+ .flags = FLAG_WWAN | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT | FLAG_NOARP,
|
||||
+ .bind = rndis_bind,
|
||||
+ .unbind = rndis_unbind,
|
||||
+ .status = rndis_status,
|
||||
+ .rx_fixup = rndis_rx_fixup,
|
||||
+ .tx_fixup = rndis_tx_fixup,
|
||||
+};
|
||||
+
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
static const struct usb_device_id products [] = {
|
||||
@@ -666,6 +676,36 @@ static const struct usb_device_id produc
|
||||
USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
||||
}, {
|
||||
+ /* Quectel EG060V rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Quectel EC200A rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6005,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Quectel EC200T rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6026,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Simcom A7906E rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x1e0e, 0x9011,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Meig SLM770A */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Meig SLM828 */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
/* Novatel Verizon USB730L */
|
||||
USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
|
@ -10,26 +10,52 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
|||
|
||||
--- a/drivers/net/usb/qmi_wwan.c
|
||||
+++ b/drivers/net/usb/qmi_wwan.c
|
||||
@@ -1088,6 +1088,7 @@ static const struct usb_device_id produc
|
||||
@@ -1082,12 +1082,18 @@ static const struct usb_device_id produc
|
||||
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
|
||||
.driver_info = (unsigned long)&qmi_wwan_info,
|
||||
},
|
||||
+ { /* Meiglink SGM828 */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, USB_CLASS_VENDOR_SPEC, 0x10, 0x05),
|
||||
+ .driver_info = (unsigned long)&qmi_wwan_info,
|
||||
+ },
|
||||
+
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
|
||||
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */
|
||||
+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */
|
||||
+ {QMI_MATCH_FF_FF_FF(0x05c6, 0xf601)}, /* MeigLink SLM750 */
|
||||
|
||||
/* 3. Combined interface devices matching on interface number */
|
||||
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -247,6 +247,8 @@ static void option_instat_callback(struc
|
||||
@@ -247,6 +247,11 @@ static void option_instat_callback(struc
|
||||
#define UBLOX_PRODUCT_R410M 0x90b2
|
||||
/* These Yuga products use Qualcomm's vendor ID */
|
||||
#define YUGA_PRODUCT_CLM920_NC5 0x9625
|
||||
+/* These MeigLink products use Qualcomm's vendor ID */
|
||||
+#define MEIGLINK_PRODUCT_SLM750 0xf601
|
||||
+
|
||||
+#define MEIGLINK_VENDOR_ID 0x2dee
|
||||
+#define MEIGLINK_PRODUCT_SLM828 0x4d49
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1185,6 +1187,11 @@ static const struct usb_device_id option
|
||||
@@ -1144,6 +1149,11 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
|
||||
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
|
||||
+ /* MeiG */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x01) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x02) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x03) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGLINK_VENDOR_ID, MEIGLINK_PRODUCT_SLM828, USB_CLASS_VENDOR_SPEC, 0x10, 0x04) },
|
||||
/* Quectel products using Qualcomm vendor ID */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
|
||||
@@ -1185,6 +1195,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
--- a/drivers/net/usb/rndis_host.c
|
||||
+++ b/drivers/net/usb/rndis_host.c
|
||||
@@ -630,6 +630,16 @@ static const struct driver_info zte_rndi
|
||||
.tx_fixup = rndis_tx_fixup,
|
||||
};
|
||||
|
||||
+static const struct driver_info asr_rndis_info = {
|
||||
+ .description = "Asr RNDIS device",
|
||||
+ .flags = FLAG_WWAN | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT | FLAG_NOARP,
|
||||
+ .bind = rndis_bind,
|
||||
+ .unbind = rndis_unbind,
|
||||
+ .status = rndis_status,
|
||||
+ .rx_fixup = rndis_rx_fixup,
|
||||
+ .tx_fixup = rndis_tx_fixup,
|
||||
+};
|
||||
+
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
static const struct usb_device_id products [] = {
|
||||
@@ -666,6 +676,36 @@ static const struct usb_device_id produc
|
||||
USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
||||
}, {
|
||||
+ /* Quectel EG060V rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Quectel EC200A rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6005,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Quectel EC200T rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6026,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Simcom A7906E rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x1e0e, 0x9011,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Meig SLM770A */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
+ /* Meig SLM828 */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
+}, {
|
||||
/* Novatel Verizon USB730L */
|
||||
USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
|
@ -20,10 +20,11 @@ string.
|
|||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -7,9 +7,11 @@
|
||||
@@ -7,9 +7,12 @@
|
||||
*/
|
||||
|
||||
#include <linux/device.h>
|
||||
+#include <linux/ctype.h>
|
||||
+#include <linux/etherdevice.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/fs.h>
|
||||
|
@ -32,7 +33,7 @@ string.
|
|||
#include <linux/init.h>
|
||||
#include <linux/kref.h>
|
||||
#include <linux/module.h>
|
||||
@@ -696,6 +698,37 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -696,6 +699,62 @@ static int nvmem_validate_keepouts(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -66,25 +67,55 @@ string.
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int nvmem_mac_base_hex_read(void *context, const char *id, int index, unsigned int offset,
|
||||
+ void *buf, size_t bytes)
|
||||
+{
|
||||
+ u8 mac[ETH_ALEN], *hexstr;
|
||||
+ int i;
|
||||
+
|
||||
+ if (WARN_ON(bytes != 2 * ETH_ALEN))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ hexstr = (u8 *)buf;
|
||||
+ for (i = 0; i < ETH_ALEN; i++) {
|
||||
+ if (!isxdigit(hexstr[i * 2]) || !isxdigit(hexstr[i * 2 + 1]))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ mac[i] = (hex_to_bin(hexstr[i * 2]) << 4) | hex_to_bin(hexstr[i * 2 + 1]);
|
||||
+ }
|
||||
+
|
||||
+ if (index)
|
||||
+ eth_addr_add(mac, index);
|
||||
+
|
||||
+ ether_addr_copy(buf, mac);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
|
||||
{
|
||||
struct nvmem_layout *layout = nvmem->layout;
|
||||
@@ -731,6 +764,20 @@ static int nvmem_add_cells_from_dt(struc
|
||||
@@ -731,6 +790,25 @@ static int nvmem_add_cells_from_dt(struc
|
||||
if (layout && layout->fixup_cell_info)
|
||||
layout->fixup_cell_info(nvmem, layout, &info);
|
||||
|
||||
+ if (of_device_is_compatible(np, "fixed-layout")) {
|
||||
+ if (of_device_is_compatible(child, "mac-base")) {
|
||||
+ if (info.bytes == 6) {
|
||||
+ if (info.bytes == ETH_ALEN) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_raw_read;
|
||||
+ } else if (info.bytes == 2 * ETH_ALEN) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_hex_read;
|
||||
+ } else if (info.bytes == 3 * ETH_ALEN - 1) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_ascii_read;
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
|
|
@ -20,10 +20,11 @@ string.
|
|||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -7,9 +7,11 @@
|
||||
@@ -7,9 +7,12 @@
|
||||
*/
|
||||
|
||||
#include <linux/device.h>
|
||||
+#include <linux/ctype.h>
|
||||
+#include <linux/etherdevice.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/fs.h>
|
||||
|
@ -32,7 +33,7 @@ string.
|
|||
#include <linux/init.h>
|
||||
#include <linux/kref.h>
|
||||
#include <linux/module.h>
|
||||
@@ -696,6 +698,37 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -696,6 +699,62 @@ static int nvmem_validate_keepouts(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -66,25 +67,55 @@ string.
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int nvmem_mac_base_hex_read(void *context, const char *id, int index, unsigned int offset,
|
||||
+ void *buf, size_t bytes)
|
||||
+{
|
||||
+ u8 mac[ETH_ALEN], *hexstr;
|
||||
+ int i;
|
||||
+
|
||||
+ if (WARN_ON(bytes != 2 * ETH_ALEN))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ hexstr = (u8 *)buf;
|
||||
+ for (i = 0; i < ETH_ALEN; i++) {
|
||||
+ if (!isxdigit(hexstr[i * 2]) || !isxdigit(hexstr[i * 2 + 1]))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ mac[i] = (hex_to_bin(hexstr[i * 2]) << 4) | hex_to_bin(hexstr[i * 2 + 1]);
|
||||
+ }
|
||||
+
|
||||
+ if (index)
|
||||
+ eth_addr_add(mac, index);
|
||||
+
|
||||
+ ether_addr_copy(buf, mac);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
|
||||
{
|
||||
struct nvmem_layout *layout = nvmem->layout;
|
||||
@@ -731,6 +764,20 @@ static int nvmem_add_cells_from_dt(struc
|
||||
@@ -731,6 +790,25 @@ static int nvmem_add_cells_from_dt(struc
|
||||
if (layout && layout->fixup_cell_info)
|
||||
layout->fixup_cell_info(nvmem, layout, &info);
|
||||
|
||||
+ if (of_device_is_compatible(np, "fixed-layout")) {
|
||||
+ if (of_device_is_compatible(child, "mac-base")) {
|
||||
+ if (info.bytes == 6) {
|
||||
+ if (info.bytes == ETH_ALEN) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_raw_read;
|
||||
+ } else if (info.bytes == 2 * ETH_ALEN) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_hex_read;
|
||||
+ } else if (info.bytes == 3 * ETH_ALEN - 1) {
|
||||
+ info.raw_len = info.bytes;
|
||||
+ info.bytes = ETH_ALEN;
|
||||
+ info.read_post_process = nvmem_mac_base_ascii_read;
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
compatible = "glinet,gl-mt3000", "mediatek,mt7981";
|
||||
|
||||
aliases {
|
||||
label-mac-device = &gmac0;
|
||||
led-boot = &led_lightblue;
|
||||
led-failsafe = &led_lightblue;
|
||||
led-running = &led_white;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "mercusys,mr90x-v1", "mediatek,mt7986b";
|
||||
model = "Mercusys MR90X v1";
|
||||
model = "MERCUSYS MR90X v1";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
|
|
|
@ -55,8 +55,8 @@
|
|||
|
||||
fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
/* cooling level (0, 1, 2, 3) : (0% duty, 50% duty, 75% duty, 100% duty) */
|
||||
cooling-levels = <0 128 192 255>;
|
||||
/* cooling level (0, 1, 2, 3, 4, 5, 6, 7) : (0%/25%/37.5%/50%/62.5%/75%/87.5%/100% duty) */
|
||||
cooling-levels = <0 63 95 127 159 191 223 255>;
|
||||
#cooling-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -67,55 +67,67 @@
|
|||
polling-delay = <1000>;
|
||||
thermal-sensors = <&thermal 0>;
|
||||
trips {
|
||||
cpu_trip_crit: crit {
|
||||
temperature = <125000>;
|
||||
cpu_trip_active_highest: active-highest {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
|
||||
cpu_trip_hot: hot {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "hot";
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_high: active-high {
|
||||
temperature = <115000>;
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_med: active-med {
|
||||
temperature = <85000>;
|
||||
temperature = <50000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_low: active-low {
|
||||
temperature = <60000>;
|
||||
temperature = <45000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_lowest: active-lowest {
|
||||
temperature = <40000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active-highest {
|
||||
/* active: set fan to cooling level 7 */
|
||||
cooling-device = <&fan 7 7>;
|
||||
trip = <&cpu_trip_active_highest>;
|
||||
};
|
||||
|
||||
cpu-active-high {
|
||||
/* active: set fan to cooling level 3 */
|
||||
cooling-device = <&fan 3 3>;
|
||||
/* active: set fan to cooling level 5 */
|
||||
cooling-device = <&fan 5 5>;
|
||||
trip = <&cpu_trip_active_high>;
|
||||
};
|
||||
|
||||
cpu-active-med {
|
||||
/* active: set fan to cooling level 2 */
|
||||
cooling-device = <&fan 2 2>;
|
||||
/* active: set fan to cooling level 3 */
|
||||
cooling-device = <&fan 3 3>;
|
||||
trip = <&cpu_trip_active_med>;
|
||||
};
|
||||
|
||||
cpu-active-low {
|
||||
/* passive: set fan to cooling level 1 */
|
||||
cooling-device = <&fan 1 1>;
|
||||
/* active: set fan to cooling level 2 */
|
||||
cooling-device = <&fan 2 2>;
|
||||
trip = <&cpu_trip_active_low>;
|
||||
};
|
||||
|
||||
cpu-active-lowest {
|
||||
/* active: set fan to cooling level 1 */
|
||||
cooling-device = <&fan 1 1>;
|
||||
trip = <&cpu_trip_active_lowest>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -55,8 +55,8 @@
|
|||
|
||||
fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
/* cooling level (0, 1, 2, 3) : (0% duty, 50% duty, 75% duty, 100% duty) */
|
||||
cooling-levels = <0 128 192 255>;
|
||||
/* cooling level (0, 1, 2, 3, 4, 5, 6, 7) : (0%/25%/37.5%/50%/62.5%/75%/87.5%/100% duty) */
|
||||
cooling-levels = <0 63 95 127 159 191 223 255>;
|
||||
#cooling-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -67,55 +67,67 @@
|
|||
polling-delay = <1000>;
|
||||
thermal-sensors = <&thermal 0>;
|
||||
trips {
|
||||
cpu_trip_crit: crit {
|
||||
temperature = <125000>;
|
||||
cpu_trip_active_highest: active-highest {
|
||||
temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
|
||||
cpu_trip_hot: hot {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "hot";
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_high: active-high {
|
||||
temperature = <115000>;
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_med: active-med {
|
||||
temperature = <85000>;
|
||||
temperature = <50000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_low: active-low {
|
||||
temperature = <60000>;
|
||||
temperature = <45000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
cpu_trip_active_lowest: active-lowest {
|
||||
temperature = <40000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
cpu-active-highest {
|
||||
/* active: set fan to cooling level 7 */
|
||||
cooling-device = <&fan 7 7>;
|
||||
trip = <&cpu_trip_active_highest>;
|
||||
};
|
||||
|
||||
cpu-active-high {
|
||||
/* active: set fan to cooling level 3 */
|
||||
cooling-device = <&fan 3 3>;
|
||||
/* active: set fan to cooling level 5 */
|
||||
cooling-device = <&fan 5 5>;
|
||||
trip = <&cpu_trip_active_high>;
|
||||
};
|
||||
|
||||
cpu-active-med {
|
||||
/* active: set fan to cooling level 2 */
|
||||
cooling-device = <&fan 2 2>;
|
||||
/* active: set fan to cooling level 3 */
|
||||
cooling-device = <&fan 3 3>;
|
||||
trip = <&cpu_trip_active_med>;
|
||||
};
|
||||
|
||||
cpu-active-low {
|
||||
/* passive: set fan to cooling level 1 */
|
||||
cooling-device = <&fan 1 1>;
|
||||
/* active: set fan to cooling level 2 */
|
||||
cooling-device = <&fan 2 2>;
|
||||
trip = <&cpu_trip_active_low>;
|
||||
};
|
||||
|
||||
cpu-active-lowest {
|
||||
/* active: set fan to cooling level 1 */
|
||||
cooling-device = <&fan 1 1>;
|
||||
trip = <&cpu_trip_active_lowest>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -45,8 +45,7 @@ case "$FIRMWARE" in
|
|||
;;
|
||||
"mediatek/mt7986_eeprom_mt7976_dbdc.bin")
|
||||
case "$board" in
|
||||
asus,tuf-ax4200|\
|
||||
asus,tuf-ax6000)
|
||||
asus,tuf-ax4200)
|
||||
CI_UBIPART="UBI_DEV"
|
||||
caldata_extract_ubi "Factory" 0x0 0x1000
|
||||
;;
|
||||
|
@ -54,6 +53,10 @@ case "$FIRMWARE" in
|
|||
;;
|
||||
"mediatek/mt7986_eeprom_mt7976_dual.bin")
|
||||
case "$board" in
|
||||
asus,tuf-ax6000)
|
||||
CI_UBIPART="UBI_DEV"
|
||||
caldata_extract_ubi "Factory" 0x0 0x1000
|
||||
;;
|
||||
glinet,gl-mt6000)
|
||||
caldata_extract_mmc "factory" 0x0 0x1000
|
||||
;;
|
||||
|
|
|
@ -504,7 +504,7 @@ endef
|
|||
TARGET_DEVICES += mediatek_mt7988a-rfb
|
||||
|
||||
define Device/mercusys_mr90x-v1
|
||||
DEVICE_VENDOR := Mercusys
|
||||
DEVICE_VENDOR := MERCUSYS
|
||||
DEVICE_MODEL := MR90X v1
|
||||
DEVICE_DTS := mt7986b-mercusys-mr90x-v1
|
||||
DEVICE_DTS_DIR := ../dts
|
||||
|
|
0
target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts
Executable file → Normal file
0
target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts
Executable file → Normal file
245
target/linux/ramips/dts/mt7621_meig_slt866.dts
Normal file
245
target/linux/ramips/dts/mt7621_meig_slt866.dts
Normal file
|
@ -0,0 +1,245 @@
|
|||
#include "mt7621.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "meig,slt866", "mediatek,mt7621-soc";
|
||||
model = "MeiG SLT866";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_internet;
|
||||
led-failsafe = &led_internet;
|
||||
led-upgrade = &led_internet;
|
||||
label-mac-device = &gmac1;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
signal4 {
|
||||
label = "blue:signal4";
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
lanwan {
|
||||
label = "blue:lanwan";
|
||||
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led_internet: internet {
|
||||
label = "blue:internet";
|
||||
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wifi {
|
||||
label = "blue:wifi";
|
||||
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
signal3 {
|
||||
label = "blue:signal3";
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
signal2 {
|
||||
label = "blue:signal2";
|
||||
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
signal1 {
|
||||
label = "blue:signal1";
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
regulator-pa-5g {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "pa-5g";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
groups = "jtag", "uart2", "uart3", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <20000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "Bootloader";
|
||||
reg = <0x0 0x30000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@30000 {
|
||||
label = "Config";
|
||||
reg = <0x30000 0x10000>;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
label = "Factory";
|
||||
reg = <0x40000 0x10000>;
|
||||
read-only;
|
||||
compatible = "nvmem-cells";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_factory_0: eeprom@0 {
|
||||
reg = <0x0 0x200>;
|
||||
};
|
||||
|
||||
eeprom_factory_8000: eeprom@8000 {
|
||||
reg = <0x8000 0x4da8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@50000 {
|
||||
label = "firmware";
|
||||
compatible = "denx,uimage";
|
||||
reg = <0x50000 0xf90000>;
|
||||
};
|
||||
|
||||
partition@fe0000 {
|
||||
label = "m_custom";
|
||||
reg = <0xfe0000 0x20000>;
|
||||
read-only;
|
||||
compatible = "nvmem-cells";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_custom_0: macaddr@0 {
|
||||
reg = <0x0 0xc>;
|
||||
compatible = "mac-base";
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
|
||||
macaddr_custom_40: macaddr@40 {
|
||||
reg = <0x40 0xc>;
|
||||
compatible = "mac-base";
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
|
||||
macaddr_custom_100: macaddr@100 {
|
||||
reg = <0x100 0xc>;
|
||||
compatible = "mac-base";
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
|
||||
macaddr_custom_140: macaddr@140 {
|
||||
reg = <0x140 0xc>;
|
||||
compatible = "mac-base";
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@1000000 {
|
||||
label = "fota_bak";
|
||||
reg = <0x1000000 0x1000000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ðernet {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
nvmem-cells = <&macaddr_custom_40 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
phy-handle = <ðphy4>;
|
||||
|
||||
nvmem-cells = <&macaddr_custom_0 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ethphy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@3 {
|
||||
status = "okay";
|
||||
label = "lan";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
mt76@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
nvmem-cells = <&eeprom_factory_0>, <&macaddr_custom_100 0>;
|
||||
nvmem-cell-names = "eeprom", "mac-address";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
mt76@0,0 {
|
||||
compatible = "mediatek,mt76";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
ieee80211-freq-limit = <5000000 6000000>;
|
||||
nvmem-cells = <&eeprom_factory_8000>, <&macaddr_custom_140 0>;
|
||||
nvmem-cell-names = "eeprom", "mac-address";
|
||||
};
|
||||
};
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "mercusys,mr70x-v1", "mediatek,mt7621-soc";
|
||||
model = "Mercusys MR70X v1";
|
||||
model = "MERCUSYS MR70X v1";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power_green;
|
||||
|
|
0
target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts
Executable file → Normal file
0
target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts
Executable file → Normal file
|
@ -1616,10 +1616,21 @@ define Device/mediatek_mt7621-eval-board
|
|||
endef
|
||||
TARGET_DEVICES += mediatek_mt7621-eval-board
|
||||
|
||||
define Device/meig_slt866
|
||||
$(Device/dsa-migration)
|
||||
IMAGE_SIZE := 15104k
|
||||
DEVICE_VENDOR := MeiG
|
||||
DEVICE_MODEL := SLT866
|
||||
DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \
|
||||
kmod-usb-net-qmi-wwan kmod-usb-serial-option kmod-usb3 \
|
||||
kmod-usb-net-rndis
|
||||
endef
|
||||
TARGET_DEVICES += meig_slt866
|
||||
|
||||
define Device/mercusys_mr70x-v1
|
||||
$(Device/dsa-migration)
|
||||
$(Device/tplink-safeloader)
|
||||
DEVICE_VENDOR := Mercusys
|
||||
DEVICE_VENDOR := MERCUSYS
|
||||
DEVICE_MODEL := MR70X
|
||||
DEVICE_VARIANT := v1
|
||||
DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools
|
||||
|
|
|
@ -138,6 +138,10 @@ linksys,ea8100-v2)
|
|||
ucidef_set_led_netdev "lan4" "lan4 link" "green:lan4" "lan4" "link"
|
||||
ucidef_set_led_netdev "wan" "wan link" "green:wan" "wan" "link"
|
||||
;;
|
||||
meig,slt866)
|
||||
ucidef_set_led_netdev "lan" "eth" "blue:lanwan" "lan" "link tx rx"
|
||||
ucidef_set_led_netdev "wwan0" "net" "blue:internet" "wwan0" "link tx rx"
|
||||
;;
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_set_led_netdev "sfp" "SFP" "blue:sfp" "sfp"
|
||||
;;
|
||||
|
|
|
@ -157,7 +157,8 @@ ramips_setup_interfaces()
|
|||
ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
|
||||
;;
|
||||
comfast,cf-e390ax|\
|
||||
comfast,cf-ew72-v2)
|
||||
comfast,cf-ew72-v2|\
|
||||
meig,slt866)
|
||||
ucidef_set_interfaces_lan_wan "lan" "wan"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -11,9 +11,9 @@ PKG_RELEASE:=1
|
|||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git
|
||||
PKG_SOURCE_DATE:=2023-10-29
|
||||
PKG_SOURCE_VERSION:=635466123429ba8682b575245bbf52e3b33b7163
|
||||
PKG_MIRROR_HASH:=316181644733b9a1592aad04ae379cc5f93ff31f03ac76225a1ad5a720265915
|
||||
PKG_SOURCE_DATE:=2023-11-03
|
||||
PKG_SOURCE_VERSION:=ba5bc4e1ae9d3e7b41d3bed39ce505670dc95078
|
||||
PKG_MIRROR_HASH:=f14e0153443493c2908a2145c206798e01c66d985a81e259187007c464574b72
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
|
Loading…
Reference in a new issue