Commit c4f873c2 authored by Torben Nielsen's avatar Torben Nielsen Committed by Jakub Kicinski
Browse files

net: dsa: b53: mdio: add support for BCM53101



BCM53101 is a ethernet switch, very similar to the BCM53115.
Enable support for it, in the existing b53 dsa driver.

Signed-off-by: default avatarTorben Nielsen <torben.nielsen@prevas.dk>
Signed-off-by: default avatarClaus Stovgaard <claus.stovgaard@prevas.dk>
Link: https://patch.msgid.link/20250217080503.1390282-1-claus.stovgaard@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent de7a88b6
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2409,6 +2409,19 @@ 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 = BCM53101_DEVICE_ID,
		.dev_name = "BCM53101",
		.vlans = 4096,
		.enabled_ports = 0x11f,
		.arl_bins = 4,
		.arl_buckets = 512,
		.vta_regs = B53_VTA_REGS,
		.imp_port = 8,
		.duplex_reg = B53_DUPLEX_STAT_GE,
		.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
		.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
	},
	{
		.chip_id = BCM53115_DEVICE_ID,
		.dev_name = "BCM53115",
@@ -2789,6 +2802,7 @@ int b53_switch_detect(struct b53_device *dev)
			return ret;

		switch (id32) {
		case BCM53101_DEVICE_ID:
		case BCM53115_DEVICE_ID:
		case BCM53125_DEVICE_ID:
		case BCM53128_DEVICE_ID:
+1 −0
Original line number Diff line number Diff line
@@ -374,6 +374,7 @@ static void b53_mdio_shutdown(struct mdio_device *mdiodev)

static const struct of_device_id b53_of_match[] = {
	{ .compatible = "brcm,bcm5325" },
	{ .compatible = "brcm,bcm53101" },
	{ .compatible = "brcm,bcm53115" },
	{ .compatible = "brcm,bcm53125" },
	{ .compatible = "brcm,bcm53128" },
+2 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ enum {
	BCM5395_DEVICE_ID = 0x95,
	BCM5397_DEVICE_ID = 0x97,
	BCM5398_DEVICE_ID = 0x98,
	BCM53101_DEVICE_ID = 0x53101,
	BCM53115_DEVICE_ID = 0x53115,
	BCM53125_DEVICE_ID = 0x53125,
	BCM53128_DEVICE_ID = 0x53128,
@@ -188,6 +189,7 @@ static inline int is531x5(struct b53_device *dev)
{
	return dev->chip_id == BCM53115_DEVICE_ID ||
		dev->chip_id == BCM53125_DEVICE_ID ||
		dev->chip_id == BCM53101_DEVICE_ID ||
		dev->chip_id == BCM53128_DEVICE_ID ||
		dev->chip_id == BCM53134_DEVICE_ID;
}