a8974efaa80509238c6b8421ed2fbc0ff3a994f1
[openwrt/staging/rmilecki.git] / target / linux / mvebu / cortexa9 / base-files / etc / board.d / 02_network
1 #!/bin/sh
2 #
3 # Copyright (C) 2014-2016 OpenWrt.org
4 # Copyright (C) 2016 LEDE-Project.org
5 #
6
7 . /lib/functions.sh
8 . /lib/functions/uci-defaults.sh
9 . /lib/functions/system.sh
10
11 mvebu_setup_interfaces()
12 {
13 local board="$1"
14
15 case "$board" in
16 cznic,turris-omnia)
17 ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 lan4" "eth2"
18 ;;
19 linksys,wrt1200ac|\
20 linksys,wrt1900ac-v1|\
21 linksys,wrt1900ac-v2|\
22 linksys,wrt1900acs|\
23 linksys,wrt3200acm|\
24 linksys,wrt32x)
25 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
26 ;;
27 marvell,a385-db-ap)
28 ucidef_set_interfaces_lan_wan "eth0 eth1" "eth2"
29 ;;
30 marvell,axp-gp)
31 ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
32 ;;
33 solidrun,clearfog-base-a1)
34 # eth0 is standalone ethernet
35 # eth1 is standalone ethernet
36 # eth2 is SFP
37 ucidef_set_interfaces_lan_wan "eth1" "eth0 eth2"
38 ;;
39 solidrun,clearfog-pro-a1)
40 # eth0 is standalone ethernet
41 # eth1 is switch
42 # eth2 is SFP
43 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6" "eth0 eth2"
44 ;;
45 *)
46 ucidef_set_interface_lan "eth0"
47 ;;
48 esac
49 }
50
51 mvebu_setup_macs()
52 {
53 local board="$1"
54 local lan_mac=""
55 local wan_mac=""
56 local label_mac=""
57
58 case "$board" in
59 buffalo,ls421de)
60 lan_mac=$(mtd_get_mac_ascii u-boot-env eth1addr)
61 ;;
62 linksys,wrt1200ac|\
63 linksys,wrt1900ac-v2|\
64 linksys,wrt1900acs|\
65 linksys,wrt3200acm|\
66 linksys,wrt32x)
67 label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
68 wan_mac=$(macaddr_setbit_la $label_mac)
69 ;;
70 linksys,wrt1900ac-v1)
71 label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
72 lan_mac=$label_mac
73 wan_mac=$label_mac
74 ;;
75 esac
76
77 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
78 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
79 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
80 }
81
82 board_config_update
83 board=$(board_name)
84 mvebu_setup_interfaces $board
85 mvebu_setup_macs $board
86 board_config_flush
87
88 exit 0