ipq806x: convert each device to DSA implementation
[openwrt/openwrt.git] / target / linux / ipq806x / base-files / etc / board.d / 02_network
1 #
2 # Copyright (c) 2015 The Linux Foundation. All rights reserved.
3 # Copyright (c) 2011-2015 OpenWrt.org
4 #
5
6 . /lib/functions/uci-defaults.sh
7 . /lib/functions/system.sh
8
9 ipq806x_setup_interfaces()
10 {
11 local board="$1"
12
13 case "$board" in
14 arris,tr4400-v2)
15 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "eth2"
16 ;;
17 askey,rt4230w-rev6 |\
18 asrock,g10 |\
19 nec,wg2600hp |\
20 buffalo,wxr-2533dhp |\
21 compex,wpq864 |\
22 netgear,d7800 |\
23 netgear,r7500 |\
24 netgear,r7500v2 |\
25 qcom,ipq8064-ap148 |\
26 linksys,ea7500-v1 |\
27 linksys,ea8500 |\
28 nec,wg2600hp3 |\
29 netgear,r7800 |\
30 netgear,xr500 |\
31 netgear,xr450 |\
32 tplink,c2600 |\
33 tplink,vr2600v |\
34 tplink,ad7200 |\
35 zyxel,nbg6817)
36 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
37 ;;
38 asus,onhub |\
39 tplink,onhub)
40 ucidef_set_interfaces_lan_wan "lan1" "wan"
41 ;;
42 edgecore,ecw5410)
43 ucidef_set_interfaces_lan_wan "eth1" "eth0"
44 ;;
45 qcom,ipq8064-ap161)
46 ucidef_set_interface_lan "eth1 eth2 lan1 lan2 lan3 lan4" "wan"
47 ;;
48 qcom,ipq8064-db149)
49 ucidef_set_interface_lan "eth1 eth2 eth3 lan1 lan2 lan3 lan4" "wan"
50 ;;
51 ubnt,unifi-ac-hd)
52 ucidef_set_interface_lan "eth0 eth1"
53 ;;
54 meraki,mr42)
55 ucidef_set_interface_lan "eth0"
56 ;;
57 meraki,mr52)
58 ucidef_set_interfaces_lan_wan "eth0" "eth1"
59 ;;
60 *)
61 echo "Unsupported hardware. Network interfaces not intialized"
62 ;;
63 esac
64 }
65
66 ipq806x_setup_macs()
67 {
68 local board="$1"
69
70 case "$board" in
71 linksys,ea7500-v1)
72 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
73 ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
74 ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
75 ;;
76 linksys,ea8500)
77 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
78 ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
79 ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
80 ;;
81 zyxel,nbg6817)
82 hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
83 ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)"
84 ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 3)"
85 ;;
86 esac
87 }
88
89 board_config_update
90 board=$(board_name)
91
92 ipq806x_setup_macs $board
93 ipq806x_setup_interfaces $board
94
95 board_config_flush
96
97 exit 0