.../devicetree/bindings/net/dsa/brcm,b53.yaml | 1 + drivers/net/dsa/b53/b53_common.c | 53 ++++++++++++++++++- drivers/net/dsa/b53/b53_mdio.c | 5 +- drivers/net/dsa/b53/b53_priv.h | 9 +++- 4 files changed, 65 insertions(+), 3 deletions(-)
This is based on the initial work from Paul Geurts that was sent to the incorrect linux development lists and recipients. I've modified it by removing BCM53134_DEVICE_ID from is531x5() and therefore adding is53134() where needed. I also added a separate RGMII handling block for is53134() since according to Paul, BCM53134 doesn't support RGMII_CTRL_TIMING_SEL as opposed to is531x5(). Paul Geurts (1): net: dsa: b53: mdio: add support for BCM53134 Álvaro Fernández Rojas (1): dt-bindings: net: dsa: b53: add BCM53134 support .../devicetree/bindings/net/dsa/brcm,b53.yaml | 1 + drivers/net/dsa/b53/b53_common.c | 53 ++++++++++++++++++- drivers/net/dsa/b53/b53_mdio.c | 5 +- drivers/net/dsa/b53/b53_priv.h | 9 +++- 4 files changed, 65 insertions(+), 3 deletions(-) -- 2.30.2
This is based on the initial work from Paul Geurts that was sent to the incorrect linux development lists and recipients. I've simplified his patches by adding BCM53134 to the is531x5() block since it seems that the switch doesn't need a special RGMII config. Paul Geurts (1): net: dsa: b53: mdio: add support for BCM53134 Álvaro Fernández Rojas (1): dt-bindings: net: dsa: b53: add BCM53134 support .../devicetree/bindings/net/dsa/brcm,b53.yaml | 1 + drivers/net/dsa/b53/b53_common.c | 15 +++++++++++++++ drivers/net/dsa/b53/b53_mdio.c | 5 ++++- drivers/net/dsa/b53/b53_priv.h | 7 +++++-- 4 files changed, 25 insertions(+), 3 deletions(-) -- 2.30.2
On Fri, 24 Mar 2023 09:41:36 +0100 Álvaro Fernández Rojas wrote: > This is based on the initial work from Paul Geurts that was sent to the > incorrect linux development lists and recipients. > I've simplified his patches by adding BCM53134 to the is531x5() block since it > seems that the switch doesn't need a special RGMII config. In the future please don't send the new version in-reply to. Makes it harder to organize patches that need review for maintainers. Or at least IDK how to maintain a queue ordered by submission date when people do this :\
BCM53134 are B53 switches connected by MDIO.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
---
v2: no changes
Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
index 57e0ef93b134..4c78c546343f 100644
--- a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
@@ -19,6 +19,7 @@ properties:
- const: brcm,bcm53115
- const: brcm,bcm53125
- const: brcm,bcm53128
+ - const: brcm,bcm53134
- const: brcm,bcm5365
- const: brcm,bcm5395
- const: brcm,bcm5389
--
2.30.2
On 24/03/2023 09:41, Álvaro Fernández Rojas wrote: > BCM53134 are B53 switches connected by MDIO. Do not attach (thread) your patchsets to some other threads (unrelated or older versions). This buries them deep in the mailbox and might interfere with applying entire sets. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
From: Paul Geurts <paul.geurts@prodrive-technologies.com>
Add support for the BCM53134 Ethernet switch in the existing b53 dsa driver.
BCM53134 is very similar to the BCM58XX series.
Signed-off-by: Paul Geurts <paul.geurts@prodrive-technologies.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
v2: add BCM53134 to is531x5() and remove special RGMII config
drivers/net/dsa/b53/b53_common.c | 15 +++++++++++++++
drivers/net/dsa/b53/b53_mdio.c | 5 ++++-
drivers/net/dsa/b53/b53_priv.h | 7 +++++--
3 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 1f9b251a5452..3464ce5e7470 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -2613,6 +2613,20 @@ static const struct b53_chip_data b53_switch_chips[] = {
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
},
+ {
+ .chip_id = BCM53134_DEVICE_ID,
+ .dev_name = "BCM53134",
+ .vlans = 4096,
+ .enabled_ports = 0x12f,
+ .imp_port = 8,
+ .cpu_port = B53_CPU_PORT,
+ .vta_regs = B53_VTA_REGS,
+ .arl_bins = 4,
+ .arl_buckets = 1024,
+ .duplex_reg = B53_DUPLEX_STAT_GE,
+ .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
+ .jumbo_size_reg = B53_JUMBO_MAX_SIZE,
+ },
};
static int b53_switch_init(struct b53_device *dev)
@@ -2790,6 +2804,7 @@ int b53_switch_detect(struct b53_device *dev)
case BCM53012_DEVICE_ID:
case BCM53018_DEVICE_ID:
case BCM53019_DEVICE_ID:
+ case BCM53134_DEVICE_ID:
dev->chip_id = id32;
break;
default:
diff --git a/drivers/net/dsa/b53/b53_mdio.c b/drivers/net/dsa/b53/b53_mdio.c
index 6ddc03b58b28..8b422b298cd5 100644
--- a/drivers/net/dsa/b53/b53_mdio.c
+++ b/drivers/net/dsa/b53/b53_mdio.c
@@ -286,6 +286,7 @@ static const struct b53_io_ops b53_mdio_ops = {
#define B53_BRCM_OUI_2 0x03625c00
#define B53_BRCM_OUI_3 0x00406000
#define B53_BRCM_OUI_4 0x01410c00
+#define B53_BRCM_OUI_5 0xae025000
static int b53_mdio_probe(struct mdio_device *mdiodev)
{
@@ -313,7 +314,8 @@ static int b53_mdio_probe(struct mdio_device *mdiodev)
if ((phy_id & 0xfffffc00) != B53_BRCM_OUI_1 &&
(phy_id & 0xfffffc00) != B53_BRCM_OUI_2 &&
(phy_id & 0xfffffc00) != B53_BRCM_OUI_3 &&
- (phy_id & 0xfffffc00) != B53_BRCM_OUI_4) {
+ (phy_id & 0xfffffc00) != B53_BRCM_OUI_4 &&
+ (phy_id & 0xfffffc00) != B53_BRCM_OUI_5) {
dev_err(&mdiodev->dev, "Unsupported device: 0x%08x\n", phy_id);
return -ENODEV;
}
@@ -375,6 +377,7 @@ static const struct of_device_id b53_of_match[] = {
{ .compatible = "brcm,bcm53115" },
{ .compatible = "brcm,bcm53125" },
{ .compatible = "brcm,bcm53128" },
+ { .compatible = "brcm,bcm53134" },
{ .compatible = "brcm,bcm5365" },
{ .compatible = "brcm,bcm5389" },
{ .compatible = "brcm,bcm5395" },
diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h
index a689a6950189..fdcfd5081c28 100644
--- a/drivers/net/dsa/b53/b53_priv.h
+++ b/drivers/net/dsa/b53/b53_priv.h
@@ -80,6 +80,7 @@ enum {
BCM583XX_DEVICE_ID = 0x58300,
BCM7445_DEVICE_ID = 0x7445,
BCM7278_DEVICE_ID = 0x7278,
+ BCM53134_DEVICE_ID = 0x5075,
};
struct b53_pcs {
@@ -187,7 +188,8 @@ static inline int is531x5(struct b53_device *dev)
{
return dev->chip_id == BCM53115_DEVICE_ID ||
dev->chip_id == BCM53125_DEVICE_ID ||
- dev->chip_id == BCM53128_DEVICE_ID;
+ dev->chip_id == BCM53128_DEVICE_ID ||
+ dev->chip_id == BCM53134_DEVICE_ID;
}
static inline int is63xx(struct b53_device *dev)
@@ -215,7 +217,8 @@ static inline int is58xx(struct b53_device *dev)
return dev->chip_id == BCM58XX_DEVICE_ID ||
dev->chip_id == BCM583XX_DEVICE_ID ||
dev->chip_id == BCM7445_DEVICE_ID ||
- dev->chip_id == BCM7278_DEVICE_ID;
+ dev->chip_id == BCM7278_DEVICE_ID ||
+ dev->chip_id == BCM53134_DEVICE_ID;
}
#define B53_63XX_RGMII0 4
--
2.30.2
On 3/24/23 01:41, Álvaro Fernández Rojas wrote: > From: Paul Geurts <paul.geurts@prodrive-technologies.com> > > Add support for the BCM53134 Ethernet switch in the existing b53 dsa driver. > BCM53134 is very similar to the BCM58XX series. > > Signed-off-by: Paul Geurts <paul.geurts@prodrive-technologies.com> > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian
> -----Original Message----- > From: Álvaro Fernández Rojas <noltari@gmail.com> > Sent: donderdag 23 maart 2023 13:18 > To: Paul Geurts <paul.geurts@prodrive-technologies.com>; > f.fainelli@gmail.com; jonas.gorski@gmail.com; andrew@lunn.ch; > olteanv@gmail.com; davem@davemloft.net; edumazet@google.com; > kuba@kernel.org; pabeni@redhat.com; robh+dt@kernel.org; > krzysztof.kozlowski+dt@linaro.org; netdev@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org > Cc: Álvaro Fernández Rojas <noltari@gmail.com> > Subject: [PATCH 0/2] net: dsa: b53: mdio: add support for BCM53134 > > This is based on the initial work from Paul Geurts that was sent to the > incorrect linux development lists and recipients. > I've modified it by removing BCM53134_DEVICE_ID from is531x5() and > therefore adding is53134() where needed. > I also added a separate RGMII handling block for is53134() since according to > Paul, BCM53134 doesn't support RGMII_CTRL_TIMING_SEL as opposed to > is531x5(). > > Paul Geurts (1): > net: dsa: b53: mdio: add support for BCM53134 > > Álvaro Fernández Rojas (1): > dt-bindings: net: dsa: b53: add BCM53134 support > > .../devicetree/bindings/net/dsa/brcm,b53.yaml | 1 + > drivers/net/dsa/b53/b53_common.c | 53 ++++++++++++++++++- > drivers/net/dsa/b53/b53_mdio.c | 5 +- > drivers/net/dsa/b53/b53_priv.h | 9 +++- > 4 files changed, 65 insertions(+), 3 deletions(-) > > -- > 2.30.2 Thank you for resending my patches! I didn't get to it yet. Any particular reason you didn't include the optional GPIO patch I had in my set? --- Paul
El jue, 23 mar 2023 a las 20:58, Paul Geurts (<paul.geurts@prodrive-technologies.com>) escribió: > > > -----Original Message----- > > From: Álvaro Fernández Rojas <noltari@gmail.com> > > Sent: donderdag 23 maart 2023 13:18 > > To: Paul Geurts <paul.geurts@prodrive-technologies.com>; > > f.fainelli@gmail.com; jonas.gorski@gmail.com; andrew@lunn.ch; > > olteanv@gmail.com; davem@davemloft.net; edumazet@google.com; > > kuba@kernel.org; pabeni@redhat.com; robh+dt@kernel.org; > > krzysztof.kozlowski+dt@linaro.org; netdev@vger.kernel.org; > > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org > > Cc: Álvaro Fernández Rojas <noltari@gmail.com> > > Subject: [PATCH 0/2] net: dsa: b53: mdio: add support for BCM53134 > > > > This is based on the initial work from Paul Geurts that was sent to the > > incorrect linux development lists and recipients. > > I've modified it by removing BCM53134_DEVICE_ID from is531x5() and > > therefore adding is53134() where needed. > > I also added a separate RGMII handling block for is53134() since according to > > Paul, BCM53134 doesn't support RGMII_CTRL_TIMING_SEL as opposed to > > is531x5(). > > > > Paul Geurts (1): > > net: dsa: b53: mdio: add support for BCM53134 > > > > Álvaro Fernández Rojas (1): > > dt-bindings: net: dsa: b53: add BCM53134 support > > > > .../devicetree/bindings/net/dsa/brcm,b53.yaml | 1 + > > drivers/net/dsa/b53/b53_common.c | 53 ++++++++++++++++++- > > drivers/net/dsa/b53/b53_mdio.c | 5 +- > > drivers/net/dsa/b53/b53_priv.h | 9 +++- > > 4 files changed, 65 insertions(+), 3 deletions(-) > > > > -- > > 2.30.2 > > Thank you for resending my patches! I didn't get to it yet. Any particular reason you didn't include the optional GPIO patch I had in my set? I'm using it for a Sercomm H500-s which doesn't seem to need it. However, I've just realized that it's documented here as GPIO 18: https://openwrt.org/toh/sercomm/h500-s#other Anyway, I think that the GPIO patch can be added later... > --- > Paul -- Álvaro
© 2016 - 2026 Red Hat, Inc.