mvsw61xx: add support for MV88E6352
[openwrt/openwrt.git] / target / linux / generic / files / drivers / net / phy / mvsw61xx.h
index 64db6d3aab47cbfba4687abddc00a6bab6a4fa5c..a07b09cd14ca095752709b014e937abf4b17f94d 100644 (file)
@@ -48,6 +48,14 @@ enum {
        MV_PORT_STATUS_LINK             = (1 << 11),
 };
 
+enum {
+       MV_PORT_STATUS_CMODE_100BASE_X  = 0x8,
+       MV_PORT_STATUS_CMODE_1000BASE_X = 0x9,
+       MV_PORT_STATUS_CMODE_SGMII      = 0xa,
+};
+
+#define MV_PORT_STATUS_CMODE_MASK      0xf
+
 enum {
        MV_PORT_STATUS_SPEED_10         = 0x00,
        MV_PORT_STATUS_SPEED_100        = 0x01,
@@ -224,6 +232,9 @@ enum {
 #define MV_IDENT_VALUE_6176            0x1760
 #define MV_IDENT_STR_6176              "MV88E6176"
 
+#define MV_IDENT_VALUE_6352            0x3520
+#define MV_IDENT_STR_6352              "MV88E6352"
+
 #define MV_PVID_MASK                   0x0fff
 
 #define MV_FDB_HI_MASK                 0x00ff
@@ -239,6 +250,11 @@ enum {
        MV_SPEC_DOWNSHIFT_COUNTER       = (0x3 << 12),
 };
 
+#define MII_MV_PAGE                    22
+
+#define MV_REG_FIBER_SERDES            0xf
+#define MV_PAGE_FIBER_SERDES           0x1
+
 struct mvsw61xx_state {
        struct switch_dev dev;
        struct mii_bus *bus;