9a4c53ed40c55bee52c6719c4f5aa484acb8645e
[openwrt/openwrt.git] / target / linux / mvebu / base-files / lib / mvebu.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2013-2015 OpenWrt.org
4 # Copyright (C) 2016 LEDE-Project.org
5 #
6
7 MVEBU_BOARD_NAME=
8 MVEBU_MODEL=
9
10 mvebu_board_detect() {
11 local machine
12 local name
13
14 machine=$(cat /proc/device-tree/model)
15
16 case "$machine" in
17 *"Marvell Armada 370 Evaluation Board")
18 name="armada-370-db"
19 ;;
20 *"Globalscale Mirabox")
21 name="mirabox"
22 ;;
23 *"Marvell Armada 370 Reference Design")
24 name="armada-370-rd"
25 ;;
26 *"Marvell Armada XP Evaluation Board")
27 name="armada-xp-db"
28 ;;
29 *"PlatHome OpenBlocks AX3-4 board")
30 name="openblocks-ax3-4"
31 ;;
32 *"Marvell Armada XP GP Board")
33 name="armada-xp-gp"
34 ;;
35 *"Linksys WRT1200AC")
36 name="armada-385-linksys-caiman"
37 ;;
38 *"Linksys WRT1900AC")
39 name="armada-xp-linksys-mamba"
40 ;;
41 *"Linksys WRT1900ACv2")
42 name="armada-385-linksys-cobra"
43 ;;
44 *"Linksys WRT1900ACS")
45 name="armada-385-linksys-shelby"
46 ;;
47 *"Linksys WRT3200ACM")
48 name="armada-385-linksys-rango"
49 ;;
50 *"Marvell Armada 385 Access Point Development Board")
51 name="armada-385-db-ap"
52 ;;
53 *"Marvell Armada XP Development Board DB-MV784MP-GP")
54 name="armada-xp-gp"
55 ;;
56 *"SolidRun Clearfog A1")
57 name="armada-388-clearfog"
58 ;;
59 esac
60
61 [ -z "$name" ] && name="unknown"
62
63 [ -z "$MVEBU_BOARD_NAME" ] && MVEBU_BOARD_NAME="$name"
64 [ -z "$MVEBU_MODEL" ] && MVEBU_MODEL="$machine"
65
66 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
67
68 echo "$MVEBU_BOARD_NAME" > /tmp/sysinfo/board_name
69 echo "$MVEBU_MODEL" > /tmp/sysinfo/model
70 }
71
72 mvebu_board_name() {
73 local name
74
75 [ -f /tmp/sysinfo/board_name ] || mvebu_board_detect
76 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
77 [ -z "$name" ] && name="unknown"
78
79 echo "$name"
80 }