ar8327: Add workarounds for AR8337 switch.
[openwrt/openwrt.git] / target / linux / generic / files / drivers / net / phy / ar8327.h
index e8dad35d11dcc9a131955320490217c6219634de..828dd28f38617a2256948b8b46460ba459199e73 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ar8327.h: AR8216 switch driver
  *
- * Copyright (C) 2009 Felix Fietkau <nbd@openwrt.org>
+ * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
 
 #define AR8327_REG_PORT_PRIO(_i)               (0x664 + (_i) * 0xc)
 
+#define AR8327_REG_PORT_HOL_CTRL0(_i)          (0x970 + (_i) * 0x8)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI0_BUF    BITS(0, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI0_BUF_S  0
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI1_BUF    BITS(4, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI1_BUF_S  4
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI2_BUF    BITS(8, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI2_BUF_S  8
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI3_BUF    BITS(12, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI3_BUF_S  12
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI4_BUF    BITS(16, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI4_BUF_S  16
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI5_BUF    BITS(20, 4)
+#define   AR8327_PORT_HOL_CTRL0_EG_PRI5_BUF_S  20
+#define   AR8327_PORT_HOL_CTRL0_EG_PORT_BUF    BITS(24, 6)
+#define   AR8327_PORT_HOL_CTRL0_EG_PORT_BUF_S  24
+
 #define AR8327_REG_PORT_HOL_CTRL1(_i)          (0x974 + (_i) * 0x8)
+#define   AR8327_PORT_HOL_CTRL1_ING_BUF                BITS(0, 4)
+#define   AR8327_PORT_HOL_CTRL1_ING_BUF_S      0
+#define   AR8327_PORT_HOL_CTRL1_EG_PRI_BUF_EN  BIT(6)
+#define   AR8327_PORT_HOL_CTRL1_EG_PORT_BUF_EN BIT(7)
+#define   AR8327_PORT_HOL_CTRL1_WRED_EN                BIT(8)
 #define   AR8327_PORT_HOL_CTRL1_EG_MIRROR_EN   BIT(16)
 
 #define AR8337_PAD_MAC06_EXCHANGE_EN           BIT(31)