rockchip: add NanoPi R5C support
[openwrt/staging/hauke.git] / target / linux / rockchip / armv8 / base-files / etc / board.d / 02_network
old mode 100755 (executable)
new mode 100644 (file)
index e129fd6..01e32c7
@@ -1,4 +1,3 @@
-#!/bin/sh
 
 . /lib/functions/uci-defaults.sh
 . /lib/functions/system.sh
@@ -8,15 +7,46 @@ rockchip_setup_interfaces()
        local board="$1"
 
        case "$board" in
-       friendlyarm,nanopi-r2s)
+       friendlyarm,nanopi-r2c|\
+       friendlyarm,nanopi-r2s|\
+       friendlyarm,nanopi-r4s|\
+       xunlong,orangepi-r1-plus|\
+       xunlong,orangepi-r1-plus-lts)
                ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
                ;;
+       friendlyarm,nanopi-r5c)
+               ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
+               ;;
+       friendlyarm,nanopi-r5s)
+               ucidef_set_interfaces_lan_wan 'eth1 eth2' 'eth0'
+               ;;
        *)
                ucidef_set_interface_lan 'eth0'
                ;;
        esac
 }
 
+nanopi_r4s_get_mac()
+{
+       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()
 {
        local board="$1"
@@ -25,9 +55,26 @@ rockchip_setup_macs()
        local label_mac=""
 
        case "$board" in
+       friendlyarm,nanopi-r2c|\
        friendlyarm,nanopi-r2s)
-               wan_mac=$(macaddr_random)
-               lan_mac=$(macaddr_add "$wan_mac" +1)
+               wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
+               lan_mac=$(macaddr_add "$wan_mac" 1)
+               ;;
+       friendlyarm,nanopi-r4s)
+               wan_mac=$(nanopi_r4s_get_mac wan)
+               lan_mac=$(nanopi_r4s_get_mac lan)
+               ;;
+       friendlyarm,nanopi-r5c)
+               wan_mac=$(macaddr_generate_from_mmc_cid mmcblk*)
+               lan_mac=$(macaddr_add "$wan_mac" 1)
+               ;;
+       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