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