diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-07-08 14:39:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-11 15:52:03 -0400 |
commit | 991a36bb464589f169d6c9e3d01f5b99299a73fa (patch) | |
tree | 3c1377506cb5828f90bb88428bf71eadf1215532 /drivers/net/dsa | |
parent | fefae6909ead1798c39bee4d94e7e8f1f2752ef6 (diff) |
net: dsa: b53: Add support for BCM585xx/586xx/88312 integrated switch
Update the SRAB, core driver and binding document to support the
BCM585xx/586xx/88312 integrated switch (Northstar Plus SoCs family).
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa')
-rw-r--r-- | drivers/net/dsa/b53/b53_common.c | 12 | ||||
-rw-r--r-- | drivers/net/dsa/b53/b53_priv.h | 1 | ||||
-rw-r--r-- | drivers/net/dsa/b53/b53_srab.c | 8 |
3 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c index 444de66667b9..bda37d336736 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c | |||
@@ -1581,6 +1581,18 @@ static const struct b53_chip_data b53_switch_chips[] = { | |||
1581 | .jumbo_pm_reg = B53_JUMBO_PORT_MASK, | 1581 | .jumbo_pm_reg = B53_JUMBO_PORT_MASK, |
1582 | .jumbo_size_reg = B53_JUMBO_MAX_SIZE, | 1582 | .jumbo_size_reg = B53_JUMBO_MAX_SIZE, |
1583 | }, | 1583 | }, |
1584 | { | ||
1585 | .chip_id = BCM58XX_DEVICE_ID, | ||
1586 | .dev_name = "BCM585xx/586xx/88312", | ||
1587 | .vlans = 4096, | ||
1588 | .enabled_ports = 0x1ff, | ||
1589 | .arl_entries = 4, | ||
1590 | .cpu_port = B53_CPU_PORT_25, | ||
1591 | .vta_regs = B53_VTA_REGS, | ||
1592 | .duplex_reg = B53_DUPLEX_STAT_GE, | ||
1593 | .jumbo_pm_reg = B53_JUMBO_PORT_MASK, | ||
1594 | .jumbo_size_reg = B53_JUMBO_MAX_SIZE, | ||
1595 | }, | ||
1584 | }; | 1596 | }; |
1585 | 1597 | ||
1586 | static int b53_switch_init(struct b53_device *dev) | 1598 | static int b53_switch_init(struct b53_device *dev) |
diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index 5d8c602fb877..835a744f206e 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h | |||
@@ -59,6 +59,7 @@ enum { | |||
59 | BCM53012_DEVICE_ID = 0x53012, | 59 | BCM53012_DEVICE_ID = 0x53012, |
60 | BCM53018_DEVICE_ID = 0x53018, | 60 | BCM53018_DEVICE_ID = 0x53018, |
61 | BCM53019_DEVICE_ID = 0x53019, | 61 | BCM53019_DEVICE_ID = 0x53019, |
62 | BCM58XX_DEVICE_ID = 0x5800, | ||
62 | }; | 63 | }; |
63 | 64 | ||
64 | #define B53_N_PORTS 9 | 65 | #define B53_N_PORTS 9 |
diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_srab.c index de2b9e710041..2b304eaeb8e8 100644 --- a/drivers/net/dsa/b53/b53_srab.c +++ b/drivers/net/dsa/b53/b53_srab.c | |||
@@ -364,6 +364,14 @@ static const struct of_device_id b53_srab_of_match[] = { | |||
364 | { .compatible = "brcm,bcm53018-srab" }, | 364 | { .compatible = "brcm,bcm53018-srab" }, |
365 | { .compatible = "brcm,bcm53019-srab" }, | 365 | { .compatible = "brcm,bcm53019-srab" }, |
366 | { .compatible = "brcm,bcm5301x-srab" }, | 366 | { .compatible = "brcm,bcm5301x-srab" }, |
367 | { .compatible = "brcm,bcm58522-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
368 | { .compatible = "brcm,bcm58525-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
369 | { .compatible = "brcm,bcm58535-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
370 | { .compatible = "brcm,bcm58622-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
371 | { .compatible = "brcm,bcm58623-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
372 | { .compatible = "brcm,bcm58625-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
373 | { .compatible = "brcm,bcm88312-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
374 | { .compatible = "brcm,nsp-srab", .data = (void *)BCM58XX_DEVICE_ID }, | ||
367 | { /* sentinel */ }, | 375 | { /* sentinel */ }, |
368 | }; | 376 | }; |
369 | MODULE_DEVICE_TABLE(of, b53_srab_of_match); | 377 | MODULE_DEVICE_TABLE(of, b53_srab_of_match); |