blob: 034c688b564963f7262669ebb65d729d8a19a088 [file] [log] [blame]
developer33759cf2024-10-11 15:19:50 +08001From ae07baf1efdbd3705be90691b5ae606057b225b0 Mon Sep 17 00:00:00 2001
2From: "neal.yen" <neal.yen@mediatek.com>
3Date: Fri, 26 Jul 2024 15:05:19 +0800
4Subject: [PATCH] 999-2742-drivers-net-dsa-mxl862xx
5
6---
7 drivers/net/dsa/Kconfig | 2 ++
8 drivers/net/dsa/Makefile | 1 +
9 include/net/dsa.h | 4 ++++
10 net/dsa/Kconfig | 13 +++++++++++++
11 net/dsa/Makefile | 2 ++
12 6 files changed, 23 insertions(+)
13
14diff --git a/drivers/net/dsa/Kconfig b/drivers/net/dsa/Kconfig
15index a15dd0d..13ef0f0 100644
16--- a/drivers/net/dsa/Kconfig
17+++ b/drivers/net/dsa/Kconfig
18@@ -54,6 +54,8 @@ source "drivers/net/dsa/microchip/Kconfig"
19
20 source "drivers/net/dsa/mv88e6xxx/Kconfig"
21
22+source "drivers/net/dsa/mxl862xx/Kconfig"
23+
24 source "drivers/net/dsa/sja1105/Kconfig"
25
26 config NET_DSA_QCA8K
27diff --git a/drivers/net/dsa/Makefile b/drivers/net/dsa/Makefile
28index c36e793..263c052 100644
29--- a/drivers/net/dsa/Makefile
30+++ b/drivers/net/dsa/Makefile
31@@ -23,3 +23,4 @@ obj-y += b53/
32 obj-y += microchip/
33 obj-y += mv88e6xxx/
34 obj-y += sja1105/
35+obj-y += mxl862xx/
36diff --git a/include/net/dsa.h b/include/net/dsa.h
37index 65cfa41..0c138e5 100644
38--- a/include/net/dsa.h
39+++ b/include/net/dsa.h
40@@ -44,6 +44,8 @@ struct phylink_link_state;
41 #define DSA_TAG_PROTO_KSZ8795_VALUE 14
42 #define DSA_TAG_PROTO_RTL4_A_VALUE 17
43 #define DSA_TAG_PROTO_ARHT_VALUE 28
44+#define DSA_TAG_PROTO_MXL862_VALUE 29
45+#define DSA_TAG_PROTO_MXL862_8021Q_VALUE 30
46
47 enum dsa_tag_protocol {
48 DSA_TAG_PROTO_NONE = DSA_TAG_PROTO_NONE_VALUE,
49@@ -63,6 +65,8 @@ enum dsa_tag_protocol {
50 DSA_TAG_PROTO_KSZ8795 = DSA_TAG_PROTO_KSZ8795_VALUE,
51 DSA_TAG_PROTO_RTL4_A = DSA_TAG_PROTO_RTL4_A_VALUE,
52 DSA_TAG_PROTO_ARHT = DSA_TAG_PROTO_ARHT_VALUE,
53+ DSA_TAG_PROTO_MXL862 = DSA_TAG_PROTO_MXL862_VALUE,
54+ DSA_TAG_PROTO_MXL862_8021Q = DSA_TAG_PROTO_MXL862_8021Q_VALUE,
55 };
56
57 struct packet_type;
58diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig
59index 5da7a23..b0b9df1 100644
60--- a/net/dsa/Kconfig
61+++ b/net/dsa/Kconfig
62@@ -86,6 +86,19 @@ config NET_DSA_TAG_KSZ
63 Say Y if you want to enable support for tagging frames for the
64 Microchip 8795/9477/9893 families of switches.
65
66+config NET_DSA_TAG_MXL862
67+ tristate "Tag driver for MxL862xx switches"
68+ help
69+ Say Y or M if you want to enable support for tagging frames for the
70+ Maxlinear MxL862xx switches.
71+
72+config NET_DSA_TAG_MXL862_8021Q
73+ tristate "Tag driver for MxL862xx switches, based on VLAN tags"
74+ help
75+ Say Y or M if you want to enable support for tagging frames for the
76+ Maxlinear MxL862xx switches. This tagging variant is based on 4-byte wide VLAN
77+ tags
78+
79 config NET_DSA_TAG_RTL4_A
80 tristate "Tag driver for Realtek 4 byte protocol A tags"
81 help
82diff --git a/net/dsa/Makefile b/net/dsa/Makefile
83index b58ac0f..692b70f 100644
84--- a/net/dsa/Makefile
85+++ b/net/dsa/Makefile
86@@ -17,3 +17,5 @@ obj-$(CONFIG_NET_DSA_TAG_QCA) += tag_qca.o
87 obj-$(CONFIG_NET_DSA_TAG_SJA1105) += tag_sja1105.o
88 obj-$(CONFIG_NET_DSA_TAG_TRAILER) += tag_trailer.o
89 obj-$(CONFIG_NET_DSA_TAG_AIROHA) += tag_arht.o
90+obj-$(CONFIG_NET_DSA_TAG_MXL862) += tag_mxl862xx.o
91+obj-$(CONFIG_NET_DSA_TAG_MXL862_8021Q) += tag_mxl862xx_8021q.o
92--
932.18.0
94