rockchip: add Orange Pi R1 Plus support
[openwrt/staging/hauke.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-r2s|\
11 friendlyarm,nanopi-r4s|\
12 xunlong,orangepi-r1-plus)
13 ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
14 ;;
15 *)
16 ucidef_set_interface_lan 'eth0'
17 ;;
18 esac
19 }
20
21 nanopi_r4s_get_mac()
22 {
23 local interface=$1
24 local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
25 local address
26
27 if [ -f "$eeprom_path" ]; then
28 address=$(get_mac_binary "$eeprom_path" 0xfa)
29 if [ "$interface" = "lan" ]; then
30 address=$(macaddr_setbit_la "$address")
31 fi
32 else
33 address=$(macaddr_generate_from_mmc_cid mmcblk1)
34 if [ "$interface" = "lan" ]; then
35 address=$(macaddr_add "$address" 1)
36 fi
37 fi
38
39 echo "$address"
40 }
41
42 rockchip_setup_macs()
43 {
44 local board="$1"
45 local lan_mac=""
46 local wan_mac=""
47 local label_mac=""
48
49 case "$board" in
50 friendlyarm,nanopi-r2c|\
51 friendlyarm,nanopi-r2s)
52 wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
53 lan_mac=$(macaddr_add "$wan_mac" 1)
54 ;;
55 friendlyarm,nanopi-r4s)
56 wan_mac=$(nanopi_r4s_get_mac wan)
57 lan_mac=$(nanopi_r4s_get_mac lan)
58 ;;
59 xunlong,orangepi-r1-plus)
60 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth1/address)" -1)
61 ;;
62 esac
63
64 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
65 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
66 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
67 }
68
69 board_config_update
70 board=$(board_name)
71 rockchip_setup_interfaces $board
72 rockchip_setup_macs $board
73 board_config_flush
74
75 exit 0