mediatek: update v4.19 switch support to latest vendor version
[openwrt/staging/jow.git] / target / linux / mediatek / files-4.19 / drivers / net / phy / mtk / mt753x / mt753x.h
index b9bca5416f4aca978cedddea0d8abe3f46e89f38..317b31ddccefdd020d8e452b2cfefc99b1fa708d 100644 (file)
@@ -1,11 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
- * Driver for MediaTek MT753x gigabit switch
- *
- * Copyright (C) 2018 MediaTek Inc. All Rights Reserved.
- *
+ * Copyright (c) 2018 MediaTek Inc.
  * Author: Weijie Gao <weijie.gao@mediatek.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef _MT753X_H_
 #include <linux/switch.h>
 #endif
 
+#include "mt753x_vlan.h"
+
 #define MT753X_DFL_CPU_PORT    6
-#define MT753X_NUM_PORTS       7
 #define MT753X_NUM_PHYS                5
-#define MT753X_NUM_VLANS       4095
-
-#define MT753X_MAX_VID         4095
-#define MT753X_MIN_VID         0
 
 #define MT753X_DFL_SMI_ADDR    0x1f
 #define MT753X_SMI_ADDR_MASK   0x1f
@@ -40,16 +33,6 @@ enum mt753x_model {
        MT7531 = 0x7531
 };
 
-struct mt753x_port_entry {
-       u16     pvid;
-};
-
-struct mt753x_vlan_entry {
-       u16     vid;
-       u8      member;
-       u8      etags;
-};
-
 struct mt753x_port_cfg {
        struct device_node *np;
        int phy_mode;
@@ -82,7 +65,7 @@ struct gsw_mt753x {
        struct mt753x_port_cfg port5_cfg;
        struct mt753x_port_cfg port6_cfg;
 
-       bool phy_status_poll;
+       int phy_status_poll;
        struct mt753x_phy phys[MT753X_NUM_PHYS];
 
        int phy_link_sts;
@@ -93,14 +76,13 @@ struct gsw_mt753x {
 
 #ifdef CONFIG_SWCONFIG
        struct switch_dev swdev;
+       u32 cpu_port;
+#endif
 
+       int global_vlan_enable;
        struct mt753x_vlan_entry vlan_entries[MT753X_NUM_VLANS];
        struct mt753x_port_entry port_entries[MT753X_NUM_PORTS];
 
-       int global_vlan_enable;
-       u32 cpu_port;
-#endif
-
        int (*mii_read)(struct gsw_mt753x *gsw, int phy, int reg);
        void (*mii_write)(struct gsw_mt753x *gsw, int phy, int reg, u16 val);
 
@@ -228,5 +210,4 @@ void mt753x_irq_enable(struct gsw_mt753x *gsw);
 #define MT753X_REG_PAGE_ADDR_M         0xffc0
 #define MT753X_REG_ADDR_S              2
 #define MT753X_REG_ADDR_M              0x3c
-
 #endif /* _MT753X_H_ */