[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87932b41-c733-a721-fa78-8e474aa0a40c@gmail.com>
Date: Wed, 30 May 2018 10:46:57 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Damien Thébault <damien.thebault@...ec.com>,
"vivien.didelot@...oirfairelinux.com"
<vivien.didelot@...oirfairelinux.com>,
"andrew@...n.ch" <andrew@...n.ch>
Cc: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH] b53: Add brcm5389 support
On 05/30/2018 08:33 AM, Damien Thébault wrote:
> This patch adds support for the BCM5389 switch connected through MDIO.
This looks good, please do address the following couple of things:
- subject should be: net: dsa: b53: Add BCM5389 support
- you also need to update
Documentation/devicetree/bindings/net/dsa/b53.txt with the compatible string
Thank you!
>
> Signed-off-by: Damien Thébault <damien.thebault@...ec.com>
> ---
> drivers/net/dsa/b53/b53_common.c | 13 +++++++++++++
> drivers/net/dsa/b53/b53_mdio.c | 5 ++++-
> drivers/net/dsa/b53/b53_priv.h | 1 +
> 3 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
> index 78616787f2a3..3da5fca77cbd 100644
> --- a/drivers/net/dsa/b53/b53_common.c
> +++ b/drivers/net/dsa/b53/b53_common.c
> @@ -1711,6 +1711,18 @@ static const struct b53_chip_data b53_switch_chips[] = {
> .cpu_port = B53_CPU_PORT_25,
> .duplex_reg = B53_DUPLEX_STAT_FE,
> },
> + {
> + .chip_id = BCM5389_DEVICE_ID,
> + .dev_name = "BCM5389",
> + .vlans = 4096,
> + .enabled_ports = 0x1f,
> + .arl_entries = 4,
> + .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,
> + },
> {
> .chip_id = BCM5395_DEVICE_ID,
> .dev_name = "BCM5395",
> @@ -2034,6 +2046,7 @@ int b53_switch_detect(struct b53_device *dev)
> else
> dev->chip_id = BCM5365_DEVICE_ID;
> break;
> + case BCM5389_DEVICE_ID:
> case BCM5395_DEVICE_ID:
> case BCM5397_DEVICE_ID:
> case BCM5398_DEVICE_ID:
> diff --git a/drivers/net/dsa/b53/b53_mdio.c b/drivers/net/dsa/b53/b53_mdio.c
> index fa7556f5d4fb..a533a90e3904 100644
> --- a/drivers/net/dsa/b53/b53_mdio.c
> +++ b/drivers/net/dsa/b53/b53_mdio.c
> @@ -285,6 +285,7 @@ static const struct b53_io_ops b53_mdio_ops = {
> #define B53_BRCM_OUI_1 0x0143bc00
> #define B53_BRCM_OUI_2 0x03625c00
> #define B53_BRCM_OUI_3 0x00406000
> +#define B53_BRCM_OUI_4 0x01410c00
>
> static int b53_mdio_probe(struct mdio_device *mdiodev)
> {
> @@ -311,7 +312,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_3 &&
> + (phy_id & 0xfffffc00) != B53_BRCM_OUI_4) {
> dev_err(&mdiodev->dev, "Unsupported device: 0x%08x\n", phy_id);
> return -ENODEV;
> }
> @@ -360,6 +362,7 @@ static const struct of_device_id b53_of_match[] = {
> { .compatible = "brcm,bcm53125" },
> { .compatible = "brcm,bcm53128" },
> { .compatible = "brcm,bcm5365" },
> + { .compatible = "brcm,bcm5389" },
> { .compatible = "brcm,bcm5395" },
> { .compatible = "brcm,bcm5397" },
> { .compatible = "brcm,bcm5398" },
> diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h
> index 1187ebd79287..3b57f47d0e79 100644
> --- a/drivers/net/dsa/b53/b53_priv.h
> +++ b/drivers/net/dsa/b53/b53_priv.h
> @@ -48,6 +48,7 @@ struct b53_io_ops {
> enum {
> BCM5325_DEVICE_ID = 0x25,
> BCM5365_DEVICE_ID = 0x65,
> + BCM5389_DEVICE_ID = 0x89,
> BCM5395_DEVICE_ID = 0x95,
> BCM5397_DEVICE_ID = 0x97,
> BCM5398_DEVICE_ID = 0x98,
>
--
Florian
Powered by blists - more mailing lists