bcm53xx: enable switch port 5 on Tenda AC9
[openwrt/openwrt.git] / target / linux / bcm53xx / patches-4.4 / 710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
index 68fa6472090319ad119419d4c0d13fb96749b055..2ee9cd48765539a9fbd5d09b51f1cd6558ab48ee 100644 (file)
@@ -21,10 +21,11 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
  
  #include "b53_regs.h"
  #include "b53_priv.h"
-@@ -1370,6 +1371,23 @@ static int b53_switch_init(struct b53_de
+@@ -1383,6 +1384,28 @@ static int b53_switch_init(struct b53_de
                        sw_dev->cpu_port = 5;
        }
  
++      /* Set correct CPU port */
 +      if (of_machine_is_compatible("asus,rt-ac87u"))
 +              sw_dev->cpu_port = 7;
 +      else if (of_machine_is_compatible("netgear,r7900"))
@@ -34,6 +35,10 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 +      else if (of_machine_is_compatible("netgear,r8500"))
 +              sw_dev->cpu_port = 8;
 +
++      /* Enable extra ports */
++      if (of_machine_is_compatible("tenda,ac9"))
++              dev->enabled_ports |= BIT(5);
++
 +      /*
 +       * Workaround for devices using port 8 (connected to the 3rd iface).
 +       * For some reason it doesn't work (no packets on eth2).
@@ -42,6 +47,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 +          of_machine_is_compatible("netgear,r8000"))
 +              sw_dev->cpu_port = 5;
 +
-       /* cpu port is always last */
-       sw_dev->ports = sw_dev->cpu_port + 1;
        dev->enabled_ports |= BIT(sw_dev->cpu_port);
+       sw_dev->ports = fls(dev->enabled_ports);