01e32c774064132040f946a914d5e0a86f5a9d74
[openwrt/staging/wigyori.git] / target / linux / rockchip / armv8 / base-files / etc / board.d / 02_network
1
2 . /lib/functions/uci-defaults.sh
3 . /lib/functions/system.sh
4
5 rockchip_setup_interfaces()
6 {
7 local board="$1"
8
9 case "$board" in
10 friendlyarm,nanopi-r2c|\
11 friendlyarm,nanopi-r2s|\
12 friendlyarm,nanopi-r4s|\
13 xunlong,orangepi-r1-plus|\
14 xunlong,orangepi-r1-plus-lts)
15 ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
16 ;;
17 friendlyarm,nanopi-r5c)
18 ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
19 ;;
20 friendlyarm,nanopi-r5s)
21 ucidef_set_interfaces_lan_wan 'eth1 eth2' 'eth0'
22 ;;
23 *)
24 ucidef_set_interface_lan 'eth0'
25 ;;
26 esac
27 }
28
29 nanopi_r4s_get_mac()
30 {
31 local interface=$1
32 local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
33 local address
34
35 if [ -f "$eeprom_path" ]; then
36 address=$(get_mac_binary "$eeprom_path" 0xfa)
37 if [ "$interface" = "lan" ]; then
38 address=$(macaddr_setbit_la "$address")
39 fi
40 else
41 address=$(macaddr_generate_from_mmc_cid mmcblk1)
42 if [ "$interface" = "lan" ]; then
43 address=$(macaddr_add "$address" 1)
44 fi
45 fi
46
47 echo "$address"
48 }
49
50 rockchip_setup_macs()
51 {
52 local board="$1"
53 local lan_mac=""
54 local wan_mac=""
55 local label_mac=""
56
57 case "$board" in
58 friendlyarm,nanopi-r2c|\
59 friendlyarm,nanopi-r2s)
60 wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
61 lan_mac=$(macaddr_add "$wan_mac" 1)
62 ;;
63 friendlyarm,nanopi-r4s)
64 wan_mac=$(nanopi_r4s_get_mac wan)
65 lan_mac=$(nanopi_r4s_get_mac lan)
66 ;;
67 friendlyarm,nanopi-r5c)
68 wan_mac=$(macaddr_generate_from_mmc_cid mmcblk*)
69 lan_mac=$(macaddr_add "$wan_mac" 1)
70 ;;
71 friendlyarm,nanopi-r5s)
72 wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1)
73 lan_mac=$(macaddr_add "$wan_mac" 1)
74 ;;
75 xunlong,orangepi-r1-plus|\
76 xunlong,orangepi-r1-plus-lts)
77 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth1/address)" -1)
78 ;;
79 esac
80
81 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
82 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
83 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
84 }
85
86 board_config_update
87 board=$(board_name)
88 rockchip_setup_interfaces $board
89 rockchip_setup_macs $board
90 board_config_flush
91
92 exit 0