ipq806x: enable and setup multi-CPU port for qca8k switch
Enable and setup multi-cpu for qca8k switch for ipq806x based devices. Rework each DTS to enable the secondary CPU port on QCA8K switch and apply the required values originally set by the OEM in the old swconfig node. In original firmware the first CPU port was always assigned to the WAN port and the secondary CPU port was assigned to the rest of the LAN port. Follow this original implementation using an init.d script. To setup the CPU port ip tools is required. Add additional default package ip-tiny to correctly setup the CPU port. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
parent
500dbaefd2
commit
8eab5b2526
@ -21,6 +21,6 @@ DEFAULT_PACKAGES += \
|
|||||||
kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
|
kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
|
||||||
kmod-phy-qcom-ipq806x-usb kmod-usb3 kmod-usb-dwc3-qcom \
|
kmod-phy-qcom-ipq806x-usb kmod-usb3 kmod-usb-dwc3-qcom \
|
||||||
kmod-ath10k-ct wpad-basic-mbedtls \
|
kmod-ath10k-ct wpad-basic-mbedtls \
|
||||||
uboot-envtools
|
uboot-envtools ip-tiny
|
||||||
|
|
||||||
$(eval $(call BuildTarget))
|
$(eval $(call BuildTarget))
|
||||||
|
45
target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port
Executable file
45
target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
START=15
|
||||||
|
|
||||||
|
set_qca8k_port() {
|
||||||
|
local port=$1
|
||||||
|
local master=$2
|
||||||
|
|
||||||
|
ip link set $port type dsa conduit $master
|
||||||
|
}
|
||||||
|
|
||||||
|
boot() {
|
||||||
|
# Restore original implementation where the eth1 (port 6) was used
|
||||||
|
# for the lan port and the eth0 (port 0) was used for the wan port
|
||||||
|
case $(board_name) in
|
||||||
|
askey,rt4230w-rev6 |\
|
||||||
|
asrock,g10 |\
|
||||||
|
buffalo,wxr-2533dhp |\
|
||||||
|
compex,wpq864 |\
|
||||||
|
nec,wg2600hp |\
|
||||||
|
nec,wg2600hp3 |\
|
||||||
|
netgear,d7800 |\
|
||||||
|
netgear,r7500 |\
|
||||||
|
netgear,r7500v2 |\
|
||||||
|
netgear,r7800 |\
|
||||||
|
netgear,xr450 |\
|
||||||
|
netgear,xr500 |\
|
||||||
|
nokia,ac400i |\
|
||||||
|
tplink,ad7200 |\
|
||||||
|
tplink,c2600 |\
|
||||||
|
tplink,vr2600v |\
|
||||||
|
zyxel,nbg6817)
|
||||||
|
set_qca8k_port lan1 eth1
|
||||||
|
set_qca8k_port lan2 eth1
|
||||||
|
set_qca8k_port lan3 eth1
|
||||||
|
set_qca8k_port lan4 eth1
|
||||||
|
set_qca8k_port wan eth0
|
||||||
|
;;
|
||||||
|
asus,onhub |\
|
||||||
|
tplink,onhub)
|
||||||
|
set_qca8k_port lan1 eth1
|
||||||
|
set_qca8k_port wan eth0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
@ -471,19 +471,19 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <6>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "sgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
qca,sgmii-rxclk-falling-edge;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -396,21 +396,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -399,21 +399,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -244,21 +244,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -217,21 +217,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -100,21 +100,18 @@
|
|||||||
phy-handle = <&phy_port2>;
|
phy-handle = <&phy_port2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -313,19 +313,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -396,21 +396,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -428,21 +428,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -199,21 +199,19 @@ switch@10 {
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
qca,sgmii-rxclk-falling-edge;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -329,21 +329,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -254,21 +254,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -304,21 +304,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -361,21 +361,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac2>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -356,21 +356,18 @@
|
|||||||
phy-handle = <&phy_port5>;
|
phy-handle = <&phy_port5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac2>;
|
ethernet = <&gmac1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
@ -363,21 +363,18 @@
|
|||||||
phy-handle = <&phy_port4>;
|
phy-handle = <&phy_port4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
port@6 {
|
port@6 {
|
||||||
reg = <0>;
|
reg = <6>;
|
||||||
label = "cpu";
|
label = "cpu";
|
||||||
ethernet = <&gmac1>;
|
ethernet = <&gmac1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "sgmii";
|
||||||
|
qca,sgmii-enable-pll;
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
pause;
|
|
||||||
asym-pause;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user