From: Luiz Angelo Daros de Luca <luizluca@gmail.com>
To: netdev@vger.kernel.org
Cc: linus.walleij@linaro.org, andrew@lunn.ch,
vivien.didelot@gmail.com, f.fainelli@gmail.com,
olteanv@gmail.com, alsi@bang-olufsen.dk, arinc.unal@arinc9.com,
frank-w@public-files.de,
Luiz Angelo Daros de Luca <luizluca@gmail.com>
Subject: [PATCH net-next v4 10/11] net: dsa: realtek: rtl8365mb: add RTL8367S support
Date: Wed, 5 Jan 2022 00:15:14 -0300 [thread overview]
Message-ID: <20220105031515.29276-11-luizluca@gmail.com> (raw)
In-Reply-To: <20220105031515.29276-1-luizluca@gmail.com>
Realtek's RTL8367S, a 5+2 port 10/100/1000M Ethernet switch.
It shares the same driver family (RTL8367C) with other models
as the RTL8365MB-VC. Its compatible string is "realtek,rtl8367s".
It was tested only with MDIO interface (realtek-mdio), although it might
work out-of-the-box with SMI interface (using realtek-smi).
This patch was based on an unpublished patch from Alvin Šipraga
<alsi@bang-olufsen.dk>.
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Tested-by: Arınç ÜNAL <arinc.unal@arinc9.com>
---
drivers/net/dsa/realtek/Kconfig | 2 +-
drivers/net/dsa/realtek/realtek-mdio.c | 1 +
drivers/net/dsa/realtek/realtek-smi.c | 4 +++
drivers/net/dsa/realtek/rtl8365mb.c | 38 +++++++++++++++++++-------
4 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/drivers/net/dsa/realtek/Kconfig b/drivers/net/dsa/realtek/Kconfig
index 73b26171fade..d0d6b5ba4bdd 100644
--- a/drivers/net/dsa/realtek/Kconfig
+++ b/drivers/net/dsa/realtek/Kconfig
@@ -31,7 +31,7 @@ config NET_DSA_REALTEK_RTL8365MB
depends on NET_DSA_REALTEK_SMI || NET_DSA_REALTEK_MDIO
select NET_DSA_TAG_RTL8_4
help
- Select to enable support for Realtek RTL8365MB
+ Select to enable support for Realtek RTL8365MB-VC and RTL8367S.
config NET_DSA_REALTEK_RTL8366RB
tristate "Realtek RTL8366RB switch subdriver"
diff --git a/drivers/net/dsa/realtek/realtek-mdio.c b/drivers/net/dsa/realtek/realtek-mdio.c
index b505f4d3c5f0..2bed65981c7d 100644
--- a/drivers/net/dsa/realtek/realtek-mdio.c
+++ b/drivers/net/dsa/realtek/realtek-mdio.c
@@ -199,6 +199,7 @@ static const struct of_device_id realtek_mdio_of_match[] = {
#endif
#if IS_ENABLED(CONFIG_NET_DSA_REALTEK_RTL8365MB)
{ .compatible = "realtek,rtl8365mb", .data = &rtl8365mb_variant, },
+ { .compatible = "realtek,rtl8367s", .data = &rtl8365mb_variant, },
#endif
{ /* sentinel */ },
};
diff --git a/drivers/net/dsa/realtek/realtek-smi.c b/drivers/net/dsa/realtek/realtek-smi.c
index 1f024e2520a6..c330a4d8ebf0 100644
--- a/drivers/net/dsa/realtek/realtek-smi.c
+++ b/drivers/net/dsa/realtek/realtek-smi.c
@@ -513,6 +513,10 @@ static const struct of_device_id realtek_smi_of_match[] = {
.compatible = "realtek,rtl8365mb",
.data = &rtl8365mb_variant,
},
+ {
+ .compatible = "realtek,rtl8367s",
+ .data = &rtl8365mb_variant,
+ },
#endif
{ /* sentinel */ },
};
diff --git a/drivers/net/dsa/realtek/rtl8365mb.c b/drivers/net/dsa/realtek/rtl8365mb.c
index adc72f0844ae..59e08b192c06 100644
--- a/drivers/net/dsa/realtek/rtl8365mb.c
+++ b/drivers/net/dsa/realtek/rtl8365mb.c
@@ -102,14 +102,19 @@
#include "realtek.h"
/* Chip-specific data and limits */
-#define RTL8365MB_CHIP_ID_8365MB_VC 0x6367
-#define RTL8365MB_LEARN_LIMIT_MAX_8365MB_VC 2112
+#define RTL8365MB_CHIP_ID_8365MB_VC 0x6367
+#define RTL8365MB_CHIP_VER_8365MB_VC 0x0040
+
+#define RTL8365MB_CHIP_ID_8367S 0x6367
+#define RTL8365MB_CHIP_VER_8367S 0x00A0
/* Family-specific data and limits */
-#define RTL8365MB_PHYADDRMAX 7
-#define RTL8365MB_NUM_PHYREGS 32
-#define RTL8365MB_PHYREGMAX (RTL8365MB_NUM_PHYREGS - 1)
-#define RTL8365MB_MAX_NUM_PORTS 7
+#define RTL8365MB_PHYADDRMAX 7
+#define RTL8365MB_NUM_PHYREGS 32
+#define RTL8365MB_PHYREGMAX (RTL8365MB_NUM_PHYREGS - 1)
+/* RTL8370MB and RTL8310SR, possibly suportable by this driver, have 10 ports */
+#define RTL8365MB_MAX_NUM_PORTS 10
+#define RTL8365MB_LEARN_LIMIT_MAX 2112
/* Chip identification registers */
#define RTL8365MB_CHIP_ID_REG 0x1300
@@ -1971,9 +1976,22 @@ static int rtl8365mb_detect(struct realtek_priv *priv)
switch (chip_id) {
case RTL8365MB_CHIP_ID_8365MB_VC:
- dev_info(priv->dev,
- "found an RTL8365MB-VC switch (ver=0x%04x)\n",
- chip_ver);
+ switch (chip_ver) {
+ case RTL8365MB_CHIP_VER_8365MB_VC:
+ dev_info(priv->dev,
+ "found an RTL8365MB-VC switch (ver=0x%04x)\n",
+ chip_ver);
+ break;
+ case RTL8365MB_CHIP_VER_8367S:
+ dev_info(priv->dev,
+ "found an RTL8367S switch (ver=0x%04x)\n",
+ chip_ver);
+ break;
+ default:
+ dev_err(priv->dev, "unrecognized switch version (ver=0x%04x)",
+ chip_ver);
+ return -ENODEV;
+ }
priv->num_ports = RTL8365MB_MAX_NUM_PORTS;
@@ -1981,7 +1999,7 @@ static int rtl8365mb_detect(struct realtek_priv *priv)
mb->chip_id = chip_id;
mb->chip_ver = chip_ver;
mb->port_mask = GENMASK(priv->num_ports - 1, 0);
- mb->learn_limit_max = RTL8365MB_LEARN_LIMIT_MAX_8365MB_VC;
+ mb->learn_limit_max = RTL8365MB_LEARN_LIMIT_MAX;
mb->jam_table = rtl8365mb_init_jam_8365mb_vc;
mb->jam_size = ARRAY_SIZE(rtl8365mb_init_jam_8365mb_vc);
--
2.34.0
next prev parent reply other threads:[~2022-01-05 3:16 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-05 3:15 [PATCH net-next v4 00/11] net: dsa: realtek: MDIO interface and RTL8367S Luiz Angelo Daros de Luca
2022-01-05 3:15 ` [PATCH net-next v4 01/11] net: dsa: realtek-smi: move to subdirectory Luiz Angelo Daros de Luca
2022-01-05 3:15 ` [PATCH net-next v4 02/11] net: dsa: realtek: rename realtek_smi to realtek_priv Luiz Angelo Daros de Luca
2022-01-07 3:42 ` Jakub Kicinski
2022-01-10 12:33 ` Alvin Šipraga
2022-01-16 0:04 ` Linus Walleij
2022-01-20 14:37 ` Vladimir Oltean
2022-01-05 3:15 ` [PATCH net-next v4 03/11] net: dsa: realtek: remove direct calls to realtek-smi Luiz Angelo Daros de Luca
2022-01-10 12:38 ` Alvin Šipraga
2022-01-16 0:05 ` Linus Walleij
2022-01-17 3:46 ` Florian Fainelli
2022-01-05 3:15 ` [PATCH net-next v4 04/11] net: dsa: realtek: convert subdrivers into modules Luiz Angelo Daros de Luca
2022-01-10 12:43 ` Alvin Šipraga
2022-01-17 4:02 ` Florian Fainelli
2022-01-05 3:15 ` [PATCH net-next v4 05/11] net: dsa: realtek: use phy_read in ds->ops Luiz Angelo Daros de Luca
2022-01-10 13:09 ` Alvin Šipraga
2022-01-17 4:15 ` Florian Fainelli
2022-01-18 2:55 ` Luiz Angelo Daros de Luca
2022-01-18 13:16 ` Andrew Lunn
2022-01-21 22:13 ` Luiz Angelo Daros de Luca
2022-01-21 23:48 ` Andrew Lunn
2022-01-05 3:15 ` [PATCH net-next v4 06/11] net: dsa: realtek: add new mdio interface for drivers Luiz Angelo Daros de Luca
2022-01-10 13:09 ` Alvin Šipraga
2022-01-17 4:22 ` Florian Fainelli
2022-01-18 4:38 ` Luiz Angelo Daros de Luca
2022-01-05 3:15 ` [PATCH net-next v4 07/11] net: dsa: realtek: rtl8365mb: rename extport to extint, add "realtek,ext-int" Luiz Angelo Daros de Luca
2022-01-10 13:15 ` Alvin Šipraga
2022-01-17 4:25 ` Florian Fainelli
2022-01-05 3:15 ` [PATCH net-next v4 08/11] net: dsa: realtek: rtl8365mb: use GENMASK(n-1,0) instead of BIT(n)-1 Luiz Angelo Daros de Luca
2022-01-10 13:18 ` Alvin Šipraga
2022-01-17 4:25 ` Florian Fainelli
2022-01-05 3:15 ` [PATCH net-next v4 09/11] net: dsa: realtek: rtl8365mb: use DSA CPU port Luiz Angelo Daros de Luca
2022-01-07 3:37 ` Jakub Kicinski
2022-01-10 13:22 ` Alvin Šipraga
2022-01-17 4:26 ` Florian Fainelli
2022-01-05 3:15 ` Luiz Angelo Daros de Luca [this message]
2022-01-10 13:26 ` [PATCH net-next v4 10/11] net: dsa: realtek: rtl8365mb: add RTL8367S support Alvin Šipraga
2022-01-17 4:26 ` Florian Fainelli
2022-01-05 3:15 ` [PATCH net-next v4 11/11] net: dsa: realtek: rtl8365mb: multiple cpu ports, non cpu extint Luiz Angelo Daros de Luca
2022-01-10 13:39 ` Alvin Šipraga
2022-01-10 13:53 ` Aw: " Frank Wunderlich
2022-01-11 18:17 ` Alvin Šipraga
2022-01-11 18:45 ` Aw: " Frank Wunderlich
2022-01-13 12:37 ` Alvin Šipraga
2022-01-13 15:56 ` Aw: " Frank Wunderlich
2022-01-18 4:58 ` Luiz Angelo Daros de Luca
2022-01-18 10:13 ` Alvin Šipraga
2022-01-18 13:20 ` Re: Re: " Andrew Lunn
2022-01-20 15:12 ` Vladimir Oltean
2022-01-20 23:35 ` Luiz Angelo Daros de Luca
2022-01-21 2:06 ` Vladimir Oltean
2022-01-21 3:13 ` Luiz Angelo Daros de Luca
2022-01-21 3:22 ` Florian Fainelli
2022-01-21 3:42 ` Luiz Angelo Daros de Luca
2022-01-21 3:50 ` Florian Fainelli
2022-01-21 4:37 ` Luiz Angelo Daros de Luca
2022-01-21 9:07 ` Arınç ÜNAL
2022-01-21 18:50 ` Vladimir Oltean
2022-01-21 21:51 ` Luiz Angelo Daros de Luca
2022-01-21 22:49 ` Vladimir Oltean
2022-01-22 20:12 ` Luiz Angelo Daros de Luca
2022-01-24 15:31 ` Vladimir Oltean
2022-01-24 16:46 ` Jakub Kicinski
2022-01-24 16:55 ` Vladimir Oltean
2022-01-24 17:01 ` Florian Fainelli
2022-01-24 17:21 ` Vladimir Oltean
2022-01-24 17:30 ` Florian Fainelli
2022-01-24 17:35 ` Jakub Kicinski
2022-01-24 18:20 ` Jakub Kicinski
2022-01-24 19:08 ` Vladimir Oltean
2022-01-24 19:38 ` Jakub Kicinski
2022-01-24 20:56 ` Vladimir Oltean
2022-01-24 21:42 ` Jakub Kicinski
2022-01-24 22:30 ` Vladimir Oltean
2022-01-25 7:15 ` Luiz Angelo Daros de Luca
2022-01-25 9:47 ` Vladimir Oltean
2022-01-25 22:29 ` Luiz Angelo Daros de Luca
2022-01-25 23:56 ` Florian Fainelli
2022-01-26 22:49 ` Luiz Angelo Daros de Luca
2022-01-25 9:44 ` Arınç ÜNAL
2022-01-22 15:51 ` Andrew Lunn
2022-01-30 1:54 ` Re: Re: " Luiz Angelo Daros de Luca
2022-01-30 4:42 ` Luiz Angelo Daros de Luca
2022-01-30 17:24 ` Florian Fainelli
2022-01-31 17:26 ` Luiz Angelo Daros de Luca
2022-02-01 14:46 ` Vladimir Oltean
2022-01-20 14:36 ` [PATCH net-next v4 00/11] net: dsa: realtek: MDIO interface and RTL8367S Vladimir Oltean
2022-01-20 17:46 ` Luiz Angelo Daros de Luca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220105031515.29276-11-luizluca@gmail.com \
--to=luizluca@gmail.com \
--cc=alsi@bang-olufsen.dk \
--cc=andrew@lunn.ch \
--cc=arinc.unal@arinc9.com \
--cc=f.fainelli@gmail.com \
--cc=frank-w@public-files.de \
--cc=linus.walleij@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.