mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-07 01:53:34 +08:00
Merge Official Source
This commit is contained in:
commit
b4bdbe2151
@ -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
|
||||
|
@ -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)" \
|
||||
|
@ -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)))))))
|
||||
|
@ -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() */
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -51,6 +51,7 @@ image_info = {
|
||||
"images": [
|
||||
{
|
||||
"type": getenv("IMAGE_TYPE"),
|
||||
"filesystem": getenv("IMAGE_FILESYSTEM"),
|
||||
"name": getenv("IMAGE_NAME"),
|
||||
"sha256": image_hash,
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 = ð1;
|
||||
};
|
||||
|
||||
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 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
mtd-mac-address = <&art 0x0>;
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
rgmii-enabled = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
ð1 {
|
||||
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>;
|
||||
};
|
||||
|
8
target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts
Normal file
8
target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts
Normal 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";
|
||||
};
|
226
target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi
Normal file
226
target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi
Normal 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 = ð1;
|
||||
};
|
||||
|
||||
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 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
mtd-mac-address = <&art 0x0>;
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
rgmii-enabled = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
ð1 {
|
||||
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>;
|
||||
};
|
@ -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|\
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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),
|
||||
|
@ -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 {
|
||||
|
@ -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]);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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) },
|
||||
|
@ -70,7 +70,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -94,7 +94,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
|
@ -115,7 +115,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -81,7 +81,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -115,7 +115,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -153,7 +153,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -96,7 +96,7 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
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>;
|
||||
|
@ -86,7 +86,7 @@
|
||||
ð0 {
|
||||
lantiq,phys = <&gphy1>;
|
||||
|
||||
lan: interface@0 {
|
||||
interface@0 {
|
||||
compatible = "lantiq,xrx200-pdi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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) },
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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,
|
||||
},
|
||||
|
@ -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,
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user