Merge Official Source

This commit is contained in:
AmadeusGhost 2020-12-16 00:17:00 +08:00
commit b4bdbe2151
54 changed files with 472 additions and 378 deletions

View File

@ -531,23 +531,23 @@ if KERNEL_DEVTMPFS
endif
config KERNEL_KEYS
bool "Enable kernel access key retention support"
default n
bool "Enable kernel access key retention support"
default !SMALL_FLASH
config KERNEL_PERSISTENT_KEYRINGS
bool "Enable kernel persistent keyrings"
depends on KERNEL_KEYS
default n
bool "Enable kernel persistent keyrings"
depends on KERNEL_KEYS
default n
config KERNEL_KEYS_REQUEST_CACHE
bool "Enable temporary caching of the last request_key() result"
depends on KERNEL_KEYS
default n
config KERNEL_BIG_KEYS
bool "Enable large payload keys on kernel keyrings"
depends on KERNEL_KEYS
default n
config KERNEL_ENCRYPTED_KEYS
tristate "Enable keys with encrypted payloads on kernel keyrings"
depends on KERNEL_KEYS
default n
bool "Enable large payload keys on kernel keyrings"
depends on KERNEL_KEYS
default n
#
# CGROUP support symbols

View File

@ -568,6 +568,7 @@ define Device/Build/image
SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
IMAGE_NAME="$(IMAGE_NAME)" \
IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
IMAGE_FILESYSTEM="$(1)" \
IMAGE_PREFIX="$(IMAGE_PREFIX)" \
DEVICE_VENDOR="$(DEVICE_VENDOR)" \
DEVICE_MODEL="$(DEVICE_MODEL)" \

View File

@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
LINUX_VERSION-5.4 = .82
LINUX_VERSION-5.4 = .83
LINUX_KERNEL_HASH-5.4.82 = fb4458e4ea38b6c5df4ee8cee0d9b0420b5aed07e273787b045c0db48709ddaf
LINUX_KERNEL_HASH-5.4.83 = beec970bbb93de8ab839f27930f7ab00c7bd65af0ffa07a50e765affdc2561c6
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -0,0 +1,48 @@
From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
From: Dirk Mueller <dmueller@suse.com>
Date: Tue, 14 Jan 2020 18:53:41 +0100
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
gcc 10 will default to -fno-common, which causes this error at link
time:
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
This is because both dtc-lexer as well as dtc-parser define the same
global symbol yyloc. Before with -fcommon those were merged into one
defintion. The proper solution would be to to mark this as "extern",
however that leads to:
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
26 | extern YYLTYPE yylloc;
| ^~~~~~
In file included from dtc-lexer.l:24:
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
127 | extern YYLTYPE yylloc;
| ^~~~~~
cc1: all warnings being treated as errors
which means the declaration is completely redundant and can just be
dropped.
Signed-off-by: Dirk Mueller <dmueller@suse.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[robh: cherry-pick from upstream]
Cc: stable@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
scripts/dtc/dtc-lexer.l | 1 -
1 file changed, 1 deletion(-)
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index 5c6c3fd557d7f..b3b7270300de5 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */

View File

@ -1103,6 +1103,47 @@ endef
$(eval $(call KernelPackage,echo))
define KernelPackage/keys-encrypted
SUBMENU:=$(OTHER_MENU)
TITLE:=encrypted keys on kernel keyring
DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
+kmod-crypto-sha256 +kmod-keys-trusted
KCONFIG:=CONFIG_ENCRYPTED_KEYS
FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
endef
define KernelPackage/keys-encrypted/description
This module provides support for create/encrypting/decrypting keys
in the kernel. Encrypted keys are kernel generated random numbers,
which are encrypted/decrypted with a 'master' symmetric key. The
'master' key can be either a trusted-key or user-key type.
Userspace only ever sees/stores encrypted blobs.
endef
$(eval $(call KernelPackage,keys-encrypted))
define KernelPackage/keys-trusted
SUBMENU:=$(OTHER_MENU)
TITLE:=TPM trusted keys on kernel keyring
DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
KCONFIG:=CONFIG_TRUSTED_KEYS
FILES:=$(LINUX_DIR)/security/keys/trusted.ko
AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
endef
define KernelPackage/keys-trusted/description
This module provides support for creating, sealing, and unsealing
keys in the kernel. Trusted keys are random number symmetric keys,
generated and RSA-sealed by the TPM. The TPM only unseals the keys,
if the boot PCRs and other criteria match. Userspace will only ever
see encrypted blobs.
endef
$(eval $(call KernelPackage,keys-trusted))
define KernelPackage/tpm
SUBMENU:=$(OTHER_MENU)
TITLE:=TPM Hardware Support

