[qca-ssdk]: fix the IR174268, before the ports is enabled, isolate all ports.
Change-Id: I451789e7df2427aa16bc2d233dd2f4f7f3afd72d
Signed-off-by: Liu Zhongjian <zhongjia@codeaurora.org>
diff --git a/src/init/ssdk_init.c b/src/init/ssdk_init.c
index 7db0311..a30bd90 100755
--- a/src/init/ssdk_init.c
+++ b/src/init/ssdk_init.c
@@ -310,6 +310,28 @@
break;
}
}
+static void qca_port_isolate(a_uint32_t dev_id)
+{
+ a_uint32_t port_id, mem_port_id, mem_port_map[AR8327_NUM_PORTS]={0};
+
+ for(port_id = 0; port_id < AR8327_NUM_PORTS; port_id++)
+ {
+ if(port_id == 6)
+ for(mem_port_id = 1; mem_port_id<= 4; mem_port_id++)
+ mem_port_map[port_id] |= (1 << mem_port_id);
+ else if (port_id == 0)
+ mem_port_map[port_id] |= (1 << 5);
+ else if (port_id >= 1 && port_id <= 4)
+ mem_port_map[port_id] |= (1 << 6);
+ else
+ mem_port_map[port_id] |= 1;
+ }
+
+ for(port_id = 0; port_id < AR8327_NUM_PORTS; port_id++)
+
+ fal_portvlan_member_update(dev_id, port_id, mem_port_map[port_id]);
+
+}
sw_error_t
qca_switch_init(a_uint32_t dev_id)
@@ -618,7 +640,7 @@
}
qca_switch_init(0);
-
+ qca_port_isolate(0);
qca_ar8327_phy_enable(priv);
return 0;