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