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