|
@@ -118,10 +118,14 @@ static int mv88e6131_setup_global(struct dsa_switch *ds)
|
|
REG_WRITE(REG_GLOBAL, 0x1a, (dsa_upstream_port(ds) * 0x1100) | 0x00f0);
|
|
REG_WRITE(REG_GLOBAL, 0x1a, (dsa_upstream_port(ds) * 0x1100) | 0x00f0);
|
|
|
|
|
|
/*
|
|
/*
|
|
- * Disable cascade port functionality, and set the switch's
|
|
|
|
|
|
+ * Disable cascade port functionality unless this device
|
|
|
|
+ * is used in a cascade configuration, and set the switch's
|
|
* DSA device number.
|
|
* DSA device number.
|
|
*/
|
|
*/
|
|
- REG_WRITE(REG_GLOBAL, 0x1c, 0xe000 | (ds->index & 0x1f));
|
|
|
|
|
|
+ if (ds->dst->pd->nr_chips > 1)
|
|
|
|
+ REG_WRITE(REG_GLOBAL, 0x1c, 0xf000 | (ds->index & 0x1f));
|
|
|
|
+ else
|
|
|
|
+ REG_WRITE(REG_GLOBAL, 0x1c, 0xe000 | (ds->index & 0x1f));
|
|
|
|
|
|
/*
|
|
/*
|
|
* Send all frames with destination addresses matching
|
|
* Send all frames with destination addresses matching
|