ar71xx: configure address aging on ar7240
[openwrt.git] / target / linux / ar71xx / files / drivers / net / ag71xx / ag71xx_ar7240.c
index d84cc81..fe3232b 100644 (file)
 #define   AR7240_VTUDATA_MEMBER                BITS(0, 10)
 #define   AR7240_VTUDATA_VALID         BIT(11)
 
+#define AR7240_REG_ATU                 0x50
+#define AR7240_ATU_FLUSH_ALL           0x1
+
 #define AR7240_REG_AT_CTRL             0x5c
+#define AR7240_AT_CTRL_AGE_TIME                BITS(0, 15)
+#define AR7240_AT_CTRL_AGE_EN          BIT(17)
+#define AR7240_AT_CTRL_LEARN_CHANGE    BIT(18)
 #define AR7240_AT_CTRL_ARP_EN          BIT(20)
 
 #define AR7240_REG_TAG_PRIORITY                0x70
@@ -446,8 +452,12 @@ static void ar7240sw_setup(struct ar7240sw *as)
        /* Setup TAG priority mapping */
        ar7240sw_reg_write(mii, AR7240_REG_TAG_PRIORITY, 0xfa50);
 
-       /* Enable ARP frame acknowledge */
-       ar7240sw_reg_set(mii, AR7240_REG_AT_CTRL, AR7240_AT_CTRL_ARP_EN);
+       /* Enable ARP frame acknowledge, aging, MAC replacing */
+       ar7240sw_reg_write(mii, AR7240_REG_AT_CTRL,
+               0x2b /* 5 min age time */ |
+               AR7240_AT_CTRL_AGE_EN |
+               AR7240_AT_CTRL_ARP_EN |
+               AR7240_AT_CTRL_LEARN_CHANGE);
 
        /* Enable Broadcast frames transmitted to the CPU */
        ar7240sw_reg_set(mii, AR7240_REG_FLOOD_MASK,
This page took 0.021536 seconds and 4 git commands to generate.