Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
18e21aff8f
@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .105
|
||||
LINUX_VERSION-5.4 = .106
|
||||
LINUX_VERSION-5.10 = .23
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.105 = 244e4cd16184285df55ec5a9501daba011aa8b85c5527ee05eab4592e70fb8b6
|
||||
LINUX_KERNEL_HASH-5.4.106 = cc873b2c39c1823d4bc4f6cde527943c8cfd28ae94cb517804b0f9679359c8db
|
||||
LINUX_KERNEL_HASH-5.10.23 = f6e21c03ec6ff85b26d77c59fdab81e64707792a57593643307df192749edb6a
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
|
||||
@ -94,6 +94,7 @@ $(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, $(if $(NF_KMO
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_QUOTA, $(P_XT)xt_quota))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_CGROUP, $(P_XT)xt_cgroup))
|
||||
|
||||
#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE))
|
||||
|
||||
|
||||
@ -287,6 +287,7 @@ if [ -n "$CONF_RESTORE" ]; then
|
||||
fi
|
||||
|
||||
[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
|
||||
v "Restoring config files..."
|
||||
tar -C / -x${TAR_V}zf "$CONF_RESTORE"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
@ -8,14 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=kexec-tools
|
||||
PKG_VERSION:=2.0.16
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2.0.21
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
|
||||
PKG_HASH:=5b103351ad752c9badd1d65b00eb6de4bce579f944f4df4e3ef3a755ba567010
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_HASH:=e113142dee891638ad96e0f72cf9277b244477619470b30c41999d312e8e8702
|
||||
|
||||
PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
|
||||
|
||||
@ -51,17 +49,6 @@ define Package/kexec/description
|
||||
The kexec utility allows to load and boot another kernel.
|
||||
endef
|
||||
|
||||
define Package/kdump
|
||||
$(call Package/kexec-tools/Default)
|
||||
TITLE:=Kernel crash analysis
|
||||
DEPENDS:=+kexec @(i386||x86_64||arm) @KERNEL_CRASH_DUMP
|
||||
endef
|
||||
|
||||
define Package/kdump/description
|
||||
The kdump package allows to automatically boot into a
|
||||
special kernel for analyzing kernel crashes using kdump.
|
||||
endef
|
||||
|
||||
define Package/kexec/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
@ -108,28 +95,5 @@ define Package/kexec/install
|
||||
$(LN) ../usr/sbin/kexec $(1)/sbin/kexec
|
||||
endef
|
||||
|
||||
define Package/kdump/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdump $(PKG_INSTALL_DIR)/usr/sbin/vmcore-dmesg $(1)/usr/sbin
|
||||
$(INSTALL_BIN) ./files/kdump.init $(1)/etc/init.d/kdump
|
||||
$(INSTALL_BIN) ./files/kdump.defaults $(1)/etc/uci-defaults/kdump
|
||||
$(INSTALL_CONF) ./files/kdump.config $(1)/etc/config/kdump
|
||||
endef
|
||||
|
||||
define Package/kdump/prerm
|
||||
#!/bin/sh
|
||||
|
||||
case $$(uname -m) in
|
||||
i?86|x86_64)
|
||||
if grep -q " crashkernel=" /boot/grub/grub.cfg; then
|
||||
mount /boot -o remount,rw
|
||||
sed -i 's/ crashkernel=[^ ]*//' /boot/grub/grub.cfg
|
||||
mount /boot -o remount,ro
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,kexec-tools))
|
||||
$(eval $(call BuildPackage,kexec))
|
||||
$(eval $(call BuildPackage,kdump))
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
|
||||
index 7fdde73..af33689 100644
|
||||
--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
|
||||
+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
|
||||
@@ -78,7 +78,8 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
|
||||
if ((int64_t)value != *(int32_t *)location)
|
||||
goto overflow;
|
||||
break;
|
||||
- case R_X86_64_PC32:
|
||||
+ case R_X86_64_PC32:
|
||||
+ case R_X86_64_PLT32:
|
||||
*(uint32_t *)location = value - address;
|
||||
break;
|
||||
default:
|
||||
35
package/kernel/gpio-nxp-74hc153/Makefile
Normal file
35
package/kernel/gpio-nxp-74hc153/Makefile
Normal file
@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright (C) 2020 Mauri Sandberg <sandberg@mailfence.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=gpio-nxp-74hc153
|
||||
PKG_RELEASE:=1
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/gpio-nxp-74hc153
|
||||
SUBMENU:=Other modules
|
||||
TITLE:= NXP 74HC153 GPIO expander
|
||||
FILES:=$(PKG_BUILD_DIR)/gpio-nxp-74hc153.ko
|
||||
AUTOLOAD:=$(call AutoLoad,30,gpio-nxp-74hc153,1)
|
||||
KCONFIG:=
|
||||
DEPENDS:= @GPIO_SUPPORT @TARGET_ath79
|
||||
endef
|
||||
|
||||
define KernelPackage/gpio-nxp-74hc153/description
|
||||
Platform driver for NXP 74HC153 Dual 4-input Multiplexer.
|
||||
This provides a GPIO interface supporting input mode only.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(KERNEL_MAKE) M=$(PKG_BUILD_DIR) modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,gpio-nxp-74hc153))
|
||||
1
package/kernel/gpio-nxp-74hc153/src/Makefile
Normal file
1
package/kernel/gpio-nxp-74hc153/src/Makefile
Normal file
@ -0,0 +1 @@
|
||||
obj-m += gpio-nxp-74hc153.o
|
||||
291
package/kernel/gpio-nxp-74hc153/src/gpio-nxp-74hc153.c
Normal file
291
package/kernel/gpio-nxp-74hc153/src/gpio-nxp-74hc153.c
Normal file
@ -0,0 +1,291 @@
|
||||
/*
|
||||
* NXP 74HC153 - Dual 4-input multiplexer GPIO driver
|
||||
*
|
||||
* Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
|
||||
* Copyright (C) 2020 Mauri Sandberg <sandberg@mailfence.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* Example device tree definition:
|
||||
*
|
||||
* gpio-extender {
|
||||
* compatible = "nxp,74hc153-gpio";
|
||||
* gpio-controller;
|
||||
* #gpio-cells = <2>;
|
||||
*
|
||||
* // GPIOs used by this node
|
||||
* gpio-s0 = <&gpio 9 GPIO_ACTIVE_HIGH>;
|
||||
* gpio-s1 = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
* gpio-1y = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
* gpio-2y = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||
* };
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/version.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/of_gpio.h>
|
||||
|
||||
#define NXP_74HC153_NUM_GPIOS 8
|
||||
#define NXP_74HC153_S0_MASK 0x1
|
||||
#define NXP_74HC153_S1_MASK 0x2
|
||||
#define NXP_74HC153_BANK_MASK 0x4
|
||||
|
||||
#define NXP_74HC153_DRIVER_NAME "nxp-74hc153"
|
||||
|
||||
struct nxp_74hc153_config {
|
||||
unsigned gpio_pin_s0;
|
||||
unsigned gpio_pin_s1;
|
||||
unsigned gpio_pin_1y;
|
||||
unsigned gpio_pin_2y;
|
||||
};
|
||||
|
||||
struct nxp_74hc153_chip {
|
||||
struct device *parent;
|
||||
struct gpio_chip gpio_chip;
|
||||
struct mutex lock;
|
||||
struct nxp_74hc153_config config;
|
||||
};
|
||||
|
||||
static struct nxp_74hc153_chip *gpio_to_nxp(struct gpio_chip *gc)
|
||||
{
|
||||
return container_of(gc, struct nxp_74hc153_chip, gpio_chip);
|
||||
}
|
||||
|
||||
static int nxp_74hc153_direction_input(struct gpio_chip *gc, unsigned offset)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int nxp_74hc153_direction_output(struct gpio_chip *gc,
|
||||
unsigned offset, int val)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int nxp_74hc153_get_value(struct gpio_chip *gc, unsigned offset)
|
||||
{
|
||||
struct nxp_74hc153_chip *nxp;
|
||||
struct nxp_74hc153_platform_data *pdata;
|
||||
unsigned s0;
|
||||
unsigned s1;
|
||||
unsigned pin;
|
||||
int ret;
|
||||
|
||||
nxp = gpio_to_nxp(gc);
|
||||
pdata = nxp->parent->platform_data;
|
||||
|
||||
s0 = !!(offset & NXP_74HC153_S0_MASK);
|
||||
s1 = !!(offset & NXP_74HC153_S1_MASK);
|
||||
pin = (offset & NXP_74HC153_BANK_MASK) ? nxp->config.gpio_pin_2y
|
||||
: nxp->config.gpio_pin_1y;
|
||||
|
||||
mutex_lock(&nxp->lock);
|
||||
gpio_set_value(nxp->config.gpio_pin_s0, s0);
|
||||
gpio_set_value(nxp->config.gpio_pin_s1, s1);
|
||||
ret = gpio_get_value(pin);
|
||||
mutex_unlock(&nxp->lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void nxp_74hc153_set_value(struct gpio_chip *gc,
|
||||
unsigned offset, int val)
|
||||
{
|
||||
/* not supported */
|
||||
}
|
||||
|
||||
static int nxp_74hc153_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
struct nxp_74hc153_chip *nxp;
|
||||
struct gpio_chip *gc;
|
||||
int err;
|
||||
unsigned gpio_s0;
|
||||
unsigned gpio_s1;
|
||||
unsigned gpio_1y;
|
||||
unsigned gpio_2y;
|
||||
|
||||
nxp = kzalloc(sizeof(struct nxp_74hc153_chip), GFP_KERNEL);
|
||||
if (nxp == NULL) {
|
||||
dev_err(&pdev->dev, "no memory for private data\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
gpio_s0 = of_get_named_gpio(np, "gpio-s0", 0);
|
||||
gpio_s1 = of_get_named_gpio(np, "gpio-s1", 0);
|
||||
gpio_1y = of_get_named_gpio(np, "gpio-1y", 0);
|
||||
gpio_2y = of_get_named_gpio(np, "gpio-2y", 0);
|
||||
|
||||
if (!gpio_is_valid(gpio_s0) || !gpio_is_valid(gpio_s1) ||
|
||||
!gpio_is_valid(gpio_1y) || !gpio_is_valid(gpio_2y)) {
|
||||
|
||||
dev_err(&pdev->dev, "control GPIO(s) are missing\n");
|
||||
err = -EINVAL;
|
||||
goto err_free_nxp;
|
||||
} else {
|
||||
nxp->config.gpio_pin_s0 = gpio_s0;
|
||||
nxp->config.gpio_pin_s1 = gpio_s1;
|
||||
nxp->config.gpio_pin_1y = gpio_1y;
|
||||
nxp->config.gpio_pin_2y = gpio_2y;
|
||||
}
|
||||
|
||||
// apply pin configuration
|
||||
err = gpio_request(nxp->config.gpio_pin_s0, dev_name(&pdev->dev));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to claim gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_s0, err);
|
||||
goto err_free_nxp;
|
||||
}
|
||||
|
||||
err = gpio_request(nxp->config.gpio_pin_s1, dev_name(&pdev->dev));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to claim gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_s1, err);
|
||||
goto err_free_s0;
|
||||
}
|
||||
|
||||
err = gpio_request(nxp->config.gpio_pin_1y, dev_name(&pdev->dev));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to claim gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_1y, err);
|
||||
goto err_free_s1;
|
||||
}
|
||||
|
||||
err = gpio_request(nxp->config.gpio_pin_2y, dev_name(&pdev->dev));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to claim gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_2y, err);
|
||||
goto err_free_1y;
|
||||
}
|
||||
|
||||
err = gpio_direction_output(nxp->config.gpio_pin_s0, 0);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"unable to set direction of gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_s0, err);
|
||||
goto err_free_2y;
|
||||
}
|
||||
|
||||
err = gpio_direction_output(nxp->config.gpio_pin_s1, 0);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"unable to set direction of gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_s1, err);
|
||||
goto err_free_2y;
|
||||
}
|
||||
|
||||
err = gpio_direction_input(nxp->config.gpio_pin_1y);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"unable to set direction of gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_1y, err);
|
||||
goto err_free_2y;
|
||||
}
|
||||
|
||||
err = gpio_direction_input(nxp->config.gpio_pin_2y);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev,
|
||||
"unable to set direction of gpio %u, err=%d\n",
|
||||
nxp->config.gpio_pin_2y, err);
|
||||
goto err_free_2y;
|
||||
}
|
||||
|
||||
nxp->parent = &pdev->dev;
|
||||
mutex_init(&nxp->lock);
|
||||
|
||||
gc = &nxp->gpio_chip;
|
||||
|
||||
gc->direction_input = nxp_74hc153_direction_input;
|
||||
gc->direction_output = nxp_74hc153_direction_output;
|
||||
gc->get = nxp_74hc153_get_value;
|
||||
gc->set = nxp_74hc153_set_value;
|
||||
gc->can_sleep = 1;
|
||||
|
||||
gc->base = -1;
|
||||
gc->ngpio = NXP_74HC153_NUM_GPIOS;
|
||||
gc->label = dev_name(nxp->parent);
|
||||
gc->parent = nxp->parent;
|
||||
gc->owner = THIS_MODULE;
|
||||
gc->of_node = np;
|
||||
|
||||
err = gpiochip_add(&nxp->gpio_chip);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to add gpio chip, err=%d\n", err);
|
||||
goto err_free_2y;
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, nxp);
|
||||
return 0;
|
||||
|
||||
err_free_2y:
|
||||
gpio_free(nxp->config.gpio_pin_2y);
|
||||
err_free_1y:
|
||||
gpio_free(nxp->config.gpio_pin_1y);
|
||||
err_free_s1:
|
||||
gpio_free(nxp->config.gpio_pin_s1);
|
||||
err_free_s0:
|
||||
gpio_free(nxp->config.gpio_pin_s0);
|
||||
err_free_nxp:
|
||||
kfree(nxp);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int nxp_74hc153_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct nxp_74hc153_chip *nxp = platform_get_drvdata(pdev);
|
||||
|
||||
if (nxp) {
|
||||
gpiochip_remove(&nxp->gpio_chip);
|
||||
gpio_free(nxp->config.gpio_pin_2y);
|
||||
gpio_free(nxp->config.gpio_pin_1y);
|
||||
gpio_free(nxp->config.gpio_pin_s1);
|
||||
gpio_free(nxp->config.gpio_pin_s0);
|
||||
|
||||
kfree(nxp);
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct of_device_id nxp_74hc153_id[] = {
|
||||
{
|
||||
.compatible = "nxp,74hc153-gpio",
|
||||
.data = NULL,
|
||||
}, { /* sentinel */ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, nxp_74hc153_id);
|
||||
|
||||
static struct platform_driver nxp_74hc153_driver = {
|
||||
.probe = nxp_74hc153_probe,
|
||||
.remove = nxp_74hc153_remove,
|
||||
.driver = {
|
||||
.name = NXP_74HC153_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = nxp_74hc153_id,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init nxp_74hc153_init(void)
|
||||
{
|
||||
return platform_driver_register(&nxp_74hc153_driver);
|
||||
}
|
||||
subsys_initcall(nxp_74hc153_init);
|
||||
|
||||
static void __exit nxp_74hc153_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&nxp_74hc153_driver);
|
||||
}
|
||||
module_exit(nxp_74hc153_exit);
|
||||
|
||||
MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
|
||||
MODULE_DESCRIPTION("GPIO expander driver for NXP 74HC153");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
MODULE_ALIAS("platform:" NXP_74HC153_DRIVER_NAME);
|
||||
@ -164,6 +164,26 @@ endef
|
||||
$(eval $(call KernelPackage,fs-efivarfs))
|
||||
|
||||
|
||||
define KernelPackage/fs-exfat
|
||||
SUBMENU:=$(FS_MENU)
|
||||
TITLE:=exFAT filesystem support
|
||||
KCONFIG:= \
|
||||
CONFIG_EXFAT_FS \
|
||||
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/drivers/staging/exfat/exfat.ko@lt5.7 \
|
||||
$(LINUX_DIR)/fs/exfat/exfat.ko@ge5.7
|
||||
AUTOLOAD:=$(call AutoLoad,30,exfat,1)
|
||||
DEPENDS:=+kmod-nls-base
|
||||
endef
|
||||
|
||||
define KernelPackage/fs-exfat/description
|
||||
Kernel module for exFAT filesystem support
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,fs-exfat))
|
||||
|
||||
|
||||
define KernelPackage/fs-exportfs
|
||||
SUBMENU:=$(FS_MENU)
|
||||
TITLE:=exportfs kernel server support
|
||||
|
||||
@ -38,6 +38,21 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,ledtrig-activity))
|
||||
|
||||
define KernelPackage/ledtrig-audio
|
||||
SUBMENU:=$(LEDS_MENU)
|
||||
TITLE:=LED Audio Mute Trigger
|
||||
KCONFIG:=CONFIG_LEDS_TRIGGER_AUDIO
|
||||
FILES:=$(LED_TRIGGER_DIR)/ledtrig-audio.ko
|
||||
AUTOLOAD:=$(call AutoLoad,50,ledtrig-audio)
|
||||
endef
|
||||
|
||||
define KernelPackage/ledtrig-audio/description
|
||||
Kernel module that allows LEDs to be controlled by audio drivers
|
||||
to follow audio mute and mic-mute changes.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ledtrig-audio))
|
||||
|
||||
define KernelPackage/ledtrig-gpio
|
||||
SUBMENU:=$(LEDS_MENU)
|
||||
TITLE:=LED GPIO Trigger
|
||||
|
||||
@ -141,7 +141,7 @@ $(eval $(call KernelPackage,mii))
|
||||
define KernelPackage/mdio-devres
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Supports MDIO device registration
|
||||
DEPENDS:=@LINUX_5_10 +kmod-libphy
|
||||
DEPENDS:=@LINUX_5_10 +kmod-libphy PACKAGE_kmod-of-mdio:kmod-of-mdio
|
||||
KCONFIG:=CONFIG_MDIO_DEVRES
|
||||
HIDDEN:=1
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/mdio_devres.ko
|
||||
|
||||
@ -916,6 +916,13 @@ define KernelPackage/sched/description
|
||||
Extra kernel schedulers modules for IP traffic
|
||||
endef
|
||||
|
||||
SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
|
||||
|
||||
define KernelPackage/sched/install
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,sched))
|
||||
|
||||
|
||||
|
||||
@ -304,6 +304,7 @@ $(eval $(call KernelPackage,sound-dummy))
|
||||
define KernelPackage/sound-hda-core
|
||||
SUBMENU:=$(SOUND_MENU)
|
||||
TITLE:=HD Audio Sound Core Support
|
||||
DEPENDS:=+kmod-ledtrig-audio
|
||||
KCONFIG:= \
|
||||
CONFIG_SND_HDA_CORE \
|
||||
CONFIG_SND_HDA_HWDEP=y \
|
||||
@ -522,7 +523,8 @@ define KernelPackage/sound-hda-intel
|
||||
CONFIG_SND_HDA_INTEL
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/sound/pci/hda/snd-hda-intel.ko \
|
||||
$(LINUX_DIR)/sound/hda/snd-intel-nhlt.ko
|
||||
$(LINUX_DIR)/sound/hda/snd-intel-nhlt.ko@lt5.5 \
|
||||
$(LINUX_DIR)/sound/hda/snd-intel-dspcfg.ko@ge5.5
|
||||
AUTOLOAD:=$(call AutoProbe,snd-hda-intel)
|
||||
$(call AddDepends/sound,kmod-sound-hda-core)
|
||||
endef
|
||||
|
||||
@ -1217,6 +1217,7 @@ $(eval $(call KernelPackage,usb-net-mcs7830))
|
||||
|
||||
define KernelPackage/usb-net-smsc95xx
|
||||
TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
|
||||
DEPENDS:=+LINUX_5_10:kmod-libphy
|
||||
KCONFIG:=CONFIG_USB_NET_SMSC95XX
|
||||
FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
|
||||
AUTOLOAD:=$(call AutoProbe,smsc95xx)
|
||||
|
||||
@ -504,6 +504,7 @@ define Build/Patch
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
|
||||
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
|
||||
$(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
|
||||
endef
|
||||
|
||||
@ -514,6 +515,7 @@ define Quilt/Refresh/Package
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
|
||||
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
|
||||
@ -0,0 +1,817 @@
|
||||
From 8f392a72419c4b10e84e635e51bee24670975364 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Fri, 19 Feb 2021 13:26:07 +0800
|
||||
Subject: [PATCH] rtlwifi: 8821ae: upgrade PHY and RF parameters
|
||||
|
||||
New parameters with new format and its parser are updated by the
|
||||
commit 84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser."),
|
||||
but some parameters are missing. Use this commit to update to the novel
|
||||
parameters that use new format.
|
||||
|
||||
Fixes: 84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser")
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
|
||||
---
|
||||
.../realtek/rtlwifi/rtl8821ae/table.c | 500 +++++++++++++-----
|
||||
1 file changed, 370 insertions(+), 130 deletions(-)
|
||||
|
||||
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c
|
||||
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c
|
||||
@@ -249,7 +249,7 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
|
||||
0x824, 0x00030FE0,
|
||||
0x828, 0x00000000,
|
||||
0x82C, 0x002081DD,
|
||||
- 0x830, 0x2AAA8E24,
|
||||
+ 0x830, 0x2AAAEEC8,
|
||||
0x834, 0x0037A706,
|
||||
0x838, 0x06489B44,
|
||||
0x83C, 0x0000095B,
|
||||
@@ -324,10 +324,10 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
|
||||
0x9D8, 0x00000000,
|
||||
0x9DC, 0x00000000,
|
||||
0x9E0, 0x00005D00,
|
||||
- 0x9E4, 0x00000002,
|
||||
+ 0x9E4, 0x00000003,
|
||||
0x9E8, 0x00000001,
|
||||
0xA00, 0x00D047C8,
|
||||
- 0xA04, 0x01FF000C,
|
||||
+ 0xA04, 0x01FF800C,
|
||||
0xA08, 0x8C8A8300,
|
||||
0xA0C, 0x2E68000F,
|
||||
0xA10, 0x9500BB78,
|
||||
@@ -1320,7 +1320,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x083, 0x00021800,
|
||||
0x084, 0x00028000,
|
||||
0x085, 0x00048000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x086, 0x0009483A,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x086, 0x00094838,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x087, 0x00044980,
|
||||
0x088, 0x00048000,
|
||||
0x089, 0x0000D480,
|
||||
@@ -1409,36 +1413,32 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x03C, 0x000CA000,
|
||||
0x0EF, 0x00000000,
|
||||
0x0EF, 0x00001100,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0004ADF3,
|
||||
0x034, 0x00049DF0,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0004ADF3,
|
||||
0x034, 0x00049DF0,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
- 0x034, 0x0004ADF3,
|
||||
- 0x034, 0x00049DF0,
|
||||
- 0xFF0F0200, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0004ADF5,
|
||||
0x034, 0x00049DF2,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0004A0F3,
|
||||
+ 0x034, 0x000490B1,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0004A0F3,
|
||||
0x034, 0x000490B1,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0004ADF5,
|
||||
+ 0x034, 0x00049DF2,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0004ADF3,
|
||||
+ 0x034, 0x00049DF0,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x0004ADF7,
|
||||
0x034, 0x00049DF3,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
- 0x034, 0x00048DED,
|
||||
- 0x034, 0x00047DEA,
|
||||
- 0x034, 0x00046DE7,
|
||||
- 0x034, 0x00045CE9,
|
||||
- 0x034, 0x00044CE6,
|
||||
- 0x034, 0x000438C6,
|
||||
- 0x034, 0x00042886,
|
||||
- 0x034, 0x00041486,
|
||||
- 0x034, 0x00040447,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00048DED,
|
||||
0x034, 0x00047DEA,
|
||||
0x034, 0x00046DE7,
|
||||
@@ -1448,7 +1448,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00042886,
|
||||
0x034, 0x00041486,
|
||||
0x034, 0x00040447,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00048DED,
|
||||
0x034, 0x00047DEA,
|
||||
0x034, 0x00046DE7,
|
||||
@@ -1458,7 +1458,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00042886,
|
||||
0x034, 0x00041486,
|
||||
0x034, 0x00040447,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x000480AE,
|
||||
+ 0x034, 0x000470AB,
|
||||
+ 0x034, 0x0004608B,
|
||||
+ 0x034, 0x00045069,
|
||||
+ 0x034, 0x00044048,
|
||||
+ 0x034, 0x00043045,
|
||||
+ 0x034, 0x00042026,
|
||||
+ 0x034, 0x00041023,
|
||||
+ 0x034, 0x00040002,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x000480AE,
|
||||
0x034, 0x000470AB,
|
||||
0x034, 0x0004608B,
|
||||
@@ -1468,7 +1478,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00042026,
|
||||
0x034, 0x00041023,
|
||||
0x034, 0x00040002,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x00048DED,
|
||||
+ 0x034, 0x00047DEA,
|
||||
+ 0x034, 0x00046DE7,
|
||||
+ 0x034, 0x00045CE9,
|
||||
+ 0x034, 0x00044CE6,
|
||||
+ 0x034, 0x000438C6,
|
||||
+ 0x034, 0x00042886,
|
||||
+ 0x034, 0x00041486,
|
||||
+ 0x034, 0x00040447,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x00048DEF,
|
||||
0x034, 0x00047DEC,
|
||||
0x034, 0x00046DE9,
|
||||
@@ -1478,38 +1498,36 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x0004248A,
|
||||
0x034, 0x0004108D,
|
||||
0x034, 0x0004008A,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0200, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0002ADF4,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0002A0F3,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0002A0F3,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0002ADF4,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x0002ADF7,
|
||||
- 0xFF0F0200, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
- 0x034, 0x00029DF4,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00029DF4,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00029DF4,
|
||||
- 0xFF0F0200, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00029DF1,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x000290F0,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x000290F0,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x00029DF1,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x00029DF4,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x00029DF2,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
- 0x034, 0x00028DF1,
|
||||
- 0x034, 0x00027DEE,
|
||||
- 0x034, 0x00026DEB,
|
||||
- 0x034, 0x00025CEC,
|
||||
- 0x034, 0x00024CE9,
|
||||
- 0x034, 0x000238CA,
|
||||
- 0x034, 0x00022889,
|
||||
- 0x034, 0x00021489,
|
||||
- 0x034, 0x0002044A,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00028DF1,
|
||||
0x034, 0x00027DEE,
|
||||
0x034, 0x00026DEB,
|
||||
@@ -1519,7 +1537,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00022889,
|
||||
0x034, 0x00021489,
|
||||
0x034, 0x0002044A,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00028DF1,
|
||||
0x034, 0x00027DEE,
|
||||
0x034, 0x00026DEB,
|
||||
@@ -1529,7 +1547,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00022889,
|
||||
0x034, 0x00021489,
|
||||
0x034, 0x0002044A,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x000280AF,
|
||||
0x034, 0x000270AC,
|
||||
0x034, 0x0002608B,
|
||||
@@ -1539,7 +1557,27 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00022026,
|
||||
0x034, 0x00021023,
|
||||
0x034, 0x00020002,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x000280AF,
|
||||
+ 0x034, 0x000270AC,
|
||||
+ 0x034, 0x0002608B,
|
||||
+ 0x034, 0x00025069,
|
||||
+ 0x034, 0x00024048,
|
||||
+ 0x034, 0x00023045,
|
||||
+ 0x034, 0x00022026,
|
||||
+ 0x034, 0x00021023,
|
||||
+ 0x034, 0x00020002,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x00028DF1,
|
||||
+ 0x034, 0x00027DEE,
|
||||
+ 0x034, 0x00026DEB,
|
||||
+ 0x034, 0x00025CEC,
|
||||
+ 0x034, 0x00024CE9,
|
||||
+ 0x034, 0x000238CA,
|
||||
+ 0x034, 0x00022889,
|
||||
+ 0x034, 0x00021489,
|
||||
+ 0x034, 0x0002044A,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x00028DEE,
|
||||
0x034, 0x00027DEB,
|
||||
0x034, 0x00026CCD,
|
||||
@@ -1549,27 +1587,24 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00022849,
|
||||
0x034, 0x00021449,
|
||||
0x034, 0x0002004D,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F02C0, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x8000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0000A0D7,
|
||||
+ 0x034, 0x000090D3,
|
||||
+ 0x034, 0x000080B1,
|
||||
+ 0x034, 0x000070AE,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0000A0D7,
|
||||
0x034, 0x000090D3,
|
||||
0x034, 0x000080B1,
|
||||
0x034, 0x000070AE,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x0000ADF7,
|
||||
0x034, 0x00009DF4,
|
||||
0x034, 0x00008DF1,
|
||||
0x034, 0x00007DEE,
|
||||
- 0xFF0F02C0, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
- 0x034, 0x00006DEB,
|
||||
- 0x034, 0x00005CEC,
|
||||
- 0x034, 0x00004CE9,
|
||||
- 0x034, 0x000038CA,
|
||||
- 0x034, 0x00002889,
|
||||
- 0x034, 0x00001489,
|
||||
- 0x034, 0x0000044A,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00006DEB,
|
||||
0x034, 0x00005CEC,
|
||||
0x034, 0x00004CE9,
|
||||
@@ -1577,7 +1612,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00002889,
|
||||
0x034, 0x00001489,
|
||||
0x034, 0x0000044A,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x00006DEB,
|
||||
0x034, 0x00005CEC,
|
||||
0x034, 0x00004CE9,
|
||||
@@ -1585,7 +1620,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00002889,
|
||||
0x034, 0x00001489,
|
||||
0x034, 0x0000044A,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x034, 0x0000608D,
|
||||
0x034, 0x0000506B,
|
||||
0x034, 0x0000404A,
|
||||
@@ -1593,7 +1628,23 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00002044,
|
||||
0x034, 0x00001025,
|
||||
0x034, 0x00000004,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x0000608D,
|
||||
+ 0x034, 0x0000506B,
|
||||
+ 0x034, 0x0000404A,
|
||||
+ 0x034, 0x00003047,
|
||||
+ 0x034, 0x00002044,
|
||||
+ 0x034, 0x00001025,
|
||||
+ 0x034, 0x00000004,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x034, 0x00006DEB,
|
||||
+ 0x034, 0x00005CEC,
|
||||
+ 0x034, 0x00004CE9,
|
||||
+ 0x034, 0x000038CA,
|
||||
+ 0x034, 0x00002889,
|
||||
+ 0x034, 0x00001489,
|
||||
+ 0x034, 0x0000044A,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x034, 0x00006DCD,
|
||||
0x034, 0x00005CCD,
|
||||
0x034, 0x00004CCA,
|
||||
@@ -1601,11 +1652,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x034, 0x00002888,
|
||||
0x034, 0x00001488,
|
||||
0x034, 0x00000486,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x0EF, 0x00000000,
|
||||
0x018, 0x0001712A,
|
||||
0x0EF, 0x00000040,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x035, 0x00000187,
|
||||
0x035, 0x00008187,
|
||||
0x035, 0x00010187,
|
||||
@@ -1615,7 +1666,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x035, 0x00040188,
|
||||
0x035, 0x00048188,
|
||||
0x035, 0x00050188,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x035, 0x00000187,
|
||||
0x035, 0x00008187,
|
||||
0x035, 0x00010187,
|
||||
@@ -1625,7 +1676,37 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x035, 0x00040188,
|
||||
0x035, 0x00048188,
|
||||
0x035, 0x00050188,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x035, 0x00000128,
|
||||
+ 0x035, 0x00008128,
|
||||
+ 0x035, 0x00010128,
|
||||
+ 0x035, 0x000201C8,
|
||||
+ 0x035, 0x000281C8,
|
||||
+ 0x035, 0x000301C8,
|
||||
+ 0x035, 0x000401C8,
|
||||
+ 0x035, 0x000481C8,
|
||||
+ 0x035, 0x000501C8,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x035, 0x00000145,
|
||||
+ 0x035, 0x00008145,
|
||||
+ 0x035, 0x00010145,
|
||||
+ 0x035, 0x00020196,
|
||||
+ 0x035, 0x00028196,
|
||||
+ 0x035, 0x00030196,
|
||||
+ 0x035, 0x000401C7,
|
||||
+ 0x035, 0x000481C7,
|
||||
+ 0x035, 0x000501C7,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x035, 0x00000128,
|
||||
+ 0x035, 0x00008128,
|
||||
+ 0x035, 0x00010128,
|
||||
+ 0x035, 0x000201C8,
|
||||
+ 0x035, 0x000281C8,
|
||||
+ 0x035, 0x000301C8,
|
||||
+ 0x035, 0x000401C8,
|
||||
+ 0x035, 0x000481C8,
|
||||
+ 0x035, 0x000501C8,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x035, 0x00000187,
|
||||
0x035, 0x00008187,
|
||||
0x035, 0x00010187,
|
||||
@@ -1635,7 +1716,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x035, 0x00040188,
|
||||
0x035, 0x00048188,
|
||||
0x035, 0x00050188,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x035, 0x00000145,
|
||||
0x035, 0x00008145,
|
||||
0x035, 0x00010145,
|
||||
@@ -1645,11 +1726,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x035, 0x000401C7,
|
||||
0x035, 0x000481C7,
|
||||
0x035, 0x000501C7,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x0EF, 0x00000000,
|
||||
0x018, 0x0001712A,
|
||||
0x0EF, 0x00000010,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x036, 0x00085733,
|
||||
0x036, 0x0008D733,
|
||||
0x036, 0x00095733,
|
||||
@@ -1662,7 +1743,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x036, 0x000CE4B4,
|
||||
0x036, 0x000D64B4,
|
||||
0x036, 0x000DE4B4,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x036, 0x00085733,
|
||||
0x036, 0x0008D733,
|
||||
0x036, 0x00095733,
|
||||
@@ -1675,7 +1756,46 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x036, 0x000CE4B4,
|
||||
0x036, 0x000D64B4,
|
||||
0x036, 0x000DE4B4,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x036, 0x000063B5,
|
||||
+ 0x036, 0x0000E3B5,
|
||||
+ 0x036, 0x000163B5,
|
||||
+ 0x036, 0x0001E3B5,
|
||||
+ 0x036, 0x000263B5,
|
||||
+ 0x036, 0x0002E3B5,
|
||||
+ 0x036, 0x000363B5,
|
||||
+ 0x036, 0x0003E3B5,
|
||||
+ 0x036, 0x000463B5,
|
||||
+ 0x036, 0x0004E3B5,
|
||||
+ 0x036, 0x000563B5,
|
||||
+ 0x036, 0x0005E3B5,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x036, 0x000056B3,
|
||||
+ 0x036, 0x0000D6B3,
|
||||
+ 0x036, 0x000156B3,
|
||||
+ 0x036, 0x0001D6B3,
|
||||
+ 0x036, 0x00026634,
|
||||
+ 0x036, 0x0002E634,
|
||||
+ 0x036, 0x00036634,
|
||||
+ 0x036, 0x0003E634,
|
||||
+ 0x036, 0x000467B4,
|
||||
+ 0x036, 0x0004E7B4,
|
||||
+ 0x036, 0x000567B4,
|
||||
+ 0x036, 0x0005E7B4,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x036, 0x000063B5,
|
||||
+ 0x036, 0x0000E3B5,
|
||||
+ 0x036, 0x000163B5,
|
||||
+ 0x036, 0x0001E3B5,
|
||||
+ 0x036, 0x000263B5,
|
||||
+ 0x036, 0x0002E3B5,
|
||||
+ 0x036, 0x000363B5,
|
||||
+ 0x036, 0x0003E3B5,
|
||||
+ 0x036, 0x000463B5,
|
||||
+ 0x036, 0x0004E3B5,
|
||||
+ 0x036, 0x000563B5,
|
||||
+ 0x036, 0x0005E3B5,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x036, 0x00085733,
|
||||
0x036, 0x0008D733,
|
||||
0x036, 0x00095733,
|
||||
@@ -1688,7 +1808,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x036, 0x000CE4B4,
|
||||
0x036, 0x000D64B4,
|
||||
0x036, 0x000DE4B4,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x036, 0x000056B3,
|
||||
0x036, 0x0000D6B3,
|
||||
0x036, 0x000156B3,
|
||||
@@ -1701,103 +1821,162 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x036, 0x0004E7B4,
|
||||
0x036, 0x000567B4,
|
||||
0x036, 0x0005E7B4,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x0EF, 0x00000000,
|
||||
0x0EF, 0x00000008,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x000001C8,
|
||||
0x03C, 0x00000492,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x000001C8,
|
||||
0x03C, 0x00000492,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x000001B6,
|
||||
+ 0x03C, 0x00000492,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x0000022A,
|
||||
+ 0x03C, 0x00000594,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x000001B6,
|
||||
+ 0x03C, 0x00000492,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x000001C8,
|
||||
0x03C, 0x00000492,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x03C, 0x0000022A,
|
||||
0x03C, 0x00000594,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x00000800,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x00000800,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x00000800,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x03C, 0x00000820,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x00000820,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x00000800,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x03C, 0x00000800,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x03C, 0x00000900,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x0EF, 0x00000000,
|
||||
0x018, 0x0001712A,
|
||||
0x0EF, 0x00000002,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x008, 0x0004E400,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x008, 0x0004E400,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x008, 0x00002000,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x008, 0x00002000,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x008, 0x00002000,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x008, 0x00002000,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x008, 0x0004E400,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x008, 0x00002000,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x0EF, 0x00000000,
|
||||
0x0DF, 0x000000C0,
|
||||
- 0x01F, 0x00040064,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0x01F, 0x00000064,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x058, 0x000A7284,
|
||||
0x059, 0x000600EC,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x058, 0x000A7284,
|
||||
0x059, 0x000600EC,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x058, 0x00081184,
|
||||
+ 0x059, 0x0006016C,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x058, 0x00081184,
|
||||
+ 0x059, 0x0006016C,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x058, 0x00081184,
|
||||
+ 0x059, 0x0006016C,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x058, 0x000A7284,
|
||||
0x059, 0x000600EC,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x058, 0x00081184,
|
||||
0x059, 0x0006016C,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x061, 0x000E8D73,
|
||||
0x062, 0x00093FC5,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x061, 0x000E8D73,
|
||||
0x062, 0x00093FC5,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x061, 0x000EFD83,
|
||||
+ 0x062, 0x00093FCC,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x061, 0x000EAD53,
|
||||
+ 0x062, 0x00093BC4,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x061, 0x000EFD83,
|
||||
+ 0x062, 0x00093FCC,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x061, 0x000E8D73,
|
||||
0x062, 0x00093FC5,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x061, 0x000EAD53,
|
||||
0x062, 0x00093BC4,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x063, 0x000110E9,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x063, 0x000110E9,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x063, 0x000110EB,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x063, 0x000110E9,
|
||||
- 0xFF0F0200, 0xCDEF,
|
||||
- 0x063, 0x000710E9,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x063, 0x000110E9,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x063, 0x000110EB,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x063, 0x000110E9,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x063, 0x000714E9,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0104, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x064, 0x0001C27C,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x064, 0x0001C27C,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x064, 0x0001C27C,
|
||||
- 0xFF0F0204, 0xCDEF,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x064, 0x0001C67C,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x064, 0x0001C27C,
|
||||
- 0xFF0F0404, 0xCDEF,
|
||||
+ 0x90000410, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x064, 0x0001C27C,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x064, 0x0001C67C,
|
||||
- 0xFF0F0104, 0xDEAD,
|
||||
- 0xFF0F0200, 0xABCD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
+ 0x80000111, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x065, 0x00091016,
|
||||
+ 0x90000110, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x065, 0x00091016,
|
||||
+ 0x90000210, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x065, 0x00093016,
|
||||
- 0xFF0F02C0, 0xCDEF,
|
||||
+ 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x065, 0x00093015,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x065, 0x00093015,
|
||||
+ 0x90000200, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x065, 0x00093016,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x065, 0x00091016,
|
||||
- 0xFF0F0200, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x018, 0x00000006,
|
||||
0x0EF, 0x00002000,
|
||||
0x03B, 0x0003824B,
|
||||
@@ -1895,9 +2074,10 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
|
||||
0x0B4, 0x0001214C,
|
||||
0x0B7, 0x0003000C,
|
||||
0x01C, 0x000539D2,
|
||||
+ 0x0C4, 0x000AFE00,
|
||||
0x018, 0x0001F12A,
|
||||
- 0x0FE, 0x00000000,
|
||||
- 0x0FE, 0x00000000,
|
||||
+ 0xFFE, 0x00000000,
|
||||
+ 0xFFE, 0x00000000,
|
||||
0x018, 0x0001712A,
|
||||
|
||||
};
|
||||
@@ -2017,6 +2197,7 @@ u32 RTL8812AE_MAC_REG_ARRAY[] = {
|
||||
u32 RTL8812AE_MAC_1T_ARRAYLEN = ARRAY_SIZE(RTL8812AE_MAC_REG_ARRAY);
|
||||
|
||||
u32 RTL8821AE_MAC_REG_ARRAY[] = {
|
||||
+ 0x421, 0x0000000F,
|
||||
0x428, 0x0000000A,
|
||||
0x429, 0x00000010,
|
||||
0x430, 0x00000000,
|
||||
@@ -2485,7 +2666,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
|
||||
0x81C, 0xA6360001,
|
||||
0x81C, 0xA5380001,
|
||||
0x81C, 0xA43A0001,
|
||||
- 0x81C, 0xA33C0001,
|
||||
+ 0x81C, 0x683C0001,
|
||||
0x81C, 0x673E0001,
|
||||
0x81C, 0x66400001,
|
||||
0x81C, 0x65420001,
|
||||
@@ -2519,7 +2700,66 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
|
||||
0x81C, 0x017A0001,
|
||||
0x81C, 0x017C0001,
|
||||
0x81C, 0x017E0001,
|
||||
- 0xFF0F02C0, 0xABCD,
|
||||
+ 0x8000020c, 0x00000000, 0x40000000, 0x00000000,
|
||||
+ 0x81C, 0xFB000101,
|
||||
+ 0x81C, 0xFA020101,
|
||||
+ 0x81C, 0xF9040101,
|
||||
+ 0x81C, 0xF8060101,
|
||||
+ 0x81C, 0xF7080101,
|
||||
+ 0x81C, 0xF60A0101,
|
||||
+ 0x81C, 0xF50C0101,
|
||||
+ 0x81C, 0xF40E0101,
|
||||
+ 0x81C, 0xF3100101,
|
||||
+ 0x81C, 0xF2120101,
|
||||
+ 0x81C, 0xF1140101,
|
||||
+ 0x81C, 0xF0160101,
|
||||
+ 0x81C, 0xEF180101,
|
||||
+ 0x81C, 0xEE1A0101,
|
||||
+ 0x81C, 0xED1C0101,
|
||||
+ 0x81C, 0xEC1E0101,
|
||||
+ 0x81C, 0xEB200101,
|
||||
+ 0x81C, 0xEA220101,
|
||||
+ 0x81C, 0xE9240101,
|
||||
+ 0x81C, 0xE8260101,
|
||||
+ 0x81C, 0xE7280101,
|
||||
+ 0x81C, 0xE62A0101,
|
||||
+ 0x81C, 0xE52C0101,
|
||||
+ 0x81C, 0xE42E0101,
|
||||
+ 0x81C, 0xE3300101,
|
||||
+ 0x81C, 0xA5320101,
|
||||
+ 0x81C, 0xA4340101,
|
||||
+ 0x81C, 0xA3360101,
|
||||
+ 0x81C, 0x87380101,
|
||||
+ 0x81C, 0x863A0101,
|
||||
+ 0x81C, 0x853C0101,
|
||||
+ 0x81C, 0x843E0101,
|
||||
+ 0x81C, 0x69400101,
|
||||
+ 0x81C, 0x68420101,
|
||||
+ 0x81C, 0x67440101,
|
||||
+ 0x81C, 0x66460101,
|
||||
+ 0x81C, 0x49480101,
|
||||
+ 0x81C, 0x484A0101,
|
||||
+ 0x81C, 0x474C0101,
|
||||
+ 0x81C, 0x2A4E0101,
|
||||
+ 0x81C, 0x29500101,
|
||||
+ 0x81C, 0x28520101,
|
||||
+ 0x81C, 0x27540101,
|
||||
+ 0x81C, 0x26560101,
|
||||
+ 0x81C, 0x25580101,
|
||||
+ 0x81C, 0x245A0101,
|
||||
+ 0x81C, 0x235C0101,
|
||||
+ 0x81C, 0x055E0101,
|
||||
+ 0x81C, 0x04600101,
|
||||
+ 0x81C, 0x03620101,
|
||||
+ 0x81C, 0x02640101,
|
||||
+ 0x81C, 0x01660101,
|
||||
+ 0x81C, 0x01680101,
|
||||
+ 0x81C, 0x016A0101,
|
||||
+ 0x81C, 0x016C0101,
|
||||
+ 0x81C, 0x016E0101,
|
||||
+ 0x81C, 0x01700101,
|
||||
+ 0x81C, 0x01720101,
|
||||
+ 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
|
||||
0x81C, 0xFB000101,
|
||||
0x81C, 0xFA020101,
|
||||
0x81C, 0xF9040101,
|
||||
@@ -2578,7 +2818,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
|
||||
0x81C, 0x016E0101,
|
||||
0x81C, 0x01700101,
|
||||
0x81C, 0x01720101,
|
||||
- 0xCDCDCDCD, 0xCDCD,
|
||||
+ 0xA0000000, 0x00000000,
|
||||
0x81C, 0xFF000101,
|
||||
0x81C, 0xFF020101,
|
||||
0x81C, 0xFE040101,
|
||||
@@ -2637,7 +2877,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
|
||||
0x81C, 0x046E0101,
|
||||
0x81C, 0x03700101,
|
||||
0x81C, 0x02720101,
|
||||
- 0xFF0F02C0, 0xDEAD,
|
||||
+ 0xB0000000, 0x00000000,
|
||||
0x81C, 0x01740101,
|
||||
0x81C, 0x01760101,
|
||||
0x81C, 0x01780101,
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnfnetlink
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
@ -45,7 +45,7 @@ CONFIGURE_ARGS += \
|
||||
--enable-shared
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
lt_prog_compiler_pic=$(FPIC)
|
||||
lt_prog_compiler_pic="$(FPIC)"
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/libnfnetlink
|
||||
|
||||
45
package/network/config/firewall4/Makefile
Normal file
45
package/network/config/firewall4/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# Copyright (C) 2021 Jo-Philipp Wich <jo@mein.io>
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=firewall4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git
|
||||
PKG_SOURCE_DATE:=2021-03-19
|
||||
PKG_SOURCE_VERSION:=59dbb982b7fefa480196dec03ba51c4f8c4dd7ae
|
||||
PKG_MIRROR_HASH:=3f37bea16fa553539d820cc49be92e23d3e1fd9b52db57dcbd06e78070044930
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/firewall4
|
||||
SECTION:=net
|
||||
CATEGORY:=Base system
|
||||
TITLE:=OpenWrt 4th gen firewall
|
||||
DEPENDS:=+ucode +ucode-mod-fs +ucode-mod-uci +ucode-mod-ubus +kmod-nft-core +kmod-nft-fib +kmod-nft-nat +kmod-nft-nat6 +nftables-json
|
||||
CONFLICTS:=firewall kmod-ipt-nat
|
||||
endef
|
||||
|
||||
define Package/firewall4/description
|
||||
This package provides an nftables-based implementation of the UCI firewall
|
||||
sharing the same configuration format.
|
||||
endef
|
||||
|
||||
define Package/firewall4/conffiles
|
||||
/etc/config/firewall
|
||||
/etc/nftables.d/
|
||||
endef
|
||||
|
||||
define Package/firewall4/install
|
||||
$(CP) -a $(PKG_BUILD_DIR)/root/* $(1)/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,firewall4))
|
||||
@ -1,51 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=igmpproxy
|
||||
PKG_VERSION:=0.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/pali/igmpproxy/releases/download/${PKG_VERSION}/
|
||||
PKG_HASH:=d1fc244cb2fbbf99f720bda3e841fe59ece9b6919073790b4b892739b1b844eb
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_LICENSE:=GPL-2.0+
|
||||
|
||||
define Package/igmpproxy
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Routing and Redirection
|
||||
DEPENDS:=+USE_GLIBC:librt
|
||||
TITLE:=Multicast Routing Daemon
|
||||
URL:=http://sourceforge.net/projects/igmpproxy
|
||||
endef
|
||||
|
||||
define Package/igmpproxy/description
|
||||
IGMPproxy is a simple dynamic Multicast Routing Daemon using
|
||||
only IGMP signalling (Internet Group Management Protocol).
|
||||
endef
|
||||
|
||||
define Package/igmpproxy/conffiles
|
||||
/etc/config/igmpproxy
|
||||
endef
|
||||
|
||||
define Package/igmpproxy/install
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) ./files/igmpproxy.config $(1)/etc/config/igmpproxy
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/igmpproxy.init $(1)/etc/init.d/igmpproxy
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/igmpproxy $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,igmpproxy))
|
||||
@ -1,14 +0,0 @@
|
||||
config igmpproxy
|
||||
option quickleave 1
|
||||
# option verbose [0-3](none, minimal[default], more, maximum)
|
||||
|
||||
config phyint
|
||||
option network wan
|
||||
option zone wan
|
||||
option direction upstream
|
||||
list altnet 192.168.1.0/24
|
||||
|
||||
config phyint
|
||||
option network lan
|
||||
option zone lan
|
||||
option direction downstream
|
||||
@ -1,156 +0,0 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2010-2014 OpenWrt.org
|
||||
|
||||
START=99
|
||||
USE_PROCD=1
|
||||
PROG=/usr/sbin/igmpproxy
|
||||
CONFIGFILE=/var/etc/igmpproxy.conf
|
||||
|
||||
igmp_header() {
|
||||
local quickleave verbose
|
||||
config_get_bool quickleave "$1" quickleave 0
|
||||
config_get verbose "$1" verbose 1
|
||||
|
||||
[ $verbose = "0" ] && logopts="-d"
|
||||
[ $verbose = "2" ] && logopts="-v"
|
||||
[ $verbose = "3" ] && logopts="-v -v"
|
||||
|
||||
mkdir -p /var/etc
|
||||
rm -f /var/etc/igmpproxy.conf
|
||||
[ $quickleave -gt 0 ] && echo "quickleave" >> /var/etc/igmpproxy.conf
|
||||
|
||||
[ -L /etc/igmpproxy.conf ] || ln -nsf /var/etc/igmpproxy.conf /etc/igmpproxy.conf
|
||||
}
|
||||
|
||||
igmp_add_phyint() {
|
||||
local network direction altnets device up
|
||||
|
||||
config_get network $1 network
|
||||
config_get direction $1 direction
|
||||
config_get altnets $1 altnet
|
||||
|
||||
local status="$(ubus -S call "network.interface.$network" status)"
|
||||
[ -n "$status" ] || return
|
||||
|
||||
json_load "$status"
|
||||
json_get_var device l3_device
|
||||
json_get_var up up
|
||||
|
||||
[ -n "$device" -a "$up" = "1" ] || {
|
||||
procd_append_param error "$network is not up"
|
||||
return;
|
||||
}
|
||||
|
||||
append netdevs "$device"
|
||||
|
||||
[ "$direction" = "upstream" ] && has_upstream=1
|
||||
|
||||
echo -e "\nphyint $device $direction ratelimit 0 threshold 1" >> /var/etc/igmpproxy.conf
|
||||
|
||||
if [ -n "$altnets" ]; then
|
||||
local altnet
|
||||
for altnet in $altnets; do
|
||||
echo -e "\taltnet $altnet" >> /var/etc/igmpproxy.conf
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
igmp_add_network() {
|
||||
local network
|
||||
|
||||
config_get network $1 network
|
||||
procd_add_interface_trigger "interface.*" $network /etc/init.d/igmpproxy reload
|
||||
}
|
||||
|
||||
igmp_add_firewall_routing() {
|
||||
config_get direction $1 direction
|
||||
config_get zone $1 zone
|
||||
|
||||
if [ "$direction" != "downstream" ] || [ -z "$zone" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# First drop SSDP packets then accept all other multicast
|
||||
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string src "$upstream"
|
||||
json_add_string dest "$zone"
|
||||
json_add_string family ipv4
|
||||
json_add_string proto udp
|
||||
json_add_string dest_ip "239.255.255.250"
|
||||
json_add_string target DROP
|
||||
json_close_object
|
||||
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string src "$upstream"
|
||||
json_add_string dest "$zone"
|
||||
json_add_string family ipv4
|
||||
json_add_string proto udp
|
||||
json_add_string dest_ip "224.0.0.0/4"
|
||||
json_add_string target ACCEPT
|
||||
json_close_object
|
||||
}
|
||||
|
||||
igmp_add_firewall_network() {
|
||||
config_get direction $1 direction
|
||||
config_get zone $1 zone
|
||||
|
||||
[ ! -z "$zone" ] || return
|
||||
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string src "$zone"
|
||||
json_add_string family ipv4
|
||||
json_add_string proto igmp
|
||||
json_add_string target ACCEPT
|
||||
json_close_object
|
||||
|
||||
[ "$direction" = "upstream" ] && {
|
||||
upstream="$zone"
|
||||
config_foreach igmp_add_firewall_routing phyint
|
||||
}
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "igmpproxy"
|
||||
config_foreach igmp_add_network phyint
|
||||
}
|
||||
|
||||
start_service() {
|
||||
has_upstream=
|
||||
netdevs=
|
||||
logopts=
|
||||
config_load igmpproxy
|
||||
|
||||
config_foreach igmp_header igmpproxy
|
||||
config_foreach igmp_add_phyint phyint
|
||||
[ -n "$has_upstream" ] || return
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command $PROG '-n'
|
||||
[ -n "$logopts" ] && procd_append_param command $logopts
|
||||
procd_append_param command $CONFIGFILE
|
||||
procd_set_param file $CONFIGFILE
|
||||
procd_set_param netdev $netdevs
|
||||
procd_set_param respawn
|
||||
|
||||
procd_open_data
|
||||
|
||||
json_add_array firewall
|
||||
config_foreach igmp_add_firewall_network phyint
|
||||
json_close_array
|
||||
|
||||
procd_close_data
|
||||
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
service_started() {
|
||||
procd_set_config_changed firewall
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
procd_set_config_changed firewall
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
--- a/pppd/Makefile.linux
|
||||
+++ b/pppd/Makefile.linux
|
||||
@@ -49,7 +49,8 @@ MPPE=y
|
||||
# Uncomment the next line to include support for PPP packet filtering.
|
||||
# This requires that the libpcap library and headers be installed
|
||||
# and that the kernel driver support PPP packet filtering.
|
||||
-#FILTER=y
|
||||
+# libpcap statically linked in OpenWRT, hence disabled here.
|
||||
+FILTER=
|
||||
|
||||
# Support for precompiled filters
|
||||
PRECOMPILED_FILTER=y
|
||||
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uhttpd.git
|
||||
PKG_SOURCE_DATE:=2020-11-23
|
||||
PKG_SOURCE_VERSION:=f53a63999784bcb7dc513e221f3f25dd3de2f35e
|
||||
PKG_MIRROR_HASH:=b2b71f91a3affd1518b2887d2786be30ae0ac5204bbf65c9a84595603847995c
|
||||
PKG_SOURCE_DATE:=2021-03-21
|
||||
PKG_SOURCE_VERSION:=15346de8d3ba422002496526ee24c62a3601ab8c
|
||||
PKG_MIRROR_HASH:=819424d071ed7c8888f9ca66f679907831becc59a67dd4a5ec521d5fba0a3171
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
commit=0
|
||||
|
||||
if [ -z "$(uci -q get uhttpd.main.ubus_prefix)" ]; then
|
||||
uci set uhttpd.main.ubus_prefix=/ubus
|
||||
uci commit uhttpd
|
||||
commit=1
|
||||
fi
|
||||
|
||||
[ "$(uci -q get uhttpd.main.ubus_socket)" = "/var/run/ubus.sock" ] && {
|
||||
uci set uhttpd.main.ubus_socket='/var/run/ubus/ubus.sock'
|
||||
uci commit uhttpd
|
||||
commit=1
|
||||
}
|
||||
|
||||
[ "$commit" = 1 ] && uci commit uhttpd && /etc/init.d/uhttpd reload
|
||||
|
||||
exit 0
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
"pipe",
|
||||
"poll",
|
||||
"fcntl64",
|
||||
"fstat",
|
||||
"epoll_create",
|
||||
"epoll_create1",
|
||||
"epoll_ctl",
|
||||
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=iproute2
|
||||
PKG_VERSION:=5.11.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
|
||||
@ -33,29 +33,46 @@ endef
|
||||
|
||||
define Package/ip-tiny
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Routing control utility (Minimal)
|
||||
VARIANT:=tiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
|
||||
DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
TITLE:=Routing control utility (minimal)
|
||||
VARIANT:=iptiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
|
||||
DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/ip-full
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Routing control utility (Full)
|
||||
VARIANT:=full
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full
|
||||
DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
TITLE:=Routing control utility (full)
|
||||
VARIANT:=ipfull
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full
|
||||
DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc
|
||||
define Package/tc-tiny
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control utility
|
||||
VARIANT:=tc
|
||||
TITLE:=Traffic control utility (minimal)
|
||||
VARIANT:=tctiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=tc
|
||||
DEPENDS:=+kmod-sched-core +libxtables +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
ALTERNATIVES:=200:/sbin/tc:/usr/libexec/tc-tiny
|
||||
DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc-full
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control utility (full)
|
||||
VARIANT:=tcfull
|
||||
PROVIDES:=tc
|
||||
ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-full
|
||||
DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc-mod-iptables
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control module - iptables action
|
||||
DEPENDS:=+libxtables
|
||||
endef
|
||||
|
||||
define Package/genl
|
||||
@ -94,18 +111,22 @@ $(call Package/iproute2/Default)
|
||||
DEPENDS:=+libmnl
|
||||
endef
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tiny)
|
||||
ifeq ($(BUILD_VARIANT),iptiny)
|
||||
IP_CONFIG_TINY:=y
|
||||
LIBBPF_FORCE:=off
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),full)
|
||||
ifeq ($(BUILD_VARIANT),ipfull)
|
||||
HAVE_ELF:=y
|
||||
LIBBPF_FORCE:=on
|
||||
HAVE_CAP:=n
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tc)
|
||||
ifeq ($(BUILD_VARIANT),tctiny)
|
||||
LIBBPF_FORCE:=off
|
||||
SHARED_LIBS:=y
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tcfull)
|
||||
HAVE_ELF:=y
|
||||
LIBBPF_FORCE:=on
|
||||
SHARED_LIBS:=y
|
||||
@ -167,15 +188,19 @@ define Package/ip-full/install
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-full
|
||||
endef
|
||||
|
||||
define Package/tc/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_BIN) ./files/15-teql $(1)/etc/hotplug.d/iface/
|
||||
ifeq ($(SHARED_LIBS),y)
|
||||
define Package/tc-tiny/install
|
||||
$(INSTALL_DIR) $(1)/usr/libexec
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-tiny
|
||||
endef
|
||||
|
||||
define Package/tc-full/install
|
||||
$(INSTALL_DIR) $(1)/usr/libexec
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full
|
||||
endef
|
||||
|
||||
define Package/tc-mod-iptables/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/tc
|
||||
$(CP) $(PKG_BUILD_DIR)/tc/*.so $(1)/usr/lib/tc
|
||||
endif
|
||||
$(CP) $(PKG_BUILD_DIR)/tc/m_xt.so $(1)/usr/lib/tc
|
||||
endef
|
||||
|
||||
define Package/genl/install
|
||||
@ -210,7 +235,9 @@ endef
|
||||
|
||||
$(eval $(call BuildPackage,ip-tiny))
|
||||
$(eval $(call BuildPackage,ip-full))
|
||||
$(eval $(call BuildPackage,tc))
|
||||
$(eval $(call BuildPackage,tc-tiny))
|
||||
$(eval $(call BuildPackage,tc-full))
|
||||
$(eval $(call BuildPackage,tc-mod-iptables))
|
||||
$(eval $(call BuildPackage,genl))
|
||||
$(eval $(call BuildPackage,ip-bridge))
|
||||
$(eval $(call BuildPackage,ss))
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
From c77310119f9a5f99221dd967c5eb0c7a26094b41 Mon Sep 17 00:00:00 2001
|
||||
From: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
Date: Wed, 3 Mar 2021 10:29:24 -0800
|
||||
Subject: [PATCH] lib/bpf: add missing limits.h includes
|
||||
|
||||
Several functions in bpf_glue.c and bpf_libbpf.c rely on PATH_MAX, which is
|
||||
normally included from <limits.h> in other iproute2 source files.
|
||||
|
||||
It fixes errors seen using gcc 10.2.0, binutils 2.35.1 and musl 1.1.24:
|
||||
|
||||
bpf_glue.c: In function 'get_libbpf_version':
|
||||
bpf_glue.c:46:11: error: 'PATH_MAX' undeclared (first use in this function);
|
||||
did you mean 'AF_MAX'?
|
||||
46 | char buf[PATH_MAX], *s;
|
||||
| ^~~~~~~~
|
||||
| AF_MAX
|
||||
|
||||
Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
---
|
||||
lib/bpf_glue.c | 2 ++
|
||||
lib/bpf_libbpf.c | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
--- a/lib/bpf_glue.c
|
||||
+++ b/lib/bpf_glue.c
|
||||
@@ -4,6 +4,8 @@
|
||||
* Authors: Hangbin Liu <haliu@redhat.com>
|
||||
*
|
||||
*/
|
||||
+#include <limits.h>
|
||||
+
|
||||
#include "bpf_util.h"
|
||||
#ifdef HAVE_LIBBPF
|
||||
#include <bpf/bpf.h>
|
||||
--- a/lib/bpf_libbpf.c
|
||||
+++ b/lib/bpf_libbpf.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#include <libelf.h>
|
||||
#include <gelf.h>
|
||||
@ -12,9 +12,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/fstools.git
|
||||
PKG_MIRROR_HASH:=5e55b446e3e171cd609d94fe00cf528fc5b784e9a4cb911730ba3ee9622e2e0b
|
||||
PKG_SOURCE_DATE:=2021-03-05
|
||||
PKG_SOURCE_VERSION:=3c38f0c889177dfac51fa7213c567a110709be71
|
||||
PKG_MIRROR_HASH:=c9a5647f69dd17ce9d7cd535c9e58055171f7f4af73d2985567ccfc18a2be97f
|
||||
PKG_SOURCE_DATE:=2021-03-19
|
||||
PKG_SOURCE_VERSION:=964d1e3af0e111bad6d393f8a3be702e334c2398
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -12,9 +12,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
|
||||
PKG_SOURCE_DATE:=2021-03-08
|
||||
PKG_SOURCE_VERSION:=2cfc26f8456a4d5ba3836c914a742f3d00bad781
|
||||
PKG_MIRROR_HASH:=4b514143949b6ea5799a7b0b2f2f4ad5f084f88929eb0ac5a01ffc7852a71d22
|
||||
PKG_SOURCE_DATE:=2021-03-21
|
||||
PKG_SOURCE_VERSION:=7ee456346baca29af40a6d1a5071e57f32ebf762
|
||||
PKG_MIRROR_HASH:=aad23bc8f0548a46e60e4967b3f6645f03bad61c395269244c3509cc41f2c3d0
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
@ -82,7 +82,7 @@ endef
|
||||
define Package/procd-seccomp
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=@(arm||armeb||mips||mipsel||i386||powerpc||x86_64) @!TARGET_uml \
|
||||
DEPENDS:=@(aarch64||arm||armeb||mips||mipsel||i386||powerpc||x86_64) @!TARGET_uml \
|
||||
@KERNEL_SECCOMP +libubox +libblobmsg-json
|
||||
TITLE:=OpenWrt process seccomp helper + utrace
|
||||
endef
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
From 7eed119b84b0f7efb7ef351940dd895dc2379eb3 Mon Sep 17 00:00:00 2001
|
||||
From: Russell Senior <russell@personaltelco.net>
|
||||
Date: Mon, 15 Mar 2021 23:27:58 -0700
|
||||
Subject: [PATCH v2] udhcpc: ignore zero-length DHCP options
|
||||
|
||||
Discovered that the DHCP server on a TrendNet router (unknown model)
|
||||
provides a zero-length option 12 (Host Name) in the DHCP ACK message. This
|
||||
has the effect of causing udhcpc to drop the rest of the options, including
|
||||
option 51 (IP Address Lease Time), 3 (Router), and 6 (Domain Name Server),
|
||||
most importantly leaving the OpenWrt device with no default gateway.
|
||||
|
||||
The TrendNet behavior violates RFC 2132, which in Section 3.14 declares that
|
||||
option 12 has a miniumum length of 1 octet. It is perhaps not a cosmic coincidence
|
||||
that I found this behavior on Pi Day.
|
||||
|
||||
This patch allows zero length options without bailing out, by simply skipping them.
|
||||
|
||||
v2 changelog:
|
||||
* advance the optionptr by two bytes, not one;
|
||||
* add a message to warn about the rfc violation;
|
||||
|
||||
Signed-off-by: Russell Senior <russell@personaltelco.net>
|
||||
---
|
||||
networking/udhcp/common.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
|
||||
index 4bc719001..a16fd85d0 100644
|
||||
--- a/networking/udhcp/common.c
|
||||
+++ b/networking/udhcp/common.c
|
||||
@@ -277,8 +277,13 @@ uint8_t* FAST_FUNC udhcp_scan_options(struct dhcp_packet *packet, struct dhcp_sc
|
||||
goto complain; /* complain and return NULL */
|
||||
len = 2 + scan_state->optionptr[OPT_LEN];
|
||||
scan_state->rem -= len;
|
||||
- /* So far no valid option with length 0 known. */
|
||||
- if (scan_state->rem < 0 || scan_state->optionptr[OPT_LEN] == 0)
|
||||
+ /* skip any options with zero length */
|
||||
+ if (scan_state->optionptr[OPT_LEN] == 0) {
|
||||
+ scan_state->optionptr += 2;
|
||||
+ bb_simple_error_msg("warning: zero length DHCP option violates rfc2132, skipping");
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (scan_state->rem < 0)
|
||||
goto complain; /* complain and return NULL */
|
||||
|
||||
if (scan_state->optionptr[OPT_CODE] == DHCP_OPTION_OVERLOAD) {
|
||||
--
|
||||
2.30.1
|
||||
|
||||
116
package/utils/ucode/Makefile
Normal file
116
package/utils/ucode/Makefile
Normal file
@ -0,0 +1,116 @@
|
||||
#
|
||||
# Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ucode
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
PKG_SOURCE_DATE:=2021-03-19
|
||||
PKG_SOURCE_VERSION:=4a5b9010ccc56fdf288fe758023af445feb93fad
|
||||
PKG_MIRROR_HASH:=145a2ce69e14cae9b448de85b94c7a817ba3aea04b1611399186ad36fb88958e
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/ucode/default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=ucode - Tiny scripting and templating language
|
||||
endef
|
||||
|
||||
define Package/ucode
|
||||
$(Package/ucode/default)
|
||||
DEPENDS:=+libjson-c
|
||||
endef
|
||||
|
||||
define Package/ucode/description
|
||||
ucode is a tiny script interpreter featuring an ECMAScript oriented
|
||||
script language and Jinja-inspired templating.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-fs
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (filesystem module)
|
||||
DEPENDS:=ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-fs/description
|
||||
The filesystem plugin module allows interaction with the local file system.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-math
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (math module)
|
||||
DEPENDS:=ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-math/description
|
||||
The math plugin provides access to various <math.h> procedures.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-ubus
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (ubus module)
|
||||
DEPENDS:=ucode +libubus +libblobmsg-json
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-ubus/description
|
||||
The ubus module allows ucode template scripts to enumerate and invoke ubus
|
||||
procedures.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-uci
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (uci module)
|
||||
DEPENDS:=ucode +libuci
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uci/description
|
||||
The uci module allows templates to read and modify uci configuration.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ucode $(1)/usr/bin/ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-fs/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/fs.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-math/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/math.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-ubus/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/ubus.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uci/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/uci.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,ucode))
|
||||
$(eval $(call BuildPackage,ucode-mod-fs))
|
||||
$(eval $(call BuildPackage,ucode-mod-math))
|
||||
$(eval $(call BuildPackage,ucode-mod-ubus))
|
||||
$(eval $(call BuildPackage,ucode-mod-uci))
|
||||
@ -38,9 +38,10 @@ if output:
|
||||
"make",
|
||||
"--no-print-directory",
|
||||
"-C",
|
||||
"target/linux/{}".format(output['target'].split('/')[0]),
|
||||
"target/linux/{}".format(output["target"].split("/")[0]),
|
||||
"val.DEFAULT_PACKAGES",
|
||||
"val.ARCH_PACKAGES",
|
||||
"DUMP=1",
|
||||
],
|
||||
stdout=PIPE,
|
||||
stderr=PIPE,
|
||||
|
||||
@ -48,9 +48,9 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
#include "xhci.h"
|
||||
#include "xhci-trace.h"
|
||||
@@ -63,6 +65,44 @@
|
||||
#define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
|
||||
@@ -64,6 +66,44 @@
|
||||
#define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
|
||||
#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
|
||||
|
||||
+#define RENESAS_FW_VERSION 0x6C
|
||||
+#define RENESAS_ROM_CONFIG 0xF0
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static const char hcd_name[] = "xhci_hcd";
|
||||
|
||||
static struct hc_driver __read_mostly xhci_pci_hc_driver;
|
||||
@@ -298,6 +338,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
@@ -307,6 +347,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
/* called during probe() after chip reset completes */
|
||||
static int xhci_pci_setup(struct usb_hcd *hcd)
|
||||
{
|
||||
@@ -339,6 +1246,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
@@ -348,6 +1255,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
struct hc_driver *driver;
|
||||
struct usb_hcd *hcd;
|
||||
|
||||
@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
driver = (struct hc_driver *)id->driver_data;
|
||||
|
||||
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
|
||||
@@ -400,6 +1328,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -409,6 +1337,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
|
||||
@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
xhci = hcd_to_xhci(pci_get_drvdata(dev));
|
||||
xhci->xhc_state |= XHCI_STATE_REMOVING;
|
||||
|
||||
@@ -539,6 +1477,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
@@ -548,6 +1486,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
|
||||
usb_enable_intel_xhci_ports(pdev);
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ produce a noisy warning.
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -285,6 +285,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -286,6 +286,7 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x0015) {
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
xhci->quirks |= XHCI_ZERO_64B_REGS;
|
||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1882,6 +1882,7 @@ struct xhci_hcd {
|
||||
@@ -1883,6 +1883,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
||||
@ -140,6 +140,7 @@ CONFIG_HAVE_NET_DSA=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_PCI=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
|
||||
@ -92,7 +92,6 @@ CONFIG_ARM64_VHE=y
|
||||
CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
|
||||
CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
|
||||
CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
CONFIG_ATOMIC64_SELFTEST=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
@ -104,7 +103,6 @@ CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
CONFIG_COMMON_CLK_VERSATILE=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_CRYPTO_AES_ARM64=y
|
||||
@ -122,12 +120,8 @@ CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||
CONFIG_CRYPTO_SHA256_ARM64=y
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||
# CONFIG_CRYPTO_SHA3_ARM64 is not set
|
||||
CONFIG_CRYPTO_SHA512_ARM64=y
|
||||
# CONFIG_CRYPTO_SHA512_ARM64_CE is not set
|
||||
CONFIG_CRYPTO_SIMD=y
|
||||
# CONFIG_CRYPTO_SM3_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SM4_ARM64_CE is not set
|
||||
CONFIG_DMA_DIRECT_REMAP=y
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_DRM=y
|
||||
@ -138,7 +132,6 @@ CONFIG_DRM_PANEL=y
|
||||
CONFIG_DRM_PANEL_BRIDGE=y
|
||||
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
|
||||
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
# CONFIG_DRM_PANEL_SIMPLE is not set
|
||||
CONFIG_DRM_QXL=y
|
||||
CONFIG_DRM_RCAR_WRITEBACK=y
|
||||
CONFIG_DRM_TTM=y
|
||||
@ -218,7 +211,6 @@ CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_NEED_SG_DMA_LENGTH=y
|
||||
CONFIG_NO_HZ=y
|
||||
@ -226,8 +218,6 @@ CONFIG_NO_HZ_COMMON=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NR_CPUS=64
|
||||
# CONFIG_NUMA is not set
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
# CONFIG_PCIE_AL is not set
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_CLK=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
|
||||
@ -229,7 +229,6 @@ CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||
|
||||
26
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-rb.dts
Normal file
26
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-rb.dts
Normal file
@ -0,0 +1,26 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "ar9132_buffalo_wzr-hp-g300nh.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "buffalo,wzr-hp-g300nh-rb", "qca,ar9132";
|
||||
model = "Buffalo WZR-HP-G300NH (rtl8366rb)";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
compatible = "realtek,rtl8366rb";
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
pll-data = <0x1f000000 0x13000a44 0x00441099>;
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
|
||||
pll-data = <0x100 0x13000a44 0x00441099>;
|
||||
};
|
||||
26
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-s.dts
Normal file
26
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-s.dts
Normal file
@ -0,0 +1,26 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "ar9132_buffalo_wzr-hp-g300nh.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "buffalo,wzr-hp-g300nh-s", "qca,ar9132";
|
||||
model = "Buffalo WZR-HP-G300NH (rtl8366s)";
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
|
||||
compatible = "realtek,rtl8366s";
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
pll-data = <0x1e000100 0x13000a44 0x00441099>;
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
|
||||
pll-data = <0x1e000100 0x13000a44 0x00441099>;
|
||||
};
|
||||
249
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
Normal file
249
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
Normal file
@ -0,0 +1,249 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "ar9132.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
led-boot = &led_diag;
|
||||
led-failsafe = &led_security;
|
||||
led-upgrade = &led_diag;
|
||||
};
|
||||
|
||||
clock40mhz: ref {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <40000000>;
|
||||
};
|
||||
|
||||
gpio2: gpio-extender {
|
||||
compatible = "nxp,74hc153-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
// GPIOs used by this node
|
||||
gpio-s0 = <&gpio 9 GPIO_ACTIVE_HIGH>;
|
||||
gpio-s1 = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
gpio-1y = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
gpio-2y = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
|
||||
aoss {
|
||||
label = "aoss";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
router_on {
|
||||
label = "router_on";
|
||||
linux,code = <BTN_5>;
|
||||
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
movie_off {
|
||||
label = "movie_off";
|
||||
linux,code = <BTN_3>;
|
||||
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
usb {
|
||||
label = "usb";
|
||||
linux,code = <BTN_2>;
|
||||
gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
router_auto {
|
||||
label = "router_auto";
|
||||
linux,code = <BTN_6>;
|
||||
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
movie_on {
|
||||
label = "movie_on";
|
||||
linux,code = <BTN_4>;
|
||||
gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
};
|
||||
|
||||
flash@1e000000 {
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x1e000000 0x2000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <2>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0000000 0x0040000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0040000 0x0020000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
compatible = "denx,uimage";
|
||||
label = "firmware";
|
||||
reg = <0x0060000 0x1f60000>;
|
||||
};
|
||||
|
||||
partition@1fc0000 {
|
||||
label = "user_property";
|
||||
reg = <0x1fc0000 0x0020000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
art: partition@1fe0000 {
|
||||
label = "art";
|
||||
reg = <0x1fe0000 0x020000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
usb {
|
||||
label = "blue:usb";
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||
trigger-sources = <&hub_port>;
|
||||
linux,default-trigger = "usbport";
|
||||
};
|
||||
|
||||
led_diag: diag {
|
||||
label = "red:diag";
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wireless {
|
||||
label = "green:wireless";
|
||||
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
led_security: security {
|
||||
label = "amber:security";
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
router {
|
||||
label = "green:router";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
switch: switch {
|
||||
status = "disabled";
|
||||
|
||||
gpio-sda = <&gpio 19 GPIO_ACTIVE_HIGH>;
|
||||
gpio-sck = <&gpio 20 GPIO_ACTIVE_HIGH>;
|
||||
mii-bus = <&mdio0>;
|
||||
|
||||
mdio-bus {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy-mask = <0x10>;
|
||||
|
||||
phy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
phy-mode = "rgmii";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "disabled";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
mtd-mac-address = <&art 0x1120c>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "disabled";
|
||||
|
||||
compatible = "qca,ar9130-eth", "syscon";
|
||||
reg = <0x1a000000 0x200
|
||||
0x18070004 0x4>;
|
||||
|
||||
pll-reg = <0x4 0x18 22>;
|
||||
pll-handle = <&pll>;
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&phy4>;
|
||||
resets = <&rst 13>;
|
||||
reset-names = "mac";
|
||||
qca,mac-idx = <1>;
|
||||
mtd-mac-address = <&art 0x1120c>;
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
mtd-cal-data = <&art 0x11000>;
|
||||
};
|
||||
|
||||
&uart {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pll {
|
||||
clocks = <&clock40mhz>;
|
||||
};
|
||||
|
||||
&usb {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hub_port: port@1 {
|
||||
reg = <1>;
|
||||
#trigger-source-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_phy {
|
||||
status = "okay";
|
||||
};
|
||||
@ -83,6 +83,10 @@ avm,fritzdvbc)
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:rssimediumhigh" "wlan1" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:rssihigh" "wlan1" "80" "100"
|
||||
;;
|
||||
buffalo,wzr-hp-g300nh-rb|\
|
||||
buffalo,wzr-hp-g300nh-s)
|
||||
ucidef_set_led_netdev "router" "Router" "green:router" "eth1"
|
||||
;;
|
||||
comfast,cf-e110n-v2)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth1"
|
||||
ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x02"
|
||||
|
||||
@ -155,6 +155,13 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
||||
;;
|
||||
buffalo,wzr-hp-g300nh-rb|\
|
||||
buffalo,wzr-hp-g300nh-s|\
|
||||
dlink,dir-825-b1)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
|
||||
;;
|
||||
buffalo,wzr-hp-g302h-a1a0)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
|
||||
@ -211,11 +218,6 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:2" "2:lan:1"
|
||||
;;
|
||||
dlink,dir-825-b1)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1|\
|
||||
dlink,dir-842-c1|\
|
||||
@ -223,6 +225,7 @@ ath79_setup_interfaces()
|
||||
dlink,dir-842-c3|\
|
||||
dlink,dir-859-a1|\
|
||||
engenius,epg5000|\
|
||||
sitecom,wlr-7100|\
|
||||
tplink,archer-c2-v3|\
|
||||
tplink,tl-wr1043nd-v4|\
|
||||
tplink,tl-wr1043n-v5)
|
||||
@ -262,7 +265,6 @@ ath79_setup_interfaces()
|
||||
iodata,wn-ac1600dgr2|\
|
||||
iodata,wn-ag300dgr|\
|
||||
pcs,cr5000|\
|
||||
sitecom,wlr-7100|\
|
||||
wd,mynet-n750|\
|
||||
xwrt,csac)
|
||||
ucidef_add_switch "switch0" \
|
||||
|
||||
@ -480,6 +480,29 @@ define Device/buffalo_wzr-hp-ag300h
|
||||
endef
|
||||
TARGET_DEVICES += buffalo_wzr-hp-ag300h
|
||||
|
||||
define Device/buffalo_wzr-hp-g300nh
|
||||
$(Device/buffalo_common)
|
||||
SOC := ar9132
|
||||
BUFFALO_PRODUCT := WZR-HP-G300NH
|
||||
BUFFALO_HWVER := 1
|
||||
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-gpio-nxp-74hc153
|
||||
BLOCKSIZE := 128k
|
||||
IMAGE_SIZE := 32128k
|
||||
SUPPORTED_DEVICES += wzr-hp-g300nh
|
||||
endef
|
||||
|
||||
define Device/buffalo_wzr-hp-g300nh-rb
|
||||
$(Device/buffalo_wzr-hp-g300nh)
|
||||
DEVICE_MODEL := WZR-HP-G300NH (RTL8366RB switch)
|
||||
endef
|
||||
TARGET_DEVICES += buffalo_wzr-hp-g300nh-rb
|
||||
|
||||
define Device/buffalo_wzr-hp-g300nh-s
|
||||
$(Device/buffalo_wzr-hp-g300nh)
|
||||
DEVICE_MODEL := WZR-HP-G300NH (RTL8366S switch)
|
||||
endef
|
||||
TARGET_DEVICES += buffalo_wzr-hp-g300nh-s
|
||||
|
||||
define Device/buffalo_wzr-hp-g302h-a1a0
|
||||
$(Device/buffalo_common)
|
||||
SOC := ar7242
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
From f1f811410af297c848e9ec17eaa280d190fdce10 Mon Sep 17 00:00:00 2001
|
||||
From: Mauri Sandberg <sandberg@mailfence.com>
|
||||
Date: Tue, 23 Feb 2021 18:09:31 +0200
|
||||
Subject: [PATCH] mtd: cfi_cmdset_0002: AMD chip 0x2201 - write words
|
||||
|
||||
Buffer writes do not work with AMD chip 0x2201. The chip in question
|
||||
is a AMD/Spansion/Cypress Semiconductor S29GL256N and datasheet [1]
|
||||
talks about writing buffers being possible. While waiting for a neater
|
||||
solution resort to writing word-sized chunks only.
|
||||
|
||||
Without the patch kernel logs will be flooded with entries like below:
|
||||
|
||||
jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
|
||||
jffs2_build_filesystem(): unlocking the mtd device...
|
||||
done.
|
||||
jffs2_build_filesystem(): erasing all blocks after the end marker...
|
||||
MTD do_write_buffer_wait(): software timeout, address:0x01ec000a.
|
||||
jffs2: Write clean marker to block at 0x01920000 failed: -5
|
||||
MTD do_write_buffer_wait(): software timeout, address:0x01e2000a.
|
||||
jffs2: Write clean marker to block at 0x01880000 failed: -5
|
||||
MTD do_write_buffer_wait(): software timeout, address:0x01e0000a.
|
||||
jffs2: Write clean marker to block at 0x01860000 failed: -5
|
||||
MTD do_write_buffer_wait(): software timeout, address:0x01dc000a.
|
||||
jffs2: Write clean marker to block at 0x01820000 failed: -5
|
||||
MTD do_write_buffer_wait(): software timeout, address:0x01da000a.
|
||||
jffs2: Write clean marker to block at 0x01800000 failed: -5
|
||||
...
|
||||
|
||||
Tested on a Buffalo wzr-hp-g300nh running kernel 5.10.16.
|
||||
|
||||
[1] https://www.cypress.com/file/219941/download
|
||||
or https://datasheetspdf.com/pdf-file/565708/SPANSION/S29GL256N/1
|
||||
|
||||
Signed-off-by: Mauri Sandberg <sandberg@mailfence.com>
|
||||
---
|
||||
drivers/mtd/chips/cfi_cmdset_0002.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||
index a1f3e1031c3d..28b6f3583f8a 100644
|
||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||
@@ -272,6 +272,10 @@ static void fixup_use_write_buffers(struct mtd_info *mtd)
|
||||
{
|
||||
struct map_info *map = mtd->priv;
|
||||
struct cfi_private *cfi = map->fldrv_priv;
|
||||
+
|
||||
+ if ((cfi->mfr == CFI_MFR_AMD) && (cfi->id == 0x2201))
|
||||
+ return;
|
||||
+
|
||||
if (cfi->cfiq->BufWriteTimeoutTyp) {
|
||||
pr_debug("Using buffer write method\n");
|
||||
mtd->_write = cfi_amdstd_write_buffers;
|
||||
|
||||
base-commit: 5de15b610f785f0e188fefb707f0b19de156968a
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@ -307,7 +307,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_IPROC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
# CONFIG_MTD is not set
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
|
||||
@ -52,7 +52,6 @@ CONFIG_ARM_GIC_V2M=y
|
||||
CONFIG_ARM_GIC_V3=y
|
||||
CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
|
||||
# CONFIG_ARM_SCMI_PROTOCOL is not set
|
||||
@ -310,7 +309,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_IPROC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
# CONFIG_MTD is not set
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
@ -324,7 +322,6 @@ CONFIG_NO_HZ_COMMON=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_NVMEM=y
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_CONFIGFS=y
|
||||
@ -341,7 +338,6 @@ CONFIG_OF_RESOLVE=y
|
||||
CONFIG_PADATA=y
|
||||
CONFIG_PARTITION_PERCPU=y
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_PCIE_AL is not set
|
||||
# CONFIG_PCIE_BRCMSTB is not set
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
CONFIG_PCI_DOMAINS_GENERIC=y
|
||||
|
||||
@ -52,7 +52,6 @@ CONFIG_ARM_GIC_V2M=y
|
||||
CONFIG_ARM_GIC_V3=y
|
||||
CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
|
||||
# CONFIG_ARM_SCMI_PROTOCOL is not set
|
||||
@ -257,6 +256,7 @@ CONFIG_HOLES_IN_ZONE=y
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_HW_RANDOM_BCM2835 is not set
|
||||
CONFIG_HW_RANDOM_IPROC_RNG200=y
|
||||
CONFIG_HZ=250
|
||||
CONFIG_HZ_250=y
|
||||
@ -316,7 +316,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_IPROC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
# CONFIG_MTD is not set
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
@ -331,7 +330,6 @@ CONFIG_NO_HZ_COMMON=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_NVMEM=y
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_CONFIGFS=y
|
||||
@ -350,7 +348,6 @@ CONFIG_PARTITION_PERCPU=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEAER=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIE_AL is not set
|
||||
CONFIG_PCIE_BRCMSTB=y
|
||||
CONFIG_PCIE_PME=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -254,6 +254,10 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -255,6 +255,10 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x3432)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1456,6 +1456,103 @@ command_cleanup:
|
||||
@@ -1464,6 +1464,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5337,6 +5434,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5345,6 +5442,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -255,8 +255,10 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -256,8 +256,10 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA &&
|
||||
@ -87,4 +87,4 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
+#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1261,6 +1261,9 @@ ifneq ($(dtstree),)
|
||||
@@ -1267,6 +1267,9 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
zhole_size[ZONE_NORMAL] -= normal_end - normal_start;
|
||||
}
|
||||
}
|
||||
@@ -410,9 +410,9 @@ void __init arm64_memblock_init(void)
|
||||
@@ -422,9 +422,9 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
/* 4GB maximum for 32-bit only capable devices */
|
||||
if (IS_ENABLED(CONFIG_ZONE_DMA32))
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
reserve_crashkernel();
|
||||
|
||||
@@ -420,7 +420,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -432,7 +432,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
|
||||
void __init bootmem_init(void)
|
||||
@@ -524,7 +524,7 @@ static void __init free_unused_memmap(vo
|
||||
@@ -536,7 +536,7 @@ static void __init free_unused_memmap(vo
|
||||
void __init mem_init(void)
|
||||
{
|
||||
if (swiotlb_force == SWIOTLB_FORCE ||
|
||||
|
||||
@ -140,7 +140,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
#endif
|
||||
if (end > max_dma32) {
|
||||
@@ -408,9 +430,11 @@ void __init arm64_memblock_init(void)
|
||||
@@ -420,9 +442,11 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
@ -154,7 +154,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
else
|
||||
arm64_dma32_phys_limit = PHYS_MASK + 1;
|
||||
|
||||
@@ -420,7 +444,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -432,7 +456,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
@ -163,7 +163,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
|
||||
void __init bootmem_init(void)
|
||||
@@ -524,7 +548,7 @@ static void __init free_unused_memmap(vo
|
||||
@@ -536,7 +560,7 @@ static void __init free_unused_memmap(vo
|
||||
void __init mem_init(void)
|
||||
{
|
||||
if (swiotlb_force == SWIOTLB_FORCE ||
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
/*
|
||||
* We need to be able to catch inadvertent references to memstart_addr
|
||||
* that occur (potentially in generic code) before arm64_memblock_init()
|
||||
@@ -430,8 +433,10 @@ void __init arm64_memblock_init(void)
|
||||
@@ -442,8 +445,10 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1261,7 +1261,7 @@ ifneq ($(dtstree),)
|
||||
@@ -1267,7 +1267,7 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
crash_size, SZ_2M);
|
||||
if (crash_base == 0) {
|
||||
pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
|
||||
@@ -449,7 +449,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -461,7 +461,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -258,6 +258,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -259,6 +259,7 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x3483) {
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
@ -56,6 +56,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(39)
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
From 5337af7918bedde9713cd223ce5df74b3d6c7d7a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Wed, 17 Mar 2021 09:16:31 +0100
|
||||
Subject: [PATCH] arm64: dts: broadcom: bcm4908: add Ethernet TX irq
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This hardware supports two interrupts, one per DMA channel (RX and TX).
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
@@ -116,8 +116,9 @@
|
||||
compatible = "brcm,bcm4908-enet";
|
||||
reg = <0x2000 0x1000>;
|
||||
|
||||
- interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- interrupt-names = "rx";
|
||||
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "rx", "tx";
|
||||
};
|
||||
|
||||
usb_phy: usb-phy@c200 {
|
||||
@ -0,0 +1,25 @@
|
||||
From f4e6d7cdbfae502788bc468295b232dec76ee57e Mon Sep 17 00:00:00 2001
|
||||
From: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Date: Fri, 12 Mar 2021 13:11:01 -0800
|
||||
Subject: [PATCH] net: dsa: bcm_sf2: Fill in BCM4908 CFP entries
|
||||
|
||||
The BCM4908 switch has 256 CFP entrie, update that setting so CFP can be
|
||||
used.
|
||||
|
||||
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/bcm_sf2.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -1063,7 +1063,7 @@ static const struct bcm_sf2_of_data bcm_
|
||||
.type = BCM4908_DEVICE_ID,
|
||||
.core_reg_align = 0,
|
||||
.reg_offsets = bcm_sf2_4908_reg_offsets,
|
||||
- .num_cfp_rules = 0, /* FIXME */
|
||||
+ .num_cfp_rules = 256,
|
||||
.num_crossbar_int_ports = 2,
|
||||
};
|
||||
|
||||
@ -0,0 +1,127 @@
|
||||
From 55cfeb396965c3906a84d09a9c487d065e37773b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 18 Mar 2021 09:01:42 +0100
|
||||
Subject: [PATCH 1/2] net: dsa: bcm_sf2: add function finding RGMII register
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Simple macro like REG_RGMII_CNTRL_P() is insufficient as:
|
||||
1. It doesn't validate port argument
|
||||
2. It doesn't support chipsets with non-lineral RGMII regs layout
|
||||
|
||||
Missing port validation could result in getting register offset from out
|
||||
of array. Random memory -> random offset -> random reads/writes. It
|
||||
affected e.g. BCM4908 for REG_RGMII_CNTRL_P(7).
|
||||
|
||||
Fixes: a78e86ed586d ("net: dsa: bcm_sf2: Prepare for different register layouts")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/bcm_sf2.c | 49 +++++++++++++++++++++++++++++-----
|
||||
drivers/net/dsa/bcm_sf2_regs.h | 2 --
|
||||
2 files changed, 42 insertions(+), 9 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -31,6 +31,31 @@
|
||||
#include "b53/b53_priv.h"
|
||||
#include "b53/b53_regs.h"
|
||||
|
||||
+static u16 bcm_sf2_reg_rgmii_cntrl(struct bcm_sf2_priv *priv, int port)
|
||||
+{
|
||||
+ switch (priv->type) {
|
||||
+ case BCM4908_DEVICE_ID:
|
||||
+ /* TODO */
|
||||
+ break;
|
||||
+ default:
|
||||
+ switch (port) {
|
||||
+ case 0:
|
||||
+ return REG_RGMII_0_CNTRL;
|
||||
+ case 1:
|
||||
+ return REG_RGMII_1_CNTRL;
|
||||
+ case 2:
|
||||
+ return REG_RGMII_2_CNTRL;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ WARN_ONCE(1, "Unsupported port %d\n", port);
|
||||
+
|
||||
+ /* RO fallback reg */
|
||||
+ return REG_SWITCH_STATUS;
|
||||
+}
|
||||
+
|
||||
static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)
|
||||
{
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
@@ -591,6 +616,7 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
{
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
u32 id_mode_dis = 0, port_mode;
|
||||
+ u32 reg_rgmii_ctrl;
|
||||
u32 reg, offset;
|
||||
|
||||
if (port == core_readl(priv, CORE_IMP0_PRT_ID))
|
||||
@@ -620,10 +646,12 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
goto force_link;
|
||||
}
|
||||
|
||||
+ reg_rgmii_ctrl = bcm_sf2_reg_rgmii_cntrl(priv, port);
|
||||
+
|
||||
/* Clear id_mode_dis bit, and the existing port mode, let
|
||||
* RGMII_MODE_EN bet set by mac_link_{up,down}
|
||||
*/
|
||||
- reg = reg_readl(priv, REG_RGMII_CNTRL_P(port));
|
||||
+ reg = reg_readl(priv, reg_rgmii_ctrl);
|
||||
reg &= ~ID_MODE_DIS;
|
||||
reg &= ~(PORT_MODE_MASK << PORT_MODE_SHIFT);
|
||||
reg &= ~(RX_PAUSE_EN | TX_PAUSE_EN);
|
||||
@@ -638,7 +666,7 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
reg |= RX_PAUSE_EN;
|
||||
}
|
||||
|
||||
- reg_writel(priv, reg, REG_RGMII_CNTRL_P(port));
|
||||
+ reg_writel(priv, reg, reg_rgmii_ctrl);
|
||||
|
||||
force_link:
|
||||
/* Force link settings detected from the PHY */
|
||||
@@ -664,6 +692,7 @@ static void bcm_sf2_sw_mac_link_set(stru
|
||||
phy_interface_t interface, bool link)
|
||||
{
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
+ u32 reg_rgmii_ctrl;
|
||||
u32 reg;
|
||||
|
||||
if (!phy_interface_mode_is_rgmii(interface) &&
|
||||
@@ -671,13 +700,15 @@ static void bcm_sf2_sw_mac_link_set(stru
|
||||
interface != PHY_INTERFACE_MODE_REVMII)
|
||||
return;
|
||||
|
||||
+ reg_rgmii_ctrl = bcm_sf2_reg_rgmii_cntrl(priv, port);
|
||||
+
|
||||
/* If the link is down, just disable the interface to conserve power */
|
||||
- reg = reg_readl(priv, REG_RGMII_CNTRL_P(port));
|
||||
+ reg = reg_readl(priv, reg_rgmii_ctrl);
|
||||
if (link)
|
||||
reg |= RGMII_MODE_EN;
|
||||
else
|
||||
reg &= ~RGMII_MODE_EN;
|
||||
- reg_writel(priv, reg, REG_RGMII_CNTRL_P(port));
|
||||
+ reg_writel(priv, reg, reg_rgmii_ctrl);
|
||||
}
|
||||
|
||||
static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port,
|
||||
--- a/drivers/net/dsa/bcm_sf2_regs.h
|
||||
+++ b/drivers/net/dsa/bcm_sf2_regs.h
|
||||
@@ -55,8 +55,6 @@ enum bcm_sf2_reg_offs {
|
||||
#define CROSSBAR_BCM4908_EXT_GPHY4 1
|
||||
#define CROSSBAR_BCM4908_EXT_RGMII 2
|
||||
|
||||
-#define REG_RGMII_CNTRL_P(x) (REG_RGMII_0_CNTRL + (x))
|
||||
-
|
||||
/* Relative to REG_RGMII_CNTRL */
|
||||
#define RGMII_MODE_EN (1 << 0)
|
||||
#define ID_MODE_DIS (1 << 1)
|
||||
@ -0,0 +1,56 @@
|
||||
From 6859d91549341c2ad769d482de58129f080c0f04 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 18 Mar 2021 09:01:43 +0100
|
||||
Subject: [PATCH 2/2] net: dsa: bcm_sf2: fix BCM4908 RGMII reg(s)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
BCM4908 has only 1 RGMII reg for controlling port 7.
|
||||
|
||||
Fixes: 73b7a6047971 ("net: dsa: bcm_sf2: support BCM4908's integrated switch")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/bcm_sf2.c | 11 +++++++----
|
||||
drivers/net/dsa/bcm_sf2_regs.h | 1 +
|
||||
2 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -35,7 +35,12 @@ static u16 bcm_sf2_reg_rgmii_cntrl(struc
|
||||
{
|
||||
switch (priv->type) {
|
||||
case BCM4908_DEVICE_ID:
|
||||
- /* TODO */
|
||||
+ switch (port) {
|
||||
+ case 7:
|
||||
+ return REG_RGMII_11_CNTRL;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
break;
|
||||
default:
|
||||
switch (port) {
|
||||
@@ -1082,9 +1087,7 @@ static const u16 bcm_sf2_4908_reg_offset
|
||||
[REG_PHY_REVISION] = 0x14,
|
||||
[REG_SPHY_CNTRL] = 0x24,
|
||||
[REG_CROSSBAR] = 0xc8,
|
||||
- [REG_RGMII_0_CNTRL] = 0xe0,
|
||||
- [REG_RGMII_1_CNTRL] = 0xec,
|
||||
- [REG_RGMII_2_CNTRL] = 0xf8,
|
||||
+ [REG_RGMII_11_CNTRL] = 0x014c,
|
||||
[REG_LED_0_CNTRL] = 0x40,
|
||||
[REG_LED_1_CNTRL] = 0x4c,
|
||||
[REG_LED_2_CNTRL] = 0x58,
|
||||
--- a/drivers/net/dsa/bcm_sf2_regs.h
|
||||
+++ b/drivers/net/dsa/bcm_sf2_regs.h
|
||||
@@ -21,6 +21,7 @@ enum bcm_sf2_reg_offs {
|
||||
REG_RGMII_0_CNTRL,
|
||||
REG_RGMII_1_CNTRL,
|
||||
REG_RGMII_2_CNTRL,
|
||||
+ REG_RGMII_11_CNTRL,
|
||||
REG_LED_0_CNTRL,
|
||||
REG_LED_1_CNTRL,
|
||||
REG_LED_2_CNTRL,
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
@@ -280,7 +280,7 @@
|
||||
@@ -281,7 +281,7 @@
|
||||
gpio0: gpio-controller@500 {
|
||||
compatible = "brcm,bcm6345-gpio";
|
||||
reg-names = "dirout", "dat";
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Mon, 22 Mar 2021 07:15:17 +0100
|
||||
Subject: [PATCH] mtd: support BLKRRPART
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Rescan MTD subpartitions on request.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
|
||||
--- a/drivers/mtd/mtdchar.c
|
||||
+++ b/drivers/mtd/mtdchar.c
|
||||
@@ -1015,8 +1015,11 @@ static int mtdchar_ioctl(struct file *fi
|
||||
|
||||
case BLKRRPART:
|
||||
{
|
||||
- /* No reread partition feature. Just return ok */
|
||||
- ret = 0;
|
||||
+ int nr_parts;
|
||||
+
|
||||
+ del_mtd_partitions(mtd);
|
||||
+ nr_parts = parse_mtd_partitions(mtd, NULL, NULL);
|
||||
+ ret = nr_parts < 0 ? nr_parts : 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -1290,10 +1290,14 @@ static int bcm_sf2_sw_probe(struct platf
|
||||
@@ -1324,10 +1324,14 @@ static int bcm_sf2_sw_probe(struct platf
|
||||
rev = reg_readl(priv, REG_PHY_REVISION);
|
||||
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -1304,6 +1304,12 @@ static int bcm_sf2_sw_probe(struct platf
|
||||
@@ -1338,6 +1338,12 @@ static int bcm_sf2_sw_probe(struct platf
|
||||
priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
|
||||
priv->irq0, priv->irq1);
|
||||
|
||||
|
||||
@ -1,109 +0,0 @@
|
||||
From 7e2dc41c745f6d9c571919d98abed2d783fce8fb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Sun, 14 Mar 2021 22:43:32 +0100
|
||||
Subject: [PATCH] net: dsa: bcm_sf2: quick fix for RGMII reg access on BCM4908
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
BCM4908 has only 1 RGMII register and it's used for port 7.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
drivers/net/dsa/bcm_sf2.c | 30 +++++++++++++++++++++++-------
|
||||
drivers/net/dsa/bcm_sf2_regs.h | 1 +
|
||||
2 files changed, 24 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/bcm_sf2.c
|
||||
+++ b/drivers/net/dsa/bcm_sf2.c
|
||||
@@ -592,10 +592,19 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
u32 id_mode_dis = 0, port_mode;
|
||||
u32 reg, offset;
|
||||
+ u32 rgmii_ctrl;
|
||||
|
||||
if (port == core_readl(priv, CORE_IMP0_PRT_ID))
|
||||
return;
|
||||
|
||||
+ if (priv->type == BCM4908_DEVICE_ID) {
|
||||
+ if (port != 7)
|
||||
+ return;
|
||||
+ rgmii_ctrl = REG_RGMII_11_CNTRL;
|
||||
+ } else {
|
||||
+ rgmii_ctrl = REG_RGMII_CNTRL_P(port);
|
||||
+ }
|
||||
+
|
||||
if (priv->type == BCM4908_DEVICE_ID ||
|
||||
priv->type == BCM7445_DEVICE_ID)
|
||||
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
|
||||
@@ -623,7 +632,7 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
/* Clear id_mode_dis bit, and the existing port mode, let
|
||||
* RGMII_MODE_EN bet set by mac_link_{up,down}
|
||||
*/
|
||||
- reg = reg_readl(priv, REG_RGMII_CNTRL_P(port));
|
||||
+ reg = reg_readl(priv, rgmii_ctrl);
|
||||
reg &= ~ID_MODE_DIS;
|
||||
reg &= ~(PORT_MODE_MASK << PORT_MODE_SHIFT);
|
||||
reg &= ~(RX_PAUSE_EN | TX_PAUSE_EN);
|
||||
@@ -638,7 +647,7 @@ static void bcm_sf2_sw_mac_config(struct
|
||||
reg |= RX_PAUSE_EN;
|
||||
}
|
||||
|
||||
- reg_writel(priv, reg, REG_RGMII_CNTRL_P(port));
|
||||
+ reg_writel(priv, reg, rgmii_ctrl);
|
||||
|
||||
force_link:
|
||||
/* Force link settings detected from the PHY */
|
||||
@@ -664,6 +673,7 @@ static void bcm_sf2_sw_mac_link_set(stru
|
||||
phy_interface_t interface, bool link)
|
||||
{
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
+ u32 rgmii_ctrl;
|
||||
u32 reg;
|
||||
|
||||
if (!phy_interface_mode_is_rgmii(interface) &&
|
||||
@@ -671,13 +681,21 @@ static void bcm_sf2_sw_mac_link_set(stru
|
||||
interface != PHY_INTERFACE_MODE_REVMII)
|
||||
return;
|
||||
|
||||
+ if (priv->type == BCM4908_DEVICE_ID) {
|
||||
+ if (port != 7)
|
||||
+ return;
|
||||
+ rgmii_ctrl = REG_RGMII_11_CNTRL;
|
||||
+ } else {
|
||||
+ rgmii_ctrl = REG_RGMII_CNTRL_P(port);
|
||||
+ }
|
||||
+
|
||||
/* If the link is down, just disable the interface to conserve power */
|
||||
- reg = reg_readl(priv, REG_RGMII_CNTRL_P(port));
|
||||
+ reg = reg_readl(priv, rgmii_ctrl);
|
||||
if (link)
|
||||
reg |= RGMII_MODE_EN;
|
||||
else
|
||||
reg &= ~RGMII_MODE_EN;
|
||||
- reg_writel(priv, reg, REG_RGMII_CNTRL_P(port));
|
||||
+ reg_writel(priv, reg, rgmii_ctrl);
|
||||
}
|
||||
|
||||
static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port,
|
||||
@@ -1051,9 +1069,7 @@ static const u16 bcm_sf2_4908_reg_offset
|
||||
[REG_PHY_REVISION] = 0x14,
|
||||
[REG_SPHY_CNTRL] = 0x24,
|
||||
[REG_CROSSBAR] = 0xc8,
|
||||
- [REG_RGMII_0_CNTRL] = 0xe0,
|
||||
- [REG_RGMII_1_CNTRL] = 0xec,
|
||||
- [REG_RGMII_2_CNTRL] = 0xf8,
|
||||
+ [REG_RGMII_11_CNTRL] = 0x014c,
|
||||
[REG_LED_0_CNTRL] = 0x40,
|
||||
[REG_LED_1_CNTRL] = 0x4c,
|
||||
[REG_LED_2_CNTRL] = 0x58,
|
||||
--- a/drivers/net/dsa/bcm_sf2_regs.h
|
||||
+++ b/drivers/net/dsa/bcm_sf2_regs.h
|
||||
@@ -21,6 +21,7 @@ enum bcm_sf2_reg_offs {
|
||||
REG_RGMII_0_CNTRL,
|
||||
REG_RGMII_1_CNTRL,
|
||||
REG_RGMII_2_CNTRL,
|
||||
+ REG_RGMII_11_CNTRL,
|
||||
REG_LED_0_CNTRL,
|
||||
REG_LED_1_CNTRL,
|
||||
REG_LED_2_CNTRL,
|
||||
@ -134,4 +134,4 @@ it on BCM4708 family.
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
|
||||
@ -0,0 +1,104 @@
|
||||
From a3b0b6479700a5b0af2c631cb2ec0fb7a0d978f2 Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||||
Date: Sun, 1 Nov 2020 21:16:09 +0200
|
||||
Subject: [PATCH] net: dsa: implement a central TX reallocation procedure
|
||||
|
||||
At the moment, taggers are left with the task of ensuring that the skb
|
||||
headers are writable (which they aren't, if the frames were cloned for
|
||||
TX timestamping, for flooding by the bridge, etc), and that there is
|
||||
enough space in the skb data area for the DSA tag to be pushed.
|
||||
|
||||
Moreover, the life of tail taggers is even harder, because they need to
|
||||
ensure that short frames have enough padding, a problem that normal
|
||||
taggers don't have.
|
||||
|
||||
The principle of the DSA framework is that everything except for the
|
||||
most intimate hardware specifics (like in this case, the actual packing
|
||||
of the DSA tag bits) should be done inside the core, to avoid having
|
||||
code paths that are very rarely tested.
|
||||
|
||||
So provide a TX reallocation procedure that should cover the known needs
|
||||
of DSA today.
|
||||
|
||||
Note that this patch also gives the network stack a good hint about the
|
||||
headroom/tailroom it's going to need. Up till now it wasn't doing that.
|
||||
So the reallocation procedure should really be there only for the
|
||||
exceptional cases, and for cloned packets which need to be unshared.
|
||||
|
||||
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||||
Tested-by: Christian Eggers <ceggers@arri.de> # For tail taggers only
|
||||
Tested-by: Kurt Kanzenbach <kurt@linutronix.de>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
net/dsa/slave.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 45 insertions(+)
|
||||
|
||||
--- a/net/dsa/slave.c
|
||||
+++ b/net/dsa/slave.c
|
||||
@@ -548,6 +548,30 @@ netdev_tx_t dsa_enqueue_skb(struct sk_bu
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dsa_enqueue_skb);
|
||||
|
||||
+static int dsa_realloc_skb(struct sk_buff *skb, struct net_device *dev)
|
||||
+{
|
||||
+ int needed_headroom = dev->needed_headroom;
|
||||
+ int needed_tailroom = dev->needed_tailroom;
|
||||
+
|
||||
+ /* For tail taggers, we need to pad short frames ourselves, to ensure
|
||||
+ * that the tail tag does not fail at its role of being at the end of
|
||||
+ * the packet, once the master interface pads the frame. Account for
|
||||
+ * that pad length here, and pad later.
|
||||
+ */
|
||||
+ if (unlikely(needed_tailroom && skb->len < ETH_ZLEN))
|
||||
+ needed_tailroom += ETH_ZLEN - skb->len;
|
||||
+ /* skb_headroom() returns unsigned int... */
|
||||
+ needed_headroom = max_t(int, needed_headroom - skb_headroom(skb), 0);
|
||||
+ needed_tailroom = max_t(int, needed_tailroom - skb_tailroom(skb), 0);
|
||||
+
|
||||
+ if (likely(!needed_headroom && !needed_tailroom && !skb_cloned(skb)))
|
||||
+ /* No reallocation needed, yay! */
|
||||
+ return 0;
|
||||
+
|
||||
+ return pskb_expand_head(skb, needed_headroom, needed_tailroom,
|
||||
+ GFP_ATOMIC);
|
||||
+}
|
||||
+
|
||||
static netdev_tx_t dsa_slave_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
struct dsa_slave_priv *p = netdev_priv(dev);
|
||||
@@ -567,6 +591,17 @@ static netdev_tx_t dsa_slave_xmit(struct
|
||||
*/
|
||||
dsa_skb_tx_timestamp(p, skb);
|
||||
|
||||
+ if (dsa_realloc_skb(skb, dev)) {
|
||||
+ dev_kfree_skb_any(skb);
|
||||
+ return NETDEV_TX_OK;
|
||||
+ }
|
||||
+
|
||||
+ /* needed_tailroom should still be 'warm' in the cache line from
|
||||
+ * dsa_realloc_skb(), which has also ensured that padding is safe.
|
||||
+ */
|
||||
+ if (dev->needed_tailroom)
|
||||
+ eth_skb_pad(skb);
|
||||
+
|
||||
/* Transmit function may have to reallocate the original SKB,
|
||||
* in which case it must have freed it. Only free it here on error.
|
||||
*/
|
||||
@@ -1825,6 +1860,16 @@ int dsa_slave_create(struct dsa_port *po
|
||||
slave_dev->netdev_ops = &dsa_slave_netdev_ops;
|
||||
if (ds->ops->port_max_mtu)
|
||||
slave_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index);
|
||||
+ if (cpu_dp->tag_ops->tail_tag)
|
||||
+ slave_dev->needed_tailroom = cpu_dp->tag_ops->overhead;
|
||||
+ else
|
||||
+ slave_dev->needed_headroom = cpu_dp->tag_ops->overhead;
|
||||
+ /* Try to save one extra realloc later in the TX path (in the master)
|
||||
+ * by also inheriting the master's needed headroom and tailroom.
|
||||
+ * The 8021q driver also does this.
|
||||
+ */
|
||||
+ slave_dev->needed_headroom += master->needed_headroom;
|
||||
+ slave_dev->needed_tailroom += master->needed_tailroom;
|
||||
SET_NETDEV_DEVTYPE(slave_dev, &dsa_type);
|
||||
|
||||
netdev_for_each_tx_queue(slave_dev, dsa_slave_set_lockdep_class_one,
|
||||
@ -1,7 +1,7 @@
|
||||
From cd6906754bbe3e0665ecaeca2cfb26d927fe9277 Mon Sep 17 00:00:00 2001
|
||||
From ad426d7d966b525b73ed5a1842dd830312bbba71 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Mon, 1 Mar 2021 07:29:29 +0100
|
||||
Subject: [PATCH 1/3] net: dsa: b53: relax is63xx() condition
|
||||
Date: Wed, 17 Mar 2021 09:42:01 +0100
|
||||
Subject: [PATCH] net: dsa: b53: relax is63xx() condition
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@ -9,6 +9,8 @@ Content-Transfer-Encoding: 8bit
|
||||
BCM63xx switches are present on bcm63xx and bmips devices.
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_priv.h | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
@ -1,59 +1,22 @@
|
||||
From 3bc3d79efdff6e29b80bf35f7a56baaa36e4d8fe Mon Sep 17 00:00:00 2001
|
||||
From 964dbf186eaa84d409c359ddf09c827a3fbe8228 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Fri, 12 Mar 2021 12:35:39 +0100
|
||||
Subject: [PATCH] net: dsa: b53: support tags for legacy switches
|
||||
Date: Wed, 17 Mar 2021 11:29:26 +0100
|
||||
Subject: [PATCH 1/2] net: dsa: tag_brcm: add support for legacy tags
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
---
|
||||
drivers/net/dsa/b53/Kconfig | 1 +
|
||||
drivers/net/dsa/b53/b53_common.c | 6 +++
|
||||
include/net/dsa.h | 2 +
|
||||
net/dsa/Kconfig | 7 +++
|
||||
net/dsa/tag_brcm.c | 93 ++++++++++++++++++++++++++++++++
|
||||
5 files changed, 109 insertions(+)
|
||||
Add support for legacy Broadcom tags, which are similar to DSA_TAG_PROTO_BRCM.
|
||||
These tags are used on BCM5325, BCM5365 and BCM63xx switches.
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
include/net/dsa.h | 2 +
|
||||
net/dsa/Kconfig | 7 +++
|
||||
net/dsa/tag_brcm.c | 107 +++++++++++++++++++++++++++++++++++++++++++--
|
||||
3 files changed, 113 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/Kconfig
|
||||
+++ b/drivers/net/dsa/b53/Kconfig
|
||||
@@ -3,6 +3,7 @@ menuconfig B53
|
||||
tristate "Broadcom BCM53xx managed switch support"
|
||||
depends on NET_DSA
|
||||
select NET_DSA_TAG_BRCM
|
||||
+ select NET_DSA_TAG_BRCM_LEGACY
|
||||
select NET_DSA_TAG_BRCM_PREPEND
|
||||
help
|
||||
This driver adds support for Broadcom managed switch chips. It supports
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1992,6 +1992,7 @@ static bool b53_can_enable_brcm_tags(str
|
||||
|
||||
switch (tag_protocol) {
|
||||
case DSA_TAG_PROTO_BRCM:
|
||||
+ case DSA_TAG_PROTO_BRCM_LEGACY:
|
||||
case DSA_TAG_PROTO_BRCM_PREPEND:
|
||||
dev_warn(ds->dev,
|
||||
"Port %d is stacked to Broadcom tag switch\n", port);
|
||||
@@ -2013,12 +2014,16 @@ enum dsa_tag_protocol b53_get_tag_protoc
|
||||
/* Older models (5325, 5365) support a different tag format that we do
|
||||
* not support in net/dsa/tag_brcm.c yet.
|
||||
*/
|
||||
- if (is5325(dev) || is5365(dev) ||
|
||||
- !b53_can_enable_brcm_tags(ds, port, mprot)) {
|
||||
+ if (!b53_can_enable_brcm_tags(ds, port, mprot)) {
|
||||
dev->tag_protocol = DSA_TAG_PROTO_NONE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ if (is5325(dev) || is5365(dev) || is63xx(dev)) {
|
||||
+ dev->tag_protocol = DSA_TAG_PROTO_BRCM_LEGACY;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
/* Broadcom BCM58xx chips have a flow accelerator on Port 8
|
||||
* which requires us to use the prepended Broadcom tag type
|
||||
*/
|
||||
--- a/include/net/dsa.h
|
||||
+++ b/include/net/dsa.h
|
||||
@@ -45,10 +45,12 @@ struct phylink_link_state;
|
||||
@ -87,31 +50,37 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
tristate "Tag driver for Broadcom switches using prepended headers"
|
||||
--- a/net/dsa/tag_brcm.c
|
||||
+++ b/net/dsa/tag_brcm.c
|
||||
@@ -8,9 +8,23 @@
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/slab.h>
|
||||
+#include <linux/types.h>
|
||||
@@ -11,9 +11,26 @@
|
||||
|
||||
#include "dsa_priv.h"
|
||||
|
||||
+struct bcm_legacy_tag {
|
||||
+ uint16_t type;
|
||||
+#define BRCM_LEG_TYPE 0x8874
|
||||
-/* This tag length is 4 bytes, older ones were 6 bytes, we do not
|
||||
- * handle them
|
||||
- */
|
||||
+/* Legacy Broadcom tag (6 bytes) */
|
||||
+#define BRCM_LEG_TAG_LEN 6
|
||||
+
|
||||
+ uint32_t tag;
|
||||
+#define BRCM_LEG_TAG_PORT_ID (0xf)
|
||||
+#define BRCM_LEG_TAG_MULTICAST (1 << 29)
|
||||
+#define BRCM_LEG_TAG_EGRESS (2 << 29)
|
||||
+#define BRCM_LEG_TAG_INGRESS (3 << 29)
|
||||
+} __attribute__((packed));
|
||||
+/* Type fields */
|
||||
+/* 1st byte in the tag */
|
||||
+#define BRCM_LEG_TYPE_HI 0x88
|
||||
+/* 2nd byte in the tag */
|
||||
+#define BRCM_LEG_TYPE_LO 0x74
|
||||
+
|
||||
+#define BRCM_LEG_TAG_LEN sizeof(struct bcm_legacy_tag)
|
||||
+/* Tag fields */
|
||||
+/* 3rd byte in the tag */
|
||||
+#define BRCM_LEG_UNICAST (0 << 5)
|
||||
+#define BRCM_LEG_MULTICAST (1 << 5)
|
||||
+#define BRCM_LEG_EGRESS (2 << 5)
|
||||
+#define BRCM_LEG_INGRESS (3 << 5)
|
||||
+
|
||||
/* This tag length is 4 bytes, older ones were 6 bytes, we do not
|
||||
* handle them
|
||||
*/
|
||||
@@ -197,6 +211,85 @@ DSA_TAG_DRIVER(brcm_netdev_ops);
|
||||
+/* 6th byte in the tag */
|
||||
+#define BRCM_LEG_PORT_ID (0xf)
|
||||
+
|
||||
+/* Newer Broadcom tag (4 bytes) */
|
||||
#define BRCM_TAG_LEN 4
|
||||
|
||||
/* Tag is constructed and desconstructed using byte by byte access
|
||||
@@ -197,6 +214,87 @@ DSA_TAG_DRIVER(brcm_netdev_ops);
|
||||
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_BRCM);
|
||||
#endif
|
||||
|
||||
@ -120,10 +89,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
+ struct net_device *dev)
|
||||
+{
|
||||
+ struct dsa_port *dp = dsa_slave_to_port(dev);
|
||||
+ struct bcm_legacy_tag *brcm_tag;
|
||||
+
|
||||
+ if (skb_cow_head(skb, BRCM_LEG_TAG_LEN) < 0)
|
||||
+ return NULL;
|
||||
+ u8 *brcm_tag;
|
||||
+
|
||||
+ /* The Ethernet switch we are interfaced with needs packets to be at
|
||||
+ * least 64 bytes (including FCS) otherwise they will be discarded when
|
||||
@ -141,29 +107,34 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
+
|
||||
+ memmove(skb->data, skb->data + BRCM_LEG_TAG_LEN, 2 * ETH_ALEN);
|
||||
+
|
||||
+ brcm_tag = (struct bcm_legacy_tag *) (skb->data + 2 * ETH_ALEN);
|
||||
+ brcm_tag = skb->data + 2 * ETH_ALEN;
|
||||
+
|
||||
+ brcm_tag->type = BRCM_LEG_TYPE;
|
||||
+ brcm_tag->tag = BRCM_LEG_TAG_EGRESS;
|
||||
+ brcm_tag->tag |= dp->index & BRCM_LEG_TAG_PORT_ID;
|
||||
+ /* Broadcom tag type */
|
||||
+ brcm_tag[0] = BRCM_LEG_TYPE_HI;
|
||||
+ brcm_tag[1] = BRCM_LEG_TYPE_LO;
|
||||
+
|
||||
+ /* Broadcom tag value */
|
||||
+ brcm_tag[2] = BRCM_LEG_EGRESS;
|
||||
+ brcm_tag[3] = 0;
|
||||
+ brcm_tag[4] = 0;
|
||||
+ brcm_tag[5] = dp->index & BRCM_LEG_PORT_ID;
|
||||
+
|
||||
+ return skb;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb,
|
||||
+ struct net_device *dev,
|
||||
+ struct packet_type *pt)
|
||||
+{
|
||||
+ int source_port;
|
||||
+ struct bcm_legacy_tag *brcm_tag;
|
||||
+ u8 *brcm_tag;
|
||||
+
|
||||
+ if (unlikely(!pskb_may_pull(skb, BRCM_LEG_TAG_LEN)))
|
||||
+ if (unlikely(!pskb_may_pull(skb, BRCM_LEG_PORT_ID)))
|
||||
+ return NULL;
|
||||
+
|
||||
+ brcm_tag = (struct bcm_legacy_tag *) (skb->data - 2);
|
||||
+ brcm_tag = skb->data - 2;
|
||||
+
|
||||
+ source_port = brcm_tag->tag & BRCM_LEG_TAG_PORT_ID;
|
||||
+ source_port = brcm_tag[5] & BRCM_LEG_PORT_ID;
|
||||
+
|
||||
+ skb->dev = dsa_master_find_slave(dev, 0, source_port);
|
||||
+ if (!skb->dev)
|
||||
@ -183,10 +154,10 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
+}
|
||||
+
|
||||
+static const struct dsa_device_ops brcm_legacy_netdev_ops = {
|
||||
+ .name = "brcm-legacy",
|
||||
+ .proto = DSA_TAG_PROTO_BRCM_LEGACY,
|
||||
+ .xmit = brcm_leg_tag_xmit,
|
||||
+ .rcv = brcm_leg_tag_rcv,
|
||||
+ .name = "brcm-legacy",
|
||||
+ .proto = DSA_TAG_PROTO_BRCM_LEGACY,
|
||||
+ .xmit = brcm_leg_tag_xmit,
|
||||
+ .rcv = brcm_leg_tag_rcv,
|
||||
+ .overhead = BRCM_LEG_TAG_LEN,
|
||||
+};
|
||||
+
|
||||
@ -197,7 +168,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
#if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM_PREPEND)
|
||||
static struct sk_buff *brcm_tag_xmit_prepend(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
@@ -229,6 +322,9 @@ static struct dsa_tag_driver *dsa_tag_dr
|
||||
@@ -229,6 +327,9 @@ static struct dsa_tag_driver *dsa_tag_dr
|
||||
#if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM)
|
||||
&DSA_TAG_DRIVER_NAME(brcm_netdev_ops),
|
||||
#endif
|
||||
@ -0,0 +1,53 @@
|
||||
From 46c5176c586c81306bf9e7024c13b95da775490f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Wed, 17 Mar 2021 11:29:27 +0100
|
||||
Subject: [PATCH 2/2] net: dsa: b53: support legacy tags
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
These tags are used on BCM5325, BCM5365 and BCM63xx switches.
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/Kconfig | 1 +
|
||||
drivers/net/dsa/b53/b53_common.c | 12 +++++++-----
|
||||
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/Kconfig
|
||||
+++ b/drivers/net/dsa/b53/Kconfig
|
||||
@@ -3,6 +3,7 @@ menuconfig B53
|
||||
tristate "Broadcom BCM53xx managed switch support"
|
||||
depends on NET_DSA
|
||||
select NET_DSA_TAG_BRCM
|
||||
+ select NET_DSA_TAG_BRCM_LEGACY
|
||||
select NET_DSA_TAG_BRCM_PREPEND
|
||||
help
|
||||
This driver adds support for Broadcom managed switch chips. It supports
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2010,15 +2010,17 @@ enum dsa_tag_protocol b53_get_tag_protoc
|
||||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
|
||||
- /* Older models (5325, 5365) support a different tag format that we do
|
||||
- * not support in net/dsa/tag_brcm.c yet.
|
||||
- */
|
||||
- if (is5325(dev) || is5365(dev) ||
|
||||
- !b53_can_enable_brcm_tags(ds, port, mprot)) {
|
||||
+ if (!b53_can_enable_brcm_tags(ds, port, mprot)) {
|
||||
dev->tag_protocol = DSA_TAG_PROTO_NONE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ /* Older models require a different 6 byte tag */
|
||||
+ if (is5325(dev) || is5365(dev) || is63xx(dev)) {
|
||||
+ dev->tag_protocol = DSA_TAG_PROTO_BRCM_LEGACY;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
/* Broadcom BCM58xx chips have a flow accelerator on Port 8
|
||||
* which requires us to use the prepended Broadcom tag type
|
||||
*/
|
||||
@ -1,7 +1,7 @@
|
||||
From f5419e7f362ae1c462baf28a2da7360267f8e4f9 Mon Sep 17 00:00:00 2001
|
||||
From a5538a777b73b35750ed1ffff8c1ef539e861624 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Mon, 1 Mar 2021 07:32:32 +0100
|
||||
Subject: [PATCH 2/3] net: dsa: b53: mmap: Add device tree support
|
||||
Date: Wed, 17 Mar 2021 10:23:17 +0100
|
||||
Subject: [PATCH] net: dsa: b53: mmap: Add device tree support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@ -9,22 +9,31 @@ Content-Transfer-Encoding: 8bit
|
||||
Add device tree support to b53_mmap.c while keeping platform devices support.
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_mmap.c | 36 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
drivers/net/dsa/b53/b53_mmap.c | 55 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 55 insertions(+)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_mmap.c
|
||||
+++ b/drivers/net/dsa/b53/b53_mmap.c
|
||||
@@ -228,12 +228,64 @@ static const struct b53_io_ops b53_mmap_
|
||||
@@ -16,6 +16,7 @@
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
+#include <linux/bits.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/io.h>
|
||||
@@ -228,11 +229,65 @@ static const struct b53_io_ops b53_mmap_
|
||||
.write64 = b53_mmap_write64,
|
||||
};
|
||||
|
||||
+static int b53_mmap_probe_of(struct platform_device *pdev,
|
||||
+ struct b53_platform_data **ppdata)
|
||||
+{
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct device_node *np = dev->of_node;
|
||||
+ struct device_node *np = pdev->dev.of_node;
|
||||
+ struct device_node *of_ports, *of_port;
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct b53_platform_data *pdata;
|
||||
+ void __iomem *mem;
|
||||
+
|
||||
@ -57,6 +66,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
+ pdata->enabled_ports |= BIT(reg);
|
||||
+ }
|
||||
+
|
||||
+ of_node_put(of_ports);
|
||||
+ *ppdata = pdata;
|
||||
+
|
||||
+ return 0;
|
||||
@ -68,15 +78,15 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
struct b53_platform_data *pdata = pdev->dev.platform_data;
|
||||
struct b53_mmap_priv *priv;
|
||||
struct b53_device *dev;
|
||||
|
||||
+ if (np) {
|
||||
+ int ret = b53_mmap_probe_of(pdev, &pdata);
|
||||
+ int ret;
|
||||
+
|
||||
+ if (!pdata && np) {
|
||||
+ ret = b53_mmap_probe_of(pdev, &pdata);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "OF probe error\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
if (!pdata)
|
||||
return -EINVAL;
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/mdio.h>
|
||||
#include <linux/io.h>
|
||||
@@ -842,6 +843,9 @@ void phy_stop(struct phy_device *phydev)
|
||||
@@ -843,6 +844,9 @@ void phy_stop(struct phy_device *phydev)
|
||||
|
||||
mutex_lock(&phydev->lock);
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
phydev->state = PHY_HALTED;
|
||||
|
||||
mutex_unlock(&phydev->lock);
|
||||
@@ -904,6 +908,9 @@ void phy_state_machine(struct work_struc
|
||||
@@ -905,6 +909,9 @@ void phy_state_machine(struct work_struc
|
||||
|
||||
old_state = phydev->state;
|
||||
|
||||
|
||||
@ -393,6 +393,7 @@ CONFIG_ARM_GIC_MAX_NR=1
|
||||
# CONFIG_ARM_PATCH_PHYS_VIRT is not set
|
||||
# CONFIG_ARM_PSCI is not set
|
||||
# CONFIG_ARM_PSCI_CHECKER is not set
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
# CONFIG_ARM_PTDUMP_DEBUGFS is not set
|
||||
# CONFIG_ARM_SBSA_WATCHDOG is not set
|
||||
# CONFIG_ARM_SCPI_PROTOCOL is not set
|
||||
@ -678,10 +679,10 @@ CONFIG_BLOCK=y
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_BOOKE_WDT is not set
|
||||
CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3
|
||||
# CONFIG_BOOTTIME_TRACING is not set
|
||||
# CONFIG_BOOT_CONFIG is not set
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
CONFIG_BOOT_RAW=y
|
||||
# CONFIG_BOOTTIME_TRACING is not set
|
||||
# CONFIG_BOUNCE is not set
|
||||
CONFIG_BPF=y
|
||||
# CONFIG_BPFILTER is not set
|
||||
@ -941,7 +942,6 @@ CONFIG_COMPACTION=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_COMPILE_TEST is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
# CONFIG_CONFIG_KVM_AMD_SEV is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
||||
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
|
||||
@ -971,6 +971,7 @@ CONFIG_CONSTRUCTORS=y
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
# CONFIG_CPU_IDLE_GOV_MENU is not set
|
||||
# CONFIG_CPU_IDLE_GOV_TEO is not set
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
@ -1163,14 +1164,18 @@ CONFIG_CRYPTO_PCRYPT=y
|
||||
# CONFIG_CRYPTO_SHA256_ARM is not set
|
||||
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
|
||||
# CONFIG_CRYPTO_SHA3 is not set
|
||||
# CONFIG_CRYPTO_SHA3_ARM64 is not set
|
||||
# CONFIG_CRYPTO_SHA512 is not set
|
||||
# CONFIG_CRYPTO_SHA512_ARM is not set
|
||||
# CONFIG_CRYPTO_SHA512_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SIMD is not set
|
||||
CONFIG_CRYPTO_SKCIPHER=y
|
||||
CONFIG_CRYPTO_SKCIPHER2=y
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
# CONFIG_CRYPTO_SM3 is not set
|
||||
# CONFIG_CRYPTO_SM3_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_SM4_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SPECK is not set
|
||||
# CONFIG_CRYPTO_STATS is not set
|
||||
# CONFIG_CRYPTO_STREEBOG is not set
|
||||
@ -1394,6 +1399,9 @@ CONFIG_DQL=y
|
||||
# CONFIG_DRM_AMDGPU_USERPTR is not set
|
||||
# CONFIG_DRM_AMD_ACP is not set
|
||||
# CONFIG_DRM_AMD_DC_DCN2_0 is not set
|
||||
# CONFIG_DRM_AMD_DC_DCN3_0 is not set
|
||||
# CONFIG_DRM_AMD_DC_HDCP is not set
|
||||
# CONFIG_DRM_AMD_DC_SI is not set
|
||||
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
|
||||
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
|
||||
# CONFIG_DRM_ARCPGU is not set
|
||||
@ -1471,12 +1479,13 @@ CONFIG_DQL=y
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
||||
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
|
||||
# CONFIG_DRM_PANEL_SIMPLE is not set
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
||||
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
|
||||
@ -1899,13 +1908,13 @@ CONFIG_FIB_RULES=y
|
||||
# CONFIG_FIELDBUS_DEV is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_FIND_BIT_BENCHMARK is not set
|
||||
# CONFIG_FIT_PARTITION is not set
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_FIREWIRE_NOSY is not set
|
||||
# CONFIG_FIREWIRE_SERIAL is not set
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||
# CONFIG_FIRMWARE_MEMMAP is not set
|
||||
# CONFIG_FIT_PARTITION is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
@ -2555,11 +2564,13 @@ CONFIG_INPUT_MISC=y
|
||||
# CONFIG_INTEGRITY is not set
|
||||
# CONFIG_INTEGRITY_AUDIT is not set
|
||||
# CONFIG_INTEGRITY_SIGNATURE is not set
|
||||
# CONFIG_INTEL_ATOMISP2_LED is not set
|
||||
# CONFIG_INTEL_ATOMISP2_PM is not set
|
||||
# CONFIG_INTEL_CHT_INT33FE is not set
|
||||
# CONFIG_INTEL_HID_EVENT is not set
|
||||
# CONFIG_INTEL_IDLE is not set
|
||||
# CONFIG_INTEL_IDMA64 is not set
|
||||
# CONFIG_INTEL_INT0002_VGPIO is not set
|
||||
# CONFIG_INTEL_IOATDMA is not set
|
||||
# CONFIG_INTEL_ISH_HID is not set
|
||||
# CONFIG_INTEL_MEI is not set
|
||||
@ -2768,8 +2779,6 @@ CONFIG_JFFS2_SUMMARY=y
|
||||
# CONFIG_JME is not set
|
||||
CONFIG_JOLIET=y
|
||||
# CONFIG_JSA1212 is not set
|
||||
# CONFIG_JZ4740_WDT is not set
|
||||
# CONFIG_JZ4770_PHY is not set
|
||||
# CONFIG_JUMP_LABEL is not set
|
||||
# CONFIG_JZ4740_WDT is not set
|
||||
# CONFIG_JZ4770_PHY is not set
|
||||
@ -2789,9 +2798,9 @@ CONFIG_KASAN_STACK=1
|
||||
# CONFIG_KERNEL_LZ4 is not set
|
||||
# CONFIG_KERNEL_LZMA is not set
|
||||
# CONFIG_KERNEL_LZO is not set
|
||||
# CONFIG_KERNEL_ZSTD is not set
|
||||
CONFIG_KERNEL_MODE_NEON=y
|
||||
CONFIG_KERNEL_XZ=y
|
||||
# CONFIG_KERNEL_ZSTD is not set
|
||||
CONFIG_KERNFS=y
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_KEXEC_FILE is not set
|
||||
@ -2837,10 +2846,10 @@ CONFIG_KERNFS=y
|
||||
# CONFIG_KGDB is not set
|
||||
# CONFIG_KMEMCHECK is not set
|
||||
# CONFIG_KMX61 is not set
|
||||
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
|
||||
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
|
||||
# CONFIG_KPROBES is not set
|
||||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
|
||||
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
|
||||
# CONFIG_KS7010 is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851 is not set
|
||||
@ -2850,8 +2859,10 @@ CONFIG_KERNFS=y
|
||||
# CONFIG_KUNIT is not set
|
||||
CONFIG_KUSER_HELPERS=y
|
||||
# CONFIG_KVM_AMD is not set
|
||||
# CONFIG_KVM_AMD_SEV is not set
|
||||
# CONFIG_KVM_GUEST is not set
|
||||
# CONFIG_KVM_INTEL is not set
|
||||
# CONFIG_KVM_WERROR is not set
|
||||
# CONFIG_KXCJK1013 is not set
|
||||
# CONFIG_KXSD9 is not set
|
||||
# CONFIG_L2TP is not set
|
||||
@ -3034,7 +3045,6 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||
# CONFIG_MACH_JZ4740 is not set
|
||||
# CONFIG_MACH_LOONGSON2EF is not set
|
||||
# CONFIG_MACH_LOONGSON32 is not set
|
||||
# CONFIG_MACH_LOONGSON2EF is not set
|
||||
# CONFIG_MACH_LOONGSON64 is not set
|
||||
# CONFIG_MACH_PIC32 is not set
|
||||
# CONFIG_MACH_PISTACHIO is not set
|
||||
@ -3385,6 +3395,7 @@ CONFIG_MMC_BLOCK_MINORS=8
|
||||
# CONFIG_MMC_SPI is not set
|
||||
# CONFIG_MMC_STM32_SDMMC is not set
|
||||
# CONFIG_MMC_TEST is not set
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
# CONFIG_MMC_TOSHIBA_PCI is not set
|
||||
# CONFIG_MMC_USDHI6ROL0 is not set
|
||||
# CONFIG_MMC_USHC is not set
|
||||
@ -4143,6 +4154,7 @@ CONFIG_NMI_LOG_BUF_SHIFT=13
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
# CONFIG_OBS600 is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
# CONFIG_OCTEONTX2_PF is not set
|
||||
# CONFIG_OF_OVERLAY is not set
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
@ -4262,6 +4274,7 @@ CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_PCIEAER_INJECT is not set
|
||||
# CONFIG_PCIEASPM is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCIE_AL is not set
|
||||
# CONFIG_PCIE_ALTERA is not set
|
||||
# CONFIG_PCIE_ARMADA_8K is not set
|
||||
# CONFIG_PCIE_BUS_DEFAULT is not set
|
||||
@ -5411,6 +5424,7 @@ CONFIG_SND_DRIVERS=y
|
||||
# CONFIG_SND_GUSMAX is not set
|
||||
# CONFIG_SND_HDA_INTEL is not set
|
||||
# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
|
||||
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
|
||||
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
|
||||
CONFIG_SND_HDA_PREALLOC_SIZE=64
|
||||
# CONFIG_SND_HDSP is not set
|
||||
@ -5508,6 +5522,7 @@ CONFIG_SND_PROC_FS=y
|
||||
# CONFIG_SND_SOC_ALC5623 is not set
|
||||
# CONFIG_SND_SOC_AMD_ACP is not set
|
||||
# CONFIG_SND_SOC_AMD_ACP3x is not set
|
||||
# CONFIG_SND_SOC_AMD_RENOIR is not set
|
||||
# CONFIG_SND_SOC_AU1XAUDIO is not set
|
||||
# CONFIG_SND_SOC_AU1XPSC is not set
|
||||
# CONFIG_SND_SOC_BD28623 is not set
|
||||
@ -5573,6 +5588,7 @@ CONFIG_SND_PROC_FS=y
|
||||
# CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set
|
||||
# CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH is not set
|
||||
# CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH is not set
|
||||
# CONFIG_SND_SOC_INTEL_CATPT is not set
|
||||
# CONFIG_SND_SOC_INTEL_CFL is not set
|
||||
# CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH is not set
|
||||
# CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH is not set
|
||||
@ -5594,6 +5610,7 @@ CONFIG_SND_PROC_FS=y
|
||||
# CONFIG_SND_SOC_INTEL_SKYLAKE is not set
|
||||
# CONFIG_SND_SOC_INTEL_SST is not set
|
||||
CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
|
||||
# CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set
|
||||
# CONFIG_SND_SOC_JZ4725B_CODEC is not set
|
||||
# CONFIG_SND_SOC_JZ4740_CODEC is not set
|
||||
# CONFIG_SND_SOC_JZ4770_CODEC is not set
|
||||
@ -5786,6 +5803,7 @@ CONFIG_SND_X86=y
|
||||
# CONFIG_SPI_GPIO is not set
|
||||
# CONFIG_SPI_GPIO_OLD is not set
|
||||
# CONFIG_SPI_IMG_SPFI is not set
|
||||
# CONFIG_SPI_LANTIQ_SSC is not set
|
||||
# CONFIG_SPI_LM70_LLP is not set
|
||||
# CONFIG_SPI_LOOPBACK_TEST is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
@ -5912,8 +5930,8 @@ CONFIG_SYMBOLIC_ERRNAME=y
|
||||
# CONFIG_SYNCLINK_CS is not set
|
||||
# CONFIG_SYNC_FILE is not set
|
||||
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_SYNTH_EVENTS is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_SYSCON_REBOOT_MODE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
@ -6547,6 +6565,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_RCAR_PHY is not set
|
||||
# CONFIG_USB_RENESAS_USBHS is not set
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_ROLES_INTEL_XHCI is not set
|
||||
# CONFIG_USB_ROLE_SWITCH is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_RTL8152 is not set
|
||||
@ -6782,6 +6801,7 @@ CONFIG_VHOST_MENU=y
|
||||
# CONFIG_VIDEO_OV2659 is not set
|
||||
# CONFIG_VIDEO_OV2680 is not set
|
||||
# CONFIG_VIDEO_OV2685 is not set
|
||||
# CONFIG_VIDEO_OV2740 is not set
|
||||
# CONFIG_VIDEO_OV5640 is not set
|
||||
# CONFIG_VIDEO_OV5645 is not set
|
||||
# CONFIG_VIDEO_OV5647 is not set
|
||||
@ -6858,6 +6878,7 @@ CONFIG_VHOST_MENU=y
|
||||
# CONFIG_VIRTIO_INPUT is not set
|
||||
CONFIG_VIRTIO_MENU=y
|
||||
# CONFIG_VIRTIO_MMIO is not set
|
||||
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
|
||||
# CONFIG_VIRTIO_PCI is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
|
||||
|
||||
@ -370,6 +370,7 @@ CONFIG_ARM_GIC_MAX_NR=1
|
||||
# CONFIG_ARM_PATCH_PHYS_VIRT is not set
|
||||
# CONFIG_ARM_PSCI is not set
|
||||
# CONFIG_ARM_PSCI_CHECKER is not set
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
# CONFIG_ARM_PTDUMP_DEBUGFS is not set
|
||||
# CONFIG_ARM_SBSA_WATCHDOG is not set
|
||||
# CONFIG_ARM_SCPI_PROTOCOL is not set
|
||||
@ -888,7 +889,6 @@ CONFIG_COMPACTION=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_COMPILE_TEST is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
# CONFIG_CONFIG_KVM_AMD_SEV is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
||||
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
|
||||
@ -917,6 +917,7 @@ CONFIG_CONSTRUCTORS=y
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
# CONFIG_CPU_IDLE_GOV_MENU is not set
|
||||
# CONFIG_CPU_IDLE_GOV_TEO is not set
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
@ -968,6 +969,7 @@ CONFIG_CRYPTO_ALGAPI2=y
|
||||
# CONFIG_CRYPTO_ARC4 is not set
|
||||
# CONFIG_CRYPTO_AUTHENC is not set
|
||||
# CONFIG_CRYPTO_BLAKE2S is not set
|
||||
# CONFIG_CRYPTO_BLAKE2S_X86 is not set
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
@ -992,6 +994,7 @@ CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
# CONFIG_CRYPTO_CTS is not set
|
||||
# CONFIG_CRYPTO_CURVE25519 is not set
|
||||
# CONFIG_CRYPTO_CURVE25519_NEON is not set
|
||||
# CONFIG_CRYPTO_CURVE25519_X86 is not set
|
||||
# CONFIG_CRYPTO_DEFLATE is not set
|
||||
# CONFIG_CRYPTO_DES is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_AES is not set
|
||||
@ -1084,6 +1087,7 @@ CONFIG_CRYPTO_PCRYPT=y
|
||||
# CONFIG_CRYPTO_POLY1305 is not set
|
||||
# CONFIG_CRYPTO_POLY1305_ARM is not set
|
||||
# CONFIG_CRYPTO_POLY1305_MIPS is not set
|
||||
# CONFIG_CRYPTO_POLY1305_NEON is not set
|
||||
# CONFIG_CRYPTO_RMD128 is not set
|
||||
# CONFIG_CRYPTO_RMD160 is not set
|
||||
# CONFIG_CRYPTO_RMD256 is not set
|
||||
@ -1103,11 +1107,15 @@ CONFIG_CRYPTO_PCRYPT=y
|
||||
# CONFIG_CRYPTO_SHA256_ARM is not set
|
||||
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
|
||||
# CONFIG_CRYPTO_SHA3 is not set
|
||||
# CONFIG_CRYPTO_SHA3_ARM64 is not set
|
||||
# CONFIG_CRYPTO_SHA512 is not set
|
||||
# CONFIG_CRYPTO_SHA512_ARM is not set
|
||||
# CONFIG_CRYPTO_SHA512_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SIMD is not set
|
||||
# CONFIG_CRYPTO_SM3 is not set
|
||||
# CONFIG_CRYPTO_SM3_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_SM4_ARM64_CE is not set
|
||||
# CONFIG_CRYPTO_SPECK is not set
|
||||
# CONFIG_CRYPTO_STATS is not set
|
||||
# CONFIG_CRYPTO_STREEBOG is not set
|
||||
@ -1385,6 +1393,7 @@ CONFIG_DQL=y
|
||||
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
|
||||
# CONFIG_DRM_PANEL_SIMPLE is not set
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
||||
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
|
||||
@ -1498,7 +1507,13 @@ CONFIG_ETHERNET=y
|
||||
# CONFIG_ETHOC is not set
|
||||
CONFIG_EVENTFD=y
|
||||
# CONFIG_EVM is not set
|
||||
# CONFIG_EXFAT_DEBUG_MSG is not set
|
||||
CONFIG_EXFAT_DEFAULT_CODEPAGE=437
|
||||
# CONFIG_EXFAT_DELAYED_SYNC is not set
|
||||
CONFIG_EXFAT_DISCARD=y
|
||||
CONFIG_EXFAT_DONT_MOUNT_VFAT=y
|
||||
# CONFIG_EXFAT_FS is not set
|
||||
# CONFIG_EXFAT_KERNEL_DEBUG is not set
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_EXPORTFS=y
|
||||
# CONFIG_EXPORTFS_BLOCK_OPS is not set
|
||||
@ -2620,6 +2635,7 @@ CONFIG_KERNFS=y
|
||||
# CONFIG_KSZ884X_PCI is not set
|
||||
CONFIG_KUSER_HELPERS=y
|
||||
# CONFIG_KVM_AMD is not set
|
||||
# CONFIG_KVM_AMD_SEV is not set
|
||||
# CONFIG_KVM_GUEST is not set
|
||||
# CONFIG_KVM_INTEL is not set
|
||||
# CONFIG_KXCJK1013 is not set
|
||||
@ -3085,6 +3101,7 @@ CONFIG_MMC_BLOCK_MINORS=8
|
||||
# CONFIG_MMC_SPI is not set
|
||||
# CONFIG_MMC_STM32_SDMMC is not set
|
||||
# CONFIG_MMC_TEST is not set
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
# CONFIG_MMC_TOSHIBA_PCI is not set
|
||||
# CONFIG_MMC_USDHI6ROL0 is not set
|
||||
# CONFIG_MMC_USHC is not set
|
||||
@ -3825,6 +3842,7 @@ CONFIG_NMI_LOG_BUF_SHIFT=13
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
# CONFIG_OBS600 is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
# CONFIG_OF_OVERLAY is not set
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
# CONFIG_OF_UNITTEST is not set
|
||||
@ -3942,6 +3960,7 @@ CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_PCIEAER_INJECT is not set
|
||||
# CONFIG_PCIEASPM is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCIE_AL is not set
|
||||
# CONFIG_PCIE_ALTERA is not set
|
||||
# CONFIG_PCIE_ARMADA_8K is not set
|
||||
# CONFIG_PCIE_BW is not set
|
||||
@ -6356,6 +6375,7 @@ CONFIG_VDSO=y
|
||||
# CONFIG_VIRTIO_INPUT is not set
|
||||
CONFIG_VIRTIO_MENU=y
|
||||
# CONFIG_VIRTIO_MMIO is not set
|
||||
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
|
||||
# CONFIG_VIRTIO_PCI is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
|
||||
|
||||
@ -298,7 +298,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_MPILIB=y
|
||||
CONFIG_MTD_NAND_CORE=y
|
||||
|
||||
@ -272,7 +272,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_MPILIB=y
|
||||
CONFIG_MTD_NAND_CORE=y
|
||||
|
||||
@ -249,7 +249,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_MSM=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
# CONFIG_MSM_GCC_8660 is not set
|
||||
# CONFIG_MSM_GCC_8916 is not set
|
||||
|
||||
@ -298,7 +298,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_MSM=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_MSM_GCC_8660=y
|
||||
# CONFIG_MSM_GCC_8916 is not set
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "rootfstype=squashfs,ext4 rootwait noinitrd";
|
||||
bootargs = "rootfstype=squashfs,ext4 rootwait noinitrd fstools_ignore_partname=1";
|
||||
append-rootblock = "root=/dev/mmcblk0p";
|
||||
};
|
||||
|
||||
|
||||
@ -390,7 +390,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_MSM=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_MPILIB=y
|
||||
|
||||
@ -17,9 +17,11 @@ define Device/arcadyan_arv7519rw22
|
||||
DEVICE_ALT0_VARIANT := 2.1
|
||||
DEVICE_ALT1_VENDOR := Astoria Networks
|
||||
DEVICE_ALT1_MODEL := ARV7519RW22
|
||||
KERNEL_SIZE := 2048k
|
||||
IMAGE_SIZE := 31232k
|
||||
DEVICE_PACKAGES := kmod-usb-dwc2
|
||||
SUPPORTED_DEVICES += ARV7519RW22
|
||||
DEFAULT := n
|
||||
endef
|
||||
TARGET_DEVICES += arcadyan_arv7519rw22
|
||||
|
||||
|
||||
@ -75,7 +75,6 @@ CONFIG_ARM_PATCH_IDIV=y
|
||||
CONFIG_ARM_PATCH_PHYS_VIRT=y
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_ARM_PSCI=y
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
# CONFIG_ARM_SMMU is not set
|
||||
CONFIG_ARM_THUMB=y
|
||||
@ -165,7 +164,6 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||
CONFIG_CPU_FREQ_STAT=y
|
||||
CONFIG_CPU_HAS_ASID=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||
CONFIG_CPU_PABRT_V7=y
|
||||
@ -456,7 +454,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
@ -754,7 +751,6 @@ CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||
|
||||
@ -99,7 +99,6 @@ CONFIG_ARM_GIC_V3_ITS_FSL_MC=y
|
||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_PL172_MPMC is not set
|
||||
CONFIG_ARM_PMU=y
|
||||
# CONFIG_ARM_PSCI_CPUIDLE is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_ARM_SMMU=y
|
||||
# CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT is not set
|
||||
@ -184,7 +183,6 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_STAT=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||
CONFIG_CPU_PM=y
|
||||
@ -618,7 +616,6 @@ CONFIG_MMC_SDHCI_IO_ACCESSORS=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
# CONFIG_MMC_SDHCI_PCI is not set
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
CONFIG_MMU_NOTIFIER=y
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
@ -693,7 +690,6 @@ CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_NVMEM_SYSFS=y
|
||||
# CONFIG_OCTEONTX2_AF is not set
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
@ -722,7 +718,6 @@ CONFIG_PCIEASPM_DEFAULT=y
|
||||
# CONFIG_PCIEASPM_POWERSAVE is not set
|
||||
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIE_AL is not set
|
||||
CONFIG_PCIE_DW=y
|
||||
CONFIG_PCIE_DW_HOST=y
|
||||
CONFIG_PCIE_LAYERSCAPE_GEN4=y
|
||||
@ -956,7 +951,6 @@ CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
# CONFIG_VIRTIO_IOMMU is not set
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -406,6 +406,8 @@ void __init arm64_memblock_init(void)
|
||||
@@ -418,6 +418,8 @@ void __init arm64_memblock_init(void)
|
||||
initrd_end = initrd_start + phys_initrd_size;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
/* 4GB maximum for 32-bit only capable devices */
|
||||
@@ -416,8 +418,6 @@ void __init arm64_memblock_init(void)
|
||||
@@ -428,8 +430,6 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
reserve_crashkernel();
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1427,8 +1427,7 @@ int enetc_close(struct net_device *ndev)
|
||||
@@ -1422,8 +1422,7 @@ int enetc_close(struct net_device *ndev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct tc_mqprio_qopt *mqprio = type_data;
|
||||
@@ -1436,9 +1435,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1431,9 +1430,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
u8 num_tc;
|
||||
int i;
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
|
||||
num_tc = mqprio->num_tc;
|
||||
|
||||
@@ -1483,6 +1479,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1478,6 +1474,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.h
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.h
|
||||
@@ -244,3 +244,10 @@ int enetc_set_fs_entry(struct enetc_si *
|
||||
@@ -249,3 +249,10 @@ int enetc_set_fs_entry(struct enetc_si *
|
||||
void enetc_set_rss_key(struct enetc_hw *hw, const u8 *bytes);
|
||||
int enetc_get_rss_table(struct enetc_si *si, u32 *table, int count);
|
||||
int enetc_set_rss_table(struct enetc_si *si, const u32 *table, int count);
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
|
||||
@@ -1314,8 +1319,12 @@ static void enetc_disable_interrupts(str
|
||||
@@ -1309,8 +1314,12 @@ static void enetc_disable_interrupts(str
|
||||
|
||||
static void adjust_link(struct net_device *ndev)
|
||||
{
|
||||
@ -91,7 +91,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
struct enetc_bdr *tx_ring[16];
|
||||
struct enetc_bdr *rx_ring[16];
|
||||
|
||||
@@ -248,6 +254,8 @@ int enetc_send_cmd(struct enetc_si *si,
|
||||
@@ -253,6 +259,8 @@ int enetc_send_cmd(struct enetc_si *si,
|
||||
|
||||
#ifdef CONFIG_FSL_ENETC_QOS
|
||||
int enetc_setup_tc_taprio(struct net_device *ndev, void *type_data);
|
||||
|
||||
@ -79,8 +79,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
+}
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
@@ -852,6 +852,61 @@ static int enetc_init_port_rss_memory(st
|
||||
return err;
|
||||
@@ -872,6 +872,61 @@ static void enetc_init_unused_port(struc
|
||||
enetc_free_cbdr(dev, &si->cbd_ring);
|
||||
}
|
||||
|
||||
+static void enetc_configure_sgmii(struct mii_bus *imdio)
|
||||
@ -141,7 +141,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
static int enetc_pf_probe(struct pci_dev *pdev,
|
||||
const struct pci_device_id *ent)
|
||||
{
|
||||
@@ -928,6 +983,10 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -956,6 +1011,10 @@ static int enetc_pf_probe(struct pci_dev
|
||||
if (err)
|
||||
dev_warn(&pdev->dev, "Fallback to PHY-less operation\n");
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
}
|
||||
|
||||
/* Initialize the entire shared memory for the flow steering entries
|
||||
@@ -933,6 +936,10 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -955,6 +958,10 @@ static int enetc_pf_probe(struct pci_dev
|
||||
pf->si = si;
|
||||
pf->total_vfs = pci_sriov_get_totalvfs(pdev);
|
||||
|
||||
@ -136,7 +136,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
enetc_configure_port(pf);
|
||||
|
||||
enetc_get_si_caps(si);
|
||||
@@ -947,6 +954,8 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -969,6 +976,8 @@ static int enetc_pf_probe(struct pci_dev
|
||||
enetc_pf_netdev_setup(si, ndev, &enetc_ndev_ops);
|
||||
|
||||
priv = netdev_priv(ndev);
|
||||
@ -145,7 +145,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
|
||||
enetc_init_si_rings_params(priv);
|
||||
|
||||
@@ -974,10 +983,6 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -1002,10 +1011,6 @@ static int enetc_pf_probe(struct pci_dev
|
||||
goto err_alloc_msix;
|
||||
}
|
||||
|
||||
@ -156,23 +156,23 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
err = enetc_configure_serdes(priv);
|
||||
if (err)
|
||||
dev_warn(&pdev->dev, "Attempted serdes config but failed\n");
|
||||
@@ -995,7 +1000,6 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -1023,7 +1028,6 @@ static int enetc_pf_probe(struct pci_dev
|
||||
|
||||
err_reg_netdev:
|
||||
enetc_mdio_remove(pf);
|
||||
- enetc_of_put_phy(priv);
|
||||
enetc_free_msix(priv);
|
||||
err_config_si:
|
||||
err_init_port_rss:
|
||||
err_init_port_rfs:
|
||||
@@ -1005,6 +1009,7 @@ err_alloc_si_res:
|
||||
@@ -1034,6 +1038,7 @@ err_alloc_si_res:
|
||||
si->ndev = NULL;
|
||||
free_netdev(ndev);
|
||||
err_alloc_netdev:
|
||||
+ enetc_of_put_phy(pf);
|
||||
err_device_disabled:
|
||||
err_map_pf_space:
|
||||
enetc_pci_remove(pdev);
|
||||
|
||||
@@ -1027,7 +1032,7 @@ static void enetc_pf_remove(struct pci_d
|
||||
@@ -1057,7 +1062,7 @@ static void enetc_pf_remove(struct pci_d
|
||||
unregister_netdev(si->ndev);
|
||||
|
||||
enetc_mdio_remove(pf);
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
|
||||
enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII);
|
||||
}
|
||||
|
||||
@@ -889,7 +890,8 @@ static int enetc_configure_serdes(struct
|
||||
@@ -909,7 +910,8 @@ static int enetc_configure_serdes(struct
|
||||
int err;
|
||||
|
||||
if (priv->if_mode != PHY_INTERFACE_MODE_SGMII &&
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
|
||||
return 0;
|
||||
|
||||
err = enetc_imdio_init(pf);
|
||||
@@ -899,7 +901,8 @@ static int enetc_configure_serdes(struct
|
||||
@@ -919,7 +921,8 @@ static int enetc_configure_serdes(struct
|
||||
if (priv->if_mode == PHY_INTERFACE_MODE_SGMII)
|
||||
enetc_configure_sgmii(pf->imdio);
|
||||
|
||||
|
||||
@ -397,7 +397,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
|
||||
#define enetc_mdio_rd(mdio_priv, off) \
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
@@ -1046,6 +1046,9 @@ static void enetc_pf_remove(struct pci_d
|
||||
@@ -1076,6 +1076,9 @@ static void enetc_pf_remove(struct pci_d
|
||||
enetc_pci_remove(pdev);
|
||||
}
|
||||
|
||||
|
||||
@ -371,7 +371,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
#define enetc_rd(hw, off) enetc_rd_reg((hw)->reg + (off))
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
@@ -1046,8 +1046,9 @@ static void enetc_pf_remove(struct pci_d
|
||||
@@ -1076,8 +1076,9 @@ static void enetc_pf_remove(struct pci_d
|
||||
enetc_pci_remove(pdev);
|
||||
}
|
||||
|
||||
|
||||
@ -48,11 +48,11 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
|
||||
@@ -1012,6 +1012,7 @@ err_alloc_si_res:
|
||||
@@ -1041,6 +1041,7 @@ err_alloc_si_res:
|
||||
si->ndev = NULL;
|
||||
free_netdev(ndev);
|
||||
err_alloc_netdev:
|
||||
+ enetc_mdio_remove(pf);
|
||||
enetc_of_put_phy(pf);
|
||||
err_device_disabled:
|
||||
err_map_pf_space:
|
||||
enetc_pci_remove(pdev);
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+ taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1524,6 +1524,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1519,6 +1519,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return enetc_setup_tc_mqprio(ndev, type_data);
|
||||
case TC_SETUP_QDISC_TAPRIO:
|
||||
return enetc_setup_tc_taprio(ndev, type_data);
|
||||
@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.h
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.h
|
||||
@@ -255,7 +255,9 @@ int enetc_send_cmd(struct enetc_si *si,
|
||||
@@ -260,7 +260,9 @@ int enetc_send_cmd(struct enetc_si *si,
|
||||
#ifdef CONFIG_FSL_ENETC_QOS
|
||||
int enetc_setup_tc_taprio(struct net_device *ndev, void *type_data);
|
||||
void enetc_sched_speed_set(struct net_device *ndev);
|
||||
|
||||
@ -179,7 +179,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
|
||||
};
|
||||
|
||||
struct enetc_ndev_priv {
|
||||
@@ -261,3 +292,10 @@ int enetc_setup_tc_cbs(struct net_device
|
||||
@@ -266,3 +297,10 @@ int enetc_setup_tc_cbs(struct net_device
|
||||
#define enetc_sched_speed_set(ndev) (void)0
|
||||
#define enetc_setup_tc_cbs(ndev, type_data) -EOPNOTSUPP
|
||||
#endif
|
||||
@ -839,7 +839,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
|
||||
/* pick up primary MAC address from SI */
|
||||
enetc_get_primary_mac_addr(&si->hw, ndev->dev_addr);
|
||||
}
|
||||
@@ -999,6 +1006,8 @@ static int enetc_pf_probe(struct pci_dev
|
||||
@@ -1027,6 +1034,8 @@ static int enetc_pf_probe(struct pci_dev
|
||||
netif_info(priv, probe, ndev, "%s v%s\n",
|
||||
enetc_drv_name, enetc_drv_ver);
|
||||
|
||||
@ -848,7 +848,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
|
||||
return 0;
|
||||
|
||||
err_reg_netdev:
|
||||
@@ -1033,6 +1042,8 @@ static void enetc_pf_remove(struct pci_d
|
||||
@@ -1063,6 +1072,8 @@ static void enetc_pf_remove(struct pci_d
|
||||
netif_info(priv, drv, si->ndev, "%s v%s remove\n",
|
||||
enetc_drv_name, enetc_drv_ver);
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1369,6 +1369,7 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1364,6 +1364,7 @@ static int enetc_phy_connect(struct net_
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct phy_device *phydev;
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
if (!priv->phy_node)
|
||||
return 0; /* phy-less mode */
|
||||
@@ -1382,6 +1383,10 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1377,6 +1378,10 @@ static int enetc_phy_connect(struct net_
|
||||
|
||||
phy_attached_info(phydev);
|
||||
|
||||
|
||||
@ -344,7 +344,7 @@ MDIO erratum.
|
||||
static int enetc_of_get_phy(struct enetc_pf *pf)
|
||||
{
|
||||
struct device *dev = &pf->si->pdev->dev;
|
||||
@@ -891,6 +938,30 @@ static void enetc_configure_sxgmii(struc
|
||||
@@ -911,6 +958,30 @@ static void enetc_configure_sxgmii(struc
|
||||
ENETC_PCS_CR_LANE_RESET | ENETC_PCS_CR_RESET_AN);
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1661,7 +1661,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
@@ -1656,7 +1656,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
if (cmd == SIOCGHWTSTAMP)
|
||||
return enetc_hwtstamp_get(ndev, rq);
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user