projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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
diff --git
a/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
b/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
index 68fa6472090319ad119419d4c0d13fb96749b055..2ee9cd48765539a9fbd5d09b51f1cd6558ab48ee 100644
(file)
--- a/
target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
+++ b/
target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
@@
-21,10
+21,11
@@
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
#include "b53_regs.h"
#include "b53_priv.h"
#include "b53_regs.h"
#include "b53_priv.h"
-@@ -13
70,6 +1371,23
@@ static int b53_switch_init(struct b53_de
+@@ -13
83,6 +1384,28
@@ static int b53_switch_init(struct b53_de
sw_dev->cpu_port = 5;
}
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"))
+ 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;
+
+ 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).
+ /*
+ * 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;
+
+ 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);
dev->enabled_ports |= BIT(sw_dev->cpu_port);
+ sw_dev->ports = fls(dev->enabled_ports);
+