rockchip: add NanoPi R4S 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 ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
13 ;;
14 *)
15 ucidef_set_interface_lan 'eth0'
16 ;;
17 esac
18 }
19
20 nanopi_r2s_generate_mac()
21 {
22 local sd_hash=$(sha256sum /sys/class/block/mmcblk0/device/cid)
23 local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
24 echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
25 }
26
27 rockchip_setup_macs()
28 {
29 local board="$1"
30 local lan_mac=""
31 local wan_mac=""
32 local label_mac=""
33
34 case "$board" in
35 friendlyarm,nanopi-r2s)
36 wan_mac=$(nanopi_r2s_generate_mac)
37 lan_mac=$(macaddr_add "$wan_mac" 1)
38 ;;
39 friendlyarm,nanopi-r4s)
40 wan_mac=$(get_mac_binary "/sys/bus/i2c/devices/2-0051/eeprom" 0xfa)
41 lan_mac=$(macaddr_setbit_la "$wan_mac")
42 ;;
43 esac
44
45 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
46 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
47 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
48 }
49
50 board_config_update
51 board=$(board_name)
52 rockchip_setup_interfaces $board
53 rockchip_setup_macs $board
54 board_config_flush
55
56 exit 0