From 8b870418f18d86761247633e57560ffa1c2485d0 Mon Sep 17 00:00:00 2001 From: Luis Araneda Date: Sun, 2 Aug 2020 19:34:42 -0400 Subject: [PATCH 01/20] uboot-zynq: fix dtc compilation on host gcc 10 gcc 10 defaults to -fno-common, which causes an error when linking. Back-port the following Linux kernel commit to fix it: e33a814e772c (scripts/dtc: Remove redundant YYLOC global declaration) Tested on an Arch Linux host with gcc 10.1.0 Signed-off-by: Luis Araneda --- ...10-fix_dtc_compilation_on_host_gcc10.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch diff --git a/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch b/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch new file mode 100644 index 0000000000..a4080e4ea9 --- /dev/null +++ b/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch @@ -0,0 +1,48 @@ +From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001 +From: Dirk Mueller +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 +Signed-off-by: David Gibson +[robh: cherry-pick from upstream] +Cc: stable@vger.kernel.org +Signed-off-by: Rob Herring +--- + 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() */ From 5e9a5c15bad044820f89f6bc7e490639ef04cc77 Mon Sep 17 00:00:00 2001 From: Yushi Nishida Date: Fri, 27 Nov 2020 21:54:22 +0100 Subject: [PATCH 02/20] ipq40xx: fix 5Ghz tx/rx power on the ASUS MAP-AC2200 The ASUS MAP-AC2200 suffers from a lower transmit/receive signal power as compared to the stock firmware. Upon investigation, it was discovered that stock firmware from the GPL_MAP-AC2200_3.0.0.4.384.46249-g97d05bb.tar archive. set the following GPIOs in "release/src/router/rc/init.c". GPIO 44 and 46 have to be set to output high GPIO 45 and 47 have to be set to output low Here are some results, after activating the relevant gpios through cmdline: THX @ slh Fixes: 9ad3967f140 ("ipq40xx: add support for ASUS Lyra") Signed-off-by: Yushi Nishida [slightly rewritten commit, added missing <>) Signed-off-by: Christian Lamparter --- .../arm/boot/dts/qcom-ipq4019-map-ac2200.dts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts index 5b86605daa..3b9078bc08 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts @@ -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 { From c29f6121fda07b50f55561ceac780a3b24ebcd43 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sun, 13 Dec 2020 16:14:35 +0100 Subject: [PATCH 03/20] bcm53xx: MR32: fix DEVICE_VENODR typo DEVICE_VENDOR was misspelled as DEVICE_VENODR. Signed-off-by: Christian Lamparter --- target/linux/bcm53xx/image/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index 9ceb5f6212..4918dfb107 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -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 From 116191eddf9d8ddba61de788824dea442b265936 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 19 Oct 2020 19:21:13 +0100 Subject: [PATCH 04/20] zram-swap: remove the compression streams settings Zram switched to per-cpu compression streams since Linux 4.7 [1]. Drop the irrelevant configuration (no-op). [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/block/zram?h=v4.7&id=43209ea2d17aae1540d4e28274e36404f72702f2 Signed-off-by: Rui Salvaterra --- package/system/zram-swap/files/zram.init | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init index c6b7ae89c2..685648aae5 100755 --- a/package/system/zram-swap/files/zram.init +++ b/package/system/zram-swap/files/zram.init @@ -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" From cdc8d4b46f0811292fffc6094acd81e854b5f4a5 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Tue, 1 Dec 2020 18:55:27 +0100 Subject: [PATCH 05/20] ipq40xx: revert usage of VLAN S-TAG This reverts the usage of the S-Tag for separating LAN and WAN port on the embedded switch. Many users complained about not being able to manage C-Tag addition / removal on the switch as well as degraded performance. Fixes: commit 9da2b567605b ("ipq40xx: fix ethernet vlan double tagging") Signed-off-by: David Bauer --- .../net/ethernet/qualcomm/essedma/edma_axi.c | 19 ++++--------- .../ipq40xx/files/drivers/net/phy/ar40xx.c | 27 +++---------------- 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c index 49ee31a1bd..68718de9f4 100644 --- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c @@ -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]); diff --git a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c index db21547a03..18ff26affc 100644 --- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c +++ b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c @@ -1200,11 +1200,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); @@ -1247,10 +1243,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 @@ -1576,10 +1568,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 { @@ -1591,16 +1580,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); From bc0ffff36a0bd8043e958913f574cb8d2a79e93d Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 13 Dec 2020 14:36:17 -1000 Subject: [PATCH 06/20] build/json: add filesystem information Some images are created using different filesystems, most popular squashfs and ext4. To allow downstream projects to distinguesh between those, add the `filesystem` information to created json files. Signed-off-by: Paul Spooren --- include/image.mk | 1 + scripts/json_add_image_info.py | 1 + 2 files changed, 2 insertions(+) diff --git a/include/image.mk b/include/image.mk index 4e7c31e8dc..8f46c75ffe 100644 --- a/include/image.mk +++ b/include/image.mk @@ -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)" \ diff --git a/scripts/json_add_image_info.py b/scripts/json_add_image_info.py index ac907c777c..d394cf4d1f 100755 --- a/scripts/json_add_image_info.py +++ b/scripts/json_add_image_info.py @@ -51,6 +51,7 @@ image_info = { "images": [ { "type": getenv("IMAGE_TYPE"), + "filesystem": getenv("IMAGE_FILESYSTEM"), "name": getenv("IMAGE_NAME"), "sha256": image_hash, } From 23bbaa02a94ef51abbe6060f49b431eef49843f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 10 Dec 2020 15:29:12 +0100 Subject: [PATCH 07/20] ustream-ssl: update to Git version 2020-12-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 68d09243b6fd Add initial GitLab CI support 8280140db9d1 wolfssl: remove now deprecated compatibility code cee6791b362a ustream-mbedtls: fix certificate verification 55c3fd89d508 ustream-mbedtls: implement set_require_validation c6b4c48689a3 ustream-openssl: wolfSSL: fix certificate validation 3bc05402bfab cmake: enable extra compiler checks cd2c3d12db43 ustream-mbedtls: fix comparison of integers of different signs 5896991e46a3 ustream-openssl: fix BIO_method memory leak 2c342ae57c5b ustream-openssl: fix wolfSSL includes fa8ecd6ed140 cmake: fix linking when mbed TLS not in default paths 63656f81045f cmake: fix linking when wolfSSL not in default paths c26f71e844df cmake: fix building out of the tree Signed-off-by: Petr Štetiar --- package/libs/ustream-ssl/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/libs/ustream-ssl/Makefile b/package/libs/ustream-ssl/Makefile index 6368ca9619..3d1e48dcbd 100644 --- a/package/libs/ustream-ssl/Makefile +++ b/package/libs/ustream-ssl/Makefile @@ -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 From ce1163dfa7a10c7a97cc3d236d21cea91e6bf24b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 10 Dec 2020 15:31:26 +0100 Subject: [PATCH 08/20] uclient: update to Git version 2020-12-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2c843b2bc04c Add initial GitLab CI support 073f89f567c0 uclient-fetch: wolfSSL: fix certificate validation 086c292160ac uclient-fetch: init_ca_cert: fix memory leak a3c1a88b031a cmake: enable extra compiler checks 32ff717ed316 uclient-http: fix extra compiler warnings on mips_24kc and cortex-a9+neon 86a2ac6ac46f uclient-fetch: fix potential memory leaks 158dd9dd289c uclient: fix initialized but never read variable 66b4420856a7 uclient-fetch: fix statement may fallt hrough 436f9b3af2ad uclient-http: fix freeing of stack allocated memory e6b5b8a98ce2 Fix extra compiler warnings 12df67e45bb0 Add basic cram based unit tests b6e34845124f cmake: fix building out of the tree Signed-off-by: Petr Štetiar --- package/libs/uclient/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/libs/uclient/Makefile b/package/libs/uclient/Makefile index 9edb5a6ea0..43d00a2299 100644 --- a/package/libs/uclient/Makefile +++ b/package/libs/uclient/Makefile @@ -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 From 33ad0976063330321163ac9bf1fcc3cd81ae31e9 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 14 Dec 2020 10:48:43 +0100 Subject: [PATCH 09/20] tplink-safeloader: add support for TP-Link CPE510 v3.20 This adds new strings for the v3.20 to the support list of the already supported TP-Link CPE510 v3. The underlying hardware appears to be the same, similar to the situation with CPE210 v3.20 in 4a2380a1e778 ("tplink-safeloader: expand support list for TP-Link CPE210 v3") Signed-off-by: Gioacchino Mazzurco [extended commit message] Signed-off-by: Adrian Schmutzler --- tools/firmware-utils/src/tplink-safeloader.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index ce07a95574..deba84c6d1 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -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, From 563ece8a85dad24e8c3ce55af51938a4d37405f0 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 28 Nov 2020 12:04:00 +0100 Subject: [PATCH 10/20] ath79: create shared DTSI/definition for Belkin F9J1108/F9K1115 v2 Belkin F9J1108 v2 and F9K1115 v2 are (seemingly) identical hardware with different model numbers. Extract all non-device specific code to a common .dtsi so it can be re-used when adding support for the F9K1115 v2. Similar to the .dtsi most of the image building recipe code can be re-used. Move everything except the device model, edimax header magic and edimax header model into a shared build recipe. Signed-off-by: Martin Blumenstingl [drop duplicate TARGET_DEVICES, add EDIMAX_* to DEVICE_VARS, edit title] Signed-off-by: Adrian Schmutzler --- .../ath79/dts/qca9558_belkin_f9j1108-v2.dts | 223 +---------------- .../ath79/dts/qca9558_belkin_f9x-v2.dtsi | 226 ++++++++++++++++++ target/linux/ath79/image/generic.mk | 14 +- 3 files changed, 238 insertions(+), 225 deletions(-) create mode 100644 target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi diff --git a/target/linux/ath79/dts/qca9558_belkin_f9j1108-v2.dts b/target/linux/ath79/dts/qca9558_belkin_f9j1108-v2.dts index 0bd3af98db..80775d6cb3 100644 --- a/target/linux/ath79/dts/qca9558_belkin_f9j1108-v2.dts +++ b/target/linux/ath79/dts/qca9558_belkin_f9j1108-v2.dts @@ -1,229 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "qca955x.dtsi" - -#include -#include +#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 = ; - gpios = <&gpio 16 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; - - reset { - label = "Reset button"; - linux,code = ; - 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>; }; diff --git a/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi new file mode 100644 index 0000000000..c88e2b0ba6 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi @@ -0,0 +1,226 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca955x.dtsi" + +#include +#include + +/ { + 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 = ; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + reset { + label = "Reset button"; + linux,code = ; + 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>; +}; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index d5fbd89c26..02fdf8ecad 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -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))) @@ -381,10 +382,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 @@ -398,7 +398,15 @@ 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 From b403a6e1241c00f509b201ec2ac8ca5f29e1ffd1 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 28 Nov 2020 12:08:42 +0100 Subject: [PATCH 11/20] ath79: add support for the Belkin F9K1115 v2 (AC1750 DB Wi-Fi) This device has (almost?) identical hardware to the F9J1108 v2 but uses a different firmware magic and model number. Specifications: SoC: QCA9558 CPU: 720 MHz Flash: 16 MiB NOR RAM: 128 MiB WiFi 2.4 GHz: QCA9558-AT4A 3x3 MIMO 802.11b/g/n WiFi 5 GHz: QCA9880-2R4E 3x3 MIMO 802.11a/n/ac Ethernet: 4x LAN and 1x WAN (all 1Gbit/s ports) USB: 1 x USB 2.0 (lower), 1 x USB 3.0 (upper) MAC addresses based on OEM firmware: Interface Address Location --------- ------- -------- lan *:5A sometimes in 0x6 wan *:5B 0x0 2.4Ghz *:5A 0x1002 5Ghz As per mini PCIe EEPROM Flashing instructions: The factory.bin can be flashed via the Belkin web UI or via the uboot HTTP upgrade page (which is by default listening on 192.168.2.1). Once the factory.bin has been written, sysupgrade.bin will work as usual. Signed-off-by: Martin Blumenstingl --- target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts | 8 ++++++++ .../linux/ath79/generic/base-files/etc/board.d/02_network | 1 + target/linux/ath79/image/generic.mk | 8 ++++++++ 3 files changed, 17 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts diff --git a/target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts b/target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts new file mode 100644 index 0000000000..aa5851c2e8 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts @@ -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"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 987b405431..905848a2ba 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -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|\ diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 02fdf8ecad..b3fca9eb8f 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -410,6 +410,14 @@ define Device/belkin_f9j1108-v2 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 From 0f43961eef8cd54ca0f5d151b0672014e0d64470 Mon Sep 17 00:00:00 2001 From: Aleksander Jan Bajkowski Date: Sat, 12 Dec 2020 16:28:39 +0100 Subject: [PATCH 12/20] lantiq: xrx200: remove unused lan/wan labels from dts These labels are not used anywhere and can be removed. Signed-off-by: Aleksander Jan Bajkowski --- .../arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts | 2 +- .../arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts | 2 +- .../arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi | 2 +- .../files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi | 2 +- .../arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi | 2 +- .../files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi | 2 +- .../files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts | 2 +- .../arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts | 2 +- .../files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi | 4 ++-- .../files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts | 2 +- .../files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi | 2 +- .../arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts index a95f3faa00..84a2a93428 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts @@ -70,7 +70,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts index 9da2649833..c924a2b275 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts @@ -94,7 +94,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi index a6206f4a87..696a61a861 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi @@ -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>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi index 0cb5244dbc..0a8fa19e6e 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi @@ -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>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi index b25d11e1c6..09c95375d5 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi @@ -115,7 +115,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi index 5c41d3c505..c7e600aace 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi @@ -81,7 +81,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts index 51af5469fd..f817b3a41b 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts @@ -115,7 +115,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts index 2802663051..8917d359e7 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts @@ -153,7 +153,7 @@ }; ð0 { - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi index ea7fddbe0f..7eac5c396c 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi @@ -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>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts index 9dc6d767a6..be4810c431 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts @@ -86,7 +86,7 @@ ð0 { lantiq,phys = <&gphy1>; - lan: interface@0 { + interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; #size-cells = <0>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi index f10e3a8567..aa6c308ffe 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi @@ -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>; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi index c4f30f5ffc..230d804d9a 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi @@ -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>; From 7b85dd3788fd427ae95c6029b7a9177fd379ffea Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 9 Dec 2020 12:28:31 +0000 Subject: [PATCH 13/20] kernel: update and clean kernel keyring options Add KERNEL_KEYS_REQUEST_CACHE option. 'tristate' (ie. module builds) are not valid in Config-kernel.in, hence remove tristate KERNEL_ENCRYPTED_KEYS. It will be readded as a kernel module in a follow-up commit. Fixes: 39d817cf38 ("Add config symbols for kernel keyring support") Signed-off-by: Daniel Golle --- config/Config-kernel.in | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 1cd9da4d12..b5eba78719 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -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 n 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 From c74ae8957471ecf27bd8e70fb55f6841bcf3c618 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 9 Dec 2020 12:43:57 +0000 Subject: [PATCH 14/20] kernel: package kmod-keys-encrypted and kmod-keys-trusted Add kernel module packages for handling encrypted and TPM trusted keys on the kernel chain. Signed-off-by: Daniel Golle --- package/kernel/linux/modules/other.mk | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 41de6ac2ba..421b1b536c 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -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 From 23049f9c31f030829980b7e32e424435572ae9ac Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 9 Dec 2020 12:45:55 +0000 Subject: [PATCH 15/20] kernel: enable kernel keyring by default on !SMALL_FLASH Enable CONFIG_KEYS by default on systems which are not marked as flash-space constraint by the 'small_flash' feature. CONFIG_KEYS is required by Docker, enabling it in our kernel allows users to run Docker on stock OpenWrt. It is also used of by some network file systems (such as NFSv4) to store credentials as well as UID/GID mappings. Adds about 50kB to vmlinux on ath79/generic (~18kB compressed) Signed-off-by: Daniel Golle --- config/Config-kernel.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index b5eba78719..3f013aa2b2 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -532,7 +532,7 @@ endif config KERNEL_KEYS bool "Enable kernel access key retention support" - default n + default !SMALL_FLASH config KERNEL_PERSISTENT_KEYRINGS bool "Enable kernel persistent keyrings" From 05a1b11c71e320e7a7bbd4cc8e01b98c6843745e Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 13 Dec 2020 18:36:04 +0100 Subject: [PATCH 16/20] netifd: update to latest version 458b1a7e9473 netifd: add segment routing support Signed-off-by: Nick Hainke --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 32aa350a21..ed35719aaa 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -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 PKG_LICENSE:=GPL-2.0 From 222dc0ad912370a620172a781a1c429dae01ab08 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sun, 13 Dec 2020 15:02:36 +0100 Subject: [PATCH 17/20] armvirt/64: change it to cortex-a53 instead of generic Package architecture aarch64_generic [1] can be used just with three devices. One is NanoPI R2S and then there are two development boards from NXP. Let's change armvirt/64 to Cortex A53 (aarch64_cortex-a53) [2]. It has wider support by multiple devices like NanoPI Neo Plus2/Core2, ESPRESSObin, Pine64, and Raspberry Pi 2&3. While looking at ARMvirt/32 it has set CPU_TYPE and CPU_SUBTYPE to be arm_cortex-a15_neon-vfpv4 [3]. It has support to devices like Linksys EA8500 v1, Linksys EA7500 v1, Netgear D7800, Netgear R7500 and so on. Tested with: qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic \ -kernel openwrt-armvirt-64-Image-initramfs Successfully compiled and booted. Here goes the output: root@OpenWrt:/# uname -a Linux OpenWrt 5.4.82 #0 SMP Sun Dec 13 12:52:10 2020 aarch64 GNU/Linux root@OpenWrt:/# cat /etc/openwrt_release DISTRIB_ID='OpenWrt' DISTRIB_RELEASE='SNAPSHOT' DISTRIB_REVISION='r15207-96fca0f807' DISTRIB_TARGET='armvirt/64' DISTRIB_ARCH='aarch64_cortex-a53' DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r15207-96fca0f807' DISTRIB_TAINTS='no-all' Also, change BOARDNAME to be the same as it is in armvirt/32. [1] https://openwrt.org/docs/techref/instructionset/aarch64_generic [2] https://openwrt.org/docs/techref/instructionset/aarch64_cortex-a53 [3] https://openwrt.org/docs/techref/instructionset/arm_cortex-a15_neon-vfpv4 Signed-off-by: Josef Schlehofer --- target/linux/armvirt/64/target.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/target/linux/armvirt/64/target.mk b/target/linux/armvirt/64/target.mk index 38d8fa13b6..58adcc7d60 100644 --- a/target/linux/armvirt/64/target.mk +++ b/target/linux/armvirt/64/target.mk @@ -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 From 0c866c81863f0a47b6c907368b0e0dc7ea9c1ee7 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sun, 13 Dec 2020 15:02:37 +0100 Subject: [PATCH 18/20] armvirt: README: rename it from LEDE to OpenWrt Signed-off-by: Josef Schlehofer --- target/linux/armvirt/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/armvirt/README b/target/linux/armvirt/README index ae0d2ada62..b870fe19f7 100644 --- a/target/linux/armvirt/README +++ b/target/linux/armvirt/README @@ -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 From 3040791608c959a962c5e11e968ff3b1e8bbd65d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 8 Nov 2020 23:09:22 -0800 Subject: [PATCH 19/20] libnetfilter-conntrack: update to 1.0.8 Previous git version was 1.0.7. Switched to using tarballs for simplicity. Fixed license information. Signed-off-by: Rosen Penev --- package/libs/libnetfilter-conntrack/Makefile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/package/libs/libnetfilter-conntrack/Makefile b/package/libs/libnetfilter-conntrack/Makefile index a97482ecc0..2020709d01 100644 --- a/package/libs/libnetfilter-conntrack/Makefile +++ b/package/libs/libnetfilter-conntrack/Makefile @@ -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 - -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 From afd4bf08bc544ad6c590348f9a8ecae52f5818cc Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 11 Dec 2020 10:34:41 -0500 Subject: [PATCH 20/20] kernel: bump 5.4 to 5.4.83 Manually merged: layerscape/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch layerscape/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch Remaining modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86/64 [*], ramips/mt7621 [*], ath79/tiny [*], ipq40xx [*], octeon [*], realtek [*] Run-tested: ipq806x/R7800, ramips/mt7621 [*], octeon [*], realtek [*] No dmesg regressions, everything functional Signed-off-by: John Audia Tested-by: Stijn Segers [*] --- include/kernel-version.mk | 4 ++-- ...ow_table-add-hardware-offload-support.patch | 6 +++--- ...td-spi-nor-Add-support-for-mx25r3235f.patch | 2 +- ...MLK-10893-i2c-imx-add-irqf_no_suspend.patch | 2 +- ...3-I2C-imx-restore-pin-setting-for-i2c.patch | 4 ++-- ...e-runtime-pm-of-i2c-temporary-when-do.patch | 6 +++--- ...mx-add-a-limit-of-maximum-transfer-sp.patch | 2 +- ...mx-Coverity-fix-divide-by-zero-warnin.patch | 8 ++++---- ...-add-workaround-for-erratum-ERR010027.patch | 2 +- ...nt-bus-recovery-with-gpio-for-Layersc.patch | 8 ++++---- ...imx-get-rid-of-CONFIG_ARCH_LAYERSCAPE.patch | 2 +- ...tem-hang-due-to-access-i2c-registers-.patch | 4 ++-- ...support-slave-mode-for-imx-I2C-driver.patch | 18 ++++++++---------- ...-code-of-errata-A-010650-for-layersca.patch | 15 +++++++-------- ...ix-the-judgement-of-slave-mode-in-isr.patch | 2 +- ...x-Defer-probing-if-EDMA-not-available.patch | 2 +- ...-nor-Use-1-bit-mode-of-spansion-s25fs.patch | 2 +- ...nor-support-mtd-name-from-device-tree.patch | 4 ++-- .../patches-5.4/302-spi-nor-add-gd25q512.patch | 2 +- 19 files changed, 46 insertions(+), 49 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2633ef5107..89bae2e8b3 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -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))))))) diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index 605ce19f52..e944a71884 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +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 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 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), diff --git a/target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch b/target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch index 97433b030e..60fe8f90c6 100644 --- a/target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch +++ b/target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch @@ -18,7 +18,7 @@ Signed-off-by: Tudor Ambarus --- 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) }, diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch b/target/linux/layerscape/patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch index 48432e1ec1..c583177ebf 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch @@ -17,7 +17,7 @@ Signed-off-by: Vipul Kumar --- 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 */ diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0003-MLK-11403-I2C-imx-restore-pin-setting-for-i2c.patch b/target/linux/layerscape/patches-5.4/808-i2c-0003-MLK-11403-I2C-imx-restore-pin-setting-for-i2c.patch index a017e09930..a03d73a890 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0003-MLK-11403-I2C-imx-restore-pin-setting-for-i2c.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0003-MLK-11403-I2C-imx-restore-pin-setting-for-i2c.patch @@ -15,7 +15,7 @@ Signed-off-by: Vipul Kumar --- 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 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; diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0004-MLK-16203-enable-runtime-pm-of-i2c-temporary-when-do.patch b/target/linux/layerscape/patches-5.4/808-i2c-0004-MLK-16203-enable-runtime-pm-of-i2c-temporary-when-do.patch index 16ac77c6f0..60c49bf99a 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0004-MLK-16203-enable-runtime-pm-of-i2c-temporary-when-do.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0004-MLK-16203-enable-runtime-pm-of-i2c-temporary-when-do.patch @@ -19,7 +19,7 @@ Signed-off-by: Vipul Kumar --- 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 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 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 = { diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0005-MLK-20773-i2c-imx-add-a-limit-of-maximum-transfer-sp.patch b/target/linux/layerscape/patches-5.4/808-i2c-0005-MLK-20773-i2c-imx-add-a-limit-of-maximum-transfer-sp.patch index 939fb61d90..5f62b3f153 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0005-MLK-20773-i2c-imx-add-a-limit-of-maximum-transfer-sp.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0005-MLK-20773-i2c-imx-add-a-limit-of-maximum-transfer-sp.patch @@ -77,7 +77,7 @@ Signed-off-by: Clark Wang 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)); diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0006-MLK-20368-i2c-imx-Coverity-fix-divide-by-zero-warnin.patch b/target/linux/layerscape/patches-5.4/808-i2c-0006-MLK-20368-i2c-imx-Coverity-fix-divide-by-zero-warnin.patch index 98c5c21486..97f1f78230 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0006-MLK-20368-i2c-imx-Coverity-fix-divide-by-zero-warnin.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0006-MLK-20368-i2c-imx-Coverity-fix-divide-by-zero-warnin.patch @@ -19,7 +19,7 @@ Signed-off-by: Shrikant Bobade --- 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 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 } 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 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); diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0007-i2c-imx-add-workaround-for-erratum-ERR010027.patch b/target/linux/layerscape/patches-5.4/808-i2c-0007-i2c-imx-add-workaround-for-erratum-ERR010027.patch index 68b08fba31..a22f9766eb 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0007-i2c-imx-add-workaround-for-erratum-ERR010027.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0007-i2c-imx-add-workaround-for-erratum-ERR010027.patch @@ -17,7 +17,7 @@ Signed-off-by: Zhang Ying-22455 --- 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; } diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0008-i2c-imx-implement-bus-recovery-with-gpio-for-Layersc.patch b/target/linux/layerscape/patches-5.4/808-i2c-0008-i2c-imx-implement-bus-recovery-with-gpio-for-Layersc.patch index dacee2af8a..f7686f358d 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0008-i2c-imx-implement-bus-recovery-with-gpio-for-Layersc.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0008-i2c-imx-implement-bus-recovery-with-gpio-for-Layersc.patch @@ -106,7 +106,7 @@ Signed-off-by: Zhang Ying-22455 }; 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 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 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 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); diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0009-i2c-imx-get-rid-of-CONFIG_ARCH_LAYERSCAPE.patch b/target/linux/layerscape/patches-5.4/808-i2c-0009-i2c-imx-get-rid-of-CONFIG_ARCH_LAYERSCAPE.patch index 1bcc6e0e6c..9287cd2df2 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0009-i2c-imx-get-rid-of-CONFIG_ARCH_LAYERSCAPE.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0009-i2c-imx-get-rid-of-CONFIG_ARCH_LAYERSCAPE.patch @@ -14,7 +14,7 @@ Signed-off-by: Dong Aisheng --- 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); diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0010-i2c-imx-fix-system-hang-due-to-access-i2c-registers-.patch b/target/linux/layerscape/patches-5.4/808-i2c-0010-i2c-imx-fix-system-hang-due-to-access-i2c-registers-.patch index 0d80b9edd8..435bb14e8d 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0010-i2c-imx-fix-system-hang-due-to-access-i2c-registers-.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0010-i2c-imx-fix-system-hang-due-to-access-i2c-registers-.patch @@ -22,7 +22,7 @@ Signed-off-by: Dong Aisheng --- 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 /* * 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; } diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch b/target/linux/layerscape/patches-5.4/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch index 246a2602f3..5377d05d0c 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch @@ -38,7 +38,7 @@ Signed-off-by: Biwen Li /* 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 - 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 + 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 + 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 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 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; diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch b/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch index fe6d6d3135..7fd505df42 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch @@ -17,8 +17,8 @@ Signed-off-by: Biwen Li --- 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 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 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 /* 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); diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0013-LF-98-i2c-imx-fix-the-judgement-of-slave-mode-in-isr.patch b/target/linux/layerscape/patches-5.4/808-i2c-0013-LF-98-i2c-imx-fix-the-judgement-of-slave-mode-in-isr.patch index 45f7fa36a2..cd404efcc0 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0013-LF-98-i2c-imx-fix-the-judgement-of-slave-mode-in-isr.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0013-LF-98-i2c-imx-fix-the-judgement-of-slave-mode-in-isr.patch @@ -15,7 +15,7 @@ Signed-off-by: Clark Wang --- 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; diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0016-LF-162-i2c-imx-Defer-probing-if-EDMA-not-available.patch b/target/linux/layerscape/patches-5.4/808-i2c-0016-LF-162-i2c-imx-Defer-probing-if-EDMA-not-available.patch index 53440f896b..815cb0efe6 100644 --- a/target/linux/layerscape/patches-5.4/808-i2c-0016-LF-162-i2c-imx-Defer-probing-if-EDMA-not-available.patch +++ b/target/linux/layerscape/patches-5.4/808-i2c-0016-LF-162-i2c-imx-Defer-probing-if-EDMA-not-available.patch @@ -52,7 +52,7 @@ Signed-off-by: Peng Ma } 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 */ diff --git a/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch b/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch index f3df08048a..067bf025a3 100644 --- a/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch +++ b/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch @@ -11,7 +11,7 @@ Signed-off-by: Kuldeep Singh --- 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) }, diff --git a/target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch index f156e968af..a02b632e8c 100644 --- a/target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch +++ b/target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch @@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma --- 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 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); diff --git a/target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch b/target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch index aa69f32968..7fcf0c54b6 100644 --- a/target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch +++ b/target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch @@ -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, },