|
@@ -298,8 +298,13 @@
|
|
|
#define GLOBAL2_TRUNK_MAPPING 0x08
|
|
|
#define GLOBAL2_TRUNK_MAPPING_UPDATE BIT(15)
|
|
|
#define GLOBAL2_TRUNK_MAPPING_ID_SHIFT 11
|
|
|
-#define GLOBAL2_INGRESS_OP 0x09
|
|
|
-#define GLOBAL2_INGRESS_DATA 0x0a
|
|
|
+#define GLOBAL2_IRL_CMD 0x09
|
|
|
+#define GLOBAL2_IRL_CMD_BUSY BIT(15)
|
|
|
+#define GLOBAL2_IRL_CMD_OP_INIT_ALL ((0x001 << 12) | GLOBAL2_IRL_CMD_BUSY)
|
|
|
+#define GLOBAL2_IRL_CMD_OP_INIT_SEL ((0x010 << 12) | GLOBAL2_IRL_CMD_BUSY)
|
|
|
+#define GLOBAL2_IRL_CMD_OP_WRITE_SEL ((0x011 << 12) | GLOBAL2_IRL_CMD_BUSY)
|
|
|
+#define GLOBAL2_IRL_CMD_OP_READ_SEL ((0x100 << 12) | GLOBAL2_IRL_CMD_BUSY)
|
|
|
+#define GLOBAL2_IRL_DATA 0x0a
|
|
|
#define GLOBAL2_PVT_ADDR 0x0b
|
|
|
#define GLOBAL2_PVT_ADDR_BUSY BIT(15)
|
|
|
#define GLOBAL2_PVT_ADDR_OP_INIT_ONES ((0x01 << 12) | GLOBAL2_PVT_ADDR_BUSY)
|
|
@@ -393,6 +398,8 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_CAP_GLOBAL2,
|
|
|
MV88E6XXX_CAP_G2_MGMT_EN_2X, /* (0x02) MGMT Enable Register 2x */
|
|
|
MV88E6XXX_CAP_G2_MGMT_EN_0X, /* (0x03) MGMT Enable Register 0x */
|
|
|
+ MV88E6XXX_CAP_G2_IRL_CMD, /* (0x09) Ingress Rate Command */
|
|
|
+ MV88E6XXX_CAP_G2_IRL_DATA, /* (0x0a) Ingress Rate Data */
|
|
|
MV88E6XXX_CAP_G2_PVT_ADDR, /* (0x0b) Cross Chip Port VLAN Addr */
|
|
|
MV88E6XXX_CAP_G2_PVT_DATA, /* (0x0c) Cross Chip Port VLAN Data */
|
|
|
MV88E6XXX_CAP_G2_SWITCH_MAC, /* (0x0d) Switch MAC/WoL/WoF */
|
|
@@ -440,6 +447,8 @@ enum mv88e6xxx_cap {
|
|
|
#define MV88E6XXX_FLAG_GLOBAL2 BIT(MV88E6XXX_CAP_GLOBAL2)
|
|
|
#define MV88E6XXX_FLAG_G2_MGMT_EN_2X BIT(MV88E6XXX_CAP_G2_MGMT_EN_2X)
|
|
|
#define MV88E6XXX_FLAG_G2_MGMT_EN_0X BIT(MV88E6XXX_CAP_G2_MGMT_EN_0X)
|
|
|
+#define MV88E6XXX_FLAG_G2_IRL_CMD BIT(MV88E6XXX_CAP_G2_IRL_CMD)
|
|
|
+#define MV88E6XXX_FLAG_G2_IRL_DATA BIT(MV88E6XXX_CAP_G2_IRL_DATA)
|
|
|
#define MV88E6XXX_FLAG_G2_PVT_ADDR BIT(MV88E6XXX_CAP_G2_PVT_ADDR)
|
|
|
#define MV88E6XXX_FLAG_G2_PVT_DATA BIT(MV88E6XXX_CAP_G2_PVT_DATA)
|
|
|
#define MV88E6XXX_FLAG_G2_SWITCH_MAC BIT(MV88E6XXX_CAP_G2_SWITCH_MAC)
|
|
@@ -453,6 +462,11 @@ enum mv88e6xxx_cap {
|
|
|
#define MV88E6XXX_FLAG_TEMP_LIMIT BIT(MV88E6XXX_CAP_TEMP_LIMIT)
|
|
|
#define MV88E6XXX_FLAG_VTU BIT(MV88E6XXX_CAP_VTU)
|
|
|
|
|
|
+/* Ingress Rate Limit unit */
|
|
|
+#define MV88E6XXX_FLAGS_IRL \
|
|
|
+ (MV88E6XXX_FLAG_G2_IRL_CMD | \
|
|
|
+ MV88E6XXX_FLAG_G2_IRL_DATA)
|
|
|
+
|
|
|
/* Cross-chip Port VLAN Table */
|
|
|
#define MV88E6XXX_FLAGS_PVT \
|
|
|
(MV88E6XXX_FLAG_G2_PVT_ADDR | \
|
|
@@ -474,6 +488,7 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_FLAG_PPU | \
|
|
|
MV88E6XXX_FLAG_STU | \
|
|
|
MV88E6XXX_FLAG_VTU | \
|
|
|
+ MV88E6XXX_FLAGS_IRL | \
|
|
|
MV88E6XXX_FLAGS_PVT)
|
|
|
|
|
|
#define MV88E6XXX_FLAGS_FAMILY_6165 \
|
|
@@ -486,6 +501,7 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_FLAG_STU | \
|
|
|
MV88E6XXX_FLAG_TEMP | \
|
|
|
MV88E6XXX_FLAG_VTU | \
|
|
|
+ MV88E6XXX_FLAGS_IRL | \
|
|
|
MV88E6XXX_FLAGS_PVT)
|
|
|
|
|
|
#define MV88E6XXX_FLAGS_FAMILY_6185 \
|
|
@@ -509,6 +525,7 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_FLAG_TEMP | \
|
|
|
MV88E6XXX_FLAG_TEMP_LIMIT | \
|
|
|
MV88E6XXX_FLAG_VTU | \
|
|
|
+ MV88E6XXX_FLAGS_IRL | \
|
|
|
MV88E6XXX_FLAGS_PVT)
|
|
|
|
|
|
#define MV88E6XXX_FLAGS_FAMILY_6351 \
|
|
@@ -523,6 +540,7 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_FLAG_STU | \
|
|
|
MV88E6XXX_FLAG_TEMP | \
|
|
|
MV88E6XXX_FLAG_VTU | \
|
|
|
+ MV88E6XXX_FLAGS_IRL | \
|
|
|
MV88E6XXX_FLAGS_PVT)
|
|
|
|
|
|
#define MV88E6XXX_FLAGS_FAMILY_6352 \
|
|
@@ -540,6 +558,7 @@ enum mv88e6xxx_cap {
|
|
|
MV88E6XXX_FLAG_TEMP | \
|
|
|
MV88E6XXX_FLAG_TEMP_LIMIT | \
|
|
|
MV88E6XXX_FLAG_VTU | \
|
|
|
+ MV88E6XXX_FLAGS_IRL | \
|
|
|
MV88E6XXX_FLAGS_PVT)
|
|
|
|
|
|
struct mv88e6xxx_info {
|