realtek: add ZyXEL GS1900-24HP v1 support
[openwrt/openwrt.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_end=""
26 label_mac=""
27 case $board in
28 *)
29 lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start)
30 lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end)
31 label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
32 [ -z "$lan_mac" ] && lan_mac=$label_mac
33 ;;
34 esac
35
36 ucidef_set_interface_macaddr "lan" $lan_mac
37 ucidef_set_bridge_mac "$lan_mac"
38 ucidef_set_network_device_mac eth0 $lan_mac
39 for lan in $lan_list; do
40 ucidef_set_network_device_mac $lan $lan_mac
41 [ -z "$lan_mac_end" ] || [ "$lan_mac" == "$lan_mac_end" ] && lan_mac=$(macaddr_setbit_la $lan_mac)
42 lan_mac=$(macaddr_add $lan_mac 1)
43 done
44 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
45
46 case $board in
47 netgear,gs110tpp-v1)
48 ucidef_set_poe 130 "$lan_list"
49 ;;
50 netgear,gs310tp-v1)
51 ucidef_set_poe 55 "$lan_list"
52 ;;
53 zyxel,gs1900-10hp)
54 ucidef_set_poe 77 "$lan_list"
55 ;;
56 zyxel,gs1900-8hp-v1|\
57 zyxel,gs1900-8hp-v2)
58 ucidef_set_poe 70 "$lan_list"
59 ;;
60 zyxel,gs1900-24hp-v1|\
61 zyxel,gs1900-24hp-v2)
62 ucidef_set_poe 170 "$lan_list"
63 ;;
64 esac
65
66 board_config_flush
67
68 exit 0