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