realtek: add support for HPE 1920 series
[openwrt/staging/jow.git] / target / linux / realtek / base-files / etc / board.d / 02_network
1
2 . /lib/functions.sh
3 . /lib/functions/uci-defaults.sh
4 . /lib/functions/system.sh
5
6 ucidef_set_poe() {
7 json_select_object poe
8 json_add_string "budget" "$1"
9 json_select_array ports
10 for port in $2; do
11 json_add_string "" "$port"
12 done
13 json_select ..
14 json_select ..
15 }
16
17 board=$(board_name)
18 board_config_update
19
20 lan_list=$(ls -1 -v -d /sys/class/net/lan* | xargs -n1 basename | xargs)
21 ucidef_set_bridge_device switch
22 ucidef_set_interface_lan "$lan_list"
23
24 lan_mac=""
25 lan_mac_start=""
26 lan_mac_end=""
27 label_mac=""
28 case $board in
29 hpe,1920-8g|\
30 hpe,1920-16g|\
31 hpe,1920-24g)
32 label_mac=$(mtd_get_mac_binary factory 0x68)
33 lan_mac=$label_mac
34 mac_count1=$(hexdump -v -n 4 -s 0x110 -e '4 "%d"' $(find_mtd_part factory) 2>/dev/null)
35 mac_count2=$(hexdump -v -n 4 -s 0x114 -e '4 "%d"' $(find_mtd_part factory) 2>/dev/null)
36 lan_mac_start=$(macaddr_add $lan_mac 2)
37 lan_mac_end=$(macaddr_add $lan_mac $((mac_count2-mac_count1)))
38 ;;
39 *)
40 lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start)
41 lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end)
42 label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
43 [ -z "$lan_mac" ] && lan_mac=$label_mac
44 ;;
45 esac
46
47 ucidef_set_interface_macaddr "lan" $lan_mac
48 ucidef_set_bridge_mac "$lan_mac"
49 ucidef_set_network_device_mac eth0 $lan_mac
50 [ -z "$lan_mac_start" ] && lan_mac_start=$lan_mac
51 for lan in $lan_list; do
52 ucidef_set_network_device_mac $lan $lan_mac_start
53 [ -z "$lan_mac_end" ] || [ "$lan_mac_start" == "$lan_mac_end" ] && lan_mac_start=$(macaddr_setbit_la $lan_mac_start)
54 lan_mac_start=$(macaddr_add $lan_mac_start 1)
55 done
56 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
57
58 case $board in
59 netgear,gs110tpp-v1)
60 ucidef_set_poe 130 "$lan_list"
61 ;;
62 netgear,gs310tp-v1)
63 ucidef_set_poe 55 "$lan_list"
64 ;;
65 zyxel,gs1900-10hp)
66 ucidef_set_poe 77 "$lan_list"
67 ;;
68 zyxel,gs1900-8hp-v1|\
69 zyxel,gs1900-8hp-v2)
70 ucidef_set_poe 70 "$lan_list"
71 ;;
72 zyxel,gs1900-24hp-v1|\
73 zyxel,gs1900-24hp-v2)
74 ucidef_set_poe 170 "$lan_list"
75 ;;
76 esac
77
78 board_config_flush
79
80 exit 0