mvebu: use ucidef to set up MAC address
[openwrt/staging/dedeckeh.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,caiman|\
20 linksys,cobra|\
21 linksys,mamba|\
22 linksys,rango|\
23 linksys,shelby|\
24 linksys,venom)
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-a1|\
34 solidrun,clearfog-pro-a1)
35 # eth0 is standalone ethernet
36 # eth1 is switch
37 # eth2 is SFP
38 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6" "eth0 eth2"
39 ;;
40 solidrun,clearfog-base-a1)
41 # eth0 is standalone ethernet
42 # eth1 is standalone ethernet
43 # eth2 is SFP
44 ucidef_set_interfaces_lan_wan "eth1" "eth0 eth2"
45 ;;
46 *)
47 ucidef_set_interface_lan "eth0"
48 ;;
49 esac
50 }
51
52 mvebu_setup_macs()
53 {
54 local board="$1"
55 local lan_mac=""
56 local wan_mac=""
57 local label_mac=""
58
59 case "$board" in
60 buffalo,ls421de)
61 lan_mac=$(mtd_get_mac_ascii u-boot-env eth1addr)
62 ;;
63 linksys,caiman|\
64 linksys,cobra|\
65 linksys,rango|\
66 linksys,shelby|\
67 linksys,venom)
68 label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
69 wan_mac=$(macaddr_setbit_la $label_mac)
70 ;;
71 linksys,mamba)
72 label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
73 lan_mac=$label_mac
74 wan_mac=$label_mac
75 ;;
76 esac
77
78 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
79 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
80 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
81 }
82
83 board_config_update
84 board=$(board_name)
85 mvebu_setup_interfaces $board
86 mvebu_setup_macs $board
87 board_config_flush
88
89 exit 0