ipq40xx: convert Cisco Meraki MR33 to DSA
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 9 Mar 2019 10:08:27 +0000 (11:08 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 14 Apr 2019 14:40:55 +0000 (16:40 +0200)
This patch converts the Cisco Meraki MR33 to use ipqess + qca8k's DSA.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ipq40xx/base-files/etc/board.d/02_network
target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts

index 375c89b..2e4e78c 100755 (executable)
@@ -45,7 +45,6 @@ ipq40xx_setup_interfaces()
                ucidef_set_interface_lan "eth0 eth1"
                ;;
        engenius,eap1300|\
-       meraki,mr33|\
        netgear,ex6100v2|\
        netgear,ex6150v2|\
        zyxel,wre6606)
@@ -56,6 +55,9 @@ ipq40xx_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0u@eth0" "3:lan" "4:lan"
                ;;
+       meraki,mr33)
+               ucidef_set_interface_lan "lan"
+               ;;
        qxwlan,e2600ac-c1 |\
        qxwlan,e2600ac-c2)
                ucidef_set_interfaces_lan_wan "eth0" "eth1"
index 0f8d31b..54ba078 100644 (file)
@@ -19,8 +19,7 @@ preinit_set_mac_address() {
                lan14_mac=$(mtd_get_mac_binary_ubi Factory 4102)
                ;;
        meraki,mr33)
-               mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102)
-               [ -n "$mac_lan" ] && ip link set dev eth0 address "$mac_lan"
+               lan_mac=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102)
                ;;
        zyxel,nbg6617)
                base_mac=$(cat /sys/class/net/eth0/address)
index 5003572..8a21fda 100644 (file)
@@ -26,6 +26,7 @@
                led-failsafe = &status_red;
                led-running = &status_green;
                led-upgrade = &power_orange;
+               ethernet0 = &gmac;
        };
 
        /* Do we really need this defined? */
                        status = "okay";
                };
 
-               mdio@90000 {
-                       status = "okay";
-                       pinctrl-0 = <&mdio_pins>;
-                       pinctrl-names = "default";
-               };
-
                /* It is a 56-bit counter that supplies the count to the ARM arch
                   timers and without upstream driver */
                counter@4a1000 {
                        reg = <0x4a1000 0x4>;
                };
 
-               ess_tcsr@1953000 {
-                       compatible = "qcom,tcsr";
-                       reg = <0x1953000 0x1000>;
-                       qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
-               };
-
                tcsr@1949000 {
                        compatible = "qcom,tcsr";
                        reg = <0x1949000 0x100>;
                watchdog@b017000 {
                        status = "okay";
                };
-
-               ess-switch@c000000 {
-                       switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */
-                       switch_lan_bmp = <0x0>; /* lan port bitmap */
-                       switch_wan_bmp = <0x10>; /* wan port bitmap */
-               };
-
-               edma@c080000 {
-                       qcom,single-phy;
-                       qcom,num_gmac = <1>;
-                       phy-mode = "rgmii-rxid";
-                       status = "okay";
-               };
        };
 
        keys {
        status = "okay";
 };
 
-&gmac0 {
-       qcom,phy_mdio_addr = <1>;
-       qcom,poll_required = <1>;
-       vlan_tag = <0 0x20>;
+&mdio {
+       status = "okay";
+       pinctrl-0 = <&mdio_pins>;
+       pinctrl-names = "default";
+};
+
+&ess {
+       mac-mode = <0x3>; /* mac mode for RGMII RMII */
+       status = "okay";
+
+       ports {
+               /delete-node/ port@1;
+               /delete-node/ port@2;
+               /delete-node/ port@3;
+               /delete-node/ port@4;
+
+               port@5 {
+                       phy-mode = "rgmii-rxid";
+                       phy-handle = <&ethphy1>;
+                       label = "lan";
+               };
+       };
+};
+
+&gmac {
+       status = "okay";
 };
 
 &blsp1_i2c3 {