mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-02 22:33:31 +08:00
kernel: bump 5.4 to 5.4.45
Fixes CVE-2020-10757 via upstream commit df4988aa1c96 ("mm: Fix mremap not considering huge pmd devmap"). Resolved merge conflict in the following patches: bcm27xx: 950-0128-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch Refreshed patches, removed upstreamed patch: generic: 751-v5.8-net-dsa-mt7530-set-CPU-port-to-fallback-mode.patch generic: 754-v5.7-net-dsa-mt7530-fix-roaming-from-DSA-user-ports.patch Run tested: qemu-x86-64 Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
df6a33a8d4
commit
e5aa498acb
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.14 = .180
|
||||
LINUX_VERSION-4.19 = .123
|
||||
LINUX_VERSION-5.4 = .43
|
||||
LINUX_VERSION-5.4 = .45
|
||||
|
||||
LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
|
||||
LINUX_KERNEL_HASH-4.19.123 = a79914d31a8d8c6b0e2bb0f2b143d615fe8a6c4dd2e0f36e97aa20efd69a993f
|
||||
LINUX_KERNEL_HASH-5.4.43 = 2667b90a42d42557aca9e3d37bba1b4e71809b9523958e6870ada311c4790744
|
||||
LINUX_KERNEL_HASH-5.4.45 = 103f039f34a9009c42ea643b4f473bda6bb9607d5ad7f63b56b3e2351615fe2e
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -37,12 +37,14 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
gpiod_err(desc,
|
||||
"%s: tried to set a GPIO tied to an IRQ as output\n",
|
||||
__func__);
|
||||
@@ -3894,7 +3896,7 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
||||
}
|
||||
@@ -3895,8 +3897,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
||||
}
|
||||
|
||||
- if (test_bit(FLAG_IS_OUT, &desc->flags)) {
|
||||
+ if (dont_test_bit(FLAG_IS_OUT, &desc->flags)) {
|
||||
/* To be valid for IRQ the line needs to be input or open drain */
|
||||
- if (test_bit(FLAG_IS_OUT, &desc->flags) &&
|
||||
- !test_bit(FLAG_OPEN_DRAIN, &desc->flags)) {
|
||||
+ if (dont_test_bit(FLAG_IS_OUT, &desc->flags) &&
|
||||
+ !dont_test_bit(FLAG_OPEN_DRAIN, &desc->flags)) {
|
||||
chip_err(chip,
|
||||
"%s: tried to flag a GPIO set as output for IRQ\n",
|
||||
__func__);
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
|
||||
#include "b53_regs.h"
|
||||
#include "b53_priv.h"
|
||||
@@ -1579,6 +1580,28 @@ static int b53_switch_init(struct b53_de
|
||||
@@ -1587,6 +1588,28 @@ static int b53_switch_init(struct b53_de
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -1151,6 +1151,64 @@ mt7530_port_vlan_del(struct dsa_switch *
|
||||
@@ -1153,6 +1153,64 @@ mt7530_port_vlan_del(struct dsa_switch *
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
.phylink_mac_config = mt7530_phylink_mac_config,
|
||||
--- a/drivers/net/dsa/mt7530.h
|
||||
+++ b/drivers/net/dsa/mt7530.h
|
||||
@@ -36,6 +36,9 @@ enum {
|
||||
@@ -37,6 +37,9 @@ enum {
|
||||
#define CPU_EN BIT(7)
|
||||
#define CPU_PORT(x) ((x) << 4)
|
||||
#define CPU_MASK (0xf << 4)
|
||||
@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Registers for address table access */
|
||||
#define MT7530_ATA1 0x74
|
||||
@@ -141,6 +144,8 @@ enum mt7530_stp_state {
|
||||
@@ -142,6 +145,8 @@ enum mt7530_stp_state {
|
||||
|
||||
/* Register for port control */
|
||||
#define MT7530_PCR_P(x) (0x2004 + ((x) * 0x100))
|
||||
@ -112,7 +112,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
#define PORT_VLAN(x) ((x) & 0x3)
|
||||
|
||||
enum mt7530_port_mode {
|
||||
@@ -457,6 +462,8 @@ struct mt7530_priv {
|
||||
@@ -464,6 +469,8 @@ struct mt7530_priv {
|
||||
phy_interface_t p6_interface;
|
||||
phy_interface_t p5_interface;
|
||||
unsigned int p5_intf_sel;
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 38152ea37d8bdaffa22603e0a5b5b86cfa8714c9 Mon Sep 17 00:00:00 2001
|
||||
From: DENG Qingfang <dqfext@gmail.com>
|
||||
Date: Wed, 13 May 2020 23:37:17 +0800
|
||||
Subject: net: dsa: mt7530: set CPU port to fallback mode
|
||||
|
||||
Currently, setting a bridge's self PVID to other value and deleting
|
||||
the default VID 1 renders untagged ports of that VLAN unable to talk to
|
||||
the CPU port:
|
||||
|
||||
bridge vlan add dev br0 vid 2 pvid untagged self
|
||||
bridge vlan del dev br0 vid 1 self
|
||||
bridge vlan add dev sw0p0 vid 2 pvid untagged
|
||||
bridge vlan del dev sw0p0 vid 1
|
||||
# br0 cannot send untagged frames out of sw0p0 anymore
|
||||
|
||||
That is because the CPU port is set to security mode and its PVID is
|
||||
still 1, and untagged frames are dropped due to VLAN member violation.
|
||||
|
||||
Set the CPU port to fallback mode so untagged frames can pass through.
|
||||
|
||||
Fixes: 83163f7dca56 ("net: dsa: mediatek: add VLAN support for MT7530")
|
||||
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/mt7530.c | 11 ++++++++---
|
||||
drivers/net/dsa/mt7530.h | 6 ++++++
|
||||
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -821,10 +821,15 @@ mt7530_port_set_vlan_aware(struct dsa_sw
|
||||
PCR_MATRIX_MASK, PCR_MATRIX(MT7530_ALL_MEMBERS));
|
||||
|
||||
/* Trapped into security mode allows packet forwarding through VLAN
|
||||
- * table lookup.
|
||||
+ * table lookup. CPU port is set to fallback mode to let untagged
|
||||
+ * frames pass through.
|
||||
*/
|
||||
- mt7530_rmw(priv, MT7530_PCR_P(port), PCR_PORT_VLAN_MASK,
|
||||
- MT7530_PORT_SECURITY_MODE);
|
||||
+ if (dsa_is_cpu_port(ds, port))
|
||||
+ mt7530_rmw(priv, MT7530_PCR_P(port), PCR_PORT_VLAN_MASK,
|
||||
+ MT7530_PORT_FALLBACK_MODE);
|
||||
+ else
|
||||
+ mt7530_rmw(priv, MT7530_PCR_P(port), PCR_PORT_VLAN_MASK,
|
||||
+ MT7530_PORT_SECURITY_MODE);
|
||||
|
||||
/* Set the port as a user port which is to be able to recognize VID
|
||||
* from incoming packets before fetching entry within the VLAN table.
|
||||
--- a/drivers/net/dsa/mt7530.h
|
||||
+++ b/drivers/net/dsa/mt7530.h
|
||||
@@ -152,6 +152,12 @@ enum mt7530_port_mode {
|
||||
/* Port Matrix Mode: Frames are forwarded by the PCR_MATRIX members. */
|
||||
MT7530_PORT_MATRIX_MODE = PORT_VLAN(0),
|
||||
|
||||
+ /* Fallback Mode: Forward received frames with ingress ports that do
|
||||
+ * not belong to the VLAN member. Frames whose VID is not listed on
|
||||
+ * the VLAN table are forwarded by the PCR_MATRIX members.
|
||||
+ */
|
||||
+ MT7530_PORT_FALLBACK_MODE = PORT_VLAN(1),
|
||||
+
|
||||
/* Security Mode: Discard any frame due to ingress membership
|
||||
* violation or VID missed on the VLAN table.
|
||||
*/
|
@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -1096,12 +1096,6 @@ mt7530_port_vlan_add(struct dsa_switch *
|
||||
@@ -1093,12 +1093,6 @@ mt7530_port_vlan_add(struct dsa_switch *
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
u16 vid;
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mutex_lock(&priv->reg_mutex);
|
||||
|
||||
for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
|
||||
@@ -1127,12 +1121,6 @@ mt7530_port_vlan_del(struct dsa_switch *
|
||||
@@ -1124,12 +1118,6 @@ mt7530_port_vlan_del(struct dsa_switch *
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
u16 vid, pvid;
|
||||
|
||||
@ -41,7 +41,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mutex_lock(&priv->reg_mutex);
|
||||
|
||||
pvid = priv->ports[port].pvid;
|
||||
@@ -1245,6 +1233,7 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
@@ -1242,6 +1230,7 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
* as two netdev instances.
|
||||
*/
|
||||
dn = ds->ports[MT7530_CPU_PORT].master->dev.of_node->parent;
|
||||
|
@ -1,116 +0,0 @@
|
||||
From 5e5502e012b8129e11be616acb0f9c34bc8f8adb Mon Sep 17 00:00:00 2001
|
||||
From: DENG Qingfang <dqfext@gmail.com>
|
||||
Date: Wed, 13 May 2020 23:10:16 +0800
|
||||
Subject: net: dsa: mt7530: fix roaming from DSA user ports
|
||||
|
||||
When a client moves from a DSA user port to a software port in a bridge,
|
||||
it cannot reach any other clients that connected to the DSA user ports.
|
||||
That is because SA learning on the CPU port is disabled, so the switch
|
||||
ignores the client's frames from the CPU port and still thinks it is at
|
||||
the user port.
|
||||
|
||||
Fix it by enabling SA learning on the CPU port.
|
||||
|
||||
To prevent the switch from learning from flooding frames from the CPU
|
||||
port, set skb->offload_fwd_mark to 1 for unicast and broadcast frames,
|
||||
and let the switch flood them instead of trapping to the CPU port.
|
||||
Multicast frames still need to be trapped to the CPU port for snooping,
|
||||
so set the SA_DIS bit of the MTK tag to 1 when transmitting those frames
|
||||
to disable SA learning.
|
||||
|
||||
Fixes: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
|
||||
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/mt7530.c | 9 ++-------
|
||||
drivers/net/dsa/mt7530.h | 1 +
|
||||
net/dsa/tag_mtk.c | 15 +++++++++++++++
|
||||
3 files changed, 18 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -639,11 +639,8 @@ mt7530_cpu_port_enable(struct mt7530_pri
|
||||
mt7530_write(priv, MT7530_PVC_P(port),
|
||||
PORT_SPEC_TAG);
|
||||
|
||||
- /* Disable auto learning on the cpu port */
|
||||
- mt7530_set(priv, MT7530_PSC_P(port), SA_DIS);
|
||||
-
|
||||
- /* Unknown unicast frame fordwarding to the cpu port */
|
||||
- mt7530_set(priv, MT7530_MFC, UNU_FFP(BIT(port)));
|
||||
+ /* Unknown multicast frame forwarding to the cpu port */
|
||||
+ mt7530_rmw(priv, MT7530_MFC, UNM_FFP_MASK, UNM_FFP(BIT(port)));
|
||||
|
||||
/* Set CPU port number */
|
||||
if (priv->id == ID_MT7621)
|
||||
@@ -1298,8 +1295,6 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
/* Enable and reset MIB counters */
|
||||
mt7530_mib_reset(ds);
|
||||
|
||||
- mt7530_clear(priv, MT7530_MFC, UNU_FFP_MASK);
|
||||
-
|
||||
for (i = 0; i < MT7530_NUM_PORTS; i++) {
|
||||
/* Disable forwarding by default on all ports */
|
||||
mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK,
|
||||
--- a/drivers/net/dsa/mt7530.h
|
||||
+++ b/drivers/net/dsa/mt7530.h
|
||||
@@ -31,6 +31,7 @@ enum {
|
||||
#define MT7530_MFC 0x10
|
||||
#define BC_FFP(x) (((x) & 0xff) << 24)
|
||||
#define UNM_FFP(x) (((x) & 0xff) << 16)
|
||||
+#define UNM_FFP_MASK UNM_FFP(~0)
|
||||
#define UNU_FFP(x) (((x) & 0xff) << 8)
|
||||
#define UNU_FFP_MASK UNU_FFP(~0)
|
||||
#define CPU_EN BIT(7)
|
||||
--- a/net/dsa/tag_mtk.c
|
||||
+++ b/net/dsa/tag_mtk.c
|
||||
@@ -15,6 +15,7 @@
|
||||
#define MTK_HDR_XMIT_TAGGED_TPID_8100 1
|
||||
#define MTK_HDR_RECV_SOURCE_PORT_MASK GENMASK(2, 0)
|
||||
#define MTK_HDR_XMIT_DP_BIT_MASK GENMASK(5, 0)
|
||||
+#define MTK_HDR_XMIT_SA_DIS BIT(6)
|
||||
|
||||
static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
@@ -22,6 +23,9 @@ static struct sk_buff *mtk_tag_xmit(stru
|
||||
struct dsa_port *dp = dsa_slave_to_port(dev);
|
||||
u8 *mtk_tag;
|
||||
bool is_vlan_skb = true;
|
||||
+ unsigned char *dest = eth_hdr(skb)->h_dest;
|
||||
+ bool is_multicast_skb = is_multicast_ether_addr(dest) &&
|
||||
+ !is_broadcast_ether_addr(dest);
|
||||
|
||||
/* Build the special tag after the MAC Source Address. If VLAN header
|
||||
* is present, it's required that VLAN header and special tag is
|
||||
@@ -47,6 +51,10 @@ static struct sk_buff *mtk_tag_xmit(stru
|
||||
MTK_HDR_XMIT_UNTAGGED;
|
||||
mtk_tag[1] = (1 << dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
|
||||
|
||||
+ /* Disable SA learning for multicast frames */
|
||||
+ if (unlikely(is_multicast_skb))
|
||||
+ mtk_tag[1] |= MTK_HDR_XMIT_SA_DIS;
|
||||
+
|
||||
/* Tag control information is kept for 802.1Q */
|
||||
if (!is_vlan_skb) {
|
||||
mtk_tag[2] = 0;
|
||||
@@ -61,6 +69,9 @@ static struct sk_buff *mtk_tag_rcv(struc
|
||||
{
|
||||
int port;
|
||||
__be16 *phdr, hdr;
|
||||
+ unsigned char *dest = eth_hdr(skb)->h_dest;
|
||||
+ bool is_multicast_skb = is_multicast_ether_addr(dest) &&
|
||||
+ !is_broadcast_ether_addr(dest);
|
||||
|
||||
if (unlikely(!pskb_may_pull(skb, MTK_HDR_LEN)))
|
||||
return NULL;
|
||||
@@ -86,6 +97,10 @@ static struct sk_buff *mtk_tag_rcv(struc
|
||||
if (!skb->dev)
|
||||
return NULL;
|
||||
|
||||
+ /* Only unicast or broadcast frames are offloaded */
|
||||
+ if (likely(!is_multicast_skb))
|
||||
+ skb->offload_fwd_mark = 1;
|
||||
+
|
||||
return skb;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
|
||||
;----------------------------------------------------------------
|
||||
--- a/arch/arc/kernel/setup.c
|
||||
+++ b/arch/arc/kernel/setup.c
|
||||
@@ -491,6 +491,8 @@ static inline bool uboot_arg_invalid(uns
|
||||
@@ -492,6 +492,8 @@ static inline bool uboot_arg_invalid(uns
|
||||
/* We always pass 0 as magic from U-boot */
|
||||
#define UBOOT_MAGIC_VALUE 0
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
|
||||
void __init handle_uboot_args(void)
|
||||
{
|
||||
bool use_embedded_dtb = true;
|
||||
@@ -529,7 +531,7 @@ void __init handle_uboot_args(void)
|
||||
@@ -530,7 +532,7 @@ void __init handle_uboot_args(void)
|
||||
ignore_uboot_args:
|
||||
|
||||
if (use_embedded_dtb) {
|
||||
|
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5461,6 +5461,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -5471,6 +5471,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7254,6 +7257,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7264,6 +7267,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7304,6 +7349,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7314,6 +7359,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7397,6 +7443,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7407,6 +7453,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -8127,6 +8174,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -8137,6 +8184,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
@ -13,8 +13,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 5 +++++
|
||||
3 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
|
||||
index 1a9a9d9..60563ff 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
|
||||
@@ -313,6 +313,11 @@
|
||||
@ -29,8 +27,6 @@ index 1a9a9d9..60563ff 100644
|
||||
};
|
||||
|
||||
&ldb {
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
|
||||
index 54b2bea..8942bec 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
|
||||
@@ -304,6 +304,11 @@
|
||||
@ -45,8 +41,6 @@ index 54b2bea..8942bec 100644
|
||||
};
|
||||
|
||||
&ldb {
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
|
||||
index 1b6c133..c40583d 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
|
||||
@@ -361,6 +361,11 @@
|
||||
@ -61,6 +55,3 @@ index 1b6c133..c40583d 100644
|
||||
};
|
||||
|
||||
&ldb {
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -11,8 +11,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw5910.dtsi | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
index be1af74..30fe47f 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
@@ -220,6 +220,14 @@
|
||||
@ -54,6 +52,3 @@ index be1af74..30fe47f 100644
|
||||
pinctrl_uart4: uart4grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -13,8 +13,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw552x.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw552x.dtsi b/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
|
||||
index dc646b7..bb35971 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
|
||||
@@ -258,6 +258,14 @@
|
||||
@ -45,6 +43,3 @@ index dc646b7..bb35971 100644
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -13,8 +13,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw560x.dtsi | 31 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw560x.dtsi b/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
|
||||
index e8e36df..69ca70d 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
|
||||
@@ -295,6 +295,15 @@
|
||||
@ -76,6 +74,3 @@ index e8e36df..69ca70d 100644
|
||||
pinctrl_pcie: pciegrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_DISP0_DAT10__GPIO4_IO31 0x1b0b0 /* PCI_RST# */
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -13,8 +13,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw5904.dtsi | 31 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
|
||||
index 6d21cc6..76d6cf5 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
|
||||
@@ -248,6 +248,15 @@
|
||||
@ -69,6 +67,3 @@ index 6d21cc6..76d6cf5 100644
|
||||
pinctrl_pcie: pciegrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 /* PCIE RST */
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -16,8 +16,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw5910.dtsi | 32 ++++++++++++--------------------
|
||||
1 file changed, 12 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
index 30fe47f..b850f8f 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
@@ -83,19 +83,6 @@
|
||||
@ -82,6 +80,3 @@ index 30fe47f..b850f8f 100644
|
||||
pinctrl_reg_wl: regwlgrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b0b1
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -12,8 +12,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
arch/arm/boot/dts/imx6qdl-gw5910.dtsi | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
index b850f8f..0857de5 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi
|
||||
@@ -81,7 +81,6 @@
|
||||
@ -33,6 +31,3 @@ index b850f8f..0857de5 100644
|
||||
non-removable;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/Kconfig
|
||||
+++ b/drivers/net/ethernet/freescale/Kconfig
|
||||
@@ -95,6 +95,7 @@ config GIANFAR
|
||||
@@ -97,6 +97,7 @@ config GIANFAR
|
||||
This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx,
|
||||
and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
|
||||
on the 8540.
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/Kconfig
|
||||
+++ b/drivers/net/ethernet/freescale/Kconfig
|
||||
@@ -96,7 +96,7 @@ config GIANFAR
|
||||
@@ -98,7 +98,7 @@ config GIANFAR
|
||||
and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
|
||||
on the 8540.
|
||||
source "drivers/net/ethernet/freescale/sdk_fman/Kconfig"
|
||||
|
@ -648,7 +648,7 @@ Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
|
||||
static const u32 vsc9959_gcb_regmap[] = {
|
||||
--- a/include/net/dsa.h
|
||||
+++ b/include/net/dsa.h
|
||||
@@ -545,6 +545,7 @@ struct dsa_switch_ops {
|
||||
@@ -552,6 +552,7 @@ struct dsa_switch_ops {
|
||||
*/
|
||||
netdev_tx_t (*port_deferred_xmit)(struct dsa_switch *ds, int port,
|
||||
struct sk_buff *skb);
|
||||
|
@ -24,7 +24,7 @@ on touch") which was merged in v5.4-rc3.
|
||||
|
||||
--- a/include/net/dsa.h
|
||||
+++ b/include/net/dsa.h
|
||||
@@ -277,6 +277,11 @@ struct dsa_switch {
|
||||
@@ -284,6 +284,11 @@ struct dsa_switch {
|
||||
*/
|
||||
bool vlan_filtering;
|
||||
|
||||
@ -38,7 +38,7 @@ on touch") which was merged in v5.4-rc3.
|
||||
struct dsa_port ports[];
|
||||
--- a/net/dsa/port.c
|
||||
+++ b/net/dsa/port.c
|
||||
@@ -625,6 +625,7 @@ static int dsa_port_phylink_register(str
|
||||
@@ -639,6 +639,7 @@ static int dsa_port_phylink_register(str
|
||||
|
||||
dp->pl_config.dev = ds->dev;
|
||||
dp->pl_config.type = PHYLINK_DEV;
|
||||
|
@ -58,4 +58,4 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
+ depends on QUICC_ENGINE && FSL_SOC && PPC32
|
||||
select FSL_PQ_MDIO
|
||||
select PHYLIB
|
||||
---help---
|
||||
select FIXED_PHY
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
--- a/drivers/crypto/inside-secure/safexcel.c
|
||||
+++ b/drivers/crypto/inside-secure/safexcel.c
|
||||
@@ -595,6 +595,14 @@
|
||||
@@ -595,6 +595,14 @@ static int safexcel_hw_init(struct safex
|
||||
val |= EIP197_MST_CTRL_TX_MAX_CMD(5);
|
||||
writel(val, EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
|
||||
}
|
||||
|
@ -78,23 +78,21 @@ Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
drivers/net/dsa/Kconfig | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/Kconfig b/drivers/net/dsa/Kconfig
|
||||
index c7667645f04a..467f80157acf 100644
|
||||
--- a/drivers/net/dsa/Kconfig
|
||||
+++ b/drivers/net/dsa/Kconfig
|
||||
@@ -33,12 +33,12 @@ config NET_DSA_LANTIQ_GSWIP
|
||||
the xrx200 / VR9 SoC.
|
||||
|
||||
config NET_DSA_MT7530
|
||||
- tristate "Mediatek MT7530 Ethernet switch support"
|
||||
+ tristate "MediaTek MT7530 and MT7621 Ethernet switch support"
|
||||
depends on NET_DSA
|
||||
select NET_DSA_TAG_MTK
|
||||
---help---
|
||||
- This enables support for the Mediatek MT7530 Ethernet switch
|
||||
- chip.
|
||||
+ This enables support for the MediaTek MT7530 and MT7621 Ethernet
|
||||
+ switch chip.
|
||||
|
||||
config NET_DSA_MV88E6060
|
||||
tristate "Marvell 88E6060 ethernet switch chip support"
|
||||
--- a/drivers/net/dsa/Kconfig
|
||||
+++ b/drivers/net/dsa/Kconfig
|
||||
@@ -33,12 +33,12 @@ config NET_DSA_LANTIQ_GSWIP
|
||||
the xrx200 / VR9 SoC.
|
||||
|
||||
config NET_DSA_MT7530
|
||||
- tristate "Mediatek MT7530 Ethernet switch support"
|
||||
+ tristate "MediaTek MT7530 and MT7621 Ethernet switch support"
|
||||
depends on NET_DSA
|
||||
select NET_DSA_TAG_MTK
|
||||
---help---
|
||||
- This enables support for the Mediatek MT7530 Ethernet switch
|
||||
- chip.
|
||||
+ This enables support for the MediaTek MT7530 and MT7621 Ethernet
|
||||
+ switch chip.
|
||||
|
||||
config NET_DSA_MV88E6060
|
||||
tristate "Marvell 88E6060 ethernet switch chip support"
|
||||
|
@ -84,10 +84,8 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
drivers/net/dsa/mt7530.h | 29 ++++-
|
||||
2 files changed, 203 insertions(+), 57 deletions(-)
|
||||
|
||||
Index: linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
===================================================================
|
||||
--- linux-5.4.43.orig/drivers/net/dsa/mt7530.c
|
||||
+++ linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -373,7 +373,7 @@ mt7530_fdb_write(struct mt7530_priv *pri
|
||||
}
|
||||
|
||||
@ -389,10 +387,8 @@ Index: linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
|
||||
if (priv->id == ID_MT7530) {
|
||||
priv->core_pwr = devm_regulator_get(&mdiodev->dev, "core");
|
||||
Index: linux-5.4.43/drivers/net/dsa/mt7530.h
|
||||
===================================================================
|
||||
--- linux-5.4.43.orig/drivers/net/dsa/mt7530.h
|
||||
+++ linux-5.4.43/drivers/net/dsa/mt7530.h
|
||||
--- a/drivers/net/dsa/mt7530.h
|
||||
+++ b/drivers/net/dsa/mt7530.h
|
||||
@@ -11,7 +11,7 @@
|
||||
#define MT7530_NUM_FDB_RECORDS 2048
|
||||
#define MT7530_ALL_MEMBERS 0xff
|
||||
|
@ -79,103 +79,101 @@ Signed-off-by: Landen Chao <landen.chao@mediatek.com>
|
||||
.../devicetree/bindings/net/dsa/mt7530.txt | 77 ++++++++++++++++++-
|
||||
1 file changed, 74 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/net/dsa/mt7530.txt b/Documentation/devicetree/bindings/net/dsa/mt7530.txt
|
||||
index c5ed5d25f642..dc226a4e402a 100644
|
||||
--- a/Documentation/devicetree/bindings/net/dsa/mt7530.txt
|
||||
+++ b/Documentation/devicetree/bindings/net/dsa/mt7530.txt
|
||||
@@ -5,6 +5,7 @@ Required properties:
|
||||
|
||||
- compatible: may be compatible = "mediatek,mt7530"
|
||||
or compatible = "mediatek,mt7621"
|
||||
+ or compatible = "mediatek,mt7531"
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
- mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part
|
||||
@@ -32,10 +33,13 @@ Required properties for the child nodes within ports container:
|
||||
|
||||
- reg: Port address described must be 6 for CPU port and from 0 to 5 for
|
||||
user ports.
|
||||
-- phy-mode: String, must be either "trgmii" or "rgmii" for port labeled
|
||||
- "cpu".
|
||||
+- phy-mode: String, the follow value would be acceptable for port labeled "cpu"
|
||||
+ If compatible mediatek,mt7530 or mediatek,mt7621 is set,
|
||||
+ must be either "trgmii" or "rgmii"
|
||||
+ If compatible mediatek,mt7531 is set,
|
||||
+ must be either "sgmii", "1000base-x" or "2500base-x"
|
||||
|
||||
-Port 5 of the switch is muxed between:
|
||||
+Port 5 of mt7530 and mt7621 switch is muxed between:
|
||||
1. GMAC5: GMAC5 can interface with another external MAC or PHY.
|
||||
2. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC
|
||||
of the SOC. Used in many setups where port 0/4 becomes the WAN port.
|
||||
@@ -308,3 +312,70 @@ Example 3: MT7621: Port 5 is connected to external PHY: Port 5 -> external PHY.
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+Example 4:
|
||||
+
|
||||
+ð {
|
||||
+ gmac0: mac@0 {
|
||||
+ compatible = "mediatek,eth-mac";
|
||||
+ reg = <0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ &mdio0 {
|
||||
+ switch@0 {
|
||||
+ compatible = "mediatek,mt7531";
|
||||
+ reg = <0>;
|
||||
+ reset-gpios = <&pio 54 0>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ label = "lan0";
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ label = "lan1";
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ label = "lan2";
|
||||
+ };
|
||||
+
|
||||
+ port@3 {
|
||||
+ reg = <3>;
|
||||
+ label = "lan3";
|
||||
+ };
|
||||
+
|
||||
+ port@4 {
|
||||
+ reg = <4>;
|
||||
+ label = "wan";
|
||||
+ };
|
||||
+
|
||||
+ port@6 {
|
||||
+ reg = <6>;
|
||||
+ label = "cpu";
|
||||
+ ethernet = <&gmac0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
--- a/Documentation/devicetree/bindings/net/dsa/mt7530.txt
|
||||
+++ b/Documentation/devicetree/bindings/net/dsa/mt7530.txt
|
||||
@@ -5,6 +5,7 @@ Required properties:
|
||||
|
||||
- compatible: may be compatible = "mediatek,mt7530"
|
||||
or compatible = "mediatek,mt7621"
|
||||
+ or compatible = "mediatek,mt7531"
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
- mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part
|
||||
@@ -32,10 +33,13 @@ Required properties for the child nodes
|
||||
|
||||
- reg: Port address described must be 6 for CPU port and from 0 to 5 for
|
||||
user ports.
|
||||
-- phy-mode: String, must be either "trgmii" or "rgmii" for port labeled
|
||||
- "cpu".
|
||||
+- phy-mode: String, the follow value would be acceptable for port labeled "cpu"
|
||||
+ If compatible mediatek,mt7530 or mediatek,mt7621 is set,
|
||||
+ must be either "trgmii" or "rgmii"
|
||||
+ If compatible mediatek,mt7531 is set,
|
||||
+ must be either "sgmii", "1000base-x" or "2500base-x"
|
||||
|
||||
-Port 5 of the switch is muxed between:
|
||||
+Port 5 of mt7530 and mt7621 switch is muxed between:
|
||||
1. GMAC5: GMAC5 can interface with another external MAC or PHY.
|
||||
2. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC
|
||||
of the SOC. Used in many setups where port 0/4 becomes the WAN port.
|
||||
@@ -308,3 +312,70 @@ Example 3: MT7621: Port 5 is connected t
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+Example 4:
|
||||
+
|
||||
+ð {
|
||||
+ gmac0: mac@0 {
|
||||
+ compatible = "mediatek,eth-mac";
|
||||
+ reg = <0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ &mdio0 {
|
||||
+ switch@0 {
|
||||
+ compatible = "mediatek,mt7531";
|
||||
+ reg = <0>;
|
||||
+ reset-gpios = <&pio 54 0>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ label = "lan0";
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ label = "lan1";
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ label = "lan2";
|
||||
+ };
|
||||
+
|
||||
+ port@3 {
|
||||
+ reg = <3>;
|
||||
+ label = "lan3";
|
||||
+ };
|
||||
+
|
||||
+ port@4 {
|
||||
+ reg = <4>;
|
||||
+ label = "wan";
|
||||
+ };
|
||||
+
|
||||
+ port@6 {
|
||||
+ reg = <6>;
|
||||
+ label = "cpu";
|
||||
+ ethernet = <&gmac0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
|
@ -87,10 +87,8 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
drivers/net/dsa/mt7530.h | 144 +++++++++
|
||||
3 files changed, 784 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: linux-5.4.43/drivers/net/dsa/Kconfig
|
||||
===================================================================
|
||||
--- linux-5.4.43.orig/drivers/net/dsa/Kconfig
|
||||
+++ linux-5.4.43/drivers/net/dsa/Kconfig
|
||||
--- a/drivers/net/dsa/Kconfig
|
||||
+++ b/drivers/net/dsa/Kconfig
|
||||
@@ -33,12 +33,12 @@ config NET_DSA_LANTIQ_GSWIP
|
||||
the xrx200 / VR9 SoC.
|
||||
|
||||
@ -107,10 +105,8 @@ Index: linux-5.4.43/drivers/net/dsa/Kconfig
|
||||
|
||||
config NET_DSA_MV88E6060
|
||||
tristate "Marvell 88E6060 ethernet switch chip support"
|
||||
Index: linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
===================================================================
|
||||
--- linux-5.4.43.orig/drivers/net/dsa/mt7530.c
|
||||
+++ linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -234,6 +234,12 @@ mt7530_write(struct mt7530_priv *priv, u
|
||||
}
|
||||
|
||||
@ -882,10 +878,8 @@ Index: linux-5.4.43/drivers/net/dsa/mt7530.c
|
||||
{ /* sentinel */ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, mt7530_of_match);
|
||||
Index: linux-5.4.43/drivers/net/dsa/mt7530.h
|
||||
===================================================================
|
||||
--- linux-5.4.43.orig/drivers/net/dsa/mt7530.h
|
||||
+++ linux-5.4.43/drivers/net/dsa/mt7530.h
|
||||
--- a/drivers/net/dsa/mt7530.h
|
||||
+++ b/drivers/net/dsa/mt7530.h
|
||||
@@ -14,6 +14,7 @@
|
||||
enum mt753x_id {
|
||||
ID_MT7530 = 0,
|
||||
|
@ -77,64 +77,62 @@ Signed-off-by: Landen Chao <landen.chao@mediatek.com>
|
||||
.../dts/mediatek/mt7622-bananapi-bpi-r64.dts | 50 +++++++++++++++++++
|
||||
1 file changed, 50 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
index 83e10591e0e5..ffacefee8e2a 100644
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
@@ -143,6 +143,56 @@
|
||||
mdio: mdio-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
+
|
||||
+ switch@0 {
|
||||
+ compatible = "mediatek,mt7531";
|
||||
+ reg = <0>;
|
||||
+ reset-gpios = <&pio 54 0>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ label = "wan";
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ label = "lan0";
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ label = "lan1";
|
||||
+ };
|
||||
+
|
||||
+ port@3 {
|
||||
+ reg = <3>;
|
||||
+ label = "lan2";
|
||||
+ };
|
||||
+
|
||||
+ port@4 {
|
||||
+ reg = <4>;
|
||||
+ label = "lan3";
|
||||
+ };
|
||||
+
|
||||
+ port@6 {
|
||||
+ reg = <6>;
|
||||
+ label = "cpu";
|
||||
+ ethernet = <&gmac0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
};
|
||||
};
|
||||
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
||||
@@ -150,6 +150,56 @@
|
||||
mdio: mdio-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
+
|
||||
+ switch@0 {
|
||||
+ compatible = "mediatek,mt7531";
|
||||
+ reg = <0>;
|
||||
+ reset-gpios = <&pio 54 0>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ label = "wan";
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ label = "lan0";
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ label = "lan1";
|
||||
+ };
|
||||
+
|
||||
+ port@3 {
|
||||
+ reg = <3>;
|
||||
+ label = "lan2";
|
||||
+ };
|
||||
+
|
||||
+ port@4 {
|
||||
+ reg = <4>;
|
||||
+ label = "lan3";
|
||||
+ };
|
||||
+
|
||||
+ port@6 {
|
||||
+ reg = <6>;
|
||||
+ label = "cpu";
|
||||
+ ethernet = <&gmac0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -15,11 +15,9 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
drivers/gpio/gpio-thunderx.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpio/gpio-thunderx.c b/drivers/gpio/gpio-thunderx.c
|
||||
index 715371b..feda2a2 100644
|
||||
--- a/drivers/gpio/gpio-thunderx.c
|
||||
+++ b/drivers/gpio/gpio-thunderx.c
|
||||
@@ -363,15 +363,18 @@ static int thunderx_gpio_irq_request_resources(struct irq_data *data)
|
||||
@@ -363,15 +363,18 @@ static int thunderx_gpio_irq_request_res
|
||||
{
|
||||
struct thunderx_line *txline = irq_data_get_irq_chip_data(data);
|
||||
struct thunderx_gpio *txgpio = txline->txgpio;
|
||||
@ -41,6 +39,3 @@ index 715371b..feda2a2 100644
|
||||
|
||||
return r;
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -12,11 +12,9 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
drivers/net/can/spi/mcp251x.c | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c
|
||||
index bb20a9b..dc0574a 100644
|
||||
--- a/drivers/net/can/spi/mcp251x.c
|
||||
+++ b/drivers/net/can/spi/mcp251x.c
|
||||
@@ -291,23 +291,23 @@ static u8 mcp251x_read_reg(struct spi_device *spi, u8 reg)
|
||||
@@ -291,23 +291,23 @@ static u8 mcp251x_read_reg(struct spi_de
|
||||
priv->spi_tx_buf[0] = INSTRUCTION_READ;
|
||||
priv->spi_tx_buf[1] = reg;
|
||||
|
||||
@ -45,7 +43,7 @@ index bb20a9b..dc0574a 100644
|
||||
}
|
||||
|
||||
static void mcp251x_write_reg(struct spi_device *spi, u8 reg, u8 val)
|
||||
@@ -398,8 +398,9 @@ static void mcp251x_hw_rx_frame(struct spi_device *spi, u8 *buf,
|
||||
@@ -398,8 +398,9 @@ static void mcp251x_hw_rx_frame(struct s
|
||||
buf[i] = mcp251x_read_reg(spi, RXBCTRL(buf_idx) + i);
|
||||
} else {
|
||||
priv->spi_tx_buf[RXBCTRL_OFF] = INSTRUCTION_READ_RXB(buf_idx);
|
||||
@ -57,6 +55,3 @@ index bb20a9b..dc0574a 100644
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user