b53: Add BCM53128 switch support

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4867/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 39682
lede-17.01
Jonas Gorski 2014-02-22 11:16:56 +00:00
parent b8ed6534ca
commit 9eb60826f2
3 changed files with 18 additions and 2 deletions

View File

@ -1129,6 +1129,19 @@ static const struct b53_chip_data b53_switch_chips[] = {
.jumbo_size_reg = B53_JUMBO_MAX_SIZE, .jumbo_size_reg = B53_JUMBO_MAX_SIZE,
.sw_ops = &b53_switch_ops, .sw_ops = &b53_switch_ops,
}, },
{
.chip_id = BCM53128_DEVICE_ID,
.dev_name = "BCM53128",
.alias = "bcm53128",
.vlans = 4096,
.enabled_ports = 0x1ff,
.cpu_port = B53_CPU_PORT,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
.sw_ops = &b53_switch_ops,
},
{ {
.chip_id = BCM63XX_DEVICE_ID, .chip_id = BCM63XX_DEVICE_ID,
.dev_name = "BCM63xx", .dev_name = "BCM63xx",
@ -1363,6 +1376,7 @@ int b53_switch_detect(struct b53_device *dev)
switch (id32) { switch (id32) {
case BCM53115_DEVICE_ID: case BCM53115_DEVICE_ID:
case BCM53125_DEVICE_ID: case BCM53125_DEVICE_ID:
case BCM53128_DEVICE_ID:
case BCM53010_DEVICE_ID: case BCM53010_DEVICE_ID:
case BCM53011_DEVICE_ID: case BCM53011_DEVICE_ID:
case BCM53012_DEVICE_ID: case BCM53012_DEVICE_ID:

View File

@ -357,7 +357,7 @@ static struct phy_driver b53_phy_driver_id1 = {
}, },
}; };
/* BCM53125 */ /* BCM53125, BCM53128 */
static struct phy_driver b53_phy_driver_id2 = { static struct phy_driver b53_phy_driver_id2 = {
.phy_id = 0x03625c00, .phy_id = 0x03625c00,
.name = "Broadcom B53 (2)", .name = "Broadcom B53 (2)",

View File

@ -46,6 +46,7 @@ enum {
BCM5398_DEVICE_ID = 0x98, BCM5398_DEVICE_ID = 0x98,
BCM53115_DEVICE_ID = 0x53115, BCM53115_DEVICE_ID = 0x53115,
BCM53125_DEVICE_ID = 0x53125, BCM53125_DEVICE_ID = 0x53125,
BCM53128_DEVICE_ID = 0x53128,
BCM63XX_DEVICE_ID = 0x6300, BCM63XX_DEVICE_ID = 0x6300,
BCM53010_DEVICE_ID = 0x53010, BCM53010_DEVICE_ID = 0x53010,
BCM53011_DEVICE_ID = 0x53011, BCM53011_DEVICE_ID = 0x53011,
@ -137,7 +138,8 @@ static inline int is539x(struct b53_device *dev)
static inline int is531x5(struct b53_device *dev) static inline int is531x5(struct b53_device *dev)
{ {
return dev->chip_id == BCM53115_DEVICE_ID || return dev->chip_id == BCM53115_DEVICE_ID ||
dev->chip_id == BCM53125_DEVICE_ID; dev->chip_id == BCM53125_DEVICE_ID ||
dev->chip_id == BCM53128_DEVICE_ID;
} }
static inline int is63xx(struct b53_device *dev) static inline int is63xx(struct b53_device *dev)