dsa to swconfig

This commit is contained in:
padavanonly 2024-04-12 13:27:57 +08:00
parent be1e4febc2
commit 75a9423d09
6 changed files with 167 additions and 227 deletions

View File

@ -34,6 +34,14 @@
};
};
gsw: gsw@0 {
compatible = "mediatek,mt753x";
mediatek,ethsys = <&ethsys>;
#address-cells = <1>;
#size-cells = <0>;
};
leds {
compatible = "gpio-leds";
@ -164,86 +172,63 @@
pause;
};
};
mdio: mdio-bus {
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
switch@0 {
compatible = "mediatek,mt7531";
reg = <31>;
reset-gpios = <&pio 5 0>;
reset-gpios = <&pio 6 1>;
reset-delay-us = <600>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan2";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan4";
};
port@5 {
reg = <5>;
label = "lan5";
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
port@6 {
reg = <6>;
label = "cpu";
ethernet = <&gmac0>;
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
phy5: phy@5 {
compatible = "ethernet-phy-id67c9.de0a";
reg = <5>;
};
phy6: phy@6 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
};
};
};
&gsw {
mediatek,mdio = <&mdio>;
mediatek,portmap = "lllll";
mediatek,mdio_master_pinmux = <0>;
reset-gpios = <&pio 5 0>;
interrupt-parent = <&pio>;
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
port6: port@6 {
compatible = "mediatek,mt753x-port";
mediatek,ssc-on;
reg = <6>;
phy-mode = "sgmii";
fixed-link {
speed = <2500>;
full-duplex;
};
};
};
&hnat {
mtketh-wan = "eth1";
mtketh-lan = "eth0";
mtketh-max-gmac = <2>;
mtketh-ppe-num = <2>;
status = "okay";
};
&xhci {
vusb33-supply = <&reg_3p3v>;
vbus-supply = <&usb_vbus>;
status = "okay";
};
&hnat {
mtketh-wan = "eth1";
mtketh-lan = "lan";
mtketh-ppe-num = <2>;
mtketh-max-gmac = <2>;
status = "okay";
};
&spi1 {
pinctrl-names = "default";

View File

@ -25,6 +25,14 @@
reg = <0 0x40000000 0 0x10000000>;
};
gsw: gsw@0 {
compatible = "mediatek,mt753x";
mediatek,ethsys = <&ethsys>;
#address-cells = <1>;
#size-cells = <0>;
};
leds {
compatible = "gpio-leds";
@ -97,65 +105,42 @@
pause;
};
};
mdio: mdio-bus {
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
switch:switch@0 {
compatible = "mediatek,mt7531";
reg = <31>;
reset-gpios = <&pio 5 0>;
};
};
&gsw {
mediatek,mdio = <&mdio>;
mediatek,mdio_master_pinmux = <0>;
reset-gpios = <&pio 5 0>;
interrupt-parent = <&pio>;
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
port6: port@6 {
compatible = "mediatek,mt753x-port";
mediatek,ssc-on;
reg = <6>;
phy-mode = "sgmii";
fixed-link {
speed = <2500>;
full-duplex;
};
};
};
&hnat {
mtketh-wan = "eth1";
mtketh-lan = "lan";
mtketh-lan = "eth0";
mtketh-max-gmac = <2>;
status = "okay";
};
&switch {
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan0";
};
port@1 {
reg = <1>;
label = "lan1";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan3";
};
port@6 {
reg = <6>;
label = "cpu";
ethernet = <&gmac0>;
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi_flash_pins>;

View File

@ -26,6 +26,13 @@
memory {
reg = <0 0x40000000 0 0x10000000>;
};
gsw: gsw@0 {
compatible = "mediatek,mt753x";
mediatek,ethsys = <&ethsys>;
#address-cells = <1>;
#size-cells = <0>;
};
gpio-keys {
@ -102,22 +109,49 @@
};
};
mdio: mdio-bus {
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
switch:switch@0 {
compatible = "mediatek,mt7531";
reg = <31>;
reset-gpios = <&pio 5 0>;
reset-gpios = <&pio 6 1>;
reset-delay-us = <600>;
phy5: phy@5 {
compatible = "ethernet-phy-id67c9.de0a";
reg = <5>;
};
phy6: phy@6 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
};
};
};
&gsw {
mediatek,mdio = <&mdio>;
mediatek,portmap = "lllll";
mediatek,mdio_master_pinmux = <0>;
reset-gpios = <&pio 5 0>;
interrupt-parent = <&pio>;
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
port6: port@6 {
compatible = "mediatek,mt753x-port";
mediatek,ssc-on;
reg = <6>;
phy-mode = "sgmii";
fixed-link {
speed = <2500>;
full-duplex;
};
};
};
&hnat {
mtketh-wan = "eth1";
mtketh-lan = "lan";
mtketh-lan = "eth0";
mtketh-max-gmac = <2>;
mtketh-ppe-num = <2>;
status = "okay";
@ -224,10 +258,11 @@
Factory: partition@160000 {
label = "Factory";
reg = <0x160000 0x00a0000>;
reg = <0x160000 0x0060000>;
read-only;
};
partition@1c0000 {
label = "reserved";
reg = <0x1c0000 0x01c0000>;

View File

@ -6,40 +6,4 @@
model = "TP-Link TL-XDR6086";
compatible = "tplink,tl-xdr6086", "mediatek,mt7986a";
};
&switch {
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
};
port@5 {
reg = <5>;
label = "lan2";
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
port@6 {
reg = <6>;
label = "cpu";
ethernet = <&gmac0>;
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
};

View File

@ -6,55 +6,5 @@
model = "TP-Link TL-XDR6088";
compatible = "tplink,tl-xdr6088", "mediatek,mt7986a";
};
&switch {
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan2";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan4";
};
port@5 {
reg = <5>;
label = "lan5";
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
port@6 {
reg = <6>;
label = "cpu";
ethernet = <&gmac0>;
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
};

View File

@ -27,23 +27,32 @@ mediatek_setup_interfaces()
bananapi,bpi-r3mini*)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
netcore,n60|\
ruijie,rg-x60-pro*)
netcore,n60)
ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" eth1
;;
glinet,gl-mt6000)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "6u@eth0"
;;
ruijie,rg-x60-pro*)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "6u@eth0"
jdcloud,re-cp-03)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6u@eth0"
;;
tplink,tl-xdr6086)
ucidef_set_interfaces_lan_wan "lan1 lan2" eth1
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan""6u@eth0"
;;
tplink,tl-xdr6088)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" eth1
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "6u@eth0"
;;
*)
ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 lan4 lan5" eth1
@ -64,13 +73,26 @@ mediatek_setup_macs()
lan_mac="$(macaddr_add $wifi_mac -1)"
wan_mac="$(macaddr_add $wifi_mac -2)"
;;
ruijie,rg-x60-pro*)
label_mac=$(mtd_get_mac_ascii product_info ethaddr)
wan_mac=$label_mac
lan_mac=$(macaddr_add "$label_mac" 1)
local wifi_mac="$(macaddr_add $label_mac 2)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b0.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b0.dat
wifi_mac="$(macaddr_add $label_mac 3)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b1.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b1.dat
;;
glinet,gl-mt6000)
label_mac=$(mmc_get_mac_binary factory 0x0a)
wan_mac=$label_mac
lan_mac=$(macaddr_add "$label_mac" 2)
local wifi_mac="$(macaddr_add $lan_mac 1)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b0.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b0.dat
wifi_mac="$(macaddr_add $lan_mac 2)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b1.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b1.dat
;;
jdcloud,re-cp-03)
@ -78,13 +100,15 @@ mediatek_setup_macs()
lan_mac=$(mmc_get_mac_binary factory 0x24)
label_mac=$lan_mac
local wifi_mac="$(macaddr_add $lan_mac 1)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b0.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b0.dat
wifi_mac="$(macaddr_add $lan_mac 2)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b1.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b1.dat
;;
tplink,tl-xdr6086|\
tplink,tl-xdr6088)
dd if=/dev/mtd3 of=/lib/firmware/MT7986_iPAiLNA_EEPROM_AX6000.bin
dd if=/dev/mtd3 of=/lib/firmware/MT7986_iPAiLNA_EEPROM_AX6000.bin
dd if=/dev/mtd3 of=/lib/firmware/MT7986_ePAeLNA_EEPROM_AX6000.bin
lan_mac=$(mtd_get_mac_binary config 0x1c)
wan_mac=$(macaddr_add "$lan_mac" 1)
@ -100,26 +124,23 @@ mediatek_setup_macs()
echo "MacAddress=$b1mac" >> ${b1dat}
fi
;;
;;
xiaomi,redmi-router-ax6000*)
wan_mac=$(mtd_get_mac_ascii Bdata ethaddr_wan)
lan_mac=$(mtd_get_mac_ascii Bdata ethaddr)
dd if=/dev/mtd4 of=/lib/firmware/MT7986_iPAiLNA_EEPROM_AX6000.bin
dd if=/dev/mtd4 of=/lib/firmware/MT7986_ePAeLNA_EEPROM_AX6000.bin
label_mac=$lan_mac
local b0dat="$(l1dat if2dat ra0)"
local b1dat="$(l1dat if2dat rax0)"
if [ -f ${b0dat} ] && ! grep -q "MacAddress=" ${b0dat}; then
local b0mac="$label_mac"
echo "MacAddress=$b0mac" >> ${b0dat}
fi
if [ -f ${b1dat} ] && ! grep -q "MacAddress=" ${b1dat}; then
local b1mac="$(macaddr_add $label_mac 2)"
echo "MacAddress=$b1mac" >> ${b1dat}
fi
;;
ruijie,rg-x60-pro*)
label_mac=$(mtd_get_mac_ascii product_info ethaddr)
wan_mac=$label_mac
lan_mac=$(macaddr_add "$label_mac" 1)
local wifi_mac="$(macaddr_add $label_mac 2)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b0.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b0.dat
wifi_mac="$(macaddr_add $label_mac 3)"
sed -i '/MacAddress=$wifi_mac/d' /etc/wireless/mediatek/mt7986.dbdc.b1.dat
echo "MacAddress=$wifi_mac" >> /etc/wireless/mediatek/mt7986.dbdc.b1.dat
dd if=/dev/mtd3 of=/lib/firmware/MT7986_iPAiLNA_EEPROM_AX6000.bin
dd if=/dev/mtd3 of=/lib/firmware/MT7986_ePAeLNA_EEPROM_AX6000.bin
;;
*)
lan_mac=$(mtd_get_mac_binary "Factory" "0x2A")
wan_mac=$(mtd_get_mac_binary "Factory" "0x24")