View File

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Luci for Docker-CE
LUCI_DEPENDS:=+docker-ce +e2fsprogs +fdisk
LUCI_DEPENDS:=+docker +e2fsprogs +fdisk
LUCI_PKGARCH:=all
PKG_VERSION:=1
PKG_RELEASE:=9

View File

@ -8,20 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libnetfilter_conntrack
PKG_RELEASE:=2
PKG_VERSION:=1.0.8
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://git.netfilter.org/libnetfilter_conntrack
PKG_SOURCE_DATE:=2018-05-01
PKG_SOURCE_VERSION:=3ccae9f5b2a9564cd63699ba60e54a46bc0d73b6
PKG_MIRROR_HASH:=c978ef0fa5b7379de2909ca5d9c599ac63b4f8166f5971d58f6e074a922d996f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.netfilter.org/projects/libnetfilter_conntrack/files
PKG_HASH:=0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_FIXUP:=autoreconf
PKG_LICENSE:=GPL-2.0+
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk

View File

@ -5,9 +5,9 @@ PKG_RELEASE=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uclient.git
PKG_MIRROR_HASH:=05962d4edbe7b856e017d974c3d7e34dfa5f905821ab7a3534acc5886af4e5c7
PKG_SOURCE_DATE:=2020-06-17
PKG_SOURCE_VERSION:=c66098611f16806a936a3a3f92113a16382fc4d9
PKG_MIRROR_HASH:=532016a283722f21dd450e388060af0db765972956eee288c7cabf102c8303d0
PKG_SOURCE_DATE:=2020-12-10
PKG_SOURCE_VERSION:=2c843b2bc04c34403d9a6b4de025447e4b5d8aa4
CMAKE_INSTALL:=1
PKG_BUILD_DEPENDS:=ustream-ssl
@ -24,7 +24,7 @@ define Package/libuclient
SECTION:=libs
CATEGORY:=Libraries
TITLE:=HTTP/1.1 client library
ABI_VERSION:=20160123
ABI_VERSION:=20201210
DEPENDS:=+libubox
endef

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustream-ssl.git
PKG_SOURCE_DATE:=2020-03-13
PKG_SOURCE_VERSION:=5e1bc3429cbf9c3be4db65ef5dbf21ea99cf5b95
PKG_MIRROR_HASH:=c59dea9b98d3ce88d886f7c7b3b252c55312ad281b731ab9172ae78570f1b643
PKG_SOURCE_DATE:=2020-12-10
PKG_SOURCE_VERSION:=68d09243b6fd4473004b27ff6483352e76e6af1a
PKG_MIRROR_HASH:=a620090dee08c0624d167c10e9e45d54aa2b953a1f356eff7325a8fe53c622e6
CMAKE_INSTALL:=1
PKG_LICENSE:=ISC
@ -23,7 +23,7 @@ define Package/libustream/default
CATEGORY:=Libraries
TITLE:=ustream SSL Library
DEPENDS:=+libubox
ABI_VERSION:=20200215
ABI_VERSION:=20201210
endef
define Package/libustream-openssl

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
PKG_SOURCE_DATE:=2020-11-30
PKG_SOURCE_VERSION:=42c48866f1c1fce068f41536baa8dd2e80fc08d7
PKG_MIRROR_HASH:=7eeec56364f1e6de8f0917f16ae933ca9bd0298e6a68e330025282164ea9af63
PKG_SOURCE_DATE:=2020-12-13
PKG_SOURCE_VERSION:=458b1a7e9473c150a40cae5d8be174f4bb03bd39
PKG_MIRROR_HASH:=424aefb55aedebfcffd540a2c02a42aeb574b7ebb1a6b546ca9965d9280d82e5
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0

View File

