rockchip: add NanoPi R5S support
[openwrt/staging/hauke.git] / target / linux / rockchip / armv8 / base-files / etc / board.d / 02_network
index 91bdb760d51d26fc09d2ca7cfa70752557a46d8e..838a107193b60ff837bdb8bd03ec24e6b98a9941 100644 (file)
@@ -7,21 +7,41 @@ rockchip_setup_interfaces()
        local board="$1"
 
        case "$board" in
+       friendlyarm,nanopi-r2c|\
        friendlyarm,nanopi-r2s|\
-       friendlyarm,nanopi-r4s)
+       friendlyarm,nanopi-r4s|\
+       xunlong,orangepi-r1-plus|\
+       xunlong,orangepi-r1-plus-lts)
                ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
                ;;
+       friendlyarm,nanopi-r5s)
+               ucidef_set_interfaces_lan_wan 'eth1 eth2' 'eth0'
+               ;;
        *)
                ucidef_set_interface_lan 'eth0'
                ;;
        esac
 }
 
-nanopi_r2s_generate_mac()
+nanopi_r4s_get_mac()
 {
-       local sd_hash=$(sha256sum /sys/class/block/mmcblk0/device/cid)
-       local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
-       echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
+       local interface=$1
+       local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
+       local address
+
+       if [ -f "$eeprom_path" ]; then
+               address=$(get_mac_binary "$eeprom_path" 0xfa)
+               if [ "$interface" = "lan" ]; then
+                       address=$(macaddr_setbit_la "$address")
+               fi
+       else
+               address=$(macaddr_generate_from_mmc_cid mmcblk1)
+               if [ "$interface" = "lan" ]; then
+                       address=$(macaddr_add "$address" 1)
+               fi
+       fi
+
+       echo "$address"
 }
 
 rockchip_setup_macs()
@@ -32,13 +52,22 @@ rockchip_setup_macs()
        local label_mac=""
 
        case "$board" in
+       friendlyarm,nanopi-r2c|\
        friendlyarm,nanopi-r2s)
-               wan_mac=$(nanopi_r2s_generate_mac)
+               wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
                lan_mac=$(macaddr_add "$wan_mac" 1)
                ;;
        friendlyarm,nanopi-r4s)
-               wan_mac=$(get_mac_binary "/sys/bus/i2c/devices/2-0051/eeprom" 0xfa)
-               lan_mac=$(macaddr_setbit_la "$wan_mac")
+               wan_mac=$(nanopi_r4s_get_mac wan)
+               lan_mac=$(nanopi_r4s_get_mac lan)
+               ;;
+       friendlyarm,nanopi-r5s)
+               wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1)
+               lan_mac=$(macaddr_add "$wan_mac" 1)
+               ;;
+       xunlong,orangepi-r1-plus|\
+       xunlong,orangepi-r1-plus-lts)
+               wan_mac=$(macaddr_add "$(cat /sys/class/net/eth1/address)" -1)
                ;;
        esac