kernel: ar8216: add support for the AR8236 switch
[openwrt/staging/chunkeey.git] / target / linux / generic / files / drivers / net / phy / ar8216.h
index 5a8fa3c003ad8d49a11886ed5f52be30071db39f..886730c619c0a11e626953f0d23c15bd835cc682 100644 (file)
@@ -41,6 +41,7 @@
 
 #define AR8216_REG_GLOBAL_CTRL         0x0030
 #define   AR8216_GCTRL_MTU             BITS(0, 11)
+#define   AR8236_GCTRL_MTU             BITS(0, 14)
 #define   AR8316_GCTRL_MTU             BITS(0, 14)
 
 #define AR8216_REG_VTU                 0x0040
@@ -62,6 +63,7 @@
 
 #define AR8216_REG_VTU_DATA            0x0044
 #define   AR8216_VTUDATA_MEMBER                BITS(0, 10)
+#define   AR8236_VTUDATA_MEMBER                BITS(0, 7)
 #define   AR8216_VTUDATA_VALID         BIT(11)
 
 #define AR8216_REG_ATU                 0x0050
 #define AR8216_REG_PORT_RATE(_i)       (AR8216_PORT_OFFSET(_i) + 0x000c)
 #define AR8216_REG_PORT_PRIO(_i)       (AR8216_PORT_OFFSET(_i) + 0x0010)
 
+
+#define AR8236_REG_PORT_VLAN(_i)       (AR8216_PORT_OFFSET((_i)) + 0x0008)
+#define   AR8236_PORT_VLAN_DEFAULT_ID  BITS(16, 12)
+#define   AR8236_PORT_VLAN_DEFAULT_ID_S        16
+#define   AR8236_PORT_VLAN_PRIORITY    BITS(29, 3)
+#define   AR8236_PORT_VLAN_PRIORITY_S  28
+
+#define AR8236_REG_PORT_VLAN2(_i)      (AR8216_PORT_OFFSET((_i)) + 0x000c)
+#define   AR8236_PORT_VLAN2_MEMBER     BITS(16, 7)
+#define   AR8236_PORT_VLAN2_MEMBER_S   16
+#define   AR8236_PORT_VLAN2_TX_PRIO    BIT(23)
+#define   AR8236_PORT_VLAN2_VLAN_MODE  BITS(30, 2)
+#define   AR8236_PORT_VLAN2_VLAN_MODE_S        30
+
 /* port speed */
 enum {
         AR8216_PORT_SPEED_10M = 0,
@@ -181,7 +197,8 @@ enum {
 enum {
   UNKNOWN = 0,
   AR8216 = 8216,
-  AR8316 = 8316
+  AR8236 = 8236,
+  AR8316 = 8316,
 };
 
 #endif