@ -97,19 +97,6 @@ zram_comp_algo()
fi
}
zram_comp_streams()
{
local dev="$1"
local logical_cpus=$( grep -ci "^processor" /proc/cpuinfo )
[ $logical_cpus -gt 1 ] || return 1
local zram_comp_streams="$( uci -q get system.@system[0].zram_comp_streams )"
[ -n "$zram_comp_streams" ] && [ "$zram_comp_streams" -le "$logical_cpus" ] || zram_comp_streams=$logical_cpus
if [ -e /sys/block/$( basename $dev )/max_comp_streams ]; then
logger -s -t zram_comp_streams -p daemon.debug "Set max compression streams to '$zram_comp_streams' for zram '$dev'"
echo $zram_comp_streams > /sys/block/$( basename $dev )/max_comp_streams
fi
}
#print various stats info about zram swap device
zram_stats()
{
@ -121,7 +108,6 @@ zram_stats()
printf "%-25s - %s\n" "Block device" $zdev
awk '{ printf "%-25s - %d MiB\n", "Device size", $1/1024/1024 }' <$zdev/disksize
printf "%-25s - %s\n" "Compression algo" "$(cat $zdev/comp_algorithm)"
printf "%-25s - %s\n" "Compression streams" "$( cat $zdev/max_comp_streams)"
awk 'BEGIN { fmt = "%-25s - %.2f %s\n"
fmt2 = "%-25s - %d\n"
@ -179,7 +165,6 @@ start()
zram_reset "$zram_dev" "enforcing defaults"
zram_comp_algo "$zram_dev"
zram_comp_streams "$zram_dev"
echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize"
/sbin/mkswap "$zram_dev"
/sbin/swapon -d $zram_priority "$zram_dev"

View File

@ -51,6 +51,7 @@ image_info = {
"images": [
{
"type": getenv("IMAGE_TYPE"),
"filesystem": getenv("IMAGE_FILESYSTEM"),
"name": getenv("IMAGE_NAME"),
"sha256": image_hash,
}

View File

@ -1,8 +1,9 @@
ARCH:=aarch64
SUBTARGET:=64
BOARDNAME:=ARMv8 multiplatform
BOARDNAME:=QEMU ARMv8 Virtual Machine (cortex-a53)
CPU_TYPE:=cortex-a53
KERNELNAME:=Image
define Target/Description
Build multi-platform images for the ARMv8 instruction set architecture
Build multi-platform images for the ARMv8 instruction set architecture
endef

View File

@ -1,4 +1,4 @@
This is intended to be used with LEDE project to provide image for use with
This is intended to be used with OpenWrt project to provide image for use with
QEMU ARM virt machine.
Run with qemu-system-arm

View File

@ -1,229 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca955x.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca9558_belkin_f9x-v2.dtsi"
/ {
model = "Belkin F9J1108 v2 (AC1750 DB Wi-Fi)";
compatible = "belkin,f9j1108-v2", "qca,qca9558";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth1;
};
leds {
compatible = "gpio-leds";
usb {
label = "green:usb2";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port0>;
linux,default-trigger = "usbport";
};
status {
label = "amber:status";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wps-amber {
label = "amber:wps";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wps-blue {
label = "blue:wps";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
led_system: system {
label = "blue:system";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
usb2_power {
gpio-export,name = "usb2:power";
gpio-export,output = <1>;
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "WPS button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwpart1 &fwpart2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "openwrt,okli";
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&pcie1 {
status = "okay";
};
&uart {
status = "okay";
};
&usb_phy0 {
status = "okay";
};
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port0: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
};
fwpart1: partition@50000 {
label = "fwpart1";
reg = <0x050000 0xe20000>;
};
partition@e70000 {
label = "loader";
reg = <0xe70000 0x10000>;
read-only;
};
fwpart2: partition@e80000 {
label = "fwpart2";
reg = <0xe80000 0x170000>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
};
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
qca,ar8327-initvals = <
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
0x50 0xc737c737 /* LED_CTRL0 */
0x54 0x00000000 /* LED_CTRL1 */
0x58 0x00000000 /* LED_CTRL2 */
0x5c 0x0030c300 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
phy-handle = <&phy0>;
pll-data = <0xa6000000 0x00000101 0x00001616>;
gmac-config {
device = <&gmac>;
rgmii-enabled = <1>;
};
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <(-1)>;
pll-data = <0x03000101 0x00000101 0x00001616>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&pcie0 {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
};
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};

View File

@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca9558_belkin_f9x-v2.dtsi"
/ {
model = "Belkin F9K1115 v2 (AC 1750 DB)";
compatible = "belkin,f9k1115-v2", "qca,qca9558";
};

View File

@ -0,0 +1,226 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca955x.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth1;
};
leds {
compatible = "gpio-leds";
usb {
label = "green:usb2";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port0>;
linux,default-trigger = "usbport";
};
status {
label = "amber:status";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wps-amber {
label = "amber:wps";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wps-blue {
label = "blue:wps";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
led_system: system {
label = "blue:system";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
usb2_power {
gpio-export,name = "usb2:power";
gpio-export,output = <1>;
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "WPS button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwpart1 &fwpart2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "openwrt,okli";
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&pcie1 {
status = "okay";
};
&uart {
status = "okay";
};
&usb_phy0 {
status = "okay";
};
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port0: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
};
fwpart1: partition@50000 {
label = "fwpart1";
reg = <0x050000 0xe20000>;
};
partition@e70000 {
label = "loader";
reg = <0xe70000 0x10000>;
read-only;
};
fwpart2: partition@e80000 {
label = "fwpart2";
reg = <0xe80000 0x170000>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
};
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
qca,ar8327-initvals = <
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
0x50 0xc737c737 /* LED_CTRL0 */
0x54 0x00000000 /* LED_CTRL1 */
0x58 0x00000000 /* LED_CTRL2 */
0x5c 0x0030c300 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
phy-handle = <&phy0>;
pll-data = <0xa6000000 0x00000101 0x00001616>;
gmac-config {
device = <&gmac>;
rgmii-enabled = <1>;
};
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <(-1)>;
pll-data = <0x03000101 0x00000101 0x00001616>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&pcie0 {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
};
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};

View File

@ -101,6 +101,7 @@ ath79_setup_interfaces()
"0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
;;
belkin,f9j1108-v2|\
belkin,f9k1115-v2|\
tplink,archer-c5-v1|\
tplink,archer-c7-v1|\
tplink,archer-c7-v2|\

View File

@ -7,6 +7,7 @@ DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
DEVICE_VARS += DAP_SIGNATURE ENGENIUS_IMGNAME
DEVICE_VARS += EDIMAX_HEADER_MAGIC EDIMAX_HEADER_MODEL
define Build/add-elecom-factory-initramfs
$(eval edimax_model=$(word 1,$(1)))
@ -408,10 +409,9 @@ define Device/avm_fritzdvbc
endef
TARGET_DEVICES += avm_fritzdvbc
define Device/belkin_f9j1108-v2
define Device/belkin_f9x-v2
SOC := qca9558
DEVICE_VENDOR := Belkin
DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
IMAGE_SIZE := 14464k
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \
kmod-usb3 kmod-usb-ledtrig-usbport
@ -425,10 +425,26 @@ define Device/belkin_f9j1108-v2
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size | \
edimax-headers F9J1108v1 BR-6679BAC | pad-to $$$$(BLOCKSIZE)
edimax-headers $$$$(EDIMAX_HEADER_MAGIC) $$$$(EDIMAX_HEADER_MODEL) | \
pad-to $$$$(BLOCKSIZE)
endef
define Device/belkin_f9j1108-v2
$(Device/belkin_f9x-v2)
DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
EDIMAX_HEADER_MAGIC := F9J1108v1
EDIMAX_HEADER_MODEL := BR-6679BAC
endef
TARGET_DEVICES += belkin_f9j1108-v2
define Device/belkin_f9k1115-v2
$(Device/belkin_f9x-v2)
DEVICE_MODEL := F9K1115 v2 (AC1750 DB Wi-Fi)
EDIMAX_HEADER_MAGIC := eDiMaX
EDIMAX_HEADER_MODEL := F9K1115V2
endef
TARGET_DEVICES += belkin_f9k1115-v2
define Device/buffalo_bhr-4grv
$(Device/buffalo_common)
SOC := ar7242

View File

@ -321,7 +321,7 @@ endef
TARGET_DEVICES += luxul_xwr-3150
define Device/meraki_mr32
DEVICE_VENODR := Meraki
DEVICE_VENDOR := Meraki
DEVICE_MODEL := MR32
DEVICE_PACKAGES := $(B43) kmod-i2c-bcm-iproc kmod-i2c-gpio kmod-eeprom-at24 \
kmod-leds-pwm kmod-hwmon-ina2xx kmod-bluetooth

View File

@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5742,6 +5742,13 @@ static int nf_tables_flowtable_parse_hoo
@@ -5743,6 +5743,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
@@ -5872,10 +5879,19 @@ static int nf_tables_newflowtable(struct
@@ -5873,10 +5880,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
@@ -6001,7 +6017,8 @@ static int nf_tables_fill_flowtable_info
@@ -6002,7 +6018,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),

View File

@ -176,6 +176,22 @@
bias-pull-down;
};
};
enable_ext_pa_high {
gpio-hog;
gpios = <44 GPIO_ACTIVE_HIGH>,
<46 GPIO_ACTIVE_HIGH>;
output-high;
bias-pull-down;
line-name = "enable external PA output-high";
};
enable_ext_pa_low {
gpio-hog;
gpios = <45 GPIO_ACTIVE_HIGH>,
<47 GPIO_ACTIVE_HIGH>;
output-low;
bias-pull-down;
line-name = "enable external PA output-low";
};
};
&cryptobam {

View File

@ -969,7 +969,7 @@ static int edma_axi_probe(struct platform_device *pdev)
edma_netdev[i]->max_mtu = 9000;
edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM
| NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG |
NETIF_F_TSO | NETIF_F_GRO;
NETIF_F_TSO | NETIF_F_GRO | NETIF_F_HW_VLAN_CTAG_TX;
edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM |
NETIF_F_HW_VLAN_CTAG_RX
| NETIF_F_SG | NETIF_F_TSO | NETIF_F_GRO;
@ -978,20 +978,11 @@ static int edma_axi_probe(struct platform_device *pdev)
edma_netdev[i]->wanted_features = NETIF_F_HW_CSUM | NETIF_F_SG |
NETIF_F_TSO | NETIF_F_GRO;
if (of_property_read_bool(np, "qcom,single-phy") && edma_cinfo->num_gmac == 1)
edma_netdev[i]->features |= NETIF_F_HW_VLAN_CTAG_TX;
#ifdef CONFIG_RFS_ACCEL
edma_netdev[i]->features |= NETIF_F_NTUPLE;
edma_netdev[i]->hw_features |= NETIF_F_NTUPLE;
edma_netdev[i]->vlan_features |= NETIF_F_NTUPLE;
edma_netdev[i]->wanted_features |= NETIF_F_NTUPLE;
if (of_property_read_bool(np, "qcom,single-phy") && edma_cinfo->num_gmac == 1) {
edma_netdev[i]->features |= NETIF_F_RXHASH;
edma_netdev[i]->hw_features |= NETIF_F_RXHASH;
edma_netdev[i]->vlan_features |= NETIF_F_RXHASH;
edma_netdev[i]->wanted_features |= NETIF_F_RXHASH;
}
edma_netdev[i]->features |= NETIF_F_NTUPLE | NETIF_F_RXHASH;
edma_netdev[i]->hw_features |= NETIF_F_NTUPLE | NETIF_F_RXHASH;
edma_netdev[i]->vlan_features |= NETIF_F_NTUPLE | NETIF_F_RXHASH;
edma_netdev[i]->wanted_features |= NETIF_F_NTUPLE | NETIF_F_RXHASH;
#endif
edma_set_ethtool_ops(edma_netdev[i]);

View File

@ -1232,11 +1232,7 @@ ar40xx_init_port(struct ar40xx_priv *priv, int port)
ar40xx_rmw(priv, AR40XX_REG_PORT_STATUS(port),
AR40XX_PORT_AUTO_LINK_EN, 0);
/* CPU port is setting headers to limit output ports */
if (port == 0)
ar40xx_write(priv, AR40XX_REG_PORT_HEADER(port), 0x8);
else
ar40xx_write(priv, AR40XX_REG_PORT_HEADER(port), 0);
ar40xx_write(priv, AR40XX_REG_PORT_HEADER(port), 0);
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), 0);
@ -1279,10 +1275,6 @@ ar40xx_init_globals(struct ar40xx_priv *priv)
t = (AR40XX_PORT0_FC_THRESH_ON_DFLT << 16) |
AR40XX_PORT0_FC_THRESH_OFF_DFLT;
ar40xx_write(priv, AR40XX_REG_PORT_FLOWCTRL_THRESH(0), t);
/* set service tag to 802.1q */
t = ETH_P_8021Q | AR40XX_ESS_SERVICE_TAG_STAG;
ar40xx_write(priv, AR40XX_ESS_SERVICE_TAG, t);
}
static void
@ -1608,10 +1600,7 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
u32 pvid = priv->vlan_id[priv->pvid[port]];
if (priv->vlan) {
if (priv->vlan_tagged & BIT(port))
egress = AR40XX_PORT_VLAN1_OUT_MODE_TAG;
else
egress = AR40XX_PORT_VLAN1_OUT_MODE_UNMOD;
egress = AR40XX_PORT_VLAN1_OUT_MODE_UNMOD;
ingress = AR40XX_IN_SECURE;
} else {
@ -1623,16 +1612,8 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
t |= pvid << AR40XX_PORT_VLAN0_DEF_CVID_S;
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), t);
t = egress << AR40XX_PORT_VLAN1_OUT_MODE_S;
/* set CPU port to core port */
if (port == 0)
t |= AR40XX_PORT_VLAN1_CORE_PORT;
if (priv->vlan_tagged & BIT(port))
t |= AR40XX_PORT_VLAN1_PORT_VLAN_PROP;
else
t |= AR40XX_PORT_VLAN1_PORT_TLS_MODE;
t = AR40XX_PORT_VLAN1_PORT_VLAN_PROP;
t |= egress << AR40XX_PORT_VLAN1_OUT_MODE_S;
ar40xx_write(priv, AR40XX_REG_PORT_VLAN1(port), t);

View File

@ -18,7 +18,7 @@ Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -2344,6 +2344,8 @@ static const struct flash_info spi_nor_i
@@ -2351,6 +2351,8 @@ static const struct flash_info spi_nor_i
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },

View File

@ -70,7 +70,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -94,7 +94,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -112,7 +112,7 @@
<&gphy1_led0_pins>, <&gphy1_led1_pins>;
pinctrl-names = "default";
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -130,7 +130,7 @@
pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led0_pins>;
pinctrl-names = "default";
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -115,7 +115,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -81,7 +81,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -115,7 +115,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -153,7 +153,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -96,7 +96,7 @@
};
&eth0 {
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
@ -129,7 +129,7 @@
};
};
wan: interface@1 {
interface@1 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -86,7 +86,7 @@
&eth0 {
lantiq,phys = <&gphy1>;
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -111,7 +111,7 @@
pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led1_pins>;
pinctrl-names = "default";
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -116,7 +116,7 @@
<&gphy1_led1_pins>, <&gphy1_led2_pins>;
pinctrl-names = "default";
lan: interface@0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -17,7 +17,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1131,7 +1131,8 @@ static int i2c_imx_probe(struct platform
@@ -1159,7 +1159,8 @@ static int i2c_imx_probe(struct platform
goto rpm_disable;
/* Request IRQ */

View File

@ -15,7 +15,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1229,7 +1229,8 @@ static int __maybe_unused i2c_imx_runtim
@@ -1257,7 +1257,8 @@ static int __maybe_unused i2c_imx_runtim
{
struct imx_i2c_struct *i2c_imx = dev_get_drvdata(dev);
@ -25,7 +25,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
return 0;
}
@@ -1239,14 +1240,28 @@ static int __maybe_unused i2c_imx_runtim
@@ -1267,14 +1268,28 @@ static int __maybe_unused i2c_imx_runtim
struct imx_i2c_struct *i2c_imx = dev_get_drvdata(dev);
int ret;

View File

@ -19,7 +19,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -896,10 +896,17 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -924,10 +924,17 @@ static int i2c_imx_xfer(struct i2c_adapt
unsigned int i, temp;
int result;
bool is_lastmsg = false;
@ -37,7 +37,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent);
if (result < 0)
goto out;
@@ -971,6 +978,9 @@ fail0:
@@ -999,6 +1006,9 @@ fail0:
pm_runtime_put_autosuspend(i2c_imx->adapter.dev.parent);
out:
@ -47,7 +47,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
dev_dbg(&i2c_imx->adapter.dev, "<%s> exit with: %s: %d\n", __func__,
(result < 0) ? "error" : "success msg",
(result < 0) ? result : num);
@@ -1261,7 +1271,7 @@ static int i2c_imx_resume(struct device
@@ -1289,7 +1299,7 @@ static int i2c_imx_resume(struct device
}
static const struct dev_pm_ops i2c_imx_pm_ops = {

View File

@ -77,7 +77,7 @@ Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
static inline void imx_i2c_write_reg(unsigned int val,
struct imx_i2c_struct *i2c_imx, unsigned int reg)
{
@@ -1159,6 +1177,14 @@ static int i2c_imx_probe(struct platform
@@ -1187,6 +1205,14 @@ static int i2c_imx_probe(struct platform
clk_notifier_register(i2c_imx->clk, &i2c_imx->clk_change_nb);
i2c_imx_set_clk(i2c_imx, clk_get_rate(i2c_imx->clk));

View File

@ -19,7 +19,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -492,16 +492,24 @@ static int i2c_imx_acked(struct imx_i2c_
@@ -514,16 +514,24 @@ static int i2c_imx_acked(struct imx_i2c_
return 0;
}
@ -47,7 +47,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
i2c_imx->cur_clk = i2c_clk_rate;
@@ -532,20 +540,23 @@ static void i2c_imx_set_clk(struct imx_i
@@ -554,20 +562,23 @@ static void i2c_imx_set_clk(struct imx_i
dev_dbg(&i2c_imx->adapter.dev, "IFDR[IC]=0x%x, REAL DIV=%d\n",
i2c_clk_div[i].val, i2c_clk_div[i].div);
#endif
@ -73,7 +73,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
}
static int i2c_imx_start(struct imx_i2c_struct *i2c_imx)
@@ -555,6 +566,10 @@ static int i2c_imx_start(struct imx_i2c_
@@ -577,6 +588,10 @@ static int i2c_imx_start(struct imx_i2c_
dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
@ -84,7 +84,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
imx_i2c_write_reg(i2c_imx->ifdr, i2c_imx, IMX_I2C_IFDR);
/* Enable I2C controller */
imx_i2c_write_reg(i2c_imx->hwdata->i2sr_clr_opcode, i2c_imx, IMX_I2C_I2SR);
@@ -1175,7 +1190,11 @@ static int i2c_imx_probe(struct platform
@@ -1203,7 +1218,11 @@ static int i2c_imx_probe(struct platform
i2c_imx->bitrate = pdata->bitrate;
i2c_imx->clk_change_nb.notifier_call = i2c_imx_clk_notifier_call;
clk_notifier_register(i2c_imx->clk, &i2c_imx->clk_change_nb);

View File

@ -17,7 +17,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -940,6 +940,14 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -968,6 +968,14 @@ static int i2c_imx_xfer(struct i2c_adapt
enable_runtime_pm = true;
}

View File

@ -106,7 +106,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
};
static const struct imx_i2c_hwdata imx1_i2c_hwdata = {
@@ -923,6 +983,78 @@ static int i2c_imx_read(struct imx_i2c_s
@@ -951,6 +1011,78 @@ static int i2c_imx_read(struct imx_i2c_s
return 0;
}
@ -185,7 +185,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
static int i2c_imx_xfer(struct i2c_adapter *adapter,
struct i2c_msg *msgs, int num)
{
@@ -945,8 +1077,13 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -973,8 +1105,13 @@ static int i2c_imx_xfer(struct i2c_adapt
* before switching to master mode and attempting a Start cycle
*/
result = i2c_imx_bus_busy(i2c_imx, 0);
@ -201,7 +201,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent);
if (result < 0)
@@ -1093,6 +1230,50 @@ static int i2c_imx_init_recovery_info(st
@@ -1121,6 +1258,50 @@ static int i2c_imx_init_recovery_info(st
return 0;
}
@ -252,7 +252,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
static u32 i2c_imx_func(struct i2c_adapter *adapter)
{
return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL
@@ -1217,8 +1398,13 @@ static int i2c_imx_probe(struct platform
@@ -1245,8 +1426,13 @@ static int i2c_imx_probe(struct platform
i2c_imx, IMX_I2C_I2CR);
imx_i2c_write_reg(i2c_imx->hwdata->i2sr_clr_opcode, i2c_imx, IMX_I2C_I2SR);

View File

@ -14,7 +14,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1398,13 +1398,12 @@ static int i2c_imx_probe(struct platform
@@ -1426,13 +1426,12 @@ static int i2c_imx_probe(struct platform
i2c_imx, IMX_I2C_I2CR);
imx_i2c_write_reg(i2c_imx->hwdata->i2sr_clr_opcode, i2c_imx, IMX_I2C_I2SR);

View File

@ -22,7 +22,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1066,12 +1066,15 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -1094,12 +1094,15 @@ static int i2c_imx_xfer(struct i2c_adapt
dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
@ -39,7 +39,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
/*
* workround for ERR010027: ensure that the I2C BUS is idle
* before switching to master mode and attempting a Start cycle
@@ -1085,10 +1088,6 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -1113,10 +1116,6 @@ static int i2c_imx_xfer(struct i2c_adapt
goto out;
}

View File

@ -38,7 +38,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
/* Functions for DMA support */
static void i2c_imx_dma_request(struct imx_i2c_struct *i2c_imx,
dma_addr_t phy_addr)
@@ -681,23 +692,33 @@ static void i2c_imx_stop(struct imx_i2c_
@@ -705,21 +716,33 @@ static void i2c_imx_stop(struct imx_i2c_
imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR);
}
@ -57,9 +57,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
- if (temp & I2SR_IIF) {
- /* save status register */
- i2c_imx->i2csr = temp;
- temp &= ~I2SR_IIF;
- temp |= (i2c_imx->hwdata->i2sr_clr_opcode & I2SR_IIF);
- imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);
- i2c_imx_clear_irq(i2c_imx, I2SR_IIF);
- wake_up(&i2c_imx->queue);
- return IRQ_HANDLED;
- }
@ -70,8 +68,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
+ status |= (i2c_imx->hwdata->i2sr_clr_opcode & I2SR_IAL);
+ imx_i2c_write_reg(status, i2c_imx, IMX_I2C_I2SR);
+}
- return IRQ_NONE;
+
+static irqreturn_t i2c_imx_master_isr(struct imx_i2c_struct *i2c_imx)
+{
+ unsigned int status;
@ -81,12 +78,13 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
+ i2c_imx->i2csr = status | I2SR_IIF;
+
+ wake_up(&i2c_imx->queue);
+
- return IRQ_NONE;
+ return IRQ_HANDLED;
}
static int i2c_imx_dma_write(struct imx_i2c_struct *i2c_imx,
@@ -1066,6 +1087,13 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -1094,6 +1117,13 @@ static int i2c_imx_xfer(struct i2c_adapt
dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
@ -100,7 +98,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
if (!pm_runtime_enabled(i2c_imx->adapter.dev.parent)) {
pm_runtime_enable(i2c_imx->adapter.dev.parent);
enable_runtime_pm = true;
@@ -1279,11 +1307,169 @@ static u32 i2c_imx_func(struct i2c_adapt
@@ -1307,11 +1337,169 @@ static u32 i2c_imx_func(struct i2c_adapt
| I2C_FUNC_SMBUS_READ_BLOCK_DATA;
}
@ -270,7 +268,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
static int i2c_imx_probe(struct platform_device *pdev)
{
struct imx_i2c_struct *i2c_imx;
@@ -1392,10 +1578,7 @@ static int i2c_imx_probe(struct platform
@@ -1420,10 +1608,7 @@ static int i2c_imx_probe(struct platform
if (is_imx7d_i2c(i2c_imx) && i2c_imx->bitrate > IMX_I2C_MAX_E_BIT_RATE)
i2c_imx->bitrate = IMX_I2C_MAX_E_BIT_RATE;

View File

@ -17,8 +17,8 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -503,6 +503,14 @@ static void i2c_imx_dma_free(struct imx_
dma->chan_using = NULL;
@@ -516,6 +516,14 @@ static void i2c_imx_clear_irq(struct imx
imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);
}
+/* Clear arbitration lost bit */
@ -32,17 +32,16 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy)
{
unsigned long orig_jiffies = jiffies;
@@ -515,8 +523,7 @@ static int i2c_imx_bus_busy(struct imx_i
@@ -528,7 +536,7 @@ static int i2c_imx_bus_busy(struct imx_i
/* check for arbitration lost */
if (temp & I2SR_IAL) {
- temp &= ~I2SR_IAL;
- imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);
- i2c_imx_clear_irq(i2c_imx, I2SR_IAL);
+ i2c_imx_clr_al_bit(temp, i2c_imx);
return -EAGAIN;
}
@@ -700,14 +707,6 @@ static void i2c_imx_clr_if_bit(unsigned
@@ -724,14 +732,6 @@ static void i2c_imx_clr_if_bit(unsigned
imx_i2c_write_reg(status, i2c_imx, IMX_I2C_I2SR);
}
@ -57,7 +56,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
static irqreturn_t i2c_imx_master_isr(struct imx_i2c_struct *i2c_imx)
{
unsigned int status;
@@ -1050,12 +1049,14 @@ static int i2c_imx_recovery_for_layersca
@@ -1080,12 +1080,14 @@ static int i2c_imx_recovery_for_layersca
gpio_set_value(i2c_imx->gpio, 1);
/*
@ -77,7 +76,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
/* Restore the saved value of the register SCFG_RCWPMUXCR0 */
if (i2c_imx->need_set_pmuxcr == 1) {
@@ -1069,10 +1070,9 @@ static int i2c_imx_recovery_for_layersca
@@ -1099,10 +1101,9 @@ static int i2c_imx_recovery_for_layersca
* I2C_IBSR[IBAL] = 1
*/
temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR);

View File

@ -15,7 +15,7 @@ Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1451,23 +1451,20 @@ static const struct i2c_algorithm i2c_im
@@ -1482,23 +1482,20 @@ static const struct i2c_algorithm i2c_im
static irqreturn_t i2c_imx_isr(int irq, void *dev_id)
{
struct imx_i2c_struct *i2c_imx = dev_id;

View File

@ -52,7 +52,7 @@ Signed-off-by: Peng Ma <peng.ma@nxp.com>
}
static void i2c_imx_dma_callback(void *arg)
@@ -1602,10 +1604,14 @@ static int i2c_imx_probe(struct platform
@@ -1633,10 +1635,14 @@ static int i2c_imx_probe(struct platform
dev_info(&i2c_imx->adapter.dev, "IMX I2C adapter registered\n");
/* Init DMA config if supported */

View File

@ -11,7 +11,7 @@ Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -2410,7 +2410,7 @@ static const struct flash_info spi_nor_i
@@ -2417,7 +2417,7 @@ static const struct flash_info spi_nor_i
{ "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256,
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | USE_CLSR) },

View File

@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -4930,6 +4930,7 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -4937,6 +4937,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
struct spi_nor_flash_parameter *params = &nor->params;
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret;
int i;
@@ -4992,7 +4993,12 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -4999,7 +5000,12 @@ int spi_nor_scan(struct spi_nor *nor, co
/* Init flash parameters based on flash_info struct and SFDP */
spi_nor_init_params(nor);

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -2296,6 +2296,11 @@ static const struct flash_info spi_nor_i
@@ -2303,6 +2303,11 @@ static const struct flash_info spi_nor_i
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
.fixups = &gd25q256_fixups,
},

View File

@ -430,7 +430,10 @@ static struct device_info boards[] = {
"CPE510(TP-LINK|US|N300-5|55530000):3.0\r\n"
"CPE510(TP-LINK|UN|N300-5):3.0\r\n"
"CPE510(TP-LINK|EU|N300-5):3.0\r\n"
"CPE510(TP-LINK|US|N300-5):3.0\r\n",
"CPE510(TP-LINK|US|N300-5):3.0\r\n"
"CPE510(TP-LINK|UN|N300-5|00000000):3.20\r\n"
"CPE510(TP-LINK|US|N300-5|55530000):3.20\r\n"
"CPE510(TP-LINK|EU|N300-5|45550000):3.20\r\n",
.part_trail = 0xff,
.soft_ver = NULL,