net: dsa: mv88e6xxx: add STU capability
[cascardo/linux.git] / drivers / net / dsa / mv88e6xxx.h
index ca69a93..5f09a4e 100644 (file)
@@ -403,6 +403,12 @@ enum mv88e6xxx_cap {
         */
        MV88E6XXX_CAP_SMI_PHY,
 
+       /* Per VLAN Spanning Tree Unit (STU).
+        * The Port State database, if present, is accessed through VTU
+        * operations and dedicated SID registers. See GLOBAL_VTU_SID.
+        */
+       MV88E6XXX_CAP_STU,
+
        /* Switch MAC/WoL/WoF register.
         * This requires an indirect access to set the switch MAC address
         * through GLOBAL2_SWITCH_MAC, otherwise GLOBAL_MAC_01, GLOBAL_MAC_23,
@@ -436,6 +442,7 @@ enum mv88e6xxx_cap {
 #define MV88E6XXX_FLAG_PPU             BIT(MV88E6XXX_CAP_PPU)
 #define MV88E6XXX_FLAG_PPU_ACTIVE      BIT(MV88E6XXX_CAP_PPU_ACTIVE)
 #define MV88E6XXX_FLAG_SMI_PHY         BIT(MV88E6XXX_CAP_SMI_PHY)
+#define MV88E6XXX_FLAG_STU             BIT(MV88E6XXX_CAP_STU)
 #define MV88E6XXX_FLAG_SWITCH_MAC      BIT(MV88E6XXX_CAP_SWITCH_MAC_WOL_WOF)
 #define MV88E6XXX_FLAG_TEMP            BIT(MV88E6XXX_CAP_TEMP)
 #define MV88E6XXX_FLAG_TEMP_LIMIT      BIT(MV88E6XXX_CAP_TEMP_LIMIT)
@@ -451,12 +458,15 @@ enum mv88e6xxx_cap {
 #define MV88E6XXX_FLAGS_FAMILY_6097    \
        (MV88E6XXX_FLAG_ATU |           \
         MV88E6XXX_FLAG_PPU |           \
+        MV88E6XXX_FLAG_STU |           \
         MV88E6XXX_FLAG_VLANTABLE |     \
         MV88E6XXX_FLAG_VTU)
 
 #define MV88E6XXX_FLAGS_FAMILY_6165    \
-       (MV88E6XXX_FLAG_SWITCH_MAC |    \
-        MV88E6XXX_FLAG_TEMP)
+       (MV88E6XXX_FLAG_STU |           \
+        MV88E6XXX_FLAG_SWITCH_MAC |    \
+        MV88E6XXX_FLAG_TEMP |          \
+        MV88E6XXX_FLAG_VTU)
 
 #define MV88E6XXX_FLAGS_FAMILY_6185    \
        (MV88E6XXX_FLAG_ATU |           \
@@ -482,6 +492,7 @@ enum mv88e6xxx_cap {
         MV88E6XXX_FLAG_PORTSTATE |     \
         MV88E6XXX_FLAG_PPU_ACTIVE |    \
         MV88E6XXX_FLAG_SMI_PHY |       \
+        MV88E6XXX_FLAG_STU |           \
         MV88E6XXX_FLAG_SWITCH_MAC |    \
         MV88E6XXX_FLAG_TEMP |          \
         MV88E6XXX_FLAG_VLANTABLE |     \
@@ -494,6 +505,7 @@ enum mv88e6xxx_cap {
         MV88E6XXX_FLAG_PORTSTATE |     \
         MV88E6XXX_FLAG_PPU_ACTIVE |    \
         MV88E6XXX_FLAG_SMI_PHY |       \
+        MV88E6XXX_FLAG_STU |           \
         MV88E6XXX_FLAG_SWITCH_MAC |    \
         MV88E6XXX_FLAG_TEMP |          \
         MV88E6XXX_FLAG_TEMP_LIMIT |    \