ipq807x: add support for CMCC RM2-6
[openwrt/staging/wigyori.git] / target / linux / qualcommax / ipq807x / base-files / etc / board.d / 02_network
index ff9069091f792bfcbb1113015837aace418ab724..d24fb235055bd772bcde23eab29071f0bb8849b3 100644 (file)
@@ -17,9 +17,12 @@ ipq807x_setup_interfaces()
        xiaomi,ax9000)
                ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
                ;;
+       cmcc,rm2-6)
+               ucidef_set_interfaces_lan_wan "lan plc" "wan"
+               ;;
        compex,wpq873|\
-        linksys,mx4200v1|\
-        linksys,mx4200v2|\
+       linksys,mx4200v1|\
+       linksys,mx4200v2|\
        redmi,ax6|\
        xiaomi,ax3600)
                ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
@@ -57,9 +60,33 @@ ipq807x_setup_interfaces()
        esac
 }
 
+ipq807x_setup_macs()
+{
+       local board="$1"
+       local lan_mac=""
+       local wan_mac=""
+       local label_mac=""
+
+       case "$board" in
+               linksys,mx4200v1|\
+               linksys,mx4200v2)
+                       label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
+                       for i in $(seq 3 5); do
+                               [ "$(mtd_get_mac_ascii u_env eth${i}addr)" != "$label_mac" ] && lan_mac=$label_mac
+                       done
+                       [ "$(mtd_get_mac_ascii u_env eth2addr)" != "$label_mac" ] && wan_mac=$label_mac
+               ;;
+       esac
+
+       [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
+       [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
+       [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
+}
+
 board_config_update
 board=$(board_name)
 ipq807x_setup_interfaces $board
+ipq807x_setup_macs $board
 board_config_flush
 
 exit 0