net: dsa: b53: Add mirror capture register definitions
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 30 Jan 2017 20:41:41 +0000 (12:41 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Jan 2017 20:55:47 +0000 (15:55 -0500)
Add definitions for the different Roboswitch registers relevant for
ingress and egress mirroring.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_regs.h

index dac0af4e2cd010c98dd05e9c328ee03b1fb583d6..9fd24c418fa4256e8517d5dec1dfa97681ba72db 100644 (file)
 #define   BRCM_HDR_P8_EN               BIT(0) /* Enable tagging on port 8 */
 #define   BRCM_HDR_P5_EN               BIT(1) /* Enable tagging on port 5 */
 
+/* Mirror capture control register (16 bit) */
+#define B53_MIR_CAP_CTL                        0x10
+#define  CAP_PORT_MASK                 0xf
+#define  BLK_NOT_MIR                   BIT(14)
+#define  MIRROR_EN                     BIT(15)
+
+/* Ingress mirror control register (16 bit) */
+#define B53_IG_MIR_CTL                 0x12
+#define  MIRROR_MASK                   0x1ff
+#define  DIV_EN                                BIT(13)
+#define  MIRROR_FILTER_MASK            0x3
+#define  MIRROR_FILTER_SHIFT           14
+#define  MIRROR_ALL                    0
+#define  MIRROR_DA                     1
+#define  MIRROR_SA                     2
+
+/* Ingress mirror divider register (16 bit) */
+#define B53_IG_MIR_DIV                 0x14
+#define  IN_MIRROR_DIV_MASK            0x3ff
+
+/* Ingress mirror MAC address register (48 bit) */
+#define B53_IG_MIR_MAC                 0x16
+
+/* Egress mirror control register (16 bit) */
+#define B53_EG_MIR_CTL                 0x1C
+
+/* Egress mirror divider register (16 bit) */
+#define B53_EG_MIR_DIV                 0x1E
+
+/* Egress mirror MAC address register (48 bit) */
+#define B53_EG_MIR_MAC                 0x20
+
 /* Device ID register (8 or 32 bit) */
 #define B53_DEVICE_ID                  0